ccgo_linux_s390x.go 1.6 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930
  1. // Code generated for linux/s390x by 'generator -D__sync_fetch_and_add(var, val)=__sync_fetch_and_add_impl(&(var), val) --predef int __sync_fetch_and_add_impl(int *p, int val); --predef int __sync_bool_compare_and_swap(void *p, void *old, void *new); --predef int initstate_r(unsigned int seed, char statebuf[], __SIZE_TYPE__ statelen, struct random_data *buf); --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 -ignore-unsupported-alignment -ignore-link-errors -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libexpat/include/linux/s390x -I /home/jnml/src/modernc.org/builder/.exclude/modernc.org/libfreetype/include/linux/s390x -lexpat -lfreetype -o libfontconfig.go --package-name libfontconfig src/.libs/libfontconfig.a', DO NOT EDIT.
  2. //go:build linux && s390x
  3. package libfontconfig
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. "modernc.org/libexpat"
  9. "modernc.org/libfreetype"
  10. )
  11. var _ reflect.Type
  12. var _ unsafe.Pointer
  13. const m_ALIGNOF_DOUBLE = 8
  14. const m_ALIGNOF_VOID_P = 8
  15. const m_ARG_MAX = 131072
  16. const m_BC_BASE_MAX = 99
  17. const m_BC_DIM_MAX = 2048
  18. const m_BC_SCALE_MAX = 99
  19. const m_BC_STRING_MAX = 1000
  20. const m_BIG_ENDIAN = "__BIG_ENDIAN"
  21. const m_BUFSIZ = 1024
  22. const m_BYTE_ORDER = "__BYTE_ORDER"
  23. const m_CHARCLASS_NAME_MAX = 14
  24. const m_CHAR_BIT = 8
  25. const m_CHAR_MAX = 255
  26. const m_CHAR_MIN = 0
  27. const m_CLOCKS_PER_SEC = 1000000
  28. const m_CLOCK_BOOTTIME = 7
  29. const m_CLOCK_BOOTTIME_ALARM = 9
  30. const m_CLOCK_MONOTONIC = 1
  31. const m_CLOCK_MONOTONIC_COARSE = 6
  32. const m_CLOCK_MONOTONIC_RAW = 4
  33. const m_CLOCK_PROCESS_CPUTIME_ID = 2
  34. const m_CLOCK_REALTIME = 0
  35. const m_CLOCK_REALTIME_ALARM = 8
  36. const m_CLOCK_REALTIME_COARSE = 5
  37. const m_CLOCK_SGI_CYCLE = 10
  38. const m_CLOCK_TAI = 11
  39. const m_CLOCK_THREAD_CPUTIME_ID = 3
  40. const m_COLL_WEIGHTS_MAX = 2
  41. const m_DBL_DECIMAL_DIG = 17
  42. const m_DBL_DIG = 15
  43. const m_DBL_EPSILON = 2.22044604925031308085e-16
  44. const m_DBL_HAS_SUBNORM = 1
  45. const m_DBL_MANT_DIG = 53
  46. const m_DBL_MAX = 1.79769313486231570815e+308
  47. const m_DBL_MAX_10_EXP = 308
  48. const m_DBL_MAX_EXP = 1024
  49. const m_DBL_MIN = 2.22507385850720138309e-308
  50. const m_DBL_TRUE_MIN = 4.94065645841246544177e-324
  51. const m_DECIMAL_DIG = 17
  52. const m_DELAYTIMER_MAX = 0x7fffffff
  53. const m_E2BIG = 7
  54. const m_EACCES = 13
  55. const m_EADDRINUSE = 98
  56. const m_EADDRNOTAVAIL = 99
  57. const m_EADV = 68
  58. const m_EAFNOSUPPORT = 97
  59. const m_EAGAIN = 11
  60. const m_EALREADY = 114
  61. const m_EBADE = 52
  62. const m_EBADF = 9
  63. const m_EBADFD = 77
  64. const m_EBADMSG = 74
  65. const m_EBADR = 53
  66. const m_EBADRQC = 56
  67. const m_EBADSLT = 57
  68. const m_EBFONT = 59
  69. const m_EBUSY = 16
  70. const m_ECANCELED = 125
  71. const m_ECHILD = 10
  72. const m_ECHRNG = 44
  73. const m_ECOMM = 70
  74. const m_ECONNABORTED = 103
  75. const m_ECONNREFUSED = 111
  76. const m_ECONNRESET = 104
  77. const m_EDEADLK = 35
  78. const m_EDEADLOCK = "EDEADLK"
  79. const m_EDESTADDRREQ = 89
  80. const m_EDOM = 33
  81. const m_EDOTDOT = 73
  82. const m_EDQUOT = 122
  83. const m_EEXIST = 17
  84. const m_EFAULT = 14
  85. const m_EFBIG = 27
  86. const m_EHOSTDOWN = 112
  87. const m_EHOSTUNREACH = 113
  88. const m_EHWPOISON = 133
  89. const m_EIDRM = 43
  90. const m_EILSEQ = 84
  91. const m_EINPROGRESS = 115
  92. const m_EINTR = 4
  93. const m_EINVAL = 22
  94. const m_EIO = 5
  95. const m_EISCONN = 106
  96. const m_EISDIR = 21
  97. const m_EISNAM = 120
  98. const m_EKEYEXPIRED = 127
  99. const m_EKEYREJECTED = 129
  100. const m_EKEYREVOKED = 128
  101. const m_EL2HLT = 51
  102. const m_EL2NSYNC = 45
  103. const m_EL3HLT = 46
  104. const m_EL3RST = 47
  105. const m_ELIBACC = 79
  106. const m_ELIBBAD = 80
  107. const m_ELIBEXEC = 83
  108. const m_ELIBMAX = 82
  109. const m_ELIBSCN = 81
  110. const m_ELNRNG = 48
  111. const m_ELOOP = 40
  112. const m_EMEDIUMTYPE = 124
  113. const m_EMFILE = 24
  114. const m_EMLINK = 31
  115. const m_EMSGSIZE = 90
  116. const m_EMULTIHOP = 72
  117. const m_ENABLE_NLS = 1
  118. const m_ENAMETOOLONG = 36
  119. const m_ENAVAIL = 119
  120. const m_ENETDOWN = 100
  121. const m_ENETRESET = 102
  122. const m_ENETUNREACH = 101
  123. const m_ENFILE = 23
  124. const m_ENOANO = 55
  125. const m_ENOBUFS = 105
  126. const m_ENOCSI = 50
  127. const m_ENODATA = 61
  128. const m_ENODEV = 19
  129. const m_ENOENT = 2
  130. const m_ENOEXEC = 8
  131. const m_ENOKEY = 126
  132. const m_ENOLCK = 37
  133. const m_ENOLINK = 67
  134. const m_ENOMEDIUM = 123
  135. const m_ENOMEM = 12
  136. const m_ENOMSG = 42
  137. const m_ENONET = 64
  138. const m_ENOPKG = 65
  139. const m_ENOPROTOOPT = 92
  140. const m_ENOSPC = 28
  141. const m_ENOSR = 63
  142. const m_ENOSTR = 60
  143. const m_ENOSYS = 38
  144. const m_ENOTBLK = 15
  145. const m_ENOTCONN = 107
  146. const m_ENOTDIR = 20
  147. const m_ENOTEMPTY = 39
  148. const m_ENOTNAM = 118
  149. const m_ENOTRECOVERABLE = 131
  150. const m_ENOTSOCK = 88
  151. const m_ENOTSUP = "EOPNOTSUPP"
  152. const m_ENOTTY = 25
  153. const m_ENOTUNIQ = 76
  154. const m_ENXIO = 6
  155. const m_EOPNOTSUPP = 95
  156. const m_EOVERFLOW = 75
  157. const m_EOWNERDEAD = 130
  158. const m_EPERM = 1
  159. const m_EPFNOSUPPORT = 96
  160. const m_EPIPE = 32
  161. const m_EPROTO = 71
  162. const m_EPROTONOSUPPORT = 93
  163. const m_EPROTOTYPE = 91
  164. const m_ERANGE = 34
  165. const m_EREMCHG = 78
  166. const m_EREMOTE = 66
  167. const m_EREMOTEIO = 121
  168. const m_ERESTART = 85
  169. const m_ERFKILL = 132
  170. const m_EROFS = 30
  171. const m_ESHUTDOWN = 108
  172. const m_ESOCKTNOSUPPORT = 94
  173. const m_ESPIPE = 29
  174. const m_ESRCH = 3
  175. const m_ESRMNT = 69
  176. const m_ESTALE = 116
  177. const m_ESTRPIPE = 86
  178. const m_ETIME = 62
  179. const m_ETIMEDOUT = 110
  180. const m_ETOOMANYREFS = 109
  181. const m_ETXTBSY = 26
  182. const m_EUCLEAN = 117
  183. const m_EUNATCH = 49
  184. const m_EUSERS = 87
  185. const m_EWOULDBLOCK = "EAGAIN"
  186. const m_EXDEV = 18
  187. const m_EXFULL = 54
  188. const m_EXIT_FAILURE = 1
  189. const m_EXIT_SUCCESS = 0
  190. const m_EXPR_NEST_MAX = 32
  191. const m_FCSS_ALLOW_DUPLICATES = 1
  192. const m_FCSS_DEFAULT = 0
  193. const m_FCSS_GROW_BY_64 = 2
  194. const m_FC_ADD_FONTS = "yes"
  195. const m_FC_ANTIALIAS = "antialias"
  196. const m_FC_ASPECT = "aspect"
  197. const m_FC_AUTOHINT = "autohint"
  198. const m_FC_CACHEDIR = "/usr/var/cache/fontconfig"
  199. const m_FC_CACHE_MAGIC_ALLOC = 0xFC02FC05
  200. const m_FC_CACHE_MAGIC_MMAP = 0xFC02FC04
  201. const m_FC_CACHE_VERSION_NUMBER = 7
  202. const m_FC_CAPABILITY = "capability"
  203. const m_FC_CASE_FOLD_EVEN_ODD = 1
  204. const m_FC_CASE_FOLD_FULL = 2
  205. const m_FC_CASE_FOLD_RANGE = 0
  206. const m_FC_CHARCELL = 110
  207. const m_FC_CHARSET = "charset"
  208. const m_FC_CHARWIDTH = "charwidth"
  209. const m_FC_CHAR_HEIGHT = "charheight"
  210. const m_FC_CHAR_WIDTH = "FC_CHARWIDTH"
  211. const m_FC_COLOR = "color"
  212. const m_FC_CONFIG_PATH = "fonts.conf"
  213. const m_FC_DBG_CACHE = 16
  214. const m_FC_DBG_CACHEV = 32
  215. const m_FC_DBG_CONFIG = 1024
  216. const m_FC_DBG_EDIT = 4
  217. const m_FC_DBG_FONTSET = 8
  218. const m_FC_DBG_LANGSET = 2048
  219. const m_FC_DBG_MATCH = 1
  220. const m_FC_DBG_MATCH2 = 4096
  221. const m_FC_DBG_MATCHV = 2
  222. const m_FC_DBG_PARSE = 64
  223. const m_FC_DBG_SCAN = 128
  224. const m_FC_DBG_SCANV = 256
  225. const m_FC_DECORATIVE = "decorative"
  226. const m_FC_DEFAULT_FONTS = "/usr/share/fonts"
  227. const m_FC_DIR_SEPARATOR = '/'
  228. const m_FC_DIR_SEPARATOR_S = "/"
  229. const m_FC_DPI = "dpi"
  230. const m_FC_DUAL = 90
  231. const m_FC_EMBEDDED_BITMAP = "embeddedbitmap"
  232. const m_FC_EMBOLDEN = "embolden"
  233. const m_FC_EXT_OBJ_INDEX = 1024
  234. const m_FC_FAMILY = "family"
  235. const m_FC_FAMILYLANG = "familylang"
  236. const m_FC_FILE = "file"
  237. const m_FC_FONTFORMAT = "fontformat"
  238. const m_FC_FONTVERSION = "fontversion"
  239. const m_FC_FONT_FEATURES = "fontfeatures"
  240. const m_FC_FONT_VARIATIONS = "fontvariations"
  241. const m_FC_FOUNDRY = "foundry"
  242. const m_FC_FT_FACE = "ftface"
  243. const m_FC_FULLNAME = "fullname"
  244. const m_FC_FULLNAMELANG = "fullnamelang"
  245. const m_FC_GLOBAL_ADVANCE = "globaladvance"
  246. const m_FC_GPERF_SIZE_T = "size_t"
  247. const m_FC_HASH = "hash"
  248. const m_FC_HINTING = "hinting"
  249. const m_FC_HINT_FULL = 3
  250. const m_FC_HINT_MEDIUM = 2
  251. const m_FC_HINT_NONE = 0
  252. const m_FC_HINT_SLIGHT = 1
  253. const m_FC_HINT_STYLE = "hintstyle"
  254. const m_FC_INDEX = "index"
  255. const m_FC_LANG = "lang"
  256. const m_FC_LCD_DEFAULT = 1
  257. const m_FC_LCD_FILTER = "lcdfilter"
  258. const m_FC_LCD_LEGACY = 3
  259. const m_FC_LCD_LIGHT = 2
  260. const m_FC_LCD_NONE = 0
  261. const m_FC_MAJOR = 2
  262. const m_FC_MATRIX = "matrix"
  263. const m_FC_MAX_FILE_LEN = 4096
  264. const m_FC_MINOR = 13
  265. const m_FC_MINSPACE = "minspace"
  266. const m_FC_MONO = 100
  267. const m_FC_MUTEX_IMPL_INIT = 0
  268. const m_FC_NAMELANG = "namelang"
  269. const m_FC_NO_MT = 1
  270. const m_FC_OUTLINE = "outline"
  271. const m_FC_PATH_MAX = "PATH_MAX"
  272. const m_FC_PIXEL_SIZE = "pixelsize"
  273. const m_FC_POSTSCRIPT_NAME = "postscriptname"
  274. const m_FC_PRGNAME = "prgname"
  275. const m_FC_PROPORTIONAL = 0
  276. const m_FC_RASTERIZER = "rasterizer"
  277. const m_FC_REVISION = 1
  278. const m_FC_RGBA = "rgba"
  279. const m_FC_RGBA_BGR = 2
  280. const m_FC_RGBA_NONE = 5
  281. const m_FC_RGBA_RGB = 1
  282. const m_FC_RGBA_UNKNOWN = 0
  283. const m_FC_RGBA_VBGR = 4
  284. const m_FC_RGBA_VRGB = 3
  285. const m_FC_SCALABLE = "scalable"
  286. const m_FC_SCALE = "scale"
  287. const m_FC_SEARCH_PATH_SEPARATOR = ':'
  288. const m_FC_SERIALIZE_HASH_SIZE = 8191
  289. const m_FC_SIZE = "size"
  290. const m_FC_SLANT = "slant"
  291. const m_FC_SLANT_ITALIC = 100
  292. const m_FC_SLANT_OBLIQUE = 110
  293. const m_FC_SLANT_ROMAN = 0
  294. const m_FC_SOURCE = "source"
  295. const m_FC_SPACING = "spacing"
  296. const m_FC_STMT_START = "do"
  297. const m_FC_STYLE = "style"
  298. const m_FC_STYLELANG = "stylelang"
  299. const m_FC_SYMBOL = "symbol"
  300. const m_FC_TEMPLATEDIR = "/usr/share/fontconfig/conf.avail"
  301. const m_FC_UTF8_MAX_LEN = 6
  302. const m_FC_VARIABLE = "variable"
  303. const m_FC_VERTICAL_LAYOUT = "verticallayout"
  304. const m_FC_WEIGHT = "weight"
  305. const m_FC_WEIGHT_BLACK = 210
  306. const m_FC_WEIGHT_BOLD = 200
  307. const m_FC_WEIGHT_BOOK = 75
  308. const m_FC_WEIGHT_DEMIBOLD = 180
  309. const m_FC_WEIGHT_DEMILIGHT = 55
  310. const m_FC_WEIGHT_EXTRABLACK = 215
  311. const m_FC_WEIGHT_EXTRABOLD = 205
  312. const m_FC_WEIGHT_EXTRALIGHT = 40
  313. const m_FC_WEIGHT_HEAVY = "FC_WEIGHT_BLACK"
  314. const m_FC_WEIGHT_LIGHT = 50
  315. const m_FC_WEIGHT_MEDIUM = 100
  316. const m_FC_WEIGHT_NORMAL = "FC_WEIGHT_REGULAR"
  317. const m_FC_WEIGHT_REGULAR = 80
  318. const m_FC_WEIGHT_SEMIBOLD = "FC_WEIGHT_DEMIBOLD"
  319. const m_FC_WEIGHT_SEMILIGHT = "FC_WEIGHT_DEMILIGHT"
  320. const m_FC_WEIGHT_THIN = 0
  321. const m_FC_WEIGHT_ULTRABLACK = "FC_WEIGHT_EXTRABLACK"
  322. const m_FC_WEIGHT_ULTRABOLD = "FC_WEIGHT_EXTRABOLD"
  323. const m_FC_WEIGHT_ULTRALIGHT = "FC_WEIGHT_EXTRALIGHT"
  324. const m_FC_WIDTH = "width"
  325. const m_FC_WIDTH_CONDENSED = 75
  326. const m_FC_WIDTH_EXPANDED = 125
  327. const m_FC_WIDTH_EXTRACONDENSED = 63
  328. const m_FC_WIDTH_EXTRAEXPANDED = 150
  329. const m_FC_WIDTH_NORMAL = 100
  330. const m_FC_WIDTH_SEMICONDENSED = 87
  331. const m_FC_WIDTH_SEMIEXPANDED = 113
  332. const m_FC_WIDTH_ULTRACONDENSED = 50
  333. const m_FC_WIDTH_ULTRAEXPANDED = 200
  334. const m_FD_SETSIZE = 1024
  335. const m_FILENAME_MAX = 4096
  336. const m_FILESIZEBITS = 64
  337. const m_FLT_DECIMAL_DIG = 9
  338. const m_FLT_DIG = 6
  339. const m_FLT_EPSILON = 1.1920928955078125e-07
  340. const m_FLT_EVAL_METHOD = 0
  341. const m_FLT_HAS_SUBNORM = 1
  342. const m_FLT_MANT_DIG = 24
  343. const m_FLT_MAX = 3.40282346638528859812e+38
  344. const m_FLT_MAX_10_EXP = 38
  345. const m_FLT_MAX_EXP = 128
  346. const m_FLT_MIN = 1.17549435082228750797e-38
  347. const m_FLT_RADIX = 2
  348. const m_FLT_TRUE_MIN = 1.40129846432481707092e-45
  349. const m_FONTCONFIG_PATH = "/etc/fonts"
  350. const m_FOPEN_MAX = 1000
  351. const m_FP_FAST_FMA = 1
  352. const m_FP_FAST_FMAF = 1
  353. const m_FP_FAST_FMAL = 1
  354. const m_FP_ILOGB0 = "FP_ILOGBNAN"
  355. const m_FP_INFINITE = 1
  356. const m_FP_NAN = 0
  357. const m_FP_NORMAL = 4
  358. const m_FP_SUBNORMAL = 3
  359. const m_FP_ZERO = 2
  360. const m_F_LOCK = 1
  361. const m_F_OK = 0
  362. const m_F_TEST = 3
  363. const m_F_TLOCK = 2
  364. const m_F_ULOCK = 0
  365. const m_FcBlanksAdd = "IA__FcBlanksAdd"
  366. const m_FcBlanksCreate = "IA__FcBlanksCreate"
  367. const m_FcBlanksDestroy = "IA__FcBlanksDestroy"
  368. const m_FcBlanksIsMember = "IA__FcBlanksIsMember"
  369. const m_FcCacheCopySet = "IA__FcCacheCopySet"
  370. const m_FcCacheCreateTagFile = "IA__FcCacheCreateTagFile"
  371. const m_FcCacheNumFont = "IA__FcCacheNumFont"
  372. const m_FcCacheNumSubdir = "IA__FcCacheNumSubdir"
  373. const m_FcCharSetAddChar = "IA__FcCharSetAddChar"
  374. const m_FcCharSetCopy = "IA__FcCharSetCopy"
  375. const m_FcCharSetCount = "IA__FcCharSetCount"
  376. const m_FcCharSetCoverage = "IA__FcCharSetCoverage"
  377. const m_FcCharSetCreate = "IA__FcCharSetCreate"
  378. const m_FcCharSetDelChar = "IA__FcCharSetDelChar"
  379. const m_FcCharSetDestroy = "IA__FcCharSetDestroy"
  380. const m_FcCharSetEqual = "IA__FcCharSetEqual"
  381. const m_FcCharSetFirstPage = "IA__FcCharSetFirstPage"
  382. const m_FcCharSetHasChar = "IA__FcCharSetHasChar"
  383. const m_FcCharSetIntersect = "IA__FcCharSetIntersect"
  384. const m_FcCharSetIntersectCount = "IA__FcCharSetIntersectCount"
  385. const m_FcCharSetIsSubset = "IA__FcCharSetIsSubset"
  386. const m_FcCharSetMerge = "IA__FcCharSetMerge"
  387. const m_FcCharSetNew = "IA__FcCharSetNew"
  388. const m_FcCharSetNextPage = "IA__FcCharSetNextPage"
  389. const m_FcCharSetSubtract = "IA__FcCharSetSubtract"
  390. const m_FcCharSetSubtractCount = "IA__FcCharSetSubtractCount"
  391. const m_FcCharSetUnion = "IA__FcCharSetUnion"
  392. const m_FcConfigAppFontAddDir = "IA__FcConfigAppFontAddDir"
  393. const m_FcConfigAppFontAddFile = "IA__FcConfigAppFontAddFile"
  394. const m_FcConfigAppFontClear = "IA__FcConfigAppFontClear"
  395. const m_FcConfigBuildFonts = "IA__FcConfigBuildFonts"
  396. const m_FcConfigCreate = "IA__FcConfigCreate"
  397. const m_FcConfigDestroy = "IA__FcConfigDestroy"
  398. const m_FcConfigEnableHome = "IA__FcConfigEnableHome"
  399. const m_FcConfigFileInfoIterGet = "IA__FcConfigFileInfoIterGet"
  400. const m_FcConfigFileInfoIterInit = "IA__FcConfigFileInfoIterInit"
  401. const m_FcConfigFileInfoIterNext = "IA__FcConfigFileInfoIterNext"
  402. const m_FcConfigFilename = "IA__FcConfigFilename"
  403. const m_FcConfigGetBlanks = "IA__FcConfigGetBlanks"
  404. const m_FcConfigGetCache = "IA__FcConfigGetCache"
  405. const m_FcConfigGetCacheDirs = "IA__FcConfigGetCacheDirs"
  406. const m_FcConfigGetConfigDirs = "IA__FcConfigGetConfigDirs"
  407. const m_FcConfigGetConfigFiles = "IA__FcConfigGetConfigFiles"
  408. const m_FcConfigGetCurrent = "IA__FcConfigGetCurrent"
  409. const m_FcConfigGetFontDirs = "IA__FcConfigGetFontDirs"
  410. const m_FcConfigGetFonts = "IA__FcConfigGetFonts"
  411. const m_FcConfigGetRescanInterval = "IA__FcConfigGetRescanInterval"
  412. const m_FcConfigGetRescanInverval = "IA__FcConfigGetRescanInverval"
  413. const m_FcConfigGetSysRoot = "IA__FcConfigGetSysRoot"
  414. const m_FcConfigHome = "IA__FcConfigHome"
  415. const m_FcConfigParseAndLoad = "IA__FcConfigParseAndLoad"
  416. const m_FcConfigParseAndLoadFromMemory = "IA__FcConfigParseAndLoadFromMemory"
  417. const m_FcConfigReference = "IA__FcConfigReference"
  418. const m_FcConfigSetCurrent = "IA__FcConfigSetCurrent"
  419. const m_FcConfigSetRescanInterval = "IA__FcConfigSetRescanInterval"
  420. const m_FcConfigSetRescanInverval = "IA__FcConfigSetRescanInverval"
  421. const m_FcConfigSetSysRoot = "IA__FcConfigSetSysRoot"
  422. const m_FcConfigSubstitute = "IA__FcConfigSubstitute"
  423. const m_FcConfigSubstituteWithPat = "IA__FcConfigSubstituteWithPat"
  424. const m_FcConfigUptoDate = "IA__FcConfigUptoDate"
  425. const m_FcDefaultSubstitute = "IA__FcDefaultSubstitute"
  426. const m_FcDirCacheClean = "IA__FcDirCacheClean"
  427. const m_FcDirCacheCreateUUID = "IA__FcDirCacheCreateUUID"
  428. const m_FcDirCacheDeleteUUID = "IA__FcDirCacheDeleteUUID"
  429. const m_FcDirCacheLoad = "IA__FcDirCacheLoad"
  430. const m_FcDirCacheLoadFile = "IA__FcDirCacheLoadFile"
  431. const m_FcDirCacheRead = "IA__FcDirCacheRead"
  432. const m_FcDirCacheRescan = "IA__FcDirCacheRescan"
  433. const m_FcDirCacheUnlink = "IA__FcDirCacheUnlink"
  434. const m_FcDirCacheUnload = "IA__FcDirCacheUnload"
  435. const m_FcDirCacheValid = "IA__FcDirCacheValid"
  436. const m_FcDirSave = "IA__FcDirSave"
  437. const m_FcDirScan = "IA__FcDirScan"
  438. const m_FcDontCare = 2
  439. const m_FcFalse = 0
  440. const m_FcFileIsDir = "IA__FcFileIsDir"
  441. const m_FcFileScan = "IA__FcFileScan"
  442. const m_FcFini = "IA__FcFini"
  443. const m_FcFontList = "IA__FcFontList"
  444. const m_FcFontMatch = "IA__FcFontMatch"
  445. const m_FcFontRenderPrepare = "IA__FcFontRenderPrepare"
  446. const m_FcFontSetAdd = "IA__FcFontSetAdd"
  447. const m_FcFontSetCreate = "IA__FcFontSetCreate"
  448. const m_FcFontSetDestroy = "IA__FcFontSetDestroy"
  449. const m_FcFontSetList = "IA__FcFontSetList"
  450. const m_FcFontSetMatch = "IA__FcFontSetMatch"
  451. const m_FcFontSetPrint = "IA__FcFontSetPrint"
  452. const m_FcFontSetSort = "IA__FcFontSetSort"
  453. const m_FcFontSetSortDestroy = "IA__FcFontSetSortDestroy"
  454. const m_FcFontSort = "IA__FcFontSort"
  455. const m_FcFreeTypeQuery = "IA__FcFreeTypeQuery"
  456. const m_FcFreeTypeQueryAll = "IA__FcFreeTypeQueryAll"
  457. const m_FcGetDefaultLangs = "IA__FcGetDefaultLangs"
  458. const m_FcGetLangs = "IA__FcGetLangs"
  459. const m_FcGetVersion = "IA__FcGetVersion"
  460. const m_FcInit = "IA__FcInit"
  461. const m_FcInitBringUptoDate = "IA__FcInitBringUptoDate"
  462. const m_FcInitLoadConfig = "IA__FcInitLoadConfig"
  463. const m_FcInitLoadConfigAndFonts = "IA__FcInitLoadConfigAndFonts"
  464. const m_FcInitReinitialize = "IA__FcInitReinitialize"
  465. const m_FcLangGetCharSet = "IA__FcLangGetCharSet"
  466. const m_FcLangNormalize = "IA__FcLangNormalize"
  467. const m_FcLangSetAdd = "IA__FcLangSetAdd"
  468. const m_FcLangSetCompare = "IA__FcLangSetCompare"
  469. const m_FcLangSetContains = "IA__FcLangSetContains"
  470. const m_FcLangSetCopy = "IA__FcLangSetCopy"
  471. const m_FcLangSetCreate = "IA__FcLangSetCreate"
  472. const m_FcLangSetDel = "IA__FcLangSetDel"
  473. const m_FcLangSetDestroy = "IA__FcLangSetDestroy"
  474. const m_FcLangSetEqual = "IA__FcLangSetEqual"
  475. const m_FcLangSetGetLangs = "IA__FcLangSetGetLangs"
  476. const m_FcLangSetHasLang = "IA__FcLangSetHasLang"
  477. const m_FcLangSetHash = "IA__FcLangSetHash"
  478. const m_FcLangSetSubtract = "IA__FcLangSetSubtract"
  479. const m_FcLangSetUnion = "IA__FcLangSetUnion"
  480. const m_FcMatrixCopy = "IA__FcMatrixCopy"
  481. const m_FcMatrixEqual = "IA__FcMatrixEqual"
  482. const m_FcMatrixMultiply = "IA__FcMatrixMultiply"
  483. const m_FcMatrixRotate = "IA__FcMatrixRotate"
  484. const m_FcMatrixScale = "IA__FcMatrixScale"
  485. const m_FcMatrixShear = "IA__FcMatrixShear"
  486. const m_FcNameConstant = "IA__FcNameConstant"
  487. const m_FcNameGetConstant = "IA__FcNameGetConstant"
  488. const m_FcNameGetObjectType = "IA__FcNameGetObjectType"
  489. const m_FcNameParse = "IA__FcNameParse"
  490. const m_FcNameRegisterConstants = "IA__FcNameRegisterConstants"
  491. const m_FcNameRegisterObjectTypes = "IA__FcNameRegisterObjectTypes"
  492. const m_FcNameUnparse = "IA__FcNameUnparse"
  493. const m_FcNameUnregisterConstants = "IA__FcNameUnregisterConstants"
  494. const m_FcNameUnregisterObjectTypes = "IA__FcNameUnregisterObjectTypes"
  495. const m_FcObjectSetAdd = "IA__FcObjectSetAdd"
  496. const m_FcObjectSetBuild = "IA__FcObjectSetBuild"
  497. const m_FcObjectSetCreate = "IA__FcObjectSetCreate"
  498. const m_FcObjectSetDestroy = "IA__FcObjectSetDestroy"
  499. const m_FcObjectSetVaBuild = "IA__FcObjectSetVaBuild"
  500. const m_FcPatternAdd = "IA__FcPatternAdd"
  501. const m_FcPatternAddBool = "IA__FcPatternAddBool"
  502. const m_FcPatternAddCharSet = "IA__FcPatternAddCharSet"
  503. const m_FcPatternAddDouble = "IA__FcPatternAddDouble"
  504. const m_FcPatternAddInteger = "IA__FcPatternAddInteger"
  505. const m_FcPatternAddLangSet = "IA__FcPatternAddLangSet"
  506. const m_FcPatternAddMatrix = "IA__FcPatternAddMatrix"
  507. const m_FcPatternAddRange = "IA__FcPatternAddRange"
  508. const m_FcPatternAddString = "IA__FcPatternAddString"
  509. const m_FcPatternAddWeak = "IA__FcPatternAddWeak"
  510. const m_FcPatternBuild = "IA__FcPatternBuild"
  511. const m_FcPatternCreate = "IA__FcPatternCreate"
  512. const m_FcPatternDel = "IA__FcPatternDel"
  513. const m_FcPatternDestroy = "IA__FcPatternDestroy"
  514. const m_FcPatternDuplicate = "IA__FcPatternDuplicate"
  515. const m_FcPatternEqual = "IA__FcPatternEqual"
  516. const m_FcPatternEqualSubset = "IA__FcPatternEqualSubset"
  517. const m_FcPatternFilter = "IA__FcPatternFilter"
  518. const m_FcPatternFindIter = "IA__FcPatternFindIter"
  519. const m_FcPatternFormat = "IA__FcPatternFormat"
  520. const m_FcPatternGet = "IA__FcPatternGet"
  521. const m_FcPatternGetBool = "IA__FcPatternGetBool"
  522. const m_FcPatternGetCharSet = "IA__FcPatternGetCharSet"
  523. const m_FcPatternGetDouble = "IA__FcPatternGetDouble"
  524. const m_FcPatternGetInteger = "IA__FcPatternGetInteger"
  525. const m_FcPatternGetLangSet = "IA__FcPatternGetLangSet"
  526. const m_FcPatternGetMatrix = "IA__FcPatternGetMatrix"
  527. const m_FcPatternGetRange = "IA__FcPatternGetRange"
  528. const m_FcPatternGetString = "IA__FcPatternGetString"
  529. const m_FcPatternGetWithBinding = "IA__FcPatternGetWithBinding"
  530. const m_FcPatternHash = "IA__FcPatternHash"
  531. const m_FcPatternIterEqual = "IA__FcPatternIterEqual"
  532. const m_FcPatternIterGetObject = "IA__FcPatternIterGetObject"
  533. const m_FcPatternIterGetValue = "IA__FcPatternIterGetValue"
  534. const m_FcPatternIterIsValid = "IA__FcPatternIterIsValid"
  535. const m_FcPatternIterNext = "IA__FcPatternIterNext"
  536. const m_FcPatternIterStart = "IA__FcPatternIterStart"
  537. const m_FcPatternIterValueCount = "IA__FcPatternIterValueCount"
  538. const m_FcPatternObjectCount = "IA__FcPatternObjectCount"
  539. const m_FcPatternPrint = "IA__FcPatternPrint"
  540. const m_FcPatternReference = "IA__FcPatternReference"
  541. const m_FcPatternRemove = "IA__FcPatternRemove"
  542. const m_FcPatternVaBuild = "IA__FcPatternVaBuild"
  543. const m_FcRangeCopy = "IA__FcRangeCopy"
  544. const m_FcRangeCreateDouble = "IA__FcRangeCreateDouble"
  545. const m_FcRangeCreateInteger = "IA__FcRangeCreateInteger"
  546. const m_FcRangeDestroy = "IA__FcRangeDestroy"
  547. const m_FcRangeGetDouble = "IA__FcRangeGetDouble"
  548. const m_FcStrBasename = "IA__FcStrBasename"
  549. const m_FcStrCmp = "IA__FcStrCmp"
  550. const m_FcStrCmpIgnoreCase = "IA__FcStrCmpIgnoreCase"
  551. const m_FcStrCopy = "IA__FcStrCopy"
  552. const m_FcStrCopyFilename = "IA__FcStrCopyFilename"
  553. const m_FcStrDirname = "IA__FcStrDirname"
  554. const m_FcStrDowncase = "IA__FcStrDowncase"
  555. const m_FcStrFree = "IA__FcStrFree"
  556. const m_FcStrListCreate = "IA__FcStrListCreate"
  557. const m_FcStrListDone = "IA__FcStrListDone"
  558. const m_FcStrListFirst = "IA__FcStrListFirst"
  559. const m_FcStrListNext = "IA__FcStrListNext"
  560. const m_FcStrPlus = "IA__FcStrPlus"
  561. const m_FcStrSetAdd = "IA__FcStrSetAdd"
  562. const m_FcStrSetAddFilename = "IA__FcStrSetAddFilename"
  563. const m_FcStrSetCreate = "IA__FcStrSetCreate"
  564. const m_FcStrSetDel = "IA__FcStrSetDel"
  565. const m_FcStrSetDestroy = "IA__FcStrSetDestroy"
  566. const m_FcStrSetEqual = "IA__FcStrSetEqual"
  567. const m_FcStrSetMember = "IA__FcStrSetMember"
  568. const m_FcStrStr = "IA__FcStrStr"
  569. const m_FcStrStrIgnoreCase = "IA__FcStrStrIgnoreCase"
  570. const m_FcTrue = 1
  571. const m_FcUcs4ToUtf8 = "IA__FcUcs4ToUtf8"
  572. const m_FcUtf16Len = "IA__FcUtf16Len"
  573. const m_FcUtf16ToUcs4 = "IA__FcUtf16ToUcs4"
  574. const m_FcUtf8Len = "IA__FcUtf8Len"
  575. const m_FcUtf8ToUcs4 = "IA__FcUtf8ToUcs4"
  576. const m_FcValueDestroy = "IA__FcValueDestroy"
  577. const m_FcValueEqual = "IA__FcValueEqual"
  578. const m_FcValuePrint = "IA__FcValuePrint"
  579. const m_FcValueSave = "IA__FcValueSave"
  580. const m_FcWeightFromOpenType = "IA__FcWeightFromOpenType"
  581. const m_FcWeightFromOpenTypeDouble = "IA__FcWeightFromOpenTypeDouble"
  582. const m_FcWeightToOpenType = "IA__FcWeightToOpenType"
  583. const m_FcWeightToOpenTypeDouble = "IA__FcWeightToOpenTypeDouble"
  584. const m_GETTEXT_PACKAGE = "fontconfig"
  585. const m_HAVE_CONFIG_H = 1
  586. const m_HAVE_DCGETTEXT = 1
  587. const m_HAVE_DIRENT_H = 1
  588. const m_HAVE_DLFCN_H = 1
  589. const m_HAVE_FCNTL_H = 1
  590. const m_HAVE_FSTATFS = 1
  591. const m_HAVE_FSTATVFS = 1
  592. const m_HAVE_FT_DONE_MM_VAR = 1
  593. const m_HAVE_FT_GET_BDF_PROPERTY = 1
  594. const m_HAVE_FT_GET_PS_FONT_INFO = 1
  595. const m_HAVE_FT_GET_X11_FONT_FORMAT = 1
  596. const m_HAVE_FT_HAS_PS_GLYPH_NAMES = 1
  597. const m_HAVE_GETOPT = 1
  598. const m_HAVE_GETOPT_LONG = 1
  599. const m_HAVE_GETPAGESIZE = 1
  600. const m_HAVE_GETTEXT = 1
  601. const m_HAVE_GNUC_ATTRIBUTE = 1
  602. const m_HAVE_INTEL_ATOMIC_PRIMITIVES = 1
  603. const m_HAVE_INTTYPES_H = 1
  604. const m_HAVE_LINK = 1
  605. const m_HAVE_LRAND48 = 1
  606. const m_HAVE_LSTAT = 1
  607. const m_HAVE_MEMORY_H = 1
  608. const m_HAVE_MKDTEMP = 1
  609. const m_HAVE_MKOSTEMP = 1
  610. const m_HAVE_MKSTEMP = 1
  611. const m_HAVE_MMAP = 1
  612. const m_HAVE_POSIX_FADVISE = 1
  613. const m_HAVE_PTHREAD = 1
  614. const m_HAVE_PTHREAD_PRIO_INHERIT = 1
  615. const m_HAVE_RAND = 1
  616. const m_HAVE_RANDOM = 1
  617. const m_HAVE_RANDOM_R = 1
  618. const m_HAVE_RAND_R = 1
  619. const m_HAVE_READLINK = 1
  620. const m_HAVE_STDINT_H = 1
  621. const m_HAVE_STDLIB_H = 1
  622. const m_HAVE_STRERROR = 1
  623. const m_HAVE_STRERROR_R = 1
  624. const m_HAVE_STRINGS_H = 1
  625. const m_HAVE_STRING_H = 1
  626. const m_HAVE_STRUCT_DIRENT_D_TYPE = 1
  627. const m_HAVE_STRUCT_STATFS_F_FLAGS = 1
  628. const m_HAVE_STRUCT_STAT_ST_MTIM = 1
  629. const m_HAVE_SYS_MOUNT_H = 1
  630. const m_HAVE_SYS_PARAM_H = 1
  631. const m_HAVE_SYS_STATFS_H = 1
  632. const m_HAVE_SYS_STATVFS_H = 1
  633. const m_HAVE_SYS_STAT_H = 1
  634. const m_HAVE_SYS_TYPES_H = 1
  635. const m_HAVE_SYS_VFS_H = 1
  636. const m_HAVE_UNISTD_H = 1
  637. const m_HAVE_VPRINTF = 1
  638. const m_HAVE_WARNING_CPP_DIRECTIVE = 1
  639. const m_HAVE_XML_SETDOCTYPEDECLHANDLER = 1
  640. const m_HOST_NAME_MAX = 255
  641. const m_HUGE = 3.40282346638528859812e+38
  642. const m_HUGE_VALF = "INFINITY"
  643. const m_INT16_MAX = 0x7fff
  644. const m_INT32_MAX = 0x7fffffff
  645. const m_INT64_MAX = 0x7fffffffffffffff
  646. const m_INT8_MAX = 0x7f
  647. const m_INTMAX_MAX = "INT64_MAX"
  648. const m_INTMAX_MIN = "INT64_MIN"
  649. const m_INTPTR_MAX = "INT64_MAX"
  650. const m_INTPTR_MIN = "INT64_MIN"
  651. const m_INT_FAST16_MAX = "INT32_MAX"
  652. const m_INT_FAST16_MIN = "INT32_MIN"
  653. const m_INT_FAST32_MAX = "INT32_MAX"
  654. const m_INT_FAST32_MIN = "INT32_MIN"
  655. const m_INT_FAST64_MAX = "INT64_MAX"
  656. const m_INT_FAST64_MIN = "INT64_MIN"
  657. const m_INT_FAST8_MAX = "INT8_MAX"
  658. const m_INT_FAST8_MIN = "INT8_MIN"
  659. const m_INT_LEAST16_MAX = "INT16_MAX"
  660. const m_INT_LEAST16_MIN = "INT16_MIN"
  661. const m_INT_LEAST32_MAX = "INT32_MAX"
  662. const m_INT_LEAST32_MIN = "INT32_MIN"
  663. const m_INT_LEAST64_MAX = "INT64_MAX"
  664. const m_INT_LEAST64_MIN = "INT64_MIN"
  665. const m_INT_LEAST8_MAX = "INT8_MAX"
  666. const m_INT_LEAST8_MIN = "INT8_MIN"
  667. const m_INT_MAX = 2147483647
  668. const m_IOV_MAX = 1024
  669. const m_LCK_NAME = ".LCK"
  670. const m_LDBL_DECIMAL_DIG = "DECIMAL_DIG"
  671. const m_LDBL_DIG = 15
  672. const m_LDBL_EPSILON = 2.22044604925031308085e-16
  673. const m_LDBL_HAS_SUBNORM = 1
  674. const m_LDBL_MANT_DIG = 53
  675. const m_LDBL_MAX = 1.79769313486231570815e+308
  676. const m_LDBL_MAX_10_EXP = 308
  677. const m_LDBL_MAX_EXP = 1024
  678. const m_LDBL_MIN = 2.22507385850720138309e-308
  679. const m_LDBL_TRUE_MIN = 4.94065645841246544177e-324
  680. const m_LINE_MAX = 4096
  681. const m_LITTLE_ENDIAN = "__LITTLE_ENDIAN"
  682. const m_LLONG_MAX = 0x7fffffffffffffff
  683. const m_LOGIN_NAME_MAX = 256
  684. const m_LONG_BIT = 64
  685. const m_LONG_MAX = "__LONG_MAX"
  686. const m_LT_OBJDIR = ".libs/"
  687. const m_L_INCR = 1
  688. const m_L_SET = 0
  689. const m_L_XTND = 2
  690. const m_L_ctermid = 20
  691. const m_L_cuserid = 20
  692. const m_L_tmpnam = 20
  693. const m_MATH_ERREXCEPT = 2
  694. const m_MATH_ERRNO = 1
  695. const m_MB_LEN_MAX = 4
  696. const m_MQ_PRIO_MAX = 32768
  697. const m_M_1_PI = 0.31830988618379067154
  698. const m_M_2_PI = 0.63661977236758134308
  699. const m_M_2_SQRTPI = 1.12837916709551257390
  700. const m_M_E = 2.7182818284590452354
  701. const m_M_LN10 = 2.30258509299404568402
  702. const m_M_LN2 = 0.69314718055994530942
  703. const m_M_LOG10E = 0.43429448190325182765
  704. const m_M_LOG2E = 1.4426950408889634074
  705. const m_M_PI = 3.14159265358979323846
  706. const m_M_PI_2 = 1.57079632679489661923
  707. const m_M_PI_4 = 0.78539816339744830962
  708. const m_M_SQRT1_2 = 0.70710678118654752440
  709. const m_M_SQRT2 = 1.41421356237309504880
  710. const m_NAME_MAX = 255
  711. const m_NDEBUG = 1
  712. const m_NEW_NAME = ".NEW"
  713. const m_NGROUPS_MAX = 32
  714. const m_NL_ARGMAX = 9
  715. const m_NL_LANGMAX = 32
  716. const m_NL_MSGMAX = 32767
  717. const m_NL_NMAX = 16
  718. const m_NL_SETMAX = 255
  719. const m_NL_TEXTMAX = 2048
  720. const m_NZERO = 20
  721. const m_PACKAGE = "fontconfig"
  722. const m_PACKAGE_BUGREPORT = "https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new"
  723. const m_PACKAGE_NAME = "fontconfig"
  724. const m_PACKAGE_STRING = "fontconfig 2.13.1"
  725. const m_PACKAGE_TARNAME = "fontconfig"
  726. const m_PACKAGE_URL = ""
  727. const m_PACKAGE_VERSION = "2.13.1"
  728. const m_PAGESIZE = 4096
  729. const m_PAGE_SIZE = "PAGESIZE"
  730. const m_PATH_MAX = 4096
  731. const m_PDP_ENDIAN = "__PDP_ENDIAN"
  732. const m_PIPE_BUF = 4096
  733. const m_POSIX_CLOSE_RESTART = 0
  734. const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
  735. const m_PTHREAD_KEYS_MAX = 128
  736. const m_PTHREAD_STACK_MIN = 2048
  737. const m_PTRDIFF_MAX = "INT64_MAX"
  738. const m_PTRDIFF_MIN = "INT64_MIN"
  739. const m_P_tmpdir = "/tmp"
  740. const m_RAND_MAX = 0x7fffffff
  741. const m_RE_DUP_MAX = 255
  742. const m_R_OK = 4
  743. const m_SCHAR_MAX = 127
  744. const m_SEEK_DATA = 3
  745. const m_SEEK_HOLE = 4
  746. const m_SEM_NSEMS_MAX = 256
  747. const m_SEM_VALUE_MAX = 0x7fffffff
  748. const m_SHRT_MAX = 0x7fff
  749. const m_SIG_ATOMIC_MAX = "INT32_MAX"
  750. const m_SIG_ATOMIC_MIN = "INT32_MIN"
  751. const m_SIZEOF_VOID_P = 8
  752. const m_SIZE_MAX = "UINT64_MAX"
  753. const m_SSIZE_MAX = "LONG_MAX"
  754. const m_STATX_ALL = 0xfff
  755. const m_STATX_ATIME = 0x20
  756. const m_STATX_BASIC_STATS = 0x7ff
  757. const m_STATX_BLOCKS = 0x400
  758. const m_STATX_BTIME = 0x800
  759. const m_STATX_CTIME = 0x80
  760. const m_STATX_GID = 0x10
  761. const m_STATX_INO = 0x100
  762. const m_STATX_MODE = 2
  763. const m_STATX_MTIME = 0x40
  764. const m_STATX_NLINK = 4
  765. const m_STATX_SIZE = 0x200
  766. const m_STATX_TYPE = 1
  767. const m_STATX_UID = 8
  768. const m_STDC_HEADERS = 1
  769. const m_STDERR_FILENO = 2
  770. const m_STDIN_FILENO = 0
  771. const m_STDOUT_FILENO = 1
  772. const m_SYMLOOP_MAX = 40
  773. const m_S_IEXEC = "S_IXUSR"
  774. const m_S_IFBLK = 0060000
  775. const m_S_IFCHR = 0020000
  776. const m_S_IFDIR = 0040000
  777. const m_S_IFIFO = 0010000
  778. const m_S_IFLNK = 0120000
  779. const m_S_IFMT = 0170000
  780. const m_S_IFREG = 0100000
  781. const m_S_IFSOCK = 0140000
  782. const m_S_IREAD = "S_IRUSR"
  783. const m_S_IRGRP = 0040
  784. const m_S_IROTH = 0004
  785. const m_S_IRUSR = 0400
  786. const m_S_IRWXG = 0070
  787. const m_S_IRWXO = 0007
  788. const m_S_IRWXU = 0700
  789. const m_S_ISGID = 02000
  790. const m_S_ISUID = 04000
  791. const m_S_ISVTX = 01000
  792. const m_S_IWGRP = 0020
  793. const m_S_IWOTH = 0002
  794. const m_S_IWRITE = "S_IWUSR"
  795. const m_S_IWUSR = 0200
  796. const m_S_IXGRP = 0010
  797. const m_S_IXOTH = 0001
  798. const m_S_IXUSR = 0100
  799. const m_TIMER_ABSTIME = 1
  800. const m_TIME_UTC = 1
  801. const m_TMP_MAX = 10000
  802. const m_TMP_NAME = ".TMP-XXXXXX"
  803. const m_TTY_NAME_MAX = 32
  804. const m_TZNAME_MAX = 6
  805. const m_UCHAR_MAX = 255
  806. const m_UINT16_MAX = 0xffff
  807. const m_UINT32_MAX = "0xffffffffu"
  808. const m_UINT64_MAX = "0xffffffffffffffffu"
  809. const m_UINT8_MAX = 0xff
  810. const m_UINTMAX_MAX = "UINT64_MAX"
  811. const m_UINTPTR_MAX = "UINT64_MAX"
  812. const m_UINT_FAST16_MAX = "UINT32_MAX"
  813. const m_UINT_FAST32_MAX = "UINT32_MAX"
  814. const m_UINT_FAST64_MAX = "UINT64_MAX"
  815. const m_UINT_FAST8_MAX = "UINT8_MAX"
  816. const m_UINT_LEAST16_MAX = "UINT16_MAX"
  817. const m_UINT_LEAST32_MAX = "UINT32_MAX"
  818. const m_UINT_LEAST64_MAX = "UINT64_MAX"
  819. const m_UINT_LEAST8_MAX = "UINT8_MAX"
  820. const m_UINT_MAX = 0xffffffff
  821. const m_USE_ICONV = 0
  822. const m_USHRT_MAX = 0xffff
  823. const m_UTIME_NOW = 0x3fffffff
  824. const m_UTIME_OMIT = 0x3ffffffe
  825. const m_VERSION = "2.13.1"
  826. const m_WINT_MAX = "UINT32_MAX"
  827. const m_WINT_MIN = 0
  828. const m_WNOHANG = 1
  829. const m_WORDS_BIGENDIAN = 1
  830. const m_WORD_BIT = 32
  831. const m_WUNTRACED = 2
  832. const m_W_OK = 2
  833. const m_X_OK = 1
  834. const m__ALL_SOURCE = 1
  835. const m__CS_GNU_LIBC_VERSION = 2
  836. const m__CS_GNU_LIBPTHREAD_VERSION = 3
  837. const m__CS_PATH = 0
  838. const m__CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
  839. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
  840. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
  841. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
  842. const m__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
  843. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
  844. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
  845. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
  846. const m__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
  847. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
  848. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
  849. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 1126
  850. const m__CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
  851. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
  852. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
  853. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
  854. const m__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
  855. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
  856. const m__CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
  857. const m__CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
  858. const m__CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
  859. const m__CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
  860. const m__CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
  861. const m__CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
  862. const m__CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
  863. const m__CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
  864. const m__CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
  865. const m__CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
  866. const m__CS_POSIX_V7_LP64_OFF64_LIBS = 1142
  867. const m__CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
  868. const m__CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
  869. const m__CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
  870. const m__CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
  871. const m__CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
  872. const m__CS_POSIX_V7_THREADS_CFLAGS = 1150
  873. const m__CS_POSIX_V7_THREADS_LDFLAGS = 1151
  874. const m__CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
  875. const m__CS_V6_ENV = 1148
  876. const m__CS_V7_ENV = 1149
  877. const m__DARWIN_USE_64_BIT_INODE = 1
  878. const m__FONTCONFIG_SRC_FCSTDINT_H = 1
  879. const m__GENERATED_STDINT_H = "fontconfig 2.13.1"
  880. const m__GNU_SOURCE = 1
  881. const m__IOFBF = 0
  882. const m__IOLBF = 1
  883. const m__IONBF = 2
  884. const m__LP64 = 1
  885. const m__PC_2_SYMLINKS = 20
  886. const m__PC_ALLOC_SIZE_MIN = 18
  887. const m__PC_ASYNC_IO = 10
  888. const m__PC_CHOWN_RESTRICTED = 6
  889. const m__PC_FILESIZEBITS = 13
  890. const m__PC_LINK_MAX = 0
  891. const m__PC_MAX_CANON = 1
  892. const m__PC_MAX_INPUT = 2
  893. const m__PC_NAME_MAX = 3
  894. const m__PC_NO_TRUNC = 7
  895. const m__PC_PATH_MAX = 4
  896. const m__PC_PIPE_BUF = 5
  897. const m__PC_PRIO_IO = 11
  898. const m__PC_REC_INCR_XFER_SIZE = 14
  899. const m__PC_REC_MAX_XFER_SIZE = 15
  900. const m__PC_REC_MIN_XFER_SIZE = 16
  901. const m__PC_REC_XFER_ALIGN = 17
  902. const m__PC_SOCK_MAXBUF = 12
  903. const m__PC_SYMLINK_MAX = 19
  904. const m__PC_SYNC_IO = 9
  905. const m__PC_VDISABLE = 8
  906. const m__POSIX2_BC_BASE_MAX = 99
  907. const m__POSIX2_BC_DIM_MAX = 2048
  908. const m__POSIX2_BC_SCALE_MAX = 99
  909. const m__POSIX2_BC_STRING_MAX = 1000
  910. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  911. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  912. const m__POSIX2_C_BIND = "_POSIX_VERSION"
  913. const m__POSIX2_EXPR_NEST_MAX = 32
  914. const m__POSIX2_LINE_MAX = 2048
  915. const m__POSIX2_RE_DUP_MAX = 255
  916. const m__POSIX2_VERSION = "_POSIX_VERSION"
  917. const m__POSIX_ADVISORY_INFO = "_POSIX_VERSION"
  918. const m__POSIX_AIO_LISTIO_MAX = 2
  919. const m__POSIX_AIO_MAX = 1
  920. const m__POSIX_ARG_MAX = 4096
  921. const m__POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
  922. const m__POSIX_BARRIERS = "_POSIX_VERSION"
  923. const m__POSIX_CHILD_MAX = 25
  924. const m__POSIX_CHOWN_RESTRICTED = 1
  925. const m__POSIX_CLOCKRES_MIN = 20000000
  926. const m__POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
  927. const m__POSIX_CPUTIME = "_POSIX_VERSION"
  928. const m__POSIX_DELAYTIMER_MAX = 32
  929. const m__POSIX_FSYNC = "_POSIX_VERSION"
  930. const m__POSIX_HOST_NAME_MAX = 255
  931. const m__POSIX_IPV6 = "_POSIX_VERSION"
  932. const m__POSIX_JOB_CONTROL = 1
  933. const m__POSIX_LINK_MAX = 8
  934. const m__POSIX_LOGIN_NAME_MAX = 9
  935. const m__POSIX_MAPPED_FILES = "_POSIX_VERSION"
  936. const m__POSIX_MAX_CANON = 255
  937. const m__POSIX_MAX_INPUT = 255
  938. const m__POSIX_MEMLOCK = "_POSIX_VERSION"
  939. const m__POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
  940. const m__POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
  941. const m__POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
  942. const m__POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
  943. const m__POSIX_MQ_OPEN_MAX = 8
  944. const m__POSIX_MQ_PRIO_MAX = 32
  945. const m__POSIX_NAME_MAX = 14
  946. const m__POSIX_NGROUPS_MAX = 8
  947. const m__POSIX_NO_TRUNC = 1
  948. const m__POSIX_OPEN_MAX = 20
  949. const m__POSIX_PATH_MAX = 256
  950. const m__POSIX_PIPE_BUF = 512
  951. const m__POSIX_PTHREAD_SEMANTICS = 1
  952. const m__POSIX_RAW_SOCKETS = "_POSIX_VERSION"
  953. const m__POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
  954. const m__POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
  955. const m__POSIX_REGEXP = 1
  956. const m__POSIX_RE_DUP_MAX = 255
  957. const m__POSIX_RTSIG_MAX = 8
  958. const m__POSIX_SAVED_IDS = 1
  959. const m__POSIX_SEMAPHORES = "_POSIX_VERSION"
  960. const m__POSIX_SEM_NSEMS_MAX = 256
  961. const m__POSIX_SEM_VALUE_MAX = 32767
  962. const m__POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
  963. const m__POSIX_SHELL = 1
  964. const m__POSIX_SIGQUEUE_MAX = 32
  965. const m__POSIX_SPAWN = "_POSIX_VERSION"
  966. const m__POSIX_SPIN_LOCKS = "_POSIX_VERSION"
  967. const m__POSIX_SSIZE_MAX = 32767
  968. const m__POSIX_SS_REPL_MAX = 4
  969. const m__POSIX_STREAM_MAX = 8
  970. const m__POSIX_SYMLINK_MAX = 255
  971. const m__POSIX_SYMLOOP_MAX = 8
  972. const m__POSIX_THREADS = "_POSIX_VERSION"
  973. const m__POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
  974. const m__POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
  975. const m__POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
  976. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  977. const m__POSIX_THREAD_KEYS_MAX = 128
  978. const m__POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
  979. const m__POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
  980. const m__POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
  981. const m__POSIX_THREAD_THREADS_MAX = 64
  982. const m__POSIX_TIMEOUTS = "_POSIX_VERSION"
  983. const m__POSIX_TIMERS = "_POSIX_VERSION"
  984. const m__POSIX_TIMER_MAX = 32
  985. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  986. const m__POSIX_TRACE_NAME_MAX = 8
  987. const m__POSIX_TRACE_SYS_MAX = 8
  988. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  989. const m__POSIX_TTY_NAME_MAX = 9
  990. const m__POSIX_TZNAME_MAX = 6
  991. const m__POSIX_V6_LP64_OFF64 = 1
  992. const m__POSIX_V7_LP64_OFF64 = 1
  993. const m__POSIX_VDISABLE = 0
  994. const m__POSIX_VERSION = 200809
  995. const m__REENTRANT = 1
  996. const m__SC_2_CHAR_TERM = 95
  997. const m__SC_2_C_BIND = 47
  998. const m__SC_2_C_DEV = 48
  999. const m__SC_2_FORT_DEV = 49
  1000. const m__SC_2_FORT_RUN = 50
  1001. const m__SC_2_LOCALEDEF = 52
  1002. const m__SC_2_PBS = 168
  1003. const m__SC_2_PBS_ACCOUNTING = 169
  1004. const m__SC_2_PBS_CHECKPOINT = 175
  1005. const m__SC_2_PBS_LOCATE = 170
  1006. const m__SC_2_PBS_MESSAGE = 171
  1007. const m__SC_2_PBS_TRACK = 172
  1008. const m__SC_2_SW_DEV = 51
  1009. const m__SC_2_UPE = 97
  1010. const m__SC_2_VERSION = 46
  1011. const m__SC_ADVISORY_INFO = 132
  1012. const m__SC_AIO_LISTIO_MAX = 23
  1013. const m__SC_AIO_MAX = 24
  1014. const m__SC_AIO_PRIO_DELTA_MAX = 25
  1015. const m__SC_ARG_MAX = 0
  1016. const m__SC_ASYNCHRONOUS_IO = 12
  1017. const m__SC_ATEXIT_MAX = 87
  1018. const m__SC_AVPHYS_PAGES = 86
  1019. const m__SC_BARRIERS = 133
  1020. const m__SC_BC_BASE_MAX = 36
  1021. const m__SC_BC_DIM_MAX = 37
  1022. const m__SC_BC_SCALE_MAX = 38
  1023. const m__SC_BC_STRING_MAX = 39
  1024. const m__SC_CHILD_MAX = 1
  1025. const m__SC_CLK_TCK = 2
  1026. const m__SC_CLOCK_SELECTION = 137
  1027. const m__SC_COLL_WEIGHTS_MAX = 40
  1028. const m__SC_CPUTIME = 138
  1029. const m__SC_DELAYTIMER_MAX = 26
  1030. const m__SC_EXPR_NEST_MAX = 42
  1031. const m__SC_FSYNC = 15
  1032. const m__SC_GETGR_R_SIZE_MAX = 69
  1033. const m__SC_GETPW_R_SIZE_MAX = 70
  1034. const m__SC_HOST_NAME_MAX = 180
  1035. const m__SC_IOV_MAX = 60
  1036. const m__SC_IPV6 = 235
  1037. const m__SC_JOB_CONTROL = 7
  1038. const m__SC_LINE_MAX = 43
  1039. const m__SC_LOGIN_NAME_MAX = 71
  1040. const m__SC_MAPPED_FILES = 16
  1041. const m__SC_MEMLOCK = 17
  1042. const m__SC_MEMLOCK_RANGE = 18
  1043. const m__SC_MEMORY_PROTECTION = 19
  1044. const m__SC_MESSAGE_PASSING = 20
  1045. const m__SC_MINSIGSTKSZ = 249
  1046. const m__SC_MONOTONIC_CLOCK = 149
  1047. const m__SC_MQ_OPEN_MAX = 27
  1048. const m__SC_MQ_PRIO_MAX = 28
  1049. const m__SC_NGROUPS_MAX = 3
  1050. const m__SC_NPROCESSORS_CONF = 83
  1051. const m__SC_NPROCESSORS_ONLN = 84
  1052. const m__SC_NZERO = 109
  1053. const m__SC_OPEN_MAX = 4
  1054. const m__SC_PAGESIZE = 30
  1055. const m__SC_PAGE_SIZE = 30
  1056. const m__SC_PASS_MAX = 88
  1057. const m__SC_PHYS_PAGES = 85
  1058. const m__SC_PRIORITIZED_IO = 13
  1059. const m__SC_PRIORITY_SCHEDULING = 10
  1060. const m__SC_RAW_SOCKETS = 236
  1061. const m__SC_READER_WRITER_LOCKS = 153
  1062. const m__SC_REALTIME_SIGNALS = 9
  1063. const m__SC_REGEXP = 155
  1064. const m__SC_RE_DUP_MAX = 44
  1065. const m__SC_RTSIG_MAX = 31
  1066. const m__SC_SAVED_IDS = 8
  1067. const m__SC_SEMAPHORES = 21
  1068. const m__SC_SEM_NSEMS_MAX = 32
  1069. const m__SC_SEM_VALUE_MAX = 33
  1070. const m__SC_SHARED_MEMORY_OBJECTS = 22
  1071. const m__SC_SHELL = 157
  1072. const m__SC_SIGQUEUE_MAX = 34
  1073. const m__SC_SIGSTKSZ = 250
  1074. const m__SC_SPAWN = 159
  1075. const m__SC_SPIN_LOCKS = 154
  1076. const m__SC_SPORADIC_SERVER = 160
  1077. const m__SC_SS_REPL_MAX = 241
  1078. const m__SC_STREAMS = 174
  1079. const m__SC_STREAM_MAX = 5
  1080. const m__SC_SYMLOOP_MAX = 173
  1081. const m__SC_SYNCHRONIZED_IO = 14
  1082. const m__SC_THREADS = 67
  1083. const m__SC_THREAD_ATTR_STACKADDR = 77
  1084. const m__SC_THREAD_ATTR_STACKSIZE = 78
  1085. const m__SC_THREAD_CPUTIME = 139
  1086. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 73
  1087. const m__SC_THREAD_KEYS_MAX = 74
  1088. const m__SC_THREAD_PRIORITY_SCHEDULING = 79
  1089. const m__SC_THREAD_PRIO_INHERIT = 80
  1090. const m__SC_THREAD_PRIO_PROTECT = 81
  1091. const m__SC_THREAD_PROCESS_SHARED = 82
  1092. const m__SC_THREAD_ROBUST_PRIO_INHERIT = 247
  1093. const m__SC_THREAD_ROBUST_PRIO_PROTECT = 248
  1094. const m__SC_THREAD_SAFE_FUNCTIONS = 68
  1095. const m__SC_THREAD_SPORADIC_SERVER = 161
  1096. const m__SC_THREAD_STACK_MIN = 75
  1097. const m__SC_THREAD_THREADS_MAX = 76
  1098. const m__SC_TIMEOUTS = 164
  1099. const m__SC_TIMERS = 11
  1100. const m__SC_TIMER_MAX = 35
  1101. const m__SC_TRACE = 181
  1102. const m__SC_TRACE_EVENT_FILTER = 182
  1103. const m__SC_TRACE_EVENT_NAME_MAX = 242
  1104. const m__SC_TRACE_INHERIT = 183
  1105. const m__SC_TRACE_LOG = 184
  1106. const m__SC_TRACE_NAME_MAX = 243
  1107. const m__SC_TRACE_SYS_MAX = 244
  1108. const m__SC_TRACE_USER_EVENT_MAX = 245
  1109. const m__SC_TTY_NAME_MAX = 72
  1110. const m__SC_TYPED_MEMORY_OBJECTS = 165
  1111. const m__SC_TZNAME_MAX = 6
  1112. const m__SC_UIO_MAXIOV = 60
  1113. const m__SC_V6_ILP32_OFF32 = 176
  1114. const m__SC_V6_ILP32_OFFBIG = 177
  1115. const m__SC_V6_LP64_OFF64 = 178
  1116. const m__SC_V6_LPBIG_OFFBIG = 179
  1117. const m__SC_V7_ILP32_OFF32 = 237
  1118. const m__SC_V7_ILP32_OFFBIG = 238
  1119. const m__SC_V7_LP64_OFF64 = 239
  1120. const m__SC_V7_LPBIG_OFFBIG = 240
  1121. const m__SC_VERSION = 29
  1122. const m__SC_XBS5_ILP32_OFF32 = 125
  1123. const m__SC_XBS5_ILP32_OFFBIG = 126
  1124. const m__SC_XBS5_LP64_OFF64 = 127
  1125. const m__SC_XBS5_LPBIG_OFFBIG = 128
  1126. const m__SC_XOPEN_CRYPT = 92
  1127. const m__SC_XOPEN_ENH_I18N = 93
  1128. const m__SC_XOPEN_LEGACY = 129
  1129. const m__SC_XOPEN_REALTIME = 130
  1130. const m__SC_XOPEN_REALTIME_THREADS = 131
  1131. const m__SC_XOPEN_SHM = 94
  1132. const m__SC_XOPEN_STREAMS = 246
  1133. const m__SC_XOPEN_UNIX = 91
  1134. const m__SC_XOPEN_VERSION = 89
  1135. const m__SC_XOPEN_XCU_VERSION = 90
  1136. const m__SC_XOPEN_XPG2 = 98
  1137. const m__SC_XOPEN_XPG3 = 99
  1138. const m__SC_XOPEN_XPG4 = 100
  1139. const m__STDC_PREDEF_H = 1
  1140. const m__STDINT_HAVE_STDINT_H = 1
  1141. const m__TANDEM_SOURCE = 1
  1142. const m__XOPEN_ENH_I18N = 1
  1143. const m__XOPEN_IOV_MAX = 16
  1144. const m__XOPEN_NAME_MAX = 255
  1145. const m__XOPEN_PATH_MAX = 1024
  1146. const m__XOPEN_UNIX = 1
  1147. const m__XOPEN_VERSION = 700
  1148. const m___ARCH__ = 9
  1149. const m___ATOMIC_ACQUIRE = 2
  1150. const m___ATOMIC_ACQ_REL = 4
  1151. const m___ATOMIC_CONSUME = 1
  1152. const m___ATOMIC_RELAXED = 0
  1153. const m___ATOMIC_RELEASE = 3
  1154. const m___ATOMIC_SEQ_CST = 5
  1155. const m___BIGGEST_ALIGNMENT__ = 8
  1156. const m___BIG_ENDIAN = 4321
  1157. const m___BYTE_ORDER = 4321
  1158. const m___BYTE_ORDER__ = "__ORDER_BIG_ENDIAN__"
  1159. const m___CCGO__ = 1
  1160. const m___CHAR_BIT__ = 8
  1161. const m___CHAR_UNSIGNED__ = 1
  1162. const m___DBL_DECIMAL_DIG__ = 17
  1163. const m___DBL_DIG__ = 15
  1164. const m___DBL_HAS_DENORM__ = 1
  1165. const m___DBL_HAS_INFINITY__ = 1
  1166. const m___DBL_HAS_QUIET_NAN__ = 1
  1167. const m___DBL_MANT_DIG__ = 53
  1168. const m___DBL_MAX_10_EXP__ = 308
  1169. const m___DBL_MAX_EXP__ = 1024
  1170. const m___DEC128_EPSILON__ = 1e-33
  1171. const m___DEC128_MANT_DIG__ = 34
  1172. const m___DEC128_MAX_EXP__ = 6145
  1173. const m___DEC128_MAX__ = "9.999999999999999999999999999999999E6144"
  1174. const m___DEC128_MIN__ = 1e-6143
  1175. const m___DEC128_SUBNORMAL_MIN__ = 0.000000000000000000000000000000001e-6143
  1176. const m___DEC32_EPSILON__ = 1e-6
  1177. const m___DEC32_MANT_DIG__ = 7
  1178. const m___DEC32_MAX_EXP__ = 97
  1179. const m___DEC32_MAX__ = 9.999999e96
  1180. const m___DEC32_MIN__ = 1e-95
  1181. const m___DEC32_SUBNORMAL_MIN__ = 0.000001e-95
  1182. const m___DEC64_EPSILON__ = 1e-15
  1183. const m___DEC64_MANT_DIG__ = 16
  1184. const m___DEC64_MAX_EXP__ = 385
  1185. const m___DEC64_MAX__ = "9.999999999999999E384"
  1186. const m___DEC64_MIN__ = 1e-383
  1187. const m___DEC64_SUBNORMAL_MIN__ = 0.000000000000001e-383
  1188. const m___DECIMAL_DIG__ = 17
  1189. const m___DEC_EVAL_METHOD__ = 2
  1190. const m___ELF__ = 1
  1191. const m___EXTENSIONS__ = 1
  1192. const m___FINITE_MATH_ONLY__ = 0
  1193. const m___FLOAT_WORD_ORDER__ = "__ORDER_BIG_ENDIAN__"
  1194. const m___FLT32X_DECIMAL_DIG__ = 17
  1195. const m___FLT32X_DENORM_MIN__ = 4.9406564584124654e-324
  1196. const m___FLT32X_DIG__ = 15
  1197. const m___FLT32X_EPSILON__ = 2.2204460492503131e-16
  1198. const m___FLT32X_HAS_DENORM__ = 1
  1199. const m___FLT32X_HAS_INFINITY__ = 1
  1200. const m___FLT32X_HAS_QUIET_NAN__ = 1
  1201. const m___FLT32X_MANT_DIG__ = 53
  1202. const m___FLT32X_MAX_10_EXP__ = 308
  1203. const m___FLT32X_MAX_EXP__ = 1024
  1204. const m___FLT32X_MAX__ = 1.7976931348623157e+308
  1205. const m___FLT32X_MIN__ = 2.2250738585072014e-308
  1206. const m___FLT32X_NORM_MAX__ = 1.7976931348623157e+308
  1207. const m___FLT32_DECIMAL_DIG__ = 9
  1208. const m___FLT32_DENORM_MIN__ = 1.4012984643248171e-45
  1209. const m___FLT32_DIG__ = 6
  1210. const m___FLT32_EPSILON__ = 1.1920928955078125e-7
  1211. const m___FLT32_HAS_DENORM__ = 1
  1212. const m___FLT32_HAS_INFINITY__ = 1
  1213. const m___FLT32_HAS_QUIET_NAN__ = 1
  1214. const m___FLT32_MANT_DIG__ = 24
  1215. const m___FLT32_MAX_10_EXP__ = 38
  1216. const m___FLT32_MAX_EXP__ = 128
  1217. const m___FLT32_MAX__ = 3.4028234663852886e+38
  1218. const m___FLT32_MIN__ = 1.1754943508222875e-38
  1219. const m___FLT32_NORM_MAX__ = 3.4028234663852886e+38
  1220. const m___FLT64_DECIMAL_DIG__ = 17
  1221. const m___FLT64_DENORM_MIN__ = 4.9406564584124654e-324
  1222. const m___FLT64_DIG__ = 15
  1223. const m___FLT64_EPSILON__ = 2.2204460492503131e-16
  1224. const m___FLT64_HAS_DENORM__ = 1
  1225. const m___FLT64_HAS_INFINITY__ = 1
  1226. const m___FLT64_HAS_QUIET_NAN__ = 1
  1227. const m___FLT64_MANT_DIG__ = 53
  1228. const m___FLT64_MAX_10_EXP__ = 308
  1229. const m___FLT64_MAX_EXP__ = 1024
  1230. const m___FLT64_MAX__ = 1.7976931348623157e+308
  1231. const m___FLT64_MIN__ = 2.2250738585072014e-308
  1232. const m___FLT64_NORM_MAX__ = 1.7976931348623157e+308
  1233. const m___FLT_DECIMAL_DIG__ = 9
  1234. const m___FLT_DENORM_MIN__ = 1.4012984643248171e-45
  1235. const m___FLT_DIG__ = 6
  1236. const m___FLT_EPSILON__ = 1.1920928955078125e-7
  1237. const m___FLT_EVAL_METHOD_TS_18661_3__ = 0
  1238. const m___FLT_EVAL_METHOD__ = 0
  1239. const m___FLT_HAS_DENORM__ = 1
  1240. const m___FLT_HAS_INFINITY__ = 1
  1241. const m___FLT_HAS_QUIET_NAN__ = 1
  1242. const m___FLT_MANT_DIG__ = 24
  1243. const m___FLT_MAX_10_EXP__ = 38
  1244. const m___FLT_MAX_EXP__ = 128
  1245. const m___FLT_MAX__ = 3.4028234663852886e+38
  1246. const m___FLT_MIN__ = 1.1754943508222875e-38
  1247. const m___FLT_NORM_MAX__ = 3.4028234663852886e+38
  1248. const m___FLT_RADIX__ = 2
  1249. const m___FP_FAST_FMA = 1
  1250. const m___FP_FAST_FMAF = 1
  1251. const m___FP_FAST_FMAF32 = 1
  1252. const m___FP_FAST_FMAF32x = 1
  1253. const m___FP_FAST_FMAF64 = 1
  1254. const m___FP_FAST_FMAL = 1
  1255. const m___FUNCTION__ = "__func__"
  1256. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  1257. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1258. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1259. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  1260. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  1261. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  1262. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  1263. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  1264. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  1265. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  1266. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1267. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  1268. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  1269. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  1270. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  1271. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  1272. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  1273. const m___GCC_IEC_559 = 2
  1274. const m___GCC_IEC_559_COMPLEX = 2
  1275. const m___GNUC_MINOR__ = 2
  1276. const m___GNUC_PATCHLEVEL__ = 1
  1277. const m___GNUC_STDC_INLINE__ = 1
  1278. const m___GNUC__ = 10
  1279. const m___GXX_ABI_VERSION = 1014
  1280. const m___HAVE_SPECULATION_SAFE_VALUE = 1
  1281. const m___INT16_MAX__ = 0x7fff
  1282. const m___INT32_MAX__ = 0x7fffffff
  1283. const m___INT32_TYPE__ = "int"
  1284. const m___INT64_MAX__ = 0x7fffffffffffffff
  1285. const m___INT8_MAX__ = 0x7f
  1286. const m___INTMAX_MAX__ = 0x7fffffffffffffff
  1287. const m___INTMAX_WIDTH__ = 64
  1288. const m___INTPTR_MAX__ = 0x7fffffffffffffff
  1289. const m___INTPTR_WIDTH__ = 64
  1290. const m___INT_FAST16_MAX__ = 0x7fffffffffffffff
  1291. const m___INT_FAST16_WIDTH__ = 64
  1292. const m___INT_FAST32_MAX__ = 0x7fffffffffffffff
  1293. const m___INT_FAST32_WIDTH__ = 64
  1294. const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
  1295. const m___INT_FAST64_WIDTH__ = 64
  1296. const m___INT_FAST8_MAX__ = 0x7f
  1297. const m___INT_FAST8_WIDTH__ = 8
  1298. const m___INT_LEAST16_MAX__ = 0x7fff
  1299. const m___INT_LEAST16_WIDTH__ = 16
  1300. const m___INT_LEAST32_MAX__ = 0x7fffffff
  1301. const m___INT_LEAST32_TYPE__ = "int"
  1302. const m___INT_LEAST32_WIDTH__ = 32
  1303. const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
  1304. const m___INT_LEAST64_WIDTH__ = 64
  1305. const m___INT_LEAST8_MAX__ = 0x7f
  1306. const m___INT_LEAST8_WIDTH__ = 8
  1307. const m___INT_MAX__ = 0x7fffffff
  1308. const m___INT_WIDTH__ = 32
  1309. const m___LDBL_DECIMAL_DIG__ = 17
  1310. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  1311. const m___LDBL_DIG__ = 15
  1312. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  1313. const m___LDBL_HAS_DENORM__ = 1
  1314. const m___LDBL_HAS_INFINITY__ = 1
  1315. const m___LDBL_HAS_QUIET_NAN__ = 1
  1316. const m___LDBL_MANT_DIG__ = 53
  1317. const m___LDBL_MAX_10_EXP__ = 308
  1318. const m___LDBL_MAX_EXP__ = 1024
  1319. const m___LDBL_MAX__ = 1.7976931348623157e+308
  1320. const m___LDBL_MIN__ = 2.2250738585072014e-308
  1321. const m___LDBL_NORM_MAX__ = 1.7976931348623157e+308
  1322. const m___LITTLE_ENDIAN = 1234
  1323. const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
  1324. const m___LONG_LONG_WIDTH__ = 64
  1325. const m___LONG_MAX = 0x7fffffffffffffff
  1326. const m___LONG_MAX__ = 0x7fffffffffffffff
  1327. const m___LONG_WIDTH__ = 64
  1328. const m___LP64__ = 1
  1329. const m___NO_INLINE__ = 1
  1330. const m___ORDER_BIG_ENDIAN__ = 4321
  1331. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1332. const m___ORDER_PDP_ENDIAN__ = 3412
  1333. const m___PDP_ENDIAN = 3412
  1334. const m___PIC__ = 2
  1335. const m___PIE__ = 2
  1336. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1337. const m___PRETTY_FUNCTION__ = "__func__"
  1338. const m___PTRDIFF_MAX__ = 0x7fffffffffffffff
  1339. const m___PTRDIFF_WIDTH__ = 64
  1340. const m___SCHAR_MAX__ = 0x7f
  1341. const m___SCHAR_WIDTH__ = 8
  1342. const m___SHRT_MAX__ = 0x7fff
  1343. const m___SHRT_WIDTH__ = 16
  1344. const m___SIG_ATOMIC_MAX__ = 0x7fffffff
  1345. const m___SIG_ATOMIC_TYPE__ = "int"
  1346. const m___SIG_ATOMIC_WIDTH__ = 32
  1347. const m___SIZEOF_DOUBLE__ = 8
  1348. const m___SIZEOF_FLOAT__ = 4
  1349. const m___SIZEOF_INT128__ = 16
  1350. const m___SIZEOF_INT__ = 4
  1351. const m___SIZEOF_LONG_DOUBLE__ = 8
  1352. const m___SIZEOF_LONG_LONG__ = 8
  1353. const m___SIZEOF_LONG__ = 8
  1354. const m___SIZEOF_POINTER__ = 8
  1355. const m___SIZEOF_PTRDIFF_T__ = 8
  1356. const m___SIZEOF_SHORT__ = 2
  1357. const m___SIZEOF_SIZE_T__ = 8
  1358. const m___SIZEOF_WCHAR_T__ = 4
  1359. const m___SIZEOF_WINT_T__ = 4
  1360. const m___SIZE_MAX__ = 0xffffffffffffffff
  1361. const m___SIZE_WIDTH__ = 64
  1362. const m___STDC_HOSTED__ = 1
  1363. const m___STDC_IEC_559_COMPLEX__ = 1
  1364. const m___STDC_IEC_559__ = 1
  1365. const m___STDC_ISO_10646__ = 201706
  1366. const m___STDC_UTF_16__ = 1
  1367. const m___STDC_UTF_32__ = 1
  1368. const m___STDC_VERSION__ = 201710
  1369. const m___STDC__ = 1
  1370. const m___UINT16_MAX__ = 0xffff
  1371. const m___UINT32_MAX__ = 0xffffffff
  1372. const m___UINT64_MAX__ = 0xffffffffffffffff
  1373. const m___UINT8_MAX__ = 0xff
  1374. const m___UINTMAX_MAX__ = 0xffffffffffffffff
  1375. const m___UINTPTR_MAX__ = 0xffffffffffffffff
  1376. const m___UINT_FAST16_MAX__ = 0xffffffffffffffff
  1377. const m___UINT_FAST32_MAX__ = 0xffffffffffffffff
  1378. const m___UINT_FAST64_MAX__ = 0xffffffffffffffff
  1379. const m___UINT_FAST8_MAX__ = 0xff
  1380. const m___UINT_LEAST16_MAX__ = 0xffff
  1381. const m___UINT_LEAST32_MAX__ = 0xffffffff
  1382. const m___UINT_LEAST64_MAX__ = 0xffffffffffffffff
  1383. const m___UINT_LEAST8_MAX__ = 0xff
  1384. const m___USE_GNU_GETTEXT = 1
  1385. const m___USE_TIME_BITS64 = 1
  1386. const m___VERSION__ = "10.2.1 20210110"
  1387. const m___WCHAR_MAX__ = 0x7fffffff
  1388. const m___WCHAR_TYPE__ = "int"
  1389. const m___WCHAR_WIDTH__ = 32
  1390. const m___WINT_MAX__ = 0xffffffff
  1391. const m___WINT_MIN__ = 0
  1392. const m___WINT_WIDTH__ = 32
  1393. const m___gnu_linux__ = 1
  1394. const m___inline = "inline"
  1395. const m___linux = 1
  1396. const m___linux__ = 1
  1397. const m___pic__ = 2
  1398. const m___pie__ = 2
  1399. const m___restrict = "restrict"
  1400. const m___restrict_arr = "restrict"
  1401. const m___s390__ = 1
  1402. const m___s390x__ = 1
  1403. const m___tm_gmtoff = "tm_gmtoff"
  1404. const m___tm_zone = "tm_zone"
  1405. const m___unix = 1
  1406. const m___unix__ = 1
  1407. const m___zarch__ = 1
  1408. const m_alloca = "__builtin_alloca"
  1409. const m_linux = 1
  1410. const m_math_errhandling = 2
  1411. const m_static_assert = "_Static_assert"
  1412. const m_unix = 1
  1413. type t__builtin_va_list = uintptr
  1414. type t__predefined_size_t = uint64
  1415. type t__predefined_wchar_t = int32
  1416. type t__predefined_ptrdiff_t = int64
  1417. type Tuintptr_t = uint64
  1418. type Tintptr_t = int64
  1419. type Tint8_t = int8
  1420. type Tint16_t = int16
  1421. type Tint32_t = int32
  1422. type Tint64_t = int64
  1423. type Tintmax_t = int64
  1424. type Tuint8_t = uint8
  1425. type Tuint16_t = uint16
  1426. type Tuint32_t = uint32
  1427. type Tuint64_t = uint64
  1428. type Tuintmax_t = uint64
  1429. type Tint_fast8_t = int8
  1430. type Tint_fast64_t = int64
  1431. type Tint_least8_t = int8
  1432. type Tint_least16_t = int16
  1433. type Tint_least32_t = int32
  1434. type Tint_least64_t = int64
  1435. type Tuint_fast8_t = uint8
  1436. type Tuint_fast64_t = uint64
  1437. type Tuint_least8_t = uint8
  1438. type Tuint_least16_t = uint16
  1439. type Tuint_least32_t = uint32
  1440. type Tuint_least64_t = uint64
  1441. type Tint_fast16_t = int32
  1442. type Tint_fast32_t = int32
  1443. type Tuint_fast16_t = uint32
  1444. type Tuint_fast32_t = uint32
  1445. type Twchar_t = int32
  1446. type Tsize_t = uint64
  1447. type Tdiv_t = struct {
  1448. Fquot int32
  1449. Frem int32
  1450. }
  1451. type Tldiv_t = struct {
  1452. Fquot int64
  1453. Frem int64
  1454. }
  1455. type Tlldiv_t = struct {
  1456. Fquot int64
  1457. Frem int64
  1458. }
  1459. type Tssize_t = int64
  1460. type Toff_t = int64
  1461. type Tva_list = uintptr
  1462. type t__isoc_va_list = uintptr
  1463. type Tfpos_t = struct {
  1464. F__lldata [0]int64
  1465. F__align [0]float64
  1466. F__opaque [16]uint8
  1467. }
  1468. type T_G_fpos64_t = Tfpos_t
  1469. type Tcookie_io_functions_t = struct {
  1470. Fread uintptr
  1471. Fwrite uintptr
  1472. Fseek uintptr
  1473. Fclose1 uintptr
  1474. }
  1475. type T_IO_cookie_io_functions_t = Tcookie_io_functions_t
  1476. type Tlocale_t = uintptr
  1477. type Tfloat_t = float32
  1478. type Tdouble_t = float64
  1479. type Tpid_t = int32
  1480. type Tuid_t = uint32
  1481. type Tgid_t = uint32
  1482. type Tuseconds_t = uint32
  1483. type Tmax_align_t = struct {
  1484. F__ll int64
  1485. F__ld float64
  1486. }
  1487. type Tptrdiff_t = int64
  1488. type Tregister_t = int64
  1489. type Ttime_t = int64
  1490. type Tsuseconds_t = int64
  1491. type Tu_int64_t = uint64
  1492. type Tmode_t = uint32
  1493. type Tnlink_t = uint64
  1494. type Tino_t = uint64
  1495. type Tdev_t = uint64
  1496. type Tblksize_t = int64
  1497. type Tblkcnt_t = int64
  1498. type Tfsblkcnt_t = uint64
  1499. type Tfsfilcnt_t = uint64
  1500. type Ttimer_t = uintptr
  1501. type Tclockid_t = int32
  1502. type Tclock_t = int64
  1503. type Tid_t = uint32
  1504. type Tkey_t = int32
  1505. type Tpthread_t = uintptr
  1506. type Tpthread_once_t = int32
  1507. type Tpthread_key_t = uint32
  1508. type Tpthread_spinlock_t = int32
  1509. type Tpthread_mutexattr_t = struct {
  1510. F__attr uint32
  1511. }
  1512. type Tpthread_condattr_t = struct {
  1513. F__attr uint32
  1514. }
  1515. type Tpthread_barrierattr_t = struct {
  1516. F__attr uint32
  1517. }
  1518. type Tpthread_rwlockattr_t = struct {
  1519. F__attr [2]uint32
  1520. }
  1521. type Tpthread_attr_t = struct {
  1522. F__u struct {
  1523. F__vi [0][14]int32
  1524. F__s [0][7]uint64
  1525. F__i [14]int32
  1526. }
  1527. }
  1528. type Tpthread_mutex_t = struct {
  1529. F__u struct {
  1530. F__vi [0][10]int32
  1531. F__p [0][5]uintptr
  1532. F__i [10]int32
  1533. }
  1534. }
  1535. type Tpthread_cond_t = struct {
  1536. F__u struct {
  1537. F__vi [0][12]int32
  1538. F__p [0][6]uintptr
  1539. F__i [12]int32
  1540. }
  1541. }
  1542. type Tpthread_rwlock_t = struct {
  1543. F__u struct {
  1544. F__vi [0][14]int32
  1545. F__p [0][7]uintptr
  1546. F__i [14]int32
  1547. }
  1548. }
  1549. type Tpthread_barrier_t = struct {
  1550. F__u struct {
  1551. F__vi [0][8]int32
  1552. F__p [0][4]uintptr
  1553. F__i [8]int32
  1554. }
  1555. }
  1556. type Tu_int8_t = uint8
  1557. type Tu_int16_t = uint16
  1558. type Tu_int32_t = uint32
  1559. type Tcaddr_t = uintptr
  1560. type Tu_char = uint8
  1561. type Tu_short = uint16
  1562. type Tushort = uint16
  1563. type Tu_int = uint32
  1564. type Tuint = uint32
  1565. type Tu_long = uint64
  1566. type Tulong = uint64
  1567. type Tquad_t = int64
  1568. type Tu_quad_t = uint64
  1569. type Ttimeval = struct {
  1570. Ftv_sec Ttime_t
  1571. Ftv_usec Tsuseconds_t
  1572. }
  1573. type Ttimespec = struct {
  1574. Ftv_sec Ttime_t
  1575. Ftv_nsec int64
  1576. }
  1577. type Tsigset_t = struct {
  1578. F__bits [16]uint64
  1579. }
  1580. type t__sigset_t = Tsigset_t
  1581. type Tfd_mask = uint64
  1582. type Tfd_set = struct {
  1583. Ffds_bits [16]uint64
  1584. }
  1585. type Tstat = struct {
  1586. Fst_dev Tdev_t
  1587. Fst_ino Tino_t
  1588. Fst_nlink Tnlink_t
  1589. Fst_mode Tmode_t
  1590. Fst_uid Tuid_t
  1591. Fst_gid Tgid_t
  1592. Fst_rdev Tdev_t
  1593. Fst_size Toff_t
  1594. Fst_atim Ttimespec
  1595. Fst_mtim Ttimespec
  1596. Fst_ctim Ttimespec
  1597. Fst_blksize Tblksize_t
  1598. Fst_blocks Tblkcnt_t
  1599. F__unused [3]uint64
  1600. }
  1601. type Tstatx_timestamp = struct {
  1602. Ftv_sec Tint64_t
  1603. Ftv_nsec Tuint32_t
  1604. F__pad Tuint32_t
  1605. }
  1606. type Tstatx = struct {
  1607. Fstx_mask Tuint32_t
  1608. Fstx_blksize Tuint32_t
  1609. Fstx_attributes Tuint64_t
  1610. Fstx_nlink Tuint32_t
  1611. Fstx_uid Tuint32_t
  1612. Fstx_gid Tuint32_t
  1613. Fstx_mode Tuint16_t
  1614. F__pad0 [1]Tuint16_t
  1615. Fstx_ino Tuint64_t
  1616. Fstx_size Tuint64_t
  1617. Fstx_blocks Tuint64_t
  1618. Fstx_attributes_mask Tuint64_t
  1619. Fstx_atime Tstatx_timestamp
  1620. Fstx_btime Tstatx_timestamp
  1621. Fstx_ctime Tstatx_timestamp
  1622. Fstx_mtime Tstatx_timestamp
  1623. Fstx_rdev_major Tuint32_t
  1624. Fstx_rdev_minor Tuint32_t
  1625. Fstx_dev_major Tuint32_t
  1626. Fstx_dev_minor Tuint32_t
  1627. F__pad1 [14]Tuint64_t
  1628. }
  1629. type Ttm = struct {
  1630. Ftm_sec int32
  1631. Ftm_min int32
  1632. Ftm_hour int32
  1633. Ftm_mday int32
  1634. Ftm_mon int32
  1635. Ftm_year int32
  1636. Ftm_wday int32
  1637. Ftm_yday int32
  1638. Ftm_isdst int32
  1639. Ftm_gmtoff int64
  1640. Ftm_zone uintptr
  1641. }
  1642. type Titimerspec = struct {
  1643. Fit_interval Ttimespec
  1644. Fit_value Ttimespec
  1645. }
  1646. type TFcChar8 = uint8
  1647. type TFcChar16 = uint16
  1648. type TFcChar32 = uint32
  1649. type TFcBool = int32
  1650. type TFcType = int32
  1651. type __FcType = int32
  1652. const _FcTypeUnknown = -1
  1653. const _FcTypeVoid = 0
  1654. const _FcTypeInteger = 1
  1655. const _FcTypeDouble = 2
  1656. const _FcTypeString = 3
  1657. const _FcTypeBool = 4
  1658. const _FcTypeMatrix = 5
  1659. const _FcTypeCharSet = 6
  1660. const _FcTypeFTFace = 7
  1661. const _FcTypeLangSet = 8
  1662. const _FcTypeRange = 9
  1663. type TFcMatrix = struct {
  1664. Fxx float64
  1665. Fxy float64
  1666. Fyx float64
  1667. Fyy float64
  1668. }
  1669. type T_FcMatrix = TFcMatrix
  1670. type TFcCharSet = struct {
  1671. Fref TFcRef
  1672. Fnum int32
  1673. Fleaves_offset Tintptr_t
  1674. Fnumbers_offset Tintptr_t
  1675. }
  1676. type T_FcCharSet = TFcCharSet
  1677. type TFcObjectType = struct {
  1678. Fobject uintptr
  1679. Ftype1 TFcType
  1680. }
  1681. type T_FcObjectType = TFcObjectType
  1682. type TFcConstant = struct {
  1683. Fname uintptr
  1684. Fobject uintptr
  1685. Fvalue int32
  1686. }
  1687. type T_FcConstant = TFcConstant
  1688. type TFcResult = int32
  1689. type __FcResult = int32
  1690. const _FcResultMatch = 0
  1691. const _FcResultNoMatch = 1
  1692. const _FcResultTypeMismatch = 2
  1693. const _FcResultNoId = 3
  1694. const _FcResultOutOfMemory = 4
  1695. type TFcValueBinding = int32
  1696. type __FcValueBinding = int32
  1697. const _FcValueBindingWeak = 0
  1698. const _FcValueBindingStrong = 1
  1699. const _FcValueBindingSame = 2
  1700. const _FcValueBindingEnd = 2147483647
  1701. type TFcPattern = struct {
  1702. Fnum int32
  1703. Fsize int32
  1704. Felts_offset Tintptr_t
  1705. Fref TFcRef
  1706. }
  1707. type T_FcPattern = TFcPattern
  1708. type TFcPatternIter = struct {
  1709. Fdummy1 uintptr
  1710. Fdummy2 uintptr
  1711. }
  1712. type T_FcPatternIter = TFcPatternIter
  1713. type TFcRange = struct {
  1714. Fbegin float64
  1715. Fend float64
  1716. }
  1717. type T_FcRange = TFcRange
  1718. type TFcValue = struct {
  1719. Ftype1 TFcType
  1720. Fu struct {
  1721. Fi [0]int32
  1722. Fb [0]TFcBool
  1723. Fd [0]float64
  1724. Fm [0]uintptr
  1725. Fc [0]uintptr
  1726. Ff [0]uintptr
  1727. Fl [0]uintptr
  1728. Fr [0]uintptr
  1729. Fs uintptr
  1730. }
  1731. }
  1732. type T_FcValue = TFcValue
  1733. type TFcFontSet = struct {
  1734. Fnfont int32
  1735. Fsfont int32
  1736. Ffonts uintptr
  1737. }
  1738. type T_FcFontSet = TFcFontSet
  1739. type TFcObjectSet = struct {
  1740. Fnobject int32
  1741. Fsobject int32
  1742. Fobjects uintptr
  1743. }
  1744. type T_FcObjectSet = TFcObjectSet
  1745. type TFcMatchKind = int32
  1746. type __FcMatchKind = int32
  1747. const _FcMatchPattern = 0
  1748. const _FcMatchFont = 1
  1749. const _FcMatchScan = 2
  1750. const _FcMatchKindEnd = 3
  1751. const _FcMatchKindBegin = 0
  1752. type TFcLangResult = int32
  1753. type __FcLangResult = int32
  1754. const _FcLangEqual = 0
  1755. const _FcLangDifferentCountry = 1
  1756. const _FcLangDifferentTerritory = 1
  1757. const _FcLangDifferentLang = 2
  1758. type TFcSetName = int32
  1759. type __FcSetName = int32
  1760. const _FcSetSystem = 0
  1761. const _FcSetApplication = 1
  1762. type TFcConfigFileInfoIter = struct {
  1763. Fdummy1 uintptr
  1764. Fdummy2 uintptr
  1765. Fdummy3 uintptr
  1766. }
  1767. type T_FcConfigFileInfoIter = TFcConfigFileInfoIter
  1768. type TFcAtomic = struct {
  1769. Ffile uintptr
  1770. Fnew1 uintptr
  1771. Flck uintptr
  1772. Ftmp uintptr
  1773. }
  1774. type T_FcAtomic = TFcAtomic
  1775. type TFcEndian = int32
  1776. const _FcEndianBig = 0
  1777. const _FcEndianLittle = 1
  1778. type TFcConfig = struct {
  1779. FconfigDirs uintptr
  1780. FfontDirs uintptr
  1781. FcacheDirs uintptr
  1782. FconfigFiles uintptr
  1783. Fsubst [3]uintptr
  1784. FmaxObjects int32
  1785. FacceptGlobs uintptr
  1786. FrejectGlobs uintptr
  1787. FacceptPatterns uintptr
  1788. FrejectPatterns uintptr
  1789. Ffonts [2]uintptr
  1790. FrescanTime Ttime_t
  1791. FrescanInterval int32
  1792. Fref TFcRef
  1793. Fexpr_pool uintptr
  1794. FsysRoot uintptr
  1795. FavailConfigFiles uintptr
  1796. FrulesetList uintptr
  1797. Fuuid_table uintptr
  1798. }
  1799. type T_FcConfig = TFcConfig
  1800. type TFcStrList = struct {
  1801. Fset uintptr
  1802. Fn int32
  1803. }
  1804. type T_FcStrList = TFcStrList
  1805. type TFcStrSet = struct {
  1806. Fref TFcRef
  1807. Fnum int32
  1808. Fsize int32
  1809. Fstrs uintptr
  1810. Fcontrol uint32
  1811. }
  1812. type T_FcStrSet = TFcStrSet
  1813. type TFcCache = struct {
  1814. Fmagic uint32
  1815. Fversion int32
  1816. Fsize Tintptr_t
  1817. Fdir Tintptr_t
  1818. Fdirs Tintptr_t
  1819. Fdirs_count int32
  1820. Fset Tintptr_t
  1821. Fchecksum int32
  1822. Fchecksum_nano Tint64_t
  1823. }
  1824. type T_FcCache = TFcCache
  1825. type Tfc_mutex_impl_t = int32
  1826. type TFcMutex = int32
  1827. type Tfc_atomic_int_t = int32
  1828. type TFcRef = struct {
  1829. Fcount Tfc_atomic_int_t
  1830. }
  1831. type T_FcRef = TFcRef
  1832. type T_static_assert_on_line_127_failed = [1]int32
  1833. type TFcValueListPtr = uintptr
  1834. type T_FcValueList = struct {
  1835. Fnext uintptr
  1836. Fvalue TFcValue
  1837. Fbinding TFcValueBinding
  1838. }
  1839. type TFcValueList = struct {
  1840. Fnext uintptr
  1841. Fvalue TFcValue
  1842. Fbinding TFcValueBinding
  1843. }
  1844. type TFcObject = int32
  1845. type TFcPatternEltPtr = uintptr
  1846. type T_FcPatternElt = struct {
  1847. Fobject TFcObject
  1848. Fvalues uintptr
  1849. }
  1850. type TFcPatternElt = struct {
  1851. Fobject TFcObject
  1852. Fvalues uintptr
  1853. }
  1854. type TFcOp = int32
  1855. type __FcOp = int32
  1856. const _FcOpInteger = 0
  1857. const _FcOpDouble = 1
  1858. const _FcOpString = 2
  1859. const _FcOpMatrix = 3
  1860. const _FcOpRange = 4
  1861. const _FcOpBool = 5
  1862. const _FcOpCharSet = 6
  1863. const _FcOpLangSet = 7
  1864. const _FcOpNil = 8
  1865. const _FcOpField = 9
  1866. const _FcOpConst = 10
  1867. const _FcOpAssign = 11
  1868. const _FcOpAssignReplace = 12
  1869. const _FcOpPrependFirst = 13
  1870. const _FcOpPrepend = 14
  1871. const _FcOpAppend = 15
  1872. const _FcOpAppendLast = 16
  1873. const _FcOpDelete = 17
  1874. const _FcOpDeleteAll = 18
  1875. const _FcOpQuest = 19
  1876. const _FcOpOr = 20
  1877. const _FcOpAnd = 21
  1878. const _FcOpEqual = 22
  1879. const _FcOpNotEqual = 23
  1880. const _FcOpContains = 24
  1881. const _FcOpListing = 25
  1882. const _FcOpNotContains = 26
  1883. const _FcOpLess = 27
  1884. const _FcOpLessEqual = 28
  1885. const _FcOpMore = 29
  1886. const _FcOpMoreEqual = 30
  1887. const _FcOpPlus = 31
  1888. const _FcOpMinus = 32
  1889. const _FcOpTimes = 33
  1890. const _FcOpDivide = 34
  1891. const _FcOpNot = 35
  1892. const _FcOpComma = 36
  1893. const _FcOpFloor = 37
  1894. const _FcOpCeil = 38
  1895. const _FcOpRound = 39
  1896. const _FcOpTrunc = 40
  1897. const _FcOpInvalid = 41
  1898. type TFcOpFlags = int32
  1899. type __FcOpFlags = int32
  1900. const _FcOpFlagIgnoreBlanks = 1
  1901. type TFcExprMatrix = struct {
  1902. Fxx uintptr
  1903. Fxy uintptr
  1904. Fyx uintptr
  1905. Fyy uintptr
  1906. }
  1907. type T_FcExprMatrix = TFcExprMatrix
  1908. type TFcExprName = struct {
  1909. Fobject TFcObject
  1910. Fkind TFcMatchKind
  1911. }
  1912. type T_FcExprName = TFcExprName
  1913. type TFcExpr = struct {
  1914. Fop TFcOp
  1915. Fu struct {
  1916. Fdval [0]float64
  1917. Fsval [0]uintptr
  1918. Fmexpr [0]uintptr
  1919. Fbval [0]TFcBool
  1920. Fcval [0]uintptr
  1921. Flval [0]uintptr
  1922. Frval [0]uintptr
  1923. Fname [0]TFcExprName
  1924. Fconstant [0]uintptr
  1925. Ftree [0]struct {
  1926. Fleft uintptr
  1927. Fright uintptr
  1928. }
  1929. Fival int32
  1930. F__ccgo_pad11 [12]byte
  1931. }
  1932. }
  1933. type T_FcExpr = TFcExpr
  1934. type TFcExprPage = struct {
  1935. Fnext_page uintptr
  1936. Fnext uintptr
  1937. Fexprs [340]TFcExpr
  1938. }
  1939. type T_FcExprPage = TFcExprPage
  1940. type TFcQual = int32
  1941. type __FcQual = int32
  1942. const _FcQualAny = 0
  1943. const _FcQualAll = 1
  1944. const _FcQualFirst = 2
  1945. const _FcQualNotFirst = 3
  1946. type TFcTest = struct {
  1947. Fkind TFcMatchKind
  1948. Fqual TFcQual
  1949. Fobject TFcObject
  1950. Fop TFcOp
  1951. Fexpr uintptr
  1952. }
  1953. type T_FcTest = TFcTest
  1954. type TFcEdit = struct {
  1955. Fobject TFcObject
  1956. Fop TFcOp
  1957. Fexpr uintptr
  1958. Fbinding TFcValueBinding
  1959. }
  1960. type T_FcEdit = TFcEdit
  1961. type TFcDestroyFunc = uintptr
  1962. type TFcPtrListIter = struct {
  1963. Fdummy1 uintptr
  1964. Fdummy2 uintptr
  1965. Fdummy3 uintptr
  1966. }
  1967. type T_FcPtrListIter = TFcPtrListIter
  1968. type TFcRuleType = int32
  1969. type __FcRuleType = int32
  1970. const _FcRuleUnknown = 0
  1971. const _FcRuleTest = 1
  1972. const _FcRuleEdit = 2
  1973. type TFcRule = struct {
  1974. Fnext uintptr
  1975. Ftype1 TFcRuleType
  1976. Fu struct {
  1977. Fedit [0]uintptr
  1978. Ftest uintptr
  1979. }
  1980. }
  1981. type T_FcRule = TFcRule
  1982. type TFcRuleSet = struct {
  1983. Fref TFcRef
  1984. Fname uintptr
  1985. Fdescription uintptr
  1986. Fdomain uintptr
  1987. Fenabled TFcBool
  1988. Fsubst [3]uintptr
  1989. }
  1990. type T_FcRuleSet = TFcRuleSet
  1991. type TFcCharLeaf = struct {
  1992. Fmap1 [8]TFcChar32
  1993. }
  1994. type T_FcCharLeaf = TFcCharLeaf
  1995. type TFcStrBuf = struct {
  1996. Fbuf uintptr
  1997. Fallocated TFcBool
  1998. Ffailed TFcBool
  1999. Flen1 int32
  2000. Fsize int32
  2001. Fbuf_static [128]TFcChar8
  2002. }
  2003. type T_FcStrBuf = TFcStrBuf
  2004. type TFcHashFunc = uintptr
  2005. type TFcCompareFunc = uintptr
  2006. type TFcCopyFunc = uintptr
  2007. type TFcAlign = struct {
  2008. Fi [0]int32
  2009. Fip [0]Tintptr_t
  2010. Fb [0]TFcBool
  2011. Fp [0]uintptr
  2012. Fd float64
  2013. }
  2014. type T_FcAlign = TFcAlign
  2015. type TFcSerializeBucket = struct {
  2016. Fnext uintptr
  2017. Fobject uintptr
  2018. Foffset Tintptr_t
  2019. }
  2020. type T_FcSerializeBucket = TFcSerializeBucket
  2021. type TFcSerialize = struct {
  2022. Fsize Tintptr_t
  2023. Fcs_freezer uintptr
  2024. Flinear uintptr
  2025. Fbuckets [8191]uintptr
  2026. }
  2027. type T_FcSerialize = TFcSerialize
  2028. type TFcGlyphName = struct {
  2029. Fucs TFcChar32
  2030. Fname [1]TFcChar8
  2031. }
  2032. type T_FcGlyphName = TFcGlyphName
  2033. type TFcCaseFold = struct {
  2034. Fupper TFcChar32
  2035. F__ccgo4 uint16
  2036. Foffset int16
  2037. }
  2038. type T_FcCaseFold = TFcCaseFold
  2039. type TFcFileTime = struct {
  2040. Ftime Ttime_t
  2041. Fset TFcBool
  2042. }
  2043. type T_FcFileTime = TFcFileTime
  2044. type TFcStatFS = struct {
  2045. Fis_remote_fs TFcBool
  2046. Fis_mtime_broken TFcBool
  2047. }
  2048. type T_FcStatFS = TFcStatFS
  2049. type TFcValuePromotionBuffer = struct {
  2050. Fu struct {
  2051. Fi [0]int32
  2052. Fl [0]int64
  2053. Fc [0][256]uint8
  2054. Fd float64
  2055. F__ccgo_pad4 [248]byte
  2056. }
  2057. }
  2058. type T_FcValuePromotionBuffer = TFcValuePromotionBuffer
  2059. const _FC_INVALID_OBJECT = 0
  2060. const _FC_FAMILY_OBJECT = 1
  2061. const _FC_FAMILYLANG_OBJECT = 2
  2062. const _FC_STYLE_OBJECT = 3
  2063. const _FC_STYLELANG_OBJECT = 4
  2064. const _FC_FULLNAME_OBJECT = 5
  2065. const _FC_FULLNAMELANG_OBJECT = 6
  2066. const _FC_SLANT_OBJECT = 7
  2067. const _FC_WEIGHT_OBJECT = 8
  2068. const _FC_WIDTH_OBJECT = 9
  2069. const _FC_SIZE_OBJECT = 10
  2070. const _FC_ASPECT_OBJECT = 11
  2071. const _FC_PIXEL_SIZE_OBJECT = 12
  2072. const _FC_SPACING_OBJECT = 13
  2073. const _FC_FOUNDRY_OBJECT = 14
  2074. const _FC_ANTIALIAS_OBJECT = 15
  2075. const _FC_HINT_STYLE_OBJECT = 16
  2076. const _FC_HINTING_OBJECT = 17
  2077. const _FC_VERTICAL_LAYOUT_OBJECT = 18
  2078. const _FC_AUTOHINT_OBJECT = 19
  2079. const _FC_GLOBAL_ADVANCE_OBJECT = 20
  2080. const _FC_FILE_OBJECT = 21
  2081. const _FC_INDEX_OBJECT = 22
  2082. const _FC_RASTERIZER_OBJECT = 23
  2083. const _FC_OUTLINE_OBJECT = 24
  2084. const _FC_SCALABLE_OBJECT = 25
  2085. const _FC_DPI_OBJECT = 26
  2086. const _FC_RGBA_OBJECT = 27
  2087. const _FC_SCALE_OBJECT = 28
  2088. const _FC_MINSPACE_OBJECT = 29
  2089. const _FC_CHARWIDTH_OBJECT = 30
  2090. const _FC_CHAR_HEIGHT_OBJECT = 31
  2091. const _FC_MATRIX_OBJECT = 32
  2092. const _FC_CHARSET_OBJECT = 33
  2093. const _FC_LANG_OBJECT = 34
  2094. const _FC_FONTVERSION_OBJECT = 35
  2095. const _FC_CAPABILITY_OBJECT = 36
  2096. const _FC_FONTFORMAT_OBJECT = 37
  2097. const _FC_EMBOLDEN_OBJECT = 38
  2098. const _FC_EMBEDDED_BITMAP_OBJECT = 39
  2099. const _FC_DECORATIVE_OBJECT = 40
  2100. const _FC_LCD_FILTER_OBJECT = 41
  2101. const _FC_NAMELANG_OBJECT = 42
  2102. const _FC_FONT_FEATURES_OBJECT = 43
  2103. const _FC_PRGNAME_OBJECT = 44
  2104. const _FC_HASH_OBJECT = 45
  2105. const _FC_POSTSCRIPT_NAME_OBJECT = 46
  2106. const _FC_COLOR_OBJECT = 47
  2107. const _FC_SYMBOL_OBJECT = 48
  2108. const _FC_FONT_VARIATIONS_OBJECT = 49
  2109. const _FC_VARIABLE_OBJECT = 50
  2110. const _FC_ONE_AFTER_MAX_BASE_OBJECT = 51
  2111. func XIA__FcAtomicCreate(tls *libc.TLS, file uintptr) (r uintptr) {
  2112. var atomic uintptr
  2113. var file_len, lck_len, new_len, tmp_len, total_len int32
  2114. _, _, _, _, _, _ = atomic, file_len, lck_len, new_len, tmp_len, total_len
  2115. file_len = libc.Int32FromUint64(libc.Xstrlen(tls, file))
  2116. new_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  2117. lck_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  2118. tmp_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(12))
  2119. total_len = libc.Int32FromUint64(libc.Uint64FromInt64(32) + libc.Uint64FromInt32(file_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(new_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(lck_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(tmp_len) + libc.Uint64FromInt32(1))
  2120. atomic = libc.Xmalloc(tls, libc.Uint64FromInt32(total_len))
  2121. if !(atomic != 0) {
  2122. return uintptr(0)
  2123. }
  2124. (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile = atomic + libc.UintptrFromInt32(1)*32
  2125. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, file)
  2126. (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 = (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile + uintptr(file_len) + uintptr(1)
  2127. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, file)
  2128. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, __ccgo_ts)
  2129. (*TFcAtomic)(unsafe.Pointer(atomic)).Flck = (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 + uintptr(new_len) + uintptr(1)
  2130. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, file)
  2131. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, __ccgo_ts+5)
  2132. (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp = (*TFcAtomic)(unsafe.Pointer(atomic)).Flck + uintptr(lck_len) + uintptr(1)
  2133. return atomic
  2134. }
  2135. var XFcAtomicCreate = XIA__FcAtomicCreate
  2136. func XIA__FcAtomicLock(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2137. bp := tls.Alloc(160)
  2138. defer tls.Free(160)
  2139. var f uintptr
  2140. var fd, ret int32
  2141. var no_link TFcBool
  2142. var now Ttime_t
  2143. var _ /* lck_stat at bp+0 */ Tstat
  2144. _, _, _, _, _ = f, fd, no_link, now, ret
  2145. fd = -int32(1)
  2146. f = uintptr(0)
  2147. no_link = m_FcFalse
  2148. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile)
  2149. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, __ccgo_ts+10)
  2150. fd = XFcMakeTempfile(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2151. if fd < 0 {
  2152. return m_FcFalse
  2153. }
  2154. f = libc.Xfdopen(tls, fd, __ccgo_ts+22)
  2155. if !(f != 0) {
  2156. libc.Xclose(tls, fd)
  2157. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2158. return m_FcFalse
  2159. }
  2160. ret = libc.Xfprintf(tls, f, __ccgo_ts+24, libc.VaList(bp+152, int64(libc.Xgetpid(tls))))
  2161. if ret <= 0 {
  2162. libc.Xfclose(tls, f)
  2163. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2164. return m_FcFalse
  2165. }
  2166. if libc.Xfclose(tls, f) == -int32(1) {
  2167. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2168. return m_FcFalse
  2169. }
  2170. ret = libc.Xlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2171. if ret < 0 && (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EPERM) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EOPNOTSUPP) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EACCES)) {
  2172. /* the filesystem where atomic->lck points to may not supports
  2173. * the hard link. so better try to fallback
  2174. */
  2175. ret = libc.Xmkdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, uint32(0600))
  2176. no_link = int32(m_FcTrue)
  2177. }
  2178. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2179. if ret < 0 {
  2180. /*
  2181. * If the file is around and old (> 10 minutes),
  2182. * assume the lock is stale. This assumes that any
  2183. * machines sharing the same filesystem will have clocks
  2184. * reasonably close to each other.
  2185. */
  2186. if XFcStat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, bp) >= 0 {
  2187. now = libc.Xtime(tls, uintptr(0))
  2188. if now-(*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec > int64(libc.Int32FromInt32(10)*libc.Int32FromInt32(60)) {
  2189. if no_link != 0 {
  2190. if libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2191. return XIA__FcAtomicLock(tls, atomic)
  2192. }
  2193. } else {
  2194. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2195. return XIA__FcAtomicLock(tls, atomic)
  2196. }
  2197. }
  2198. }
  2199. }
  2200. return m_FcFalse
  2201. }
  2202. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2203. return int32(m_FcTrue)
  2204. }
  2205. var XFcAtomicLock = XIA__FcAtomicLock
  2206. func XIA__FcAtomicNewFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2207. return (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1
  2208. }
  2209. var XFcAtomicNewFile = XIA__FcAtomicNewFile
  2210. func XIA__FcAtomicOrigFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2211. return (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile
  2212. }
  2213. var XFcAtomicOrigFile = XIA__FcAtomicOrigFile
  2214. func XIA__FcAtomicReplaceOrig(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2215. if libc.Xrename(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile) < 0 {
  2216. return m_FcFalse
  2217. }
  2218. return int32(m_FcTrue)
  2219. }
  2220. var XFcAtomicReplaceOrig = XIA__FcAtomicReplaceOrig
  2221. func XIA__FcAtomicDeleteNew(tls *libc.TLS, atomic uintptr) {
  2222. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2223. }
  2224. var XFcAtomicDeleteNew = XIA__FcAtomicDeleteNew
  2225. func XIA__FcAtomicUnlock(tls *libc.TLS, atomic uintptr) {
  2226. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == -int32(1) {
  2227. libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2228. }
  2229. }
  2230. var XFcAtomicUnlock = XIA__FcAtomicUnlock
  2231. func XIA__FcAtomicDestroy(tls *libc.TLS, atomic uintptr) {
  2232. libc.Xfree(tls, atomic)
  2233. }
  2234. var XFcAtomicDestroy = XIA__FcAtomicDestroy
  2235. const m_AT_EACCESS = 0x200
  2236. const m_AT_EMPTY_PATH = 0x1000
  2237. const m_AT_NO_AUTOMOUNT = 0x800
  2238. const m_AT_RECURSIVE = 0x8000
  2239. const m_AT_REMOVEDIR = 0x200
  2240. const m_AT_STATX_DONT_SYNC = 0x4000
  2241. const m_AT_STATX_FORCE_SYNC = 0x2000
  2242. const m_AT_STATX_SYNC_AS_STAT = 0x0000
  2243. const m_AT_STATX_SYNC_TYPE = 0x6000
  2244. const m_AT_SYMLINK_FOLLOW = 0x400
  2245. const m_AT_SYMLINK_NOFOLLOW = 0x100
  2246. const m_DN_ACCESS = 0x00000001
  2247. const m_DN_ATTRIB = 0x00000020
  2248. const m_DN_CREATE = 0x00000004
  2249. const m_DN_DELETE = 0x00000008
  2250. const m_DN_MODIFY = 0x00000002
  2251. const m_DN_MULTISHOT = 0x80000000
  2252. const m_DN_RENAME = 0x00000010
  2253. const m_DT_BLK = 6
  2254. const m_DT_CHR = 2
  2255. const m_DT_DIR = 4
  2256. const m_DT_FIFO = 1
  2257. const m_DT_LNK = 10
  2258. const m_DT_REG = 8
  2259. const m_DT_SOCK = 12
  2260. const m_DT_UNKNOWN = 0
  2261. const m_DT_WHT = 14
  2262. const m_FALLOC_FL_KEEP_SIZE = 1
  2263. const m_FALLOC_FL_PUNCH_HOLE = 2
  2264. const m_FAPPEND = "O_APPEND"
  2265. const m_FASYNC = "O_ASYNC"
  2266. const m_FC_ARCH_ENDIAN = "be64"
  2267. const m_FC_ARCH_SIZE_ALIGN = "64"
  2268. const m_FC_CACHE_MAGIC_ALLOC1 = 4228054021
  2269. const m_FC_CACHE_MAGIC_MMAP1 = 4228054020
  2270. const m_FC_CACHE_MAX_LEVEL = 16
  2271. const m_FC_CACHE_MIN_MMAP = 1024
  2272. const m_FD_CLOEXEC = 1
  2273. const m_FFSYNC = "O_SYNC"
  2274. const m_FNDELAY = "O_NDELAY"
  2275. const m_FNONBLOCK = "O_NONBLOCK"
  2276. const m_F_ADD_SEALS = 1033
  2277. const m_F_CANCELLK = 1029
  2278. const m_F_DUPFD = 0
  2279. const m_F_DUPFD_CLOEXEC = 1030
  2280. const m_F_GETFD = 1
  2281. const m_F_GETFL = 3
  2282. const m_F_GETLEASE = 1025
  2283. const m_F_GETLK = 5
  2284. const m_F_GETOWN = 9
  2285. const m_F_GETOWNER_UIDS = 17
  2286. const m_F_GETOWN_EX = 16
  2287. const m_F_GETPIPE_SZ = 1032
  2288. const m_F_GETSIG = 11
  2289. const m_F_GET_FILE_RW_HINT = 1037
  2290. const m_F_GET_RW_HINT = 1035
  2291. const m_F_GET_SEALS = 1034
  2292. const m_F_NOTIFY = 1026
  2293. const m_F_OFD_GETLK = 36
  2294. const m_F_OFD_SETLK = 37
  2295. const m_F_OFD_SETLKW = 38
  2296. const m_F_OWNER_GID = 2
  2297. const m_F_OWNER_PGRP = 2
  2298. const m_F_OWNER_PID = 1
  2299. const m_F_OWNER_TID = 0
  2300. const m_F_RDLCK = 0
  2301. const m_F_SEAL_FUTURE_WRITE = 0x0010
  2302. const m_F_SEAL_GROW = 0x0004
  2303. const m_F_SEAL_SEAL = 0x0001
  2304. const m_F_SEAL_SHRINK = 0x0002
  2305. const m_F_SEAL_WRITE = 0x0008
  2306. const m_F_SETFD = 2
  2307. const m_F_SETFL = 4
  2308. const m_F_SETLEASE = 1024
  2309. const m_F_SETLK = 6
  2310. const m_F_SETLKW = 7
  2311. const m_F_SETOWN = 8
  2312. const m_F_SETOWN_EX = 15
  2313. const m_F_SETPIPE_SZ = 1031
  2314. const m_F_SETSIG = 10
  2315. const m_F_SET_FILE_RW_HINT = 1038
  2316. const m_F_SET_RW_HINT = 1036
  2317. const m_F_UNLCK = 2
  2318. const m_F_WRLCK = 1
  2319. const m_FcAtomicCreate = "IA__FcAtomicCreate"
  2320. const m_FcAtomicDeleteNew = "IA__FcAtomicDeleteNew"
  2321. const m_FcAtomicDestroy = "IA__FcAtomicDestroy"
  2322. const m_FcAtomicLock = "IA__FcAtomicLock"
  2323. const m_FcAtomicNewFile = "IA__FcAtomicNewFile"
  2324. const m_FcAtomicOrigFile = "IA__FcAtomicOrigFile"
  2325. const m_FcAtomicReplaceOrig = "IA__FcAtomicReplaceOrig"
  2326. const m_FcAtomicUnlock = "IA__FcAtomicUnlock"
  2327. const m_INT64_MAX1 = 9223372036854775807
  2328. const m_ITIMER_PROF = 2
  2329. const m_ITIMER_REAL = 0
  2330. const m_ITIMER_VIRTUAL = 1
  2331. const m_LLONG_MAX1 = 9223372036854775807
  2332. const m_MADV_COLD = 20
  2333. const m_MADV_DODUMP = 17
  2334. const m_MADV_DOFORK = 11
  2335. const m_MADV_DONTDUMP = 16
  2336. const m_MADV_DONTFORK = 10
  2337. const m_MADV_DONTNEED = 4
  2338. const m_MADV_FREE = 8
  2339. const m_MADV_HUGEPAGE = 14
  2340. const m_MADV_HWPOISON = 100
  2341. const m_MADV_KEEPONFORK = 19
  2342. const m_MADV_MERGEABLE = 12
  2343. const m_MADV_NOHUGEPAGE = 15
  2344. const m_MADV_NORMAL = 0
  2345. const m_MADV_PAGEOUT = 21
  2346. const m_MADV_RANDOM = 1
  2347. const m_MADV_REMOVE = 9
  2348. const m_MADV_SEQUENTIAL = 2
  2349. const m_MADV_SOFT_OFFLINE = 101
  2350. const m_MADV_UNMERGEABLE = 13
  2351. const m_MADV_WILLNEED = 3
  2352. const m_MADV_WIPEONFORK = 18
  2353. const m_MAP_ANON = 0x20
  2354. const m_MAP_ANONYMOUS = "MAP_ANON"
  2355. const m_MAP_DENYWRITE = 0x0800
  2356. const m_MAP_EXECUTABLE = 0x1000
  2357. const m_MAP_FILE = 0
  2358. const m_MAP_FIXED = 0x10
  2359. const m_MAP_FIXED_NOREPLACE = 0x100000
  2360. const m_MAP_GROWSDOWN = 0x0100
  2361. const m_MAP_HUGETLB = 0x40000
  2362. const m_MAP_HUGE_MASK = 0x3f
  2363. const m_MAP_HUGE_SHIFT = 26
  2364. const m_MAP_LOCKED = 0x2000
  2365. const m_MAP_NONBLOCK = 0x10000
  2366. const m_MAP_NORESERVE = 0x4000
  2367. const m_MAP_POPULATE = 0x8000
  2368. const m_MAP_PRIVATE = 0x02
  2369. const m_MAP_SHARED = 1
  2370. const m_MAP_SHARED_VALIDATE = 0x03
  2371. const m_MAP_STACK = 0x20000
  2372. const m_MAP_SYNC = 0x80000
  2373. const m_MAP_TYPE = 0x0f
  2374. const m_MAX_HANDLE_SZ = 128
  2375. const m_MCL_CURRENT = 1
  2376. const m_MCL_FUTURE = 2
  2377. const m_MCL_ONFAULT = 4
  2378. const m_MFD_ALLOW_SEALING = 0x0002
  2379. const m_MFD_CLOEXEC = 0x0001
  2380. const m_MFD_HUGETLB = 0x0004
  2381. const m_MLOCK_ONFAULT = 0x01
  2382. const m_MREMAP_DONTUNMAP = 4
  2383. const m_MREMAP_FIXED = 2
  2384. const m_MREMAP_MAYMOVE = 1
  2385. const m_MS_ASYNC = 1
  2386. const m_MS_INVALIDATE = 2
  2387. const m_MS_SYNC = 4
  2388. const m_O_APPEND = 02000
  2389. const m_O_ASYNC = 020000
  2390. const m_O_BINARY = 0
  2391. const m_O_CLOEXEC = 02000000
  2392. const m_O_CREAT = 64
  2393. const m_O_DIRECT = 040000
  2394. const m_O_DIRECTORY = 0200000
  2395. const m_O_DSYNC = 010000
  2396. const m_O_EXCL = 0200
  2397. const m_O_EXEC = "O_PATH"
  2398. const m_O_LARGEFILE = 0100000
  2399. const m_O_NDELAY = "O_NONBLOCK"
  2400. const m_O_NOATIME = 01000000
  2401. const m_O_NOCTTY = 0400
  2402. const m_O_NOFOLLOW = 0400000
  2403. const m_O_NONBLOCK = 04000
  2404. const m_O_PATH = 010000000
  2405. const m_O_RDONLY = 0
  2406. const m_O_RDWR = 2
  2407. const m_O_RSYNC = 04010000
  2408. const m_O_SEARCH = "O_PATH"
  2409. const m_O_SYNC = 04010000
  2410. const m_O_TMPFILE = 020200000
  2411. const m_O_TRUNC = 01000
  2412. const m_O_TTY_INIT = 0
  2413. const m_O_WRONLY = 01
  2414. const m_POSIX_FADV_DONTNEED = 6
  2415. const m_POSIX_FADV_NOREUSE = 7
  2416. const m_POSIX_FADV_NORMAL = 0
  2417. const m_POSIX_FADV_RANDOM = 1
  2418. const m_POSIX_FADV_SEQUENTIAL = 2
  2419. const m_POSIX_FADV_WILLNEED = 3
  2420. const m_POSIX_MADV_DONTNEED = 4
  2421. const m_POSIX_MADV_NORMAL = 0
  2422. const m_POSIX_MADV_RANDOM = 1
  2423. const m_POSIX_MADV_SEQUENTIAL = 2
  2424. const m_POSIX_MADV_WILLNEED = 3
  2425. const m_PROT_EXEC = 4
  2426. const m_PROT_GROWSDOWN = 0x01000000
  2427. const m_PROT_GROWSUP = 0x02000000
  2428. const m_PROT_NONE = 0
  2429. const m_PROT_READ = 1
  2430. const m_PROT_WRITE = 2
  2431. const m_RWF_WRITE_LIFE_NOT_SET = 0
  2432. const m_RWH_WRITE_LIFE_EXTREME = 5
  2433. const m_RWH_WRITE_LIFE_LONG = 4
  2434. const m_RWH_WRITE_LIFE_MEDIUM = 3
  2435. const m_RWH_WRITE_LIFE_NONE = 1
  2436. const m_RWH_WRITE_LIFE_SHORT = 2
  2437. const m_SPLICE_F_GIFT = 8
  2438. const m_SPLICE_F_MORE = 4
  2439. const m_SPLICE_F_MOVE = 1
  2440. const m_SPLICE_F_NONBLOCK = 2
  2441. const m_SYNC_FILE_RANGE_WAIT_AFTER = 4
  2442. const m_SYNC_FILE_RANGE_WAIT_BEFORE = 1
  2443. const m_SYNC_FILE_RANGE_WRITE = 2
  2444. const m_UUID_STR_LEN = 37
  2445. const m_UUID_TYPE_DCE_MD5 = 3
  2446. const m_UUID_TYPE_DCE_RANDOM = 4
  2447. const m_UUID_TYPE_DCE_SECURITY = 2
  2448. const m_UUID_TYPE_DCE_SHA1 = 5
  2449. const m_UUID_TYPE_DCE_TIME = 1
  2450. const m_UUID_TYPE_MASK = 0xf
  2451. const m_UUID_TYPE_SHIFT = 4
  2452. const m_UUID_VARIANT_DCE = 1
  2453. const m_UUID_VARIANT_MASK = 0x7
  2454. const m_UUID_VARIANT_MICROSOFT = 2
  2455. const m_UUID_VARIANT_NCS = 0
  2456. const m_UUID_VARIANT_OTHER = 3
  2457. const m_UUID_VARIANT_SHIFT = 5
  2458. const m___LONG_MAX1 = 9223372036854775807
  2459. const m_d_fileno = "d_ino"
  2460. const m_loff_t = "off_t"
  2461. type Tiovec = struct {
  2462. Fiov_base uintptr
  2463. Fiov_len Tsize_t
  2464. }
  2465. type Tflock = struct {
  2466. Fl_type int16
  2467. Fl_whence int16
  2468. Fl_start Toff_t
  2469. Fl_len Toff_t
  2470. Fl_pid Tpid_t
  2471. }
  2472. type Tfile_handle = struct {
  2473. Fhandle_bytes uint32
  2474. Fhandle_type int32
  2475. }
  2476. type Tf_owner_ex = struct {
  2477. Ftype1 int32
  2478. Fpid Tpid_t
  2479. }
  2480. type Tdirent = struct {
  2481. Fd_ino Tino_t
  2482. Fd_off Toff_t
  2483. Fd_reclen uint16
  2484. Fd_type uint8
  2485. Fd_name [256]uint8
  2486. }
  2487. type Titimerval = struct {
  2488. Fit_interval Ttimeval
  2489. Fit_value Ttimeval
  2490. }
  2491. type Ttimezone = struct {
  2492. Ftz_minuteswest int32
  2493. Ftz_dsttime int32
  2494. }
  2495. type Tuuid_t = [16]uint8
  2496. func XIA__FcDirCacheCreateUUID(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  2497. bp := tls.Alloc(256)
  2498. defer tls.Free(256)
  2499. var atomic, hash_add, sysroot, target, uuidname uintptr
  2500. var fd int32
  2501. var ret TFcBool
  2502. var _ /* out at bp+16 */ [37]uint8
  2503. var _ /* statb at bp+56 */ Tstat
  2504. var _ /* times at bp+200 */ [2]Ttimeval
  2505. var _ /* uuid at bp+0 */ Tuuid_t
  2506. _, _, _, _, _, _, _ = atomic, fd, hash_add, ret, sysroot, target, uuidname
  2507. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2508. ret = int32(m_FcTrue)
  2509. if sysroot != 0 {
  2510. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+240, dir, libc.UintptrFromInt32(0)))
  2511. } else {
  2512. target = libc.Xstrdup(tls, dir)
  2513. }
  2514. uuidname = XFcStrBuildFilename(tls, target, libc.VaList(bp+240, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2515. if !(uuidname != 0) {
  2516. XIA__FcStrFree(tls, target)
  2517. return m_FcFalse
  2518. }
  2519. if force != 0 || libc.Xaccess(tls, uuidname, m_F_OK) < 0 {
  2520. if XFcStat(tls, target, bp+56) != 0 {
  2521. ret = m_FcFalse
  2522. goto bail1
  2523. }
  2524. atomic = XIA__FcAtomicCreate(tls, uuidname)
  2525. if !(atomic != 0) {
  2526. ret = m_FcFalse
  2527. goto bail1
  2528. }
  2529. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  2530. ret = m_FcFalse
  2531. goto bail2
  2532. }
  2533. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+240, int32(0644)))
  2534. if fd == -int32(1) {
  2535. ret = m_FcFalse
  2536. goto bail3
  2537. }
  2538. libc.Xuuid_generate_random(tls, bp)
  2539. if force != 0 {
  2540. hash_add = __ccgo_fp(XFcHashTableReplace)
  2541. } else {
  2542. hash_add = __ccgo_fp(XFcHashTableAdd)
  2543. }
  2544. if !((*(*func(*libc.TLS, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{hash_add})))(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target, bp) != 0) {
  2545. ret = m_FcFalse
  2546. XIA__FcAtomicDeleteNew(tls, atomic)
  2547. libc.Xclose(tls, fd)
  2548. goto bail3
  2549. }
  2550. libc.Xuuid_unparse(tls, bp, bp+16)
  2551. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  2552. libc.Xprintf(tls, __ccgo_ts+35, libc.VaList(bp+240, uuidname, bp+16))
  2553. }
  2554. libc.Xwrite(tls, fd, bp+16, libc.Xstrlen(tls, bp+16))
  2555. libc.Xclose(tls, fd)
  2556. XIA__FcAtomicReplaceOrig(tls, atomic)
  2557. goto bail3
  2558. bail3:
  2559. ;
  2560. XIA__FcAtomicUnlock(tls, atomic)
  2561. goto bail2
  2562. bail2:
  2563. ;
  2564. XIA__FcAtomicDestroy(tls, atomic)
  2565. if ret != 0 {
  2566. /* revert mtime of the directory */
  2567. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 200)))[0].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_atim.Ftv_sec
  2568. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 200)))[int32(1)].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_sec
  2569. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 200)))[0].Ftv_usec = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_atim.Ftv_nsec / int64(1000)
  2570. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 200)))[int32(1)].Ftv_usec = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_nsec / int64(1000)
  2571. if libc.Xutimes(tls, target, bp+200) != 0 {
  2572. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+64, libc.VaList(bp+240, target))
  2573. }
  2574. }
  2575. }
  2576. goto bail1
  2577. bail1:
  2578. ;
  2579. XIA__FcStrFree(tls, uuidname)
  2580. XIA__FcStrFree(tls, target)
  2581. return ret
  2582. }
  2583. var XFcDirCacheCreateUUID = XIA__FcDirCacheCreateUUID
  2584. func XIA__FcDirCacheDeleteUUID(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  2585. bp := tls.Alloc(32)
  2586. defer tls.Free(32)
  2587. var ret TFcBool
  2588. var sysroot, target uintptr
  2589. _, _, _ = ret, sysroot, target
  2590. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2591. ret = int32(m_FcTrue)
  2592. if sysroot != 0 {
  2593. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2594. } else {
  2595. target = XFcStrBuildFilename(tls, dir, libc.VaList(bp+8, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2596. }
  2597. ret = libc.BoolInt32(libc.Xunlink(tls, target) == 0)
  2598. XFcHashTableRemove(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target)
  2599. XIA__FcStrFree(tls, target)
  2600. return ret
  2601. }
  2602. var XFcDirCacheDeleteUUID = XIA__FcDirCacheDeleteUUID
  2603. func _FcDirCacheReadUUID(tls *libc.TLS, dir uintptr, config uintptr) {
  2604. bp := tls.Alloc(96)
  2605. defer tls.Free(96)
  2606. var fd, v1 int32
  2607. var len1 Tssize_t
  2608. var sysroot, target, uuidname uintptr
  2609. var _ /* suuid at bp+24 */ [37]uint8
  2610. var _ /* u at bp+0 */ uintptr
  2611. var _ /* uuid at bp+8 */ Tuuid_t
  2612. _, _, _, _, _, _ = fd, len1, sysroot, target, uuidname, v1
  2613. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2614. if sysroot != 0 {
  2615. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+72, dir, libc.UintptrFromInt32(0)))
  2616. } else {
  2617. target = libc.Xstrdup(tls, dir)
  2618. }
  2619. if !(XFcHashTableFind(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target, bp) != 0) {
  2620. uuidname = XFcStrBuildFilename(tls, target, libc.VaList(bp+72, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2621. v1 = XFcOpen(tls, uuidname, m_O_RDONLY, 0)
  2622. fd = v1
  2623. if v1 >= 0 {
  2624. libc.Xmemset(tls, bp+24, 0, uint64(37))
  2625. len1 = libc.Xread(tls, fd, bp+24, uint64(36))
  2626. if len1 != int64(-int32(1)) {
  2627. (*(*[37]uint8)(unsafe.Pointer(bp + 24)))[len1] = uint8(0)
  2628. libc.Xmemset(tls, bp+8, 0, uint64(16))
  2629. if libc.Xuuid_parse(tls, bp+24, bp+8) == 0 {
  2630. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  2631. libc.Xprintf(tls, __ccgo_ts+92, libc.VaList(bp+72, uuidname, bp+24))
  2632. }
  2633. XFcHashTableAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target, bp+8)
  2634. }
  2635. }
  2636. libc.Xclose(tls, fd)
  2637. } else {
  2638. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  2639. libc.Xprintf(tls, __ccgo_ts+121, libc.VaList(bp+72, uuidname))
  2640. }
  2641. }
  2642. XIA__FcStrFree(tls, uuidname)
  2643. } else {
  2644. XFcHashUuidFree(tls, *(*uintptr)(unsafe.Pointer(bp)))
  2645. }
  2646. XIA__FcStrFree(tls, target)
  2647. }
  2648. type TMD5Context = struct {
  2649. Fbuf [4]TFcChar32
  2650. Fbits [2]TFcChar32
  2651. Fin [64]uint8
  2652. }
  2653. func _FcCacheIsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  2654. bp := tls.Alloc(16)
  2655. defer tls.Free(16)
  2656. var env uintptr
  2657. var status, v1 int32
  2658. var _ /* use at bp+0 */ TFcBool
  2659. _, _, _ = env, status, v1
  2660. status = int32(int64(*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status))))))
  2661. if status == 0 {
  2662. env = libc.Xgetenv(tls, __ccgo_ts+159)
  2663. if env != 0 && XFcNameBool(tls, env, bp) != 0 {
  2664. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  2665. v1 = 1
  2666. } else {
  2667. v1 = 2
  2668. }
  2669. status = v1
  2670. } else {
  2671. status = 3
  2672. }
  2673. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) == libc.UintptrFromInt32(0) {
  2674. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) = uintptr(status)
  2675. _ = libc.Int32FromInt32(m_FcTrue)
  2676. }
  2677. }
  2678. if status == 3 {
  2679. return XFcIsFsMmapSafe(tls, fd)
  2680. } else {
  2681. return libc.BoolInt32(status == 1)
  2682. }
  2683. return r
  2684. }
  2685. var _static_status uintptr
  2686. var _bin2hex = [16]uint8{
  2687. 0: uint8('0'),
  2688. 1: uint8('1'),
  2689. 2: uint8('2'),
  2690. 3: uint8('3'),
  2691. 4: uint8('4'),
  2692. 5: uint8('5'),
  2693. 6: uint8('6'),
  2694. 7: uint8('7'),
  2695. 8: uint8('8'),
  2696. 9: uint8('9'),
  2697. 10: uint8('a'),
  2698. 11: uint8('b'),
  2699. 12: uint8('c'),
  2700. 13: uint8('d'),
  2701. 14: uint8('e'),
  2702. 15: uint8('f'),
  2703. }
  2704. func _FcDirCacheBasenameMD5(tls *libc.TLS, dir uintptr, cache_base uintptr) (r uintptr) {
  2705. bp := tls.Alloc(112)
  2706. defer tls.Free(112)
  2707. var cnt int32
  2708. var hex_hash uintptr
  2709. var _ /* ctx at bp+16 */ TMD5Context
  2710. var _ /* hash at bp+0 */ [16]uint8
  2711. _, _ = cnt, hex_hash
  2712. _MD5Init(tls, bp+16)
  2713. _MD5Update(tls, bp+16, dir, uint32(libc.Xstrlen(tls, dir)))
  2714. _MD5Final(tls, bp, bp+16)
  2715. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  2716. hex_hash = cache_base + uintptr(1)
  2717. cnt = 0
  2718. for {
  2719. if !(cnt < int32(16)) {
  2720. break
  2721. }
  2722. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = _bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])>>int32(4)]
  2723. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt+int32(1)))) = _bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])&int32(0xf)]
  2724. goto _1
  2725. _1:
  2726. ;
  2727. cnt++
  2728. }
  2729. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(0)
  2730. libc.Xstrcat(tls, cache_base, __ccgo_ts+179)
  2731. return cache_base
  2732. }
  2733. func _FcDirCacheBasenameUUID(tls *libc.TLS, dir uintptr, cache_base uintptr, config uintptr) (r uintptr) {
  2734. bp := tls.Alloc(32)
  2735. defer tls.Free(32)
  2736. var sysroot, target uintptr
  2737. var _ /* u at bp+0 */ uintptr
  2738. _, _ = sysroot, target
  2739. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2740. if sysroot != 0 {
  2741. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+16, dir, libc.UintptrFromInt32(0)))
  2742. } else {
  2743. target = libc.Xstrdup(tls, dir)
  2744. }
  2745. if XFcHashTableFind(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target, bp) != 0 {
  2746. libc.Xuuid_unparse(tls, *(*uintptr)(unsafe.Pointer(bp)), cache_base)
  2747. libc.Xstrcat(tls, cache_base, __ccgo_ts+179)
  2748. XFcHashUuidFree(tls, *(*uintptr)(unsafe.Pointer(bp)))
  2749. XIA__FcStrFree(tls, target)
  2750. return cache_base
  2751. }
  2752. XIA__FcStrFree(tls, target)
  2753. return libc.UintptrFromInt32(0)
  2754. }
  2755. func XIA__FcDirCacheUnlink(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  2756. bp := tls.Alloc(96)
  2757. defer tls.Free(96)
  2758. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  2759. var _ /* cache_base at bp+0 */ [52]TFcChar8
  2760. _, _, _, _, _ = cache_dir, cache_hashed, list, sysroot, v1
  2761. cache_hashed = libc.UintptrFromInt32(0)
  2762. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2763. if !(_FcDirCacheBasenameUUID(tls, dir, bp, config) != 0) {
  2764. _FcDirCacheBasenameMD5(tls, dir, bp)
  2765. }
  2766. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  2767. if !(list != 0) {
  2768. return m_FcFalse
  2769. }
  2770. for {
  2771. v1 = XIA__FcStrListNext(tls, list)
  2772. cache_dir = v1
  2773. if !(v1 != 0) {
  2774. break
  2775. }
  2776. if sysroot != 0 {
  2777. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+64, cache_dir, bp, libc.UintptrFromInt32(0)))
  2778. } else {
  2779. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+64, bp, libc.UintptrFromInt32(0)))
  2780. }
  2781. if !(cache_hashed != 0) {
  2782. break
  2783. }
  2784. libc.Xunlink(tls, cache_hashed)
  2785. XIA__FcDirCacheDeleteUUID(tls, dir, config)
  2786. XIA__FcStrFree(tls, cache_hashed)
  2787. }
  2788. XIA__FcStrListDone(tls, list)
  2789. /* return FcFalse if something went wrong */
  2790. if cache_dir != 0 {
  2791. return m_FcFalse
  2792. }
  2793. return int32(m_FcTrue)
  2794. }
  2795. var XFcDirCacheUnlink = XIA__FcDirCacheUnlink
  2796. func _FcDirCacheOpenFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r int32) {
  2797. var fd int32
  2798. _ = fd
  2799. fd = XFcOpen(tls, cache_file, libc.Int32FromInt32(m_O_RDONLY)|libc.Int32FromInt32(m_O_BINARY), 0)
  2800. if fd < 0 {
  2801. return fd
  2802. }
  2803. if libc.Xfstat(tls, fd, file_stat) < 0 {
  2804. libc.Xclose(tls, fd)
  2805. return -int32(1)
  2806. }
  2807. return fd
  2808. }
  2809. // C documentation
  2810. //
  2811. // /*
  2812. // * Look for a cache file for the specified dir. Attempt
  2813. // * to use each one we find, stopping when the callback
  2814. // * indicates success
  2815. // */
  2816. func _FcDirCacheProcess(tls *libc.TLS, config uintptr, dir uintptr, callback uintptr, closure uintptr, cache_file_ret uintptr) (r TFcBool) {
  2817. bp := tls.Alloc(384)
  2818. defer tls.Free(384)
  2819. var cache_dir, cache_hashed, d, list, sysroot, v1 uintptr
  2820. var fd int32
  2821. var ret TFcBool
  2822. var _ /* cache_base at bp+0 */ [52]TFcChar8
  2823. var _ /* dir_stat at bp+200 */ Tstat
  2824. var _ /* file_stat at bp+56 */ Tstat
  2825. _, _, _, _, _, _, _, _ = cache_dir, cache_hashed, d, fd, list, ret, sysroot, v1
  2826. fd = -int32(1)
  2827. ret = m_FcFalse
  2828. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2829. if sysroot != 0 {
  2830. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+352, dir, libc.UintptrFromInt32(0)))
  2831. } else {
  2832. d = libc.Xstrdup(tls, dir)
  2833. }
  2834. if XFcStatChecksum(tls, d, bp+200) < 0 {
  2835. XIA__FcStrFree(tls, d)
  2836. return m_FcFalse
  2837. }
  2838. XIA__FcStrFree(tls, d)
  2839. if !(_FcDirCacheBasenameUUID(tls, dir, bp, config) != 0) {
  2840. _FcDirCacheBasenameMD5(tls, dir, bp)
  2841. }
  2842. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  2843. if !(list != 0) {
  2844. return m_FcFalse
  2845. }
  2846. for {
  2847. v1 = XIA__FcStrListNext(tls, list)
  2848. cache_dir = v1
  2849. if !(v1 != 0) {
  2850. break
  2851. }
  2852. if sysroot != 0 {
  2853. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+352, cache_dir, bp, libc.UintptrFromInt32(0)))
  2854. } else {
  2855. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+352, bp, libc.UintptrFromInt32(0)))
  2856. }
  2857. if !(cache_hashed != 0) {
  2858. break
  2859. }
  2860. fd = _FcDirCacheOpenFile(tls, cache_hashed, bp+56)
  2861. if fd >= 0 {
  2862. ret = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, config, fd, bp+56, bp+200, closure)
  2863. libc.Xclose(tls, fd)
  2864. if ret != 0 {
  2865. if cache_file_ret != 0 {
  2866. *(*uintptr)(unsafe.Pointer(cache_file_ret)) = cache_hashed
  2867. } else {
  2868. XIA__FcStrFree(tls, cache_hashed)
  2869. }
  2870. break
  2871. }
  2872. }
  2873. XIA__FcStrFree(tls, cache_hashed)
  2874. }
  2875. XIA__FcStrListDone(tls, list)
  2876. return ret
  2877. }
  2878. /*
  2879. * Skip list element, make sure the 'next' pointer is the last thing
  2880. * in the structure, it will be allocated large enough to hold all
  2881. * of the necessary pointers
  2882. */
  2883. type TFcCacheSkip = struct {
  2884. Fcache uintptr
  2885. Fref TFcRef
  2886. Fsize Tintptr_t
  2887. Fallocated uintptr
  2888. Fcache_dev Tdev_t
  2889. Fcache_ino Tino_t
  2890. Fcache_mtime Ttime_t
  2891. Fcache_mtime_nano int64
  2892. Fnext [1]uintptr
  2893. }
  2894. /*
  2895. * Skip list element, make sure the 'next' pointer is the last thing
  2896. * in the structure, it will be allocated large enough to hold all
  2897. * of the necessary pointers
  2898. */
  2899. type T_FcCacheSkip = TFcCacheSkip
  2900. /*
  2901. * The head of the skip list; pointers for every possible level
  2902. * in the skip list, plus the largest level in the list
  2903. */
  2904. // C documentation
  2905. //
  2906. // /* Protected by cache_lock below */
  2907. var _fcCacheChains [16]uintptr
  2908. var _fcCacheMaxLevel int32
  2909. var _cache_lock uintptr
  2910. func _lock_cache(tls *libc.TLS) {
  2911. var lock uintptr
  2912. var v1 int32
  2913. _, _ = lock, v1
  2914. goto retry
  2915. retry:
  2916. ;
  2917. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  2918. if !(lock != 0) {
  2919. lock = libc.Xmalloc(tls, uint64(4))
  2920. _ = lock
  2921. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == libc.UintptrFromInt32(0) {
  2922. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = lock
  2923. v1 = libc.Int32FromInt32(m_FcTrue)
  2924. } else {
  2925. v1 = m_FcFalse
  2926. }
  2927. if !(v1 != 0) {
  2928. _ = lock
  2929. goto retry
  2930. }
  2931. _ = lock
  2932. /* Initialize random state */
  2933. XFcRandom(tls)
  2934. return
  2935. }
  2936. _ = lock
  2937. }
  2938. func _unlock_cache(tls *libc.TLS) {
  2939. _ = _cache_lock
  2940. }
  2941. func _free_lock(tls *libc.TLS) {
  2942. var lock uintptr
  2943. var v1 int32
  2944. var v2 bool
  2945. _, _, _ = lock, v1, v2
  2946. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  2947. if v2 = lock != 0; v2 {
  2948. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == lock {
  2949. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = libc.UintptrFromInt32(0)
  2950. v1 = libc.Int32FromInt32(m_FcTrue)
  2951. } else {
  2952. v1 = m_FcFalse
  2953. }
  2954. }
  2955. if v2 && v1 != 0 {
  2956. _ = lock
  2957. libc.Xfree(tls, lock)
  2958. }
  2959. }
  2960. // C documentation
  2961. //
  2962. // /*
  2963. // * Generate a random level number, distributed
  2964. // * so that each level is 1/4 as likely as the one before
  2965. // *
  2966. // * Note that level numbers run 1 <= level <= MAX_LEVEL
  2967. // */
  2968. func _random_level(tls *libc.TLS) (r int32) {
  2969. var bits int64
  2970. var level, v1 int32
  2971. _, _, _ = bits, level, v1
  2972. /* tricky bit -- each bit is '1' 75% of the time */
  2973. bits = int64(XFcRandom(tls) | XFcRandom(tls))
  2974. level = 0
  2975. for {
  2976. level++
  2977. v1 = level
  2978. if !(v1 < int32(m_FC_CACHE_MAX_LEVEL)) {
  2979. break
  2980. }
  2981. if bits&int64(1) != 0 {
  2982. break
  2983. }
  2984. bits >>= int64(1)
  2985. }
  2986. return level
  2987. }
  2988. // C documentation
  2989. //
  2990. // /*
  2991. // * Insert cache into the list
  2992. // */
  2993. func _FcCacheInsert(tls *libc.TLS, cache uintptr, cache_stat uintptr) (r TFcBool) {
  2994. var i, level, v2 int32
  2995. var next, s, v4 uintptr
  2996. var update [16]uintptr
  2997. _, _, _, _, _, _, _ = i, level, next, s, update, v2, v4
  2998. _lock_cache(tls)
  2999. /*
  3000. * Find links along each chain
  3001. */
  3002. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3003. i = _fcCacheMaxLevel
  3004. for {
  3005. i--
  3006. v2 = i
  3007. if !(v2 >= 0) {
  3008. break
  3009. }
  3010. for {
  3011. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  3012. s = v4
  3013. if !(v4 != 0) {
  3014. break
  3015. }
  3016. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache > cache {
  3017. break
  3018. }
  3019. goto _3
  3020. _3:
  3021. ;
  3022. next = s + 64
  3023. }
  3024. update[i] = next + uintptr(i)*8
  3025. goto _1
  3026. _1:
  3027. }
  3028. /*
  3029. * Create new list element
  3030. */
  3031. level = _random_level(tls)
  3032. if level > _fcCacheMaxLevel {
  3033. level = _fcCacheMaxLevel + int32(1)
  3034. update[_fcCacheMaxLevel] = uintptr(unsafe.Pointer(&_fcCacheChains)) + uintptr(_fcCacheMaxLevel)*8
  3035. _fcCacheMaxLevel = level
  3036. }
  3037. s = libc.Xmalloc(tls, uint64(72)+libc.Uint64FromInt32(level-libc.Int32FromInt32(1))*uint64(8))
  3038. if !(s != 0) {
  3039. return m_FcFalse
  3040. }
  3041. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache = cache
  3042. (*TFcCacheSkip)(unsafe.Pointer(s)).Fsize = (*TFcCache)(unsafe.Pointer(cache)).Fsize
  3043. (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated = libc.UintptrFromInt32(0)
  3044. (*TFcRef)(unsafe.Pointer(s + 8)).Fcount = int32(1)
  3045. if cache_stat != 0 {
  3046. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev
  3047. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino
  3048. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec
  3049. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec
  3050. } else {
  3051. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = uint64(0)
  3052. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = uint64(0)
  3053. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = 0
  3054. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  3055. }
  3056. /*
  3057. * Insert into all fcCacheChains
  3058. */
  3059. i = 0
  3060. for {
  3061. if !(i < level) {
  3062. break
  3063. }
  3064. *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(update[i]))
  3065. *(*uintptr)(unsafe.Pointer(update[i])) = s
  3066. goto _5
  3067. _5:
  3068. ;
  3069. i++
  3070. }
  3071. _unlock_cache(tls)
  3072. return int32(m_FcTrue)
  3073. }
  3074. func _FcCacheFindByAddrUnlocked(tls *libc.TLS, object uintptr) (r uintptr) {
  3075. var i, v2 int32
  3076. var next, s uintptr
  3077. _, _, _, _ = i, next, s, v2
  3078. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3079. if !(object != 0) {
  3080. return libc.UintptrFromInt32(0)
  3081. }
  3082. /*
  3083. * Walk chain pointers one level at a time
  3084. */
  3085. i = _fcCacheMaxLevel
  3086. for {
  3087. i--
  3088. v2 = i
  3089. if !(v2 >= 0) {
  3090. break
  3091. }
  3092. for *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) != 0 && object >= (*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)))).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)))).Fsize) {
  3093. next = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) + 64
  3094. }
  3095. goto _1
  3096. _1:
  3097. }
  3098. /*
  3099. * Here we are
  3100. */
  3101. s = *(*uintptr)(unsafe.Pointer(next))
  3102. if s != 0 && object < (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(s)).Fsize) {
  3103. return s
  3104. }
  3105. return libc.UintptrFromInt32(0)
  3106. }
  3107. func _FcCacheFindByAddr(tls *libc.TLS, object uintptr) (r uintptr) {
  3108. var ret uintptr
  3109. _ = ret
  3110. _lock_cache(tls)
  3111. ret = _FcCacheFindByAddrUnlocked(tls, object)
  3112. _unlock_cache(tls)
  3113. return ret
  3114. }
  3115. func _FcCacheRemoveUnlocked(tls *libc.TLS, cache uintptr) {
  3116. var allocated, next, s, v4 uintptr
  3117. var i, v2 int32
  3118. var update [16]uintptr
  3119. _, _, _, _, _, _, _ = allocated, i, next, s, update, v2, v4
  3120. /*
  3121. * Find links along each chain
  3122. */
  3123. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3124. i = _fcCacheMaxLevel
  3125. for {
  3126. i--
  3127. v2 = i
  3128. if !(v2 >= 0) {
  3129. break
  3130. }
  3131. for {
  3132. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  3133. s = v4
  3134. if !(v4 != 0) {
  3135. break
  3136. }
  3137. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache >= cache {
  3138. break
  3139. }
  3140. goto _3
  3141. _3:
  3142. ;
  3143. next = s + 64
  3144. }
  3145. update[i] = next + uintptr(i)*8
  3146. goto _1
  3147. _1:
  3148. }
  3149. s = *(*uintptr)(unsafe.Pointer(next))
  3150. i = 0
  3151. for {
  3152. if !(i < _fcCacheMaxLevel && *(*uintptr)(unsafe.Pointer(update[i])) == s) {
  3153. break
  3154. }
  3155. *(*uintptr)(unsafe.Pointer(update[i])) = *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8))
  3156. goto _5
  3157. _5:
  3158. ;
  3159. i++
  3160. }
  3161. for _fcCacheMaxLevel > 0 && _fcCacheChains[_fcCacheMaxLevel-int32(1)] == libc.UintptrFromInt32(0) {
  3162. _fcCacheMaxLevel--
  3163. }
  3164. allocated = (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated
  3165. for allocated != 0 {
  3166. /* First element in allocated chunk is the free list */
  3167. next = *(*uintptr)(unsafe.Pointer(allocated))
  3168. libc.Xfree(tls, allocated)
  3169. allocated = next
  3170. }
  3171. libc.Xfree(tls, s)
  3172. }
  3173. func _FcCacheFindByStat(tls *libc.TLS, cache_stat uintptr) (r uintptr) {
  3174. var s, p3 uintptr
  3175. _, _ = s, p3
  3176. _lock_cache(tls)
  3177. s = _fcCacheChains[0]
  3178. for {
  3179. if !(s != 0) {
  3180. break
  3181. }
  3182. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec {
  3183. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano != (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec {
  3184. goto _1
  3185. }
  3186. p3 = s + 8
  3187. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  3188. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  3189. goto _2
  3190. _2:
  3191. ;
  3192. _unlock_cache(tls)
  3193. return (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache
  3194. }
  3195. goto _1
  3196. _1:
  3197. ;
  3198. s = *(*uintptr)(unsafe.Pointer(s + 64))
  3199. }
  3200. _unlock_cache(tls)
  3201. return libc.UintptrFromInt32(0)
  3202. }
  3203. func _FcDirCacheDisposeUnlocked(tls *libc.TLS, cache uintptr) {
  3204. _FcCacheRemoveUnlocked(tls, cache)
  3205. switch (*TFcCache)(unsafe.Pointer(cache)).Fmagic {
  3206. case uint32(m_FC_CACHE_MAGIC_ALLOC1):
  3207. libc.Xfree(tls, cache)
  3208. case uint32(m_FC_CACHE_MAGIC_MMAP1):
  3209. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  3210. break
  3211. }
  3212. }
  3213. func XFcCacheObjectReference(tls *libc.TLS, object uintptr) {
  3214. var skip, p2 uintptr
  3215. _, _ = skip, p2
  3216. skip = _FcCacheFindByAddr(tls, object)
  3217. if skip != 0 {
  3218. p2 = skip + 8
  3219. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  3220. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  3221. goto _1
  3222. _1:
  3223. }
  3224. }
  3225. func XFcCacheObjectDereference(tls *libc.TLS, object uintptr) {
  3226. var skip, p3 uintptr
  3227. var v1 int32
  3228. _, _, _ = skip, v1, p3
  3229. _lock_cache(tls)
  3230. skip = _FcCacheFindByAddrUnlocked(tls, object)
  3231. if skip != 0 {
  3232. p3 = skip + 8
  3233. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  3234. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  3235. goto _2
  3236. _2:
  3237. if v1 == int32(1) {
  3238. _FcDirCacheDisposeUnlocked(tls, (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache)
  3239. }
  3240. }
  3241. _unlock_cache(tls)
  3242. }
  3243. func XFcCacheAllocate(tls *libc.TLS, cache uintptr, len1 Tsize_t) (r uintptr) {
  3244. var allocated, chunk, skip uintptr
  3245. _, _, _ = allocated, chunk, skip
  3246. allocated = libc.UintptrFromInt32(0)
  3247. _lock_cache(tls)
  3248. skip = _FcCacheFindByAddrUnlocked(tls, cache)
  3249. if skip != 0 {
  3250. chunk = libc.Xmalloc(tls, uint64(8)+len1)
  3251. if chunk != 0 {
  3252. /* First element in allocated chunk is the free list */
  3253. *(*uintptr)(unsafe.Pointer(chunk)) = (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated
  3254. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated = chunk
  3255. /* Return the rest */
  3256. allocated = chunk + uintptr(8)
  3257. }
  3258. }
  3259. _unlock_cache(tls)
  3260. return allocated
  3261. }
  3262. func XFcCacheFini(tls *libc.TLS) {
  3263. var i int32
  3264. _ = i
  3265. i = 0
  3266. for {
  3267. if !(i < int32(m_FC_CACHE_MAX_LEVEL)) {
  3268. break
  3269. }
  3270. goto _1
  3271. _1:
  3272. ;
  3273. i++
  3274. }
  3275. _free_lock(tls)
  3276. }
  3277. func _FcCacheTimeValid(tls *libc.TLS, config uintptr, cache uintptr, dir_stat uintptr) (r TFcBool) {
  3278. bp := tls.Alloc(192)
  3279. defer tls.Free(192)
  3280. var d, sysroot uintptr
  3281. var fnano TFcBool
  3282. var _ /* dir_static at bp+0 */ Tstat
  3283. _, _, _ = d, fnano, sysroot
  3284. fnano = int32(m_FcTrue)
  3285. if !(dir_stat != 0) {
  3286. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3287. if sysroot != 0 {
  3288. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), libc.UintptrFromInt32(0)))
  3289. } else {
  3290. d = libc.Xstrdup(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir))
  3291. }
  3292. if XFcStatChecksum(tls, d, bp) < 0 {
  3293. XIA__FcStrFree(tls, d)
  3294. return m_FcFalse
  3295. }
  3296. XIA__FcStrFree(tls, d)
  3297. dir_stat = bp
  3298. }
  3299. fnano = libc.BoolInt32((*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano == (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec)
  3300. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3301. libc.Xprintf(tls, __ccgo_ts+193, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), (*TFcCache)(unsafe.Pointer(cache)).Fchecksum, (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano, int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec), (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec))
  3302. }
  3303. return libc.BoolInt32((*TFcCache)(unsafe.Pointer(cache)).Fchecksum == int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec) && fnano != 0)
  3304. }
  3305. func _FcCacheOffsetsValid(tls *libc.TLS, cache uintptr) (r TFcBool) {
  3306. var base, dir, dirs, e, end, font, fs, last_offset, v10, v11, v3, v4 uintptr
  3307. var i, j int32
  3308. var l TFcValueListPtr
  3309. var v5 TFcBool
  3310. var v7 bool
  3311. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, e, end, font, fs, i, j, l, last_offset, v10, v11, v3, v4, v5, v7
  3312. base = cache
  3313. end = base + uintptr((*TFcCache)(unsafe.Pointer(cache)).Fsize)
  3314. if (*TFcCache)(unsafe.Pointer(cache)).Fdir < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fdir) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(8) || libc.Xmemchr(tls, base+uintptr((*TFcCache)(unsafe.Pointer(cache)).Fdir), int32('\000'), libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdir)) == libc.UintptrFromInt32(0) {
  3315. return m_FcFalse
  3316. }
  3317. if (*TFcCache)(unsafe.Pointer(cache)).Fdirs < 0 || (*TFcCache)(unsafe.Pointer(cache)).Fdirs >= (*TFcCache)(unsafe.Pointer(cache)).Fsize || (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count < 0 || libc.Uint64FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdirs)/uint64(8) {
  3318. return m_FcFalse
  3319. }
  3320. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  3321. if dirs != 0 {
  3322. i = 0
  3323. for {
  3324. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  3325. break
  3326. }
  3327. if *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)) < 0 || libc.Uint64FromInt64(*(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8))) > libc.Uint64FromInt64(int64(end)-int64(dirs))-uint64(8) {
  3328. return m_FcFalse
  3329. }
  3330. dir = uintptr(int64(dirs) + *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)))
  3331. if libc.Xmemchr(tls, dir, int32('\000'), libc.Uint64FromInt64(int64(end)-int64(dir))) == libc.UintptrFromInt32(0) {
  3332. return m_FcFalse
  3333. }
  3334. goto _1
  3335. _1:
  3336. ;
  3337. i++
  3338. }
  3339. }
  3340. if (*TFcCache)(unsafe.Pointer(cache)).Fset < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fset) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(16) {
  3341. return m_FcFalse
  3342. }
  3343. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  3344. if fs != 0 {
  3345. if libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) > libc.Uint64FromInt64(int64(end)-int64(fs))/uint64(24) {
  3346. return m_FcFalse
  3347. }
  3348. if !(int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  3349. return m_FcFalse
  3350. }
  3351. i = 0
  3352. for {
  3353. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  3354. break
  3355. }
  3356. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  3357. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  3358. v4 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  3359. } else {
  3360. v4 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  3361. }
  3362. v3 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v4 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  3363. } else {
  3364. v3 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  3365. }
  3366. font = v3
  3367. if v7 = font < base || font > end-uintptr(16) || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset < 0 || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset > int64(end)-int64(font) || libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(font)).Fnum) > libc.Uint64FromInt64(int64(end)-int64(font)-(*TFcPattern)(unsafe.Pointer(font)).Felts_offset)/uint64(16); !v7 {
  3368. v5 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(font+16)).Fcount == -libc.Int32FromInt32(1))
  3369. goto _6
  3370. _6:
  3371. }
  3372. if v7 || !(v5 != 0) {
  3373. return m_FcFalse
  3374. }
  3375. e = uintptr(int64(font) + (*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3376. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != uintptr(0) && !(int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  3377. return m_FcFalse
  3378. }
  3379. j = 0
  3380. for {
  3381. if !(j < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  3382. break
  3383. }
  3384. last_offset = font + uintptr((*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3385. if int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(1) != 0 {
  3386. v10 = uintptr(Tintptr_t(e+uintptr(j)*16) + int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  3387. } else {
  3388. v10 = (*TFcPatternElt)(unsafe.Pointer(e + uintptr(j)*16)).Fvalues
  3389. }
  3390. l = v10
  3391. for {
  3392. if !(l != 0) {
  3393. break
  3394. }
  3395. if l < last_offset || l > end-uintptr(32) || (*T_FcValueList)(unsafe.Pointer(l)).Fnext != libc.UintptrFromInt32(0) && !(int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  3396. return m_FcFalse
  3397. }
  3398. last_offset = l + uintptr(1)
  3399. goto _9
  3400. _9:
  3401. ;
  3402. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  3403. v11 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  3404. } else {
  3405. v11 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  3406. }
  3407. l = v11
  3408. }
  3409. goto _8
  3410. _8:
  3411. ;
  3412. j++
  3413. }
  3414. goto _2
  3415. _2:
  3416. ;
  3417. i++
  3418. }
  3419. }
  3420. return int32(m_FcTrue)
  3421. }
  3422. // C documentation
  3423. //
  3424. // /*
  3425. // * Map a cache file into memory
  3426. // */
  3427. func _FcDirCacheMapFd(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr) (r uintptr) {
  3428. var allocated TFcBool
  3429. var cache uintptr
  3430. _, _ = allocated, cache
  3431. allocated = m_FcFalse
  3432. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size > int64(m_INT64_MAX1) || (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size < int64(libc.Int32FromInt64(64)) {
  3433. return libc.UintptrFromInt32(0)
  3434. }
  3435. cache = _FcCacheFindByStat(tls, fd_stat)
  3436. if cache != 0 {
  3437. if _FcCacheTimeValid(tls, config, cache, dir_stat) != 0 {
  3438. return cache
  3439. }
  3440. XIA__FcDirCacheUnload(tls, cache)
  3441. cache = libc.UintptrFromInt32(0)
  3442. }
  3443. /*
  3444. * Large cache files are mmap'ed, smaller cache files are read. This
  3445. * balances the system cost of mmap against per-process memory usage.
  3446. */
  3447. if _FcCacheIsMmapSafe(tls, fd) != 0 && (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size >= int64(m_FC_CACHE_MIN_MMAP) {
  3448. cache = libc.Xmmap(tls, uintptr(0), libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size), int32(m_PROT_READ), int32(m_MAP_SHARED), fd, 0)
  3449. libc.Xposix_fadvise(tls, fd, 0, (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size, int32(m_POSIX_FADV_WILLNEED))
  3450. if cache == uintptr(-libc.Int32FromInt32(1)) {
  3451. cache = libc.UintptrFromInt32(0)
  3452. }
  3453. }
  3454. if !(cache != 0) {
  3455. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3456. if !(cache != 0) {
  3457. return libc.UintptrFromInt32(0)
  3458. }
  3459. if libc.Xread(tls, fd, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size)) != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size {
  3460. libc.Xfree(tls, cache)
  3461. return libc.UintptrFromInt32(0)
  3462. }
  3463. allocated = int32(m_FcTrue)
  3464. }
  3465. if (*TFcCache)(unsafe.Pointer(cache)).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) || (*TFcCache)(unsafe.Pointer(cache)).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) || (*TFcCache)(unsafe.Pointer(cache)).Fsize != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size || !(_FcCacheOffsetsValid(tls, cache) != 0) || !(_FcCacheTimeValid(tls, config, cache, dir_stat) != 0) || !(_FcCacheInsert(tls, cache, fd_stat) != 0) {
  3466. if allocated != 0 {
  3467. libc.Xfree(tls, cache)
  3468. } else {
  3469. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3470. }
  3471. return libc.UintptrFromInt32(0)
  3472. }
  3473. /* Mark allocated caches so they're freed rather than unmapped */
  3474. if allocated != 0 {
  3475. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  3476. }
  3477. return cache
  3478. }
  3479. func XFcDirCacheReference(tls *libc.TLS, cache uintptr, nref int32) {
  3480. var skip, p3 uintptr
  3481. var v1 int32
  3482. _, _, _ = skip, v1, p3
  3483. skip = _FcCacheFindByAddr(tls, cache)
  3484. if skip != 0 {
  3485. v1 = nref
  3486. p3 = skip + 8
  3487. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += v1
  3488. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - v1
  3489. goto _2
  3490. _2:
  3491. }
  3492. }
  3493. func XIA__FcDirCacheUnload(tls *libc.TLS, cache uintptr) {
  3494. XFcCacheObjectDereference(tls, cache)
  3495. }
  3496. var XFcDirCacheUnload = XIA__FcDirCacheUnload
  3497. func _FcDirCacheMapHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, closure uintptr) (r TFcBool) {
  3498. var cache uintptr
  3499. _ = cache
  3500. cache = _FcDirCacheMapFd(tls, config, fd, fd_stat, dir_stat)
  3501. if !(cache != 0) {
  3502. return m_FcFalse
  3503. }
  3504. *(*uintptr)(unsafe.Pointer(closure)) = cache
  3505. return int32(m_FcTrue)
  3506. }
  3507. func XIA__FcDirCacheLoad(tls *libc.TLS, dir uintptr, config uintptr, cache_file uintptr) (r uintptr) {
  3508. bp := tls.Alloc(16)
  3509. defer tls.Free(16)
  3510. var _ /* cache at bp+0 */ uintptr
  3511. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  3512. _FcDirCacheReadUUID(tls, dir, config)
  3513. if !(_FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheMapHelper), bp, cache_file) != 0) {
  3514. return libc.UintptrFromInt32(0)
  3515. }
  3516. return *(*uintptr)(unsafe.Pointer(bp))
  3517. }
  3518. var XFcDirCacheLoad = XIA__FcDirCacheLoad
  3519. func XIA__FcDirCacheLoadFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r uintptr) {
  3520. bp := tls.Alloc(144)
  3521. defer tls.Free(144)
  3522. var cache uintptr
  3523. var fd int32
  3524. var _ /* my_file_stat at bp+0 */ Tstat
  3525. _, _ = cache, fd
  3526. if !(file_stat != 0) {
  3527. file_stat = bp
  3528. }
  3529. fd = _FcDirCacheOpenFile(tls, cache_file, file_stat)
  3530. if fd < 0 {
  3531. return libc.UintptrFromInt32(0)
  3532. }
  3533. cache = _FcDirCacheMapFd(tls, XIA__FcConfigGetCurrent(tls), fd, file_stat, libc.UintptrFromInt32(0))
  3534. libc.Xclose(tls, fd)
  3535. return cache
  3536. }
  3537. var XFcDirCacheLoadFile = XIA__FcDirCacheLoadFile
  3538. func _FcDirChecksum(tls *libc.TLS, statb uintptr) (r int32) {
  3539. bp := tls.Alloc(32)
  3540. defer tls.Free(32)
  3541. var epoch uint64
  3542. var ret int32
  3543. var source_date_epoch uintptr
  3544. var _ /* endptr at bp+0 */ uintptr
  3545. _, _, _ = epoch, ret, source_date_epoch
  3546. ret = int32((*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_sec)
  3547. source_date_epoch = libc.Xgetenv(tls, __ccgo_ts+262)
  3548. if source_date_epoch != 0 {
  3549. epoch = libc.Xstrtoull(tls, source_date_epoch, bp, int32(10))
  3550. if *(*uintptr)(unsafe.Pointer(bp)) == source_date_epoch {
  3551. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+280, 0)
  3552. } else {
  3553. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_ERANGE) && (epoch == libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1) || epoch == uint64(0)) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 && epoch == uint64(0) {
  3554. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+319, libc.VaList(bp+16, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))), epoch))
  3555. } else {
  3556. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) != int32('\000') {
  3557. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+370, 0)
  3558. } else {
  3559. if epoch > libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1) {
  3560. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+422, libc.VaList(bp+16, libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1), epoch))
  3561. } else {
  3562. if epoch < libc.Uint64FromInt32(ret) {
  3563. /* Only override if directory is newer */
  3564. ret = libc.Int32FromUint64(epoch)
  3565. }
  3566. }
  3567. }
  3568. }
  3569. }
  3570. }
  3571. return ret
  3572. }
  3573. func _FcDirChecksumNano(tls *libc.TLS, statb uintptr) (r Tint64_t) {
  3574. /* No nanosecond component to parse */
  3575. if libc.Xgetenv(tls, __ccgo_ts+262) != 0 {
  3576. return 0
  3577. }
  3578. return (*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_nsec
  3579. }
  3580. // C documentation
  3581. //
  3582. // /*
  3583. // * Validate a cache file by reading the header and checking
  3584. // * the magic number and the size field
  3585. // */
  3586. func _FcDirCacheValidateHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, closure uintptr) (r TFcBool) {
  3587. bp := tls.Alloc(64)
  3588. defer tls.Free(64)
  3589. var ret TFcBool
  3590. var _ /* c at bp+0 */ TFcCache
  3591. _ = ret
  3592. ret = int32(m_FcTrue)
  3593. if libc.Uint64FromInt64(libc.Xread(tls, fd, bp, uint64(64))) != uint64(64) {
  3594. ret = m_FcFalse
  3595. } else {
  3596. if (*(*TFcCache)(unsafe.Pointer(bp))).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  3597. ret = m_FcFalse
  3598. } else {
  3599. if (*(*TFcCache)(unsafe.Pointer(bp))).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) {
  3600. ret = m_FcFalse
  3601. } else {
  3602. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size != (*(*TFcCache)(unsafe.Pointer(bp))).Fsize {
  3603. ret = m_FcFalse
  3604. } else {
  3605. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum != _FcDirChecksum(tls, dir_stat) {
  3606. ret = m_FcFalse
  3607. } else {
  3608. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum_nano != _FcDirChecksumNano(tls, dir_stat) {
  3609. ret = m_FcFalse
  3610. }
  3611. }
  3612. }
  3613. }
  3614. }
  3615. }
  3616. return ret
  3617. }
  3618. func _FcDirCacheValidConfig(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  3619. return _FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheValidateHelper), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  3620. }
  3621. func XIA__FcDirCacheValid(tls *libc.TLS, dir uintptr) (r TFcBool) {
  3622. var config uintptr
  3623. _ = config
  3624. config = XIA__FcConfigGetCurrent(tls)
  3625. if !(config != 0) {
  3626. return m_FcFalse
  3627. }
  3628. return _FcDirCacheValidConfig(tls, dir, config)
  3629. }
  3630. var XFcDirCacheValid = XIA__FcDirCacheValid
  3631. // C documentation
  3632. //
  3633. // /*
  3634. // * Build a cache structure from the given contents
  3635. // */
  3636. func XFcDirCacheBuild(tls *libc.TLS, set uintptr, dir uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  3637. var cache, d_serialize, dir_serialize, dirs_serialize, serialize, set_serialize uintptr
  3638. var i int32
  3639. _, _, _, _, _, _, _ = cache, d_serialize, dir_serialize, dirs_serialize, i, serialize, set_serialize
  3640. serialize = XFcSerializeCreate(tls)
  3641. if !(serialize != 0) {
  3642. return libc.UintptrFromInt32(0)
  3643. }
  3644. /*
  3645. * Space for cache structure
  3646. */
  3647. XFcSerializeReserve(tls, serialize, int32(64))
  3648. /*
  3649. * Directory name
  3650. */
  3651. if !(XFcStrSerializeAlloc(tls, serialize, dir) != 0) {
  3652. goto bail1
  3653. }
  3654. /*
  3655. * Subdirs
  3656. */
  3657. XFcSerializeAlloc(tls, serialize, dirs, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(dirs)).Fnum)*uint64(8)))
  3658. i = 0
  3659. for {
  3660. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  3661. break
  3662. }
  3663. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8))) != 0) {
  3664. goto bail1
  3665. }
  3666. goto _1
  3667. _1:
  3668. ;
  3669. i++
  3670. }
  3671. /*
  3672. * Patterns
  3673. */
  3674. if !(XFcFontSetSerializeAlloc(tls, serialize, set) != 0) {
  3675. goto bail1
  3676. }
  3677. /* Serialize layout complete. Now allocate space and fill it */
  3678. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  3679. if !(cache != 0) {
  3680. goto bail1
  3681. }
  3682. /* shut up valgrind */
  3683. libc.Xmemset(tls, cache, 0, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  3684. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = cache
  3685. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  3686. (*TFcCache)(unsafe.Pointer(cache)).Fversion = int32(m_FC_CACHE_VERSION_NUMBER)
  3687. (*TFcCache)(unsafe.Pointer(cache)).Fsize = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  3688. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum = _FcDirChecksum(tls, dir_stat)
  3689. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano = _FcDirChecksumNano(tls, dir_stat)
  3690. /*
  3691. * Serialize directory name
  3692. */
  3693. dir_serialize = XFcStrSerialize(tls, serialize, dir)
  3694. if !(dir_serialize != 0) {
  3695. goto bail2
  3696. }
  3697. (*TFcCache)(unsafe.Pointer(cache)).Fdir = int64(dir_serialize) - int64(cache)
  3698. /*
  3699. * Serialize sub dirs
  3700. */
  3701. dirs_serialize = XFcSerializePtr(tls, serialize, dirs)
  3702. if !(dirs_serialize != 0) {
  3703. goto bail2
  3704. }
  3705. (*TFcCache)(unsafe.Pointer(cache)).Fdirs = int64(dirs_serialize) - int64(cache)
  3706. (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count = (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum
  3707. i = 0
  3708. for {
  3709. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  3710. break
  3711. }
  3712. d_serialize = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8)))
  3713. if !(d_serialize != 0) {
  3714. goto bail2
  3715. }
  3716. *(*Tintptr_t)(unsafe.Pointer(dirs_serialize + uintptr(i)*8)) = int64(d_serialize) - int64(dirs_serialize)
  3717. goto _2
  3718. _2:
  3719. ;
  3720. i++
  3721. }
  3722. /*
  3723. * Serialize font set
  3724. */
  3725. set_serialize = XFcFontSetSerialize(tls, serialize, set)
  3726. if !(set_serialize != 0) {
  3727. goto bail2
  3728. }
  3729. (*TFcCache)(unsafe.Pointer(cache)).Fset = int64(set_serialize) - int64(cache)
  3730. XFcSerializeDestroy(tls, serialize)
  3731. _FcCacheInsert(tls, cache, libc.UintptrFromInt32(0))
  3732. return cache
  3733. goto bail2
  3734. bail2:
  3735. ;
  3736. libc.Xfree(tls, cache)
  3737. goto bail1
  3738. bail1:
  3739. ;
  3740. XFcSerializeDestroy(tls, serialize)
  3741. return libc.UintptrFromInt32(0)
  3742. }
  3743. func XFcDirCacheRebuild(tls *libc.TLS, cache uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  3744. var dir, new1, set uintptr
  3745. _, _, _ = dir, new1, set
  3746. set = XFcFontSetDeserialize(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fset))
  3747. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  3748. new1 = XFcDirCacheBuild(tls, set, dir, dir_stat, dirs)
  3749. XIA__FcFontSetDestroy(tls, set)
  3750. return new1
  3751. }
  3752. // C documentation
  3753. //
  3754. // /* write serialized state to the cache file */
  3755. func XFcDirCacheWrite(tls *libc.TLS, cache uintptr, config uintptr) (r TFcBool) {
  3756. bp := tls.Alloc(224)
  3757. defer tls.Free(224)
  3758. var atomic, cache_dir, cache_hashed, d, dir, list, skip, sysroot, test_dir, v1, v2 uintptr
  3759. var fd, written int32
  3760. var magic uint32
  3761. var _ /* cache_base at bp+0 */ [52]TFcChar8
  3762. var _ /* cache_stat at bp+56 */ Tstat
  3763. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = atomic, cache_dir, cache_hashed, d, dir, fd, list, magic, skip, sysroot, test_dir, written, v1, v2
  3764. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  3765. cache_dir = libc.UintptrFromInt32(0)
  3766. d = libc.UintptrFromInt32(0)
  3767. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3768. /*
  3769. * Write it to the first directory in the list which is writable
  3770. */
  3771. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  3772. if !(list != 0) {
  3773. return m_FcFalse
  3774. }
  3775. for {
  3776. v1 = XIA__FcStrListNext(tls, list)
  3777. test_dir = v1
  3778. if !(v1 != 0) {
  3779. break
  3780. }
  3781. if d != 0 {
  3782. XIA__FcStrFree(tls, d)
  3783. }
  3784. if sysroot != 0 {
  3785. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+208, test_dir, libc.UintptrFromInt32(0)))
  3786. } else {
  3787. d = XIA__FcStrCopyFilename(tls, test_dir)
  3788. }
  3789. if libc.Xaccess(tls, d, int32(m_W_OK)) == 0 {
  3790. cache_dir = XIA__FcStrCopyFilename(tls, d)
  3791. break
  3792. } else {
  3793. /*
  3794. * If the directory doesn't exist, try to create it
  3795. */
  3796. if libc.Xaccess(tls, d, m_F_OK) == -int32(1) {
  3797. if XFcMakeDirectory(tls, d) != 0 {
  3798. cache_dir = XIA__FcStrCopyFilename(tls, d)
  3799. /* Create CACHEDIR.TAG */
  3800. XFcDirCacheCreateTagFile(tls, d)
  3801. break
  3802. }
  3803. } else {
  3804. if libc.Xchmod(tls, d, uint32(0755)) == 0 {
  3805. cache_dir = XIA__FcStrCopyFilename(tls, d)
  3806. /* Try to create CACHEDIR.TAG too */
  3807. XFcDirCacheCreateTagFile(tls, d)
  3808. break
  3809. }
  3810. }
  3811. }
  3812. }
  3813. if d != 0 {
  3814. XIA__FcStrFree(tls, d)
  3815. }
  3816. XIA__FcStrListDone(tls, list)
  3817. if !(cache_dir != 0) {
  3818. return m_FcFalse
  3819. }
  3820. if !(_FcDirCacheBasenameUUID(tls, dir, bp, config) != 0) {
  3821. _FcDirCacheBasenameMD5(tls, dir, bp)
  3822. }
  3823. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+208, bp, libc.UintptrFromInt32(0)))
  3824. XIA__FcStrFree(tls, cache_dir)
  3825. if !(cache_hashed != 0) {
  3826. return m_FcFalse
  3827. }
  3828. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3829. libc.Xprintf(tls, __ccgo_ts+482, libc.VaList(bp+208, dir, cache_hashed))
  3830. }
  3831. atomic = XIA__FcAtomicCreate(tls, cache_hashed)
  3832. if !(atomic != 0) {
  3833. goto bail1
  3834. }
  3835. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  3836. goto bail3
  3837. }
  3838. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT)|libc.Int32FromInt32(m_O_BINARY), libc.VaList(bp+208, int32(0666)))
  3839. if fd == -int32(1) {
  3840. goto bail4
  3841. }
  3842. /* Temporarily switch magic to MMAP while writing to file */
  3843. magic = (*TFcCache)(unsafe.Pointer(cache)).Fmagic
  3844. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  3845. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_MMAP1)
  3846. }
  3847. /*
  3848. * Write cache contents to file
  3849. */
  3850. written = int32(libc.Xwrite(tls, fd, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)))
  3851. /* Switch magic back */
  3852. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  3853. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = magic
  3854. }
  3855. if int64(written) != (*TFcCache)(unsafe.Pointer(cache)).Fsize {
  3856. libc.Xperror(tls, __ccgo_ts+521)
  3857. goto bail5
  3858. }
  3859. libc.Xclose(tls, fd)
  3860. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  3861. goto bail4
  3862. }
  3863. /* If the file is small, update the cache chain entry such that the
  3864. * new cache file is not read again. If it's large, we don't do that
  3865. * such that we reload it, using mmap, which is shared across processes.
  3866. */
  3867. if (*TFcCache)(unsafe.Pointer(cache)).Fsize < int64(m_FC_CACHE_MIN_MMAP) && XFcStat(tls, cache_hashed, bp+56) != 0 {
  3868. _lock_cache(tls)
  3869. v2 = _FcCacheFindByAddrUnlocked(tls, cache)
  3870. skip = v2
  3871. if v2 != 0 {
  3872. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_dev = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_dev
  3873. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_ino = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_ino
  3874. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_sec
  3875. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime_nano = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_nsec
  3876. }
  3877. _unlock_cache(tls)
  3878. }
  3879. XIA__FcStrFree(tls, cache_hashed)
  3880. XIA__FcAtomicUnlock(tls, atomic)
  3881. XIA__FcAtomicDestroy(tls, atomic)
  3882. return int32(m_FcTrue)
  3883. goto bail5
  3884. bail5:
  3885. ;
  3886. libc.Xclose(tls, fd)
  3887. goto bail4
  3888. bail4:
  3889. ;
  3890. XIA__FcAtomicUnlock(tls, atomic)
  3891. goto bail3
  3892. bail3:
  3893. ;
  3894. XIA__FcAtomicDestroy(tls, atomic)
  3895. goto bail1
  3896. bail1:
  3897. ;
  3898. XIA__FcStrFree(tls, cache_hashed)
  3899. return m_FcFalse
  3900. }
  3901. func XIA__FcDirCacheClean(tls *libc.TLS, cache_dir uintptr, verbose TFcBool) (r TFcBool) {
  3902. bp := tls.Alloc(176)
  3903. defer tls.Free(176)
  3904. var cache, d, dir, ent, file_name, s, sysroot, target_dir, v1, v2 uintptr
  3905. var remove, ret TFcBool
  3906. var _ /* target_stat at bp+0 */ Tstat
  3907. _, _, _, _, _, _, _, _, _, _, _, _ = cache, d, dir, ent, file_name, remove, ret, s, sysroot, target_dir, v1, v2
  3908. ret = int32(m_FcTrue)
  3909. /* FIXME: this API needs to support non-current FcConfig */
  3910. sysroot = XIA__FcConfigGetSysRoot(tls, libc.UintptrFromInt32(0))
  3911. if sysroot != 0 {
  3912. dir = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, cache_dir, libc.UintptrFromInt32(0)))
  3913. } else {
  3914. dir = XIA__FcStrCopyFilename(tls, cache_dir)
  3915. }
  3916. if !(dir != 0) {
  3917. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+533, libc.VaList(bp+152, cache_dir))
  3918. return m_FcFalse
  3919. }
  3920. if libc.Xaccess(tls, dir, int32(m_W_OK)) != 0 {
  3921. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3922. if libc.Xaccess(tls, dir, m_F_OK) == 0 {
  3923. v1 = __ccgo_ts + 570
  3924. } else {
  3925. v1 = __ccgo_ts + 581
  3926. }
  3927. libc.Xprintf(tls, __ccgo_ts+594, libc.VaList(bp+152, dir, v1))
  3928. }
  3929. goto bail0
  3930. }
  3931. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3932. libc.Xprintf(tls, __ccgo_ts+631, libc.VaList(bp+152, dir))
  3933. }
  3934. d = libc.Xopendir(tls, dir)
  3935. if !(d != 0) {
  3936. libc.Xperror(tls, dir)
  3937. ret = m_FcFalse
  3938. goto bail0
  3939. }
  3940. for {
  3941. v2 = libc.Xreaddir(tls, d)
  3942. ent = v2
  3943. if !(v2 != 0) {
  3944. break
  3945. }
  3946. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(ent + 19))) == int32('.') {
  3947. continue
  3948. }
  3949. /* skip cache files for different architectures and */
  3950. /* files which are not cache files at all */
  3951. if libc.Xstrlen(tls, ent+19) != uint64(32)+libc.Xstrlen(tls, __ccgo_ts+179) || libc.Xstrcmp(tls, ent+19+uintptr(32), __ccgo_ts+179) != 0 {
  3952. continue
  3953. }
  3954. file_name = XFcStrBuildFilename(tls, dir, libc.VaList(bp+152, ent+19, libc.UintptrFromInt32(0)))
  3955. if !(file_name != 0) {
  3956. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+661, libc.VaList(bp+152, dir))
  3957. ret = m_FcFalse
  3958. break
  3959. }
  3960. remove = m_FcFalse
  3961. cache = XIA__FcDirCacheLoadFile(tls, file_name, libc.UintptrFromInt32(0))
  3962. if !(cache != 0) {
  3963. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3964. libc.Xprintf(tls, __ccgo_ts+703, libc.VaList(bp+152, dir, ent+19))
  3965. }
  3966. remove = int32(m_FcTrue)
  3967. } else {
  3968. target_dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  3969. if sysroot != 0 {
  3970. s = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, target_dir, libc.UintptrFromInt32(0)))
  3971. } else {
  3972. s = libc.Xstrdup(tls, target_dir)
  3973. }
  3974. if libc.Xstat(tls, s, bp) < 0 {
  3975. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3976. libc.Xprintf(tls, __ccgo_ts+731, libc.VaList(bp+152, dir, ent+19, s))
  3977. }
  3978. remove = int32(m_FcTrue)
  3979. }
  3980. XIA__FcDirCacheUnload(tls, cache)
  3981. XIA__FcStrFree(tls, s)
  3982. }
  3983. if remove != 0 {
  3984. if libc.Xunlink(tls, file_name) < 0 {
  3985. libc.Xperror(tls, file_name)
  3986. ret = m_FcFalse
  3987. }
  3988. }
  3989. XIA__FcStrFree(tls, file_name)
  3990. }
  3991. libc.Xclosedir(tls, d)
  3992. goto bail0
  3993. bail0:
  3994. ;
  3995. XIA__FcStrFree(tls, dir)
  3996. return ret
  3997. }
  3998. var XFcDirCacheClean = XIA__FcDirCacheClean
  3999. func XFcDirCacheLock(tls *libc.TLS, dir uintptr, config uintptr) (r int32) {
  4000. bp := tls.Alloc(128)
  4001. defer tls.Free(128)
  4002. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  4003. var fd int32
  4004. var _ /* cache_base at bp+0 */ [52]TFcChar8
  4005. var _ /* fl at bp+56 */ Tflock
  4006. _, _, _, _, _, _ = cache_dir, cache_hashed, fd, list, sysroot, v1
  4007. cache_hashed = libc.UintptrFromInt32(0)
  4008. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4009. fd = -int32(1)
  4010. if !(_FcDirCacheBasenameUUID(tls, dir, bp, config) != 0) {
  4011. _FcDirCacheBasenameMD5(tls, dir, bp)
  4012. }
  4013. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4014. if !(list != 0) {
  4015. return -int32(1)
  4016. }
  4017. for {
  4018. v1 = XIA__FcStrListNext(tls, list)
  4019. cache_dir = v1
  4020. if !(v1 != 0) {
  4021. break
  4022. }
  4023. if sysroot != 0 {
  4024. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+96, cache_dir, bp, libc.UintptrFromInt32(0)))
  4025. } else {
  4026. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+96, bp, libc.UintptrFromInt32(0)))
  4027. }
  4028. if !(cache_hashed != 0) {
  4029. break
  4030. }
  4031. fd = XFcOpen(tls, cache_hashed, int32(m_O_RDWR), 0)
  4032. XIA__FcStrFree(tls, cache_hashed)
  4033. /* No caches in that directory. simply retry with another one */
  4034. if fd != -int32(1) {
  4035. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_type = int16(m_F_WRLCK)
  4036. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_whence = 0
  4037. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_start = 0
  4038. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_len = 0
  4039. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_pid = libc.Xgetpid(tls)
  4040. if libc.Xfcntl(tls, fd, int32(m_F_SETLKW), libc.VaList(bp+96, bp+56)) == -int32(1) {
  4041. goto bail
  4042. }
  4043. break
  4044. }
  4045. }
  4046. XIA__FcStrListDone(tls, list)
  4047. return fd
  4048. goto bail
  4049. bail:
  4050. ;
  4051. XIA__FcStrListDone(tls, list)
  4052. if fd != -int32(1) {
  4053. libc.Xclose(tls, fd)
  4054. }
  4055. return -int32(1)
  4056. }
  4057. func XFcDirCacheUnlock(tls *libc.TLS, fd int32) {
  4058. bp := tls.Alloc(48)
  4059. defer tls.Free(48)
  4060. var _ /* fl at bp+0 */ Tflock
  4061. if fd != -int32(1) {
  4062. (*(*Tflock)(unsafe.Pointer(bp))).Fl_type = int16(m_F_UNLCK)
  4063. (*(*Tflock)(unsafe.Pointer(bp))).Fl_whence = 0
  4064. (*(*Tflock)(unsafe.Pointer(bp))).Fl_start = 0
  4065. (*(*Tflock)(unsafe.Pointer(bp))).Fl_len = 0
  4066. (*(*Tflock)(unsafe.Pointer(bp))).Fl_pid = libc.Xgetpid(tls)
  4067. libc.Xfcntl(tls, fd, int32(m_F_SETLK), libc.VaList(bp+40, bp))
  4068. libc.Xclose(tls, fd)
  4069. }
  4070. }
  4071. /*
  4072. * Hokey little macro trick to permit the definitions of C functions
  4073. * with the same name as CPP macros
  4074. */
  4075. func XFcCacheDir(tls *libc.TLS, c uintptr) (r uintptr) {
  4076. return uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fdir)
  4077. }
  4078. func XIA__FcCacheCopySet(tls *libc.TLS, c uintptr) (r uintptr) {
  4079. var font, new1, old, v2, v3 uintptr
  4080. var i int32
  4081. _, _, _, _, _, _ = font, i, new1, old, v2, v3
  4082. old = uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset)
  4083. new1 = XIA__FcFontSetCreate(tls)
  4084. if !(new1 != 0) {
  4085. return libc.UintptrFromInt32(0)
  4086. }
  4087. i = 0
  4088. for {
  4089. if !(i < (*TFcFontSet)(unsafe.Pointer(old)).Fnfont) {
  4090. break
  4091. }
  4092. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  4093. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  4094. v3 = uintptr(int64(old) + int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  4095. } else {
  4096. v3 = (*TFcFontSet)(unsafe.Pointer(old)).Ffonts
  4097. }
  4098. v2 = uintptr(int64(old) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  4099. } else {
  4100. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(old)).Ffonts + uintptr(i)*8))
  4101. }
  4102. font = v2
  4103. XIA__FcPatternReference(tls, font)
  4104. if !(XIA__FcFontSetAdd(tls, new1, font) != 0) {
  4105. XIA__FcFontSetDestroy(tls, new1)
  4106. return libc.UintptrFromInt32(0)
  4107. }
  4108. goto _1
  4109. _1:
  4110. ;
  4111. i++
  4112. }
  4113. return new1
  4114. }
  4115. var XFcCacheCopySet = XIA__FcCacheCopySet
  4116. func XFcCacheSubdir(tls *libc.TLS, c uintptr, i int32) (r uintptr) {
  4117. return uintptr(int64(uintptr(int64(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs) + uintptr(i)*8)))
  4118. }
  4119. func XIA__FcCacheNumSubdir(tls *libc.TLS, c uintptr) (r int32) {
  4120. return (*TFcCache)(unsafe.Pointer(c)).Fdirs_count
  4121. }
  4122. var XFcCacheNumSubdir = XIA__FcCacheNumSubdir
  4123. func XIA__FcCacheNumFont(tls *libc.TLS, c uintptr) (r int32) {
  4124. return (*TFcFontSet)(unsafe.Pointer(uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset))).Fnfont
  4125. }
  4126. var XFcCacheNumFont = XIA__FcCacheNumFont
  4127. /*
  4128. * This code implements the MD5 message-digest algorithm.
  4129. * The algorithm is due to Ron Rivest. This code was
  4130. * written by Colin Plumb in 1993, no copyright is claimed.
  4131. * This code is in the public domain; do with it what you wish.
  4132. *
  4133. * Equivalent code is available from RSA Data Security, Inc.
  4134. * This code has been tested against that, and is equivalent,
  4135. * except that you don't need to include two pages of legalese
  4136. * with every copy.
  4137. *
  4138. * To compute the message digest of a chunk of bytes, declare an
  4139. * MD5Context structure, pass it to MD5Init, call MD5Update as
  4140. * needed on buffers full of bytes, and then call MD5Final, which
  4141. * will fill a supplied 16-byte array with the digest.
  4142. */
  4143. // C documentation
  4144. //
  4145. // /*
  4146. // * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
  4147. // * initialization constants.
  4148. // */
  4149. func _MD5Init(tls *libc.TLS, ctx uintptr) {
  4150. *(*TFcChar32)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  4151. *(*TFcChar32)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  4152. *(*TFcChar32)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  4153. *(*TFcChar32)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  4154. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = uint32(0)
  4155. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) = uint32(0)
  4156. }
  4157. // C documentation
  4158. //
  4159. // /*
  4160. // * Update context to reflect the concatenation of another buffer full
  4161. // * of bytes.
  4162. // */
  4163. func _MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len1 uint32) {
  4164. var p uintptr
  4165. var t, v1 TFcChar32
  4166. _, _, _ = p, t, v1
  4167. /* Update bitcount */
  4168. t = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4169. v1 = t + len1<<libc.Int32FromInt32(3)
  4170. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = v1
  4171. if v1 < t {
  4172. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))++
  4173. } /* Carry from low to high */
  4174. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) += len1 >> int32(29)
  4175. t = t >> libc.Int32FromInt32(3) & uint32(0x3f) /* Bytes already in shsInfo->data */
  4176. /* Handle any leading odd-sized chunks */
  4177. if t != 0 {
  4178. p = ctx + 24 + uintptr(t)
  4179. t = uint32(64) - t
  4180. if len1 < t {
  4181. libc.Xmemcpy(tls, p, buf, uint64(len1))
  4182. return
  4183. }
  4184. libc.Xmemcpy(tls, p, buf, uint64(t))
  4185. _MD5Transform(tls, ctx, ctx+24)
  4186. buf += uintptr(t)
  4187. len1 -= t
  4188. }
  4189. /* Process data in 64-byte chunks */
  4190. for len1 >= uint32(64) {
  4191. libc.Xmemcpy(tls, ctx+24, buf, uint64(64))
  4192. _MD5Transform(tls, ctx, ctx+24)
  4193. buf += uintptr(64)
  4194. len1 -= uint32(64)
  4195. }
  4196. /* Handle any remaining bytes of data. */
  4197. libc.Xmemcpy(tls, ctx+24, buf, uint64(len1))
  4198. }
  4199. // C documentation
  4200. //
  4201. // /*
  4202. // * Final wrapup - pad to 64-byte boundary with the bit pattern
  4203. // * 1 0* (64-bit count of bits processed, MSB-first)
  4204. // */
  4205. func _MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  4206. var count uint32
  4207. var p, v1 uintptr
  4208. _, _, _ = count, p, v1
  4209. /* Compute number of bytes mod 64 */
  4210. count = *(*TFcChar32)(unsafe.Pointer(ctx + 16)) >> libc.Int32FromInt32(3) & uint32(0x3F)
  4211. /* Set the first char of padding to 0x80. This is safe since there is
  4212. always at least one byte free */
  4213. p = ctx + 24 + uintptr(count)
  4214. v1 = p
  4215. p++
  4216. *(*uint8)(unsafe.Pointer(v1)) = uint8(0x80)
  4217. /* Bytes of padding needed to make 64 bytes */
  4218. count = libc.Uint32FromInt32(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) - count
  4219. /* Pad out to 56 mod 64 */
  4220. if count < uint32(8) {
  4221. /* Two lots of padding: Pad the first block to 64 bytes */
  4222. libc.Xmemset(tls, p, 0, uint64(count))
  4223. _MD5Transform(tls, ctx, ctx+24)
  4224. /* Now fill the next block with 56 bytes */
  4225. libc.Xmemset(tls, ctx+24, 0, uint64(56))
  4226. } else {
  4227. /* Pad block to 56 bytes */
  4228. libc.Xmemset(tls, p, 0, uint64(count-uint32(8)))
  4229. }
  4230. /* Append length in bits and transform */
  4231. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 14*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4232. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 15*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))
  4233. _MD5Transform(tls, ctx, ctx+24)
  4234. libc.Xmemcpy(tls, digest, ctx, uint64(16))
  4235. libc.Xmemset(tls, ctx, 0, uint64(88)) /* In case it's sensitive */
  4236. }
  4237. /* The four core functions - F1 is optimized somewhat */
  4238. /* #define F1(x, y, z) (x & y | ~x & z) */
  4239. /* This is the central step in the MD5 algorithm. */
  4240. // C documentation
  4241. //
  4242. // /*
  4243. // * The core of the MD5 algorithm, this alters an existing MD5 hash to
  4244. // * reflect the addition of 16 longwords of new data. MD5Update blocks
  4245. // * the data and converts bytes into longwords for this routine.
  4246. // */
  4247. func _MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
  4248. var a, b, c, d TFcChar32
  4249. _, _, _, _ = a, b, c, d
  4250. a = *(*TFcChar32)(unsafe.Pointer(buf))
  4251. b = *(*TFcChar32)(unsafe.Pointer(buf + 1*4))
  4252. c = *(*TFcChar32)(unsafe.Pointer(buf + 2*4))
  4253. d = *(*TFcChar32)(unsafe.Pointer(buf + 3*4))
  4254. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xd76aa478)
  4255. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4256. a += b
  4257. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xe8c7b756)
  4258. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4259. d += a
  4260. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db)
  4261. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4262. c += d
  4263. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xc1bdceee)
  4264. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4265. b += c
  4266. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf57c0faf)
  4267. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4268. a += b
  4269. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a)
  4270. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4271. d += a
  4272. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa8304613)
  4273. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4274. c += d
  4275. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xfd469501)
  4276. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4277. b += c
  4278. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8)
  4279. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4280. a += b
  4281. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x8b44f7af)
  4282. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4283. d += a
  4284. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffff5bb1)
  4285. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4286. c += d
  4287. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x895cd7be)
  4288. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4289. b += c
  4290. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122)
  4291. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4292. a += b
  4293. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xfd987193)
  4294. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4295. d += a
  4296. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xa679438e)
  4297. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4298. c += d
  4299. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821)
  4300. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4301. b += c
  4302. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xf61e2562)
  4303. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4304. a += b
  4305. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xc040b340)
  4306. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4307. d += a
  4308. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51)
  4309. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4310. c += d
  4311. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xe9b6c7aa)
  4312. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4313. b += c
  4314. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xd62f105d)
  4315. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4316. a += b
  4317. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453)
  4318. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4319. d += a
  4320. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xd8a1e681)
  4321. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4322. c += d
  4323. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xe7d3fbc8)
  4324. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4325. b += c
  4326. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6)
  4327. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4328. a += b
  4329. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xc33707d6)
  4330. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4331. d += a
  4332. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xf4d50d87)
  4333. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4334. c += d
  4335. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed)
  4336. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4337. b += c
  4338. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xa9e3e905)
  4339. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4340. a += b
  4341. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xfcefa3f8)
  4342. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4343. d += a
  4344. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9)
  4345. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4346. c += d
  4347. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x8d2a4c8a)
  4348. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4349. b += c
  4350. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfffa3942)
  4351. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4352. a += b
  4353. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x8771f681)
  4354. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4355. d += a
  4356. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122)
  4357. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4358. c += d
  4359. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xfde5380c)
  4360. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4361. b += c
  4362. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xa4beea44)
  4363. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4364. a += b
  4365. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9)
  4366. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4367. d += a
  4368. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xf6bb4b60)
  4369. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4370. c += d
  4371. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xbebfbc70)
  4372. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4373. b += c
  4374. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6)
  4375. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4376. a += b
  4377. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xeaa127fa)
  4378. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4379. d += a
  4380. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xd4ef3085)
  4381. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4382. c += d
  4383. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05)
  4384. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4385. b += c
  4386. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xd9d4d039)
  4387. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4388. a += b
  4389. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0xe6db99e5)
  4390. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4391. d += a
  4392. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8)
  4393. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4394. c += d
  4395. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xc4ac5665)
  4396. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4397. b += c
  4398. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xf4292244)
  4399. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4400. a += b
  4401. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97)
  4402. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4403. d += a
  4404. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xab9423a7)
  4405. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4406. c += d
  4407. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfc93a039)
  4408. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4409. b += c
  4410. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3)
  4411. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4412. a += b
  4413. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0x8f0ccc92)
  4414. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4415. d += a
  4416. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffeff47d)
  4417. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4418. c += d
  4419. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0x85845dd1)
  4420. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4421. b += c
  4422. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f)
  4423. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4424. a += b
  4425. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xfe2ce6e0)
  4426. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4427. d += a
  4428. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa3014314)
  4429. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4430. c += d
  4431. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1)
  4432. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4433. b += c
  4434. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf7537e82)
  4435. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4436. a += b
  4437. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0xbd3af235)
  4438. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4439. d += a
  4440. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb)
  4441. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4442. c += d
  4443. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xeb86d391)
  4444. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4445. b += c
  4446. *(*TFcChar32)(unsafe.Pointer(buf)) += a
  4447. *(*TFcChar32)(unsafe.Pointer(buf + 1*4)) += b
  4448. *(*TFcChar32)(unsafe.Pointer(buf + 2*4)) += c
  4449. *(*TFcChar32)(unsafe.Pointer(buf + 3*4)) += d
  4450. }
  4451. func XFcDirCacheCreateTagFile(tls *libc.TLS, cache_dir uintptr) (r TFcBool) {
  4452. bp := tls.Alloc(32)
  4453. defer tls.Free(32)
  4454. var atomic, cache_tag, fp uintptr
  4455. var fd int32
  4456. var ret TFcBool
  4457. _, _, _, _, _ = atomic, cache_tag, fd, fp, ret
  4458. ret = m_FcFalse
  4459. if !(cache_dir != 0) {
  4460. return m_FcFalse
  4461. }
  4462. if libc.Xaccess(tls, cache_dir, int32(m_W_OK)) == 0 {
  4463. /* Create CACHEDIR.TAG */
  4464. cache_tag = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+8, __ccgo_ts+763, libc.UintptrFromInt32(0)))
  4465. if !(cache_tag != 0) {
  4466. return m_FcFalse
  4467. }
  4468. atomic = XIA__FcAtomicCreate(tls, cache_tag)
  4469. if !(atomic != 0) {
  4470. goto bail1
  4471. }
  4472. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  4473. goto bail2
  4474. }
  4475. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+8, int32(0644)))
  4476. if fd == -int32(1) {
  4477. goto bail3
  4478. }
  4479. fp = libc.Xfdopen(tls, fd, __ccgo_ts+776)
  4480. if fp == libc.UintptrFromInt32(0) {
  4481. goto bail3
  4482. }
  4483. libc.Xfwrite(tls, uintptr(unsafe.Pointer(&_cache_tag_contents)), _cache_tag_contents_size, uint64(1), fp)
  4484. libc.Xfclose(tls, fp)
  4485. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  4486. goto bail3
  4487. }
  4488. ret = int32(m_FcTrue)
  4489. goto bail3
  4490. bail3:
  4491. ;
  4492. XIA__FcAtomicUnlock(tls, atomic)
  4493. goto bail2
  4494. bail2:
  4495. ;
  4496. XIA__FcAtomicDestroy(tls, atomic)
  4497. goto bail1
  4498. bail1:
  4499. ;
  4500. XIA__FcStrFree(tls, cache_tag)
  4501. }
  4502. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4503. if ret != 0 {
  4504. libc.Xprintf(tls, __ccgo_ts+779, libc.VaList(bp+8, cache_dir))
  4505. } else {
  4506. libc.Xprintf(tls, __ccgo_ts+807, libc.VaList(bp+8, cache_dir))
  4507. }
  4508. }
  4509. return ret
  4510. }
  4511. var _cache_tag_contents = [201]TFcChar8{'S', 'i', 'g', 'n', 'a', 't', 'u', 'r', 'e', ':', ' ', '8', 'a', '4', '7', '7', 'f', '5', '9', '7', 'd', '2', '8', 'd', '1', '7', '2', '7', '8', '9', 'f', '0', '6', '8', '8', '6', '8', '0', '6', 'b', 'c', '5', '5', 10, '#', ' ', 'T', 'h', 'i', 's', ' ', 'f', 'i', 'l', 'e', ' ', 'i', 's', ' ', 'a', ' ', 'c', 'a', 'c', 'h', 'e', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', ' ', 't', 'a', 'g', ' ', 'c', 'r', 'e', 'a', 't', 'e', 'd', ' ', 'b', 'y', ' ', 'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g', '.', 10, '#', ' ', 'F', 'o', 'r', ' ', 'i', 'n', 'f', 'o', 'r', 'm', 'a', 't', 'i', 'o', 'n', ' ', 'a', 'b', 'o', 'u', 't', ' ', 'c', 'a', 'c', 'h', 'e', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', ' ', 't', 'a', 'g', 's', ',', ' ', 's', 'e', 'e', ':', 10, '#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'h', 't', 't', 'p', ':', '/', '/', 'w', 'w', 'w', '.', 'b', 'r', 'y', 'n', 'o', 's', 'a', 'u', 'r', 'u', 's', '.', 'c', 'o', 'm', '/', 'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r', '/', 10}
  4512. var _cache_tag_contents_size = libc.Uint64FromInt64(201) - libc.Uint64FromInt32(1)
  4513. func XIA__FcCacheCreateTagFile(tls *libc.TLS, config uintptr) {
  4514. bp := tls.Alloc(32)
  4515. defer tls.Free(32)
  4516. var cache_dir, d, list, sysroot, v1 uintptr
  4517. _, _, _, _, _ = cache_dir, d, list, sysroot, v1
  4518. cache_dir = libc.UintptrFromInt32(0)
  4519. d = libc.UintptrFromInt32(0)
  4520. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4521. list = XIA__FcConfigGetCacheDirs(tls, config)
  4522. if !(list != 0) {
  4523. return
  4524. }
  4525. for {
  4526. v1 = XIA__FcStrListNext(tls, list)
  4527. cache_dir = v1
  4528. if !(v1 != 0) {
  4529. break
  4530. }
  4531. if d != 0 {
  4532. XIA__FcStrFree(tls, d)
  4533. }
  4534. if sysroot != 0 {
  4535. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, cache_dir, libc.UintptrFromInt32(0)))
  4536. } else {
  4537. d = XIA__FcStrCopyFilename(tls, cache_dir)
  4538. }
  4539. if XFcDirCacheCreateTagFile(tls, d) != 0 {
  4540. break
  4541. }
  4542. }
  4543. if d != 0 {
  4544. XIA__FcStrFree(tls, d)
  4545. }
  4546. XIA__FcStrListDone(tls, list)
  4547. }
  4548. var XFcCacheCreateTagFile = XIA__FcCacheCreateTagFile
  4549. const m_FC_CACHE_MAGIC_ALLOC2 = 0xFC02FC05
  4550. const m_FC_CACHE_MAGIC_MMAP2 = 0xFC02FC04
  4551. const m_FC_DIR_SEPARATOR_S1 = "/.cache"
  4552. const m_FC_SEARCH_PATH_SEPARATOR1 = 58
  4553. const m_FONTCONFIG_FILE = "fonts.conf"
  4554. const m_INT64_MAX2 = 0x7fffffffffffffff
  4555. const m_LLONG_MAX2 = 0x7fffffffffffffff
  4556. const m___LONG_MAX2 = 0x7fffffffffffffff
  4557. var __fcConfig uintptr /* MT-safe */
  4558. func _FcConfigEnsure(tls *libc.TLS) (r uintptr) {
  4559. var config uintptr
  4560. var v1 int32
  4561. _, _ = config, v1
  4562. goto retry
  4563. retry:
  4564. ;
  4565. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4566. if !(config != 0) {
  4567. config = XIA__FcInitLoadConfigAndFonts(tls)
  4568. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  4569. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  4570. v1 = libc.Int32FromInt32(m_FcTrue)
  4571. } else {
  4572. v1 = m_FcFalse
  4573. }
  4574. if !(v1 != 0) {
  4575. XIA__FcConfigDestroy(tls, config)
  4576. goto retry
  4577. }
  4578. }
  4579. return config
  4580. }
  4581. func _FcHashAsStrIgnoreCase(tls *libc.TLS, data uintptr) (r TFcChar32) {
  4582. return XFcStrHashIgnoreCase(tls, data)
  4583. }
  4584. func _FcCompareAsStr(tls *libc.TLS, v1 uintptr, v2 uintptr) (r int32) {
  4585. return XIA__FcStrCmp(tls, v1, v2)
  4586. }
  4587. func _FcDestroyAsRule(tls *libc.TLS, data uintptr) {
  4588. XFcRuleDestroy(tls, data)
  4589. }
  4590. func _FcDestroyAsRuleSet(tls *libc.TLS, data uintptr) {
  4591. XFcRuleSetDestroy(tls, data)
  4592. }
  4593. func _FcDestroyAsStr(tls *libc.TLS, data uintptr) {
  4594. XIA__FcStrFree(tls, data)
  4595. }
  4596. func XFcConfigInit(tls *libc.TLS) (r TFcBool) {
  4597. var v1 int32
  4598. _ = v1
  4599. if _FcConfigEnsure(tls) != 0 {
  4600. v1 = int32(m_FcTrue)
  4601. } else {
  4602. v1 = m_FcFalse
  4603. }
  4604. return v1
  4605. }
  4606. func XFcConfigFini(tls *libc.TLS) {
  4607. var cfg uintptr
  4608. var v1 int32
  4609. var v2 bool
  4610. _, _, _ = cfg, v1, v2
  4611. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4612. if v2 = cfg != 0; v2 {
  4613. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  4614. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  4615. v1 = libc.Int32FromInt32(m_FcTrue)
  4616. } else {
  4617. v1 = m_FcFalse
  4618. }
  4619. }
  4620. if v2 && v1 != 0 {
  4621. XIA__FcConfigDestroy(tls, cfg)
  4622. }
  4623. }
  4624. func XIA__FcConfigCreate(tls *libc.TLS) (r uintptr) {
  4625. var config uintptr
  4626. var err TFcBool
  4627. var k TFcMatchKind
  4628. var set TFcSetName
  4629. _, _, _, _ = config, err, k, set
  4630. err = m_FcFalse
  4631. config = libc.Xmalloc(tls, uint64(168))
  4632. if !(config != 0) {
  4633. goto bail0
  4634. }
  4635. (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs = XIA__FcStrSetCreate(tls)
  4636. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigDirs != 0) {
  4637. goto bail1
  4638. }
  4639. (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles = XIA__FcStrSetCreate(tls)
  4640. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigFiles != 0) {
  4641. goto bail2
  4642. }
  4643. (*TFcConfig)(unsafe.Pointer(config)).FfontDirs = XIA__FcStrSetCreate(tls)
  4644. if !((*TFcConfig)(unsafe.Pointer(config)).FfontDirs != 0) {
  4645. goto bail3
  4646. }
  4647. (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs = XIA__FcStrSetCreate(tls)
  4648. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs != 0) {
  4649. goto bail4
  4650. }
  4651. (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs = XIA__FcStrSetCreate(tls)
  4652. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs != 0) {
  4653. goto bail5
  4654. }
  4655. (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns = XIA__FcFontSetCreate(tls)
  4656. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns != 0) {
  4657. goto bail6
  4658. }
  4659. (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns = XIA__FcFontSetCreate(tls)
  4660. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns != 0) {
  4661. goto bail7
  4662. }
  4663. (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs = XIA__FcStrSetCreate(tls)
  4664. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0) {
  4665. goto bail8
  4666. }
  4667. k = int32(_FcMatchKindBegin)
  4668. for {
  4669. if !(k < int32(_FcMatchKindEnd)) {
  4670. break
  4671. }
  4672. *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4673. if !(*(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)) != 0) {
  4674. err = int32(m_FcTrue)
  4675. }
  4676. goto _1
  4677. _1:
  4678. ;
  4679. k++
  4680. }
  4681. if err != 0 {
  4682. goto bail9
  4683. }
  4684. (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects = 0
  4685. set = int32(_FcSetSystem)
  4686. for {
  4687. if !(set <= int32(_FcSetApplication)) {
  4688. break
  4689. }
  4690. *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)) = uintptr(0)
  4691. goto _2
  4692. _2:
  4693. ;
  4694. set++
  4695. }
  4696. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = libc.Xtime(tls, uintptr(0))
  4697. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = int32(30)
  4698. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = libc.UintptrFromInt32(0)
  4699. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = libc.UintptrFromInt32(0)
  4700. (*TFcConfig)(unsafe.Pointer(config)).FrulesetList = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4701. if !((*TFcConfig)(unsafe.Pointer(config)).FrulesetList != 0) {
  4702. goto bail9
  4703. }
  4704. (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles = XIA__FcStrSetCreate(tls)
  4705. if !((*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles != 0) {
  4706. goto bail10
  4707. }
  4708. (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table = XFcHashTableCreate(tls, __ccgo_fp(_FcHashAsStrIgnoreCase), __ccgo_fp(_FcCompareAsStr), __ccgo_fp(XFcHashStrCopy), __ccgo_fp(XFcHashUuidCopy), __ccgo_fp(_FcDestroyAsStr), __ccgo_fp(XFcHashUuidFree))
  4709. (*TFcRef)(unsafe.Pointer(config + 124)).Fcount = int32(1)
  4710. return config
  4711. goto bail10
  4712. bail10:
  4713. ;
  4714. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  4715. goto bail9
  4716. bail9:
  4717. ;
  4718. k = int32(_FcMatchKindBegin)
  4719. for {
  4720. if !(k < int32(_FcMatchKindEnd)) {
  4721. break
  4722. }
  4723. if *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)) != 0 {
  4724. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)))
  4725. }
  4726. goto _3
  4727. _3:
  4728. ;
  4729. k++
  4730. }
  4731. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4732. goto bail8
  4733. bail8:
  4734. ;
  4735. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  4736. goto bail7
  4737. bail7:
  4738. ;
  4739. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  4740. goto bail6
  4741. bail6:
  4742. ;
  4743. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  4744. goto bail5
  4745. bail5:
  4746. ;
  4747. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  4748. goto bail4
  4749. bail4:
  4750. ;
  4751. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  4752. goto bail3
  4753. bail3:
  4754. ;
  4755. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  4756. goto bail2
  4757. bail2:
  4758. ;
  4759. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  4760. goto bail1
  4761. bail1:
  4762. ;
  4763. libc.Xfree(tls, config)
  4764. goto bail0
  4765. bail0:
  4766. ;
  4767. return uintptr(0)
  4768. return r
  4769. }
  4770. var XFcConfigCreate = XIA__FcConfigCreate
  4771. func _FcConfigNewestFile(tls *libc.TLS, files uintptr) (r TFcFileTime) {
  4772. bp := tls.Alloc(144)
  4773. defer tls.Free(144)
  4774. var file, list, v1 uintptr
  4775. var newest TFcFileTime
  4776. var _ /* statb at bp+0 */ Tstat
  4777. _, _, _, _ = file, list, newest, v1
  4778. list = XIA__FcStrListCreate(tls, files)
  4779. newest = TFcFileTime{}
  4780. if list != 0 {
  4781. for {
  4782. v1 = XIA__FcStrListNext(tls, list)
  4783. file = v1
  4784. if !(v1 != 0) {
  4785. break
  4786. }
  4787. if XFcStat(tls, file, bp) == 0 {
  4788. if !(newest.Fset != 0) || (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec-newest.Ftime > 0 {
  4789. newest.Fset = int32(m_FcTrue)
  4790. newest.Ftime = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec
  4791. }
  4792. }
  4793. }
  4794. XIA__FcStrListDone(tls, list)
  4795. }
  4796. return newest
  4797. }
  4798. func XIA__FcConfigUptoDate(tls *libc.TLS, config uintptr) (r TFcBool) {
  4799. var config_dir_time, config_time, font_time TFcFileTime
  4800. var now Ttime_t
  4801. _, _, _, _ = config_dir_time, config_time, font_time, now
  4802. now = libc.Xtime(tls, uintptr(0))
  4803. if !(config != 0) {
  4804. config = XIA__FcConfigGetCurrent(tls)
  4805. if !(config != 0) {
  4806. return m_FcFalse
  4807. }
  4808. }
  4809. config_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  4810. config_dir_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  4811. font_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  4812. if config_time.Fset != 0 && config_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 || config_dir_time.Fset != 0 && config_dir_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 || font_time.Fset != 0 && font_time.Ftime-(*TFcConfig)(unsafe.Pointer(config)).FrescanTime > 0 {
  4813. /* We need to check for potential clock problems here (OLPC ticket #6046) */
  4814. if config_time.Fset != 0 && config_time.Ftime-now > 0 || config_dir_time.Fset != 0 && config_dir_time.Ftime-now > 0 || font_time.Fset != 0 && font_time.Ftime-now > 0 {
  4815. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+844, 0)
  4816. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  4817. return int32(m_FcTrue)
  4818. } else {
  4819. return m_FcFalse
  4820. }
  4821. }
  4822. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  4823. return int32(m_FcTrue)
  4824. }
  4825. var XFcConfigUptoDate = XIA__FcConfigUptoDate
  4826. func XFcConfigAllocExpr(tls *libc.TLS, config uintptr) (r uintptr) {
  4827. var new_page, v1, v2 uintptr
  4828. _, _, _ = new_page, v1, v2
  4829. if !((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool != 0) || (*TFcExprPage)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool)).Fnext == (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool+8176 {
  4830. new_page = libc.Xmalloc(tls, uint64(8176))
  4831. if !(new_page != 0) {
  4832. return uintptr(0)
  4833. }
  4834. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext_page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  4835. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext = new_page + 16
  4836. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = new_page
  4837. }
  4838. v2 = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool + 8
  4839. v1 = *(*uintptr)(unsafe.Pointer(v2))
  4840. *(*uintptr)(unsafe.Pointer(v2)) += 24
  4841. return v1
  4842. }
  4843. func XIA__FcConfigReference(tls *libc.TLS, config uintptr) (r uintptr) {
  4844. var p2 uintptr
  4845. _ = p2
  4846. if !(config != 0) {
  4847. config = XIA__FcConfigGetCurrent(tls)
  4848. if !(config != 0) {
  4849. return uintptr(0)
  4850. }
  4851. }
  4852. p2 = config + 124
  4853. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  4854. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  4855. goto _1
  4856. _1:
  4857. ;
  4858. return config
  4859. }
  4860. var XFcConfigReference = XIA__FcConfigReference
  4861. func XIA__FcConfigDestroy(tls *libc.TLS, config uintptr) {
  4862. var k TFcMatchKind
  4863. var next, page, p3 uintptr
  4864. var set TFcSetName
  4865. var v1 int32
  4866. _, _, _, _, _, _ = k, next, page, set, v1, p3
  4867. p3 = config + 124
  4868. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  4869. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  4870. goto _2
  4871. _2:
  4872. if v1 != int32(1) {
  4873. return
  4874. }
  4875. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == config {
  4876. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  4877. _ = libc.Int32FromInt32(m_FcTrue)
  4878. }
  4879. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  4880. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  4881. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4882. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  4883. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  4884. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  4885. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  4886. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  4887. k = int32(_FcMatchKindBegin)
  4888. for {
  4889. if !(k < int32(_FcMatchKindEnd)) {
  4890. break
  4891. }
  4892. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)))
  4893. goto _5
  4894. _5:
  4895. ;
  4896. k++
  4897. }
  4898. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  4899. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles)
  4900. set = int32(_FcSetSystem)
  4901. for {
  4902. if !(set <= int32(_FcSetApplication)) {
  4903. break
  4904. }
  4905. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)) != 0 {
  4906. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)))
  4907. }
  4908. goto _6
  4909. _6:
  4910. ;
  4911. set++
  4912. }
  4913. page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  4914. for page != 0 {
  4915. next = (*TFcExprPage)(unsafe.Pointer(page)).Fnext_page
  4916. libc.Xfree(tls, page)
  4917. page = next
  4918. }
  4919. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  4920. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  4921. }
  4922. XFcHashTableDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table)
  4923. libc.Xfree(tls, config)
  4924. }
  4925. var XFcConfigDestroy = XIA__FcConfigDestroy
  4926. /*
  4927. * Add cache to configuration, adding fonts and directories
  4928. */
  4929. func XFcConfigAddCache(tls *libc.TLS, config uintptr, cache uintptr, set TFcSetName, dirSet uintptr, forDir uintptr) (r TFcBool) {
  4930. bp := tls.Alloc(32)
  4931. defer tls.Free(32)
  4932. var base, dir, dirs, font, fs, relocated_font_file, s, slash, v2, v3, v5 uintptr
  4933. var i, nref int32
  4934. var relocated TFcBool
  4935. var _ /* font_file at bp+0 */ uintptr
  4936. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, font, fs, i, nref, relocated, relocated_font_file, s, slash, v2, v3, v5
  4937. relocated = m_FcFalse
  4938. if libc.Xstrcmp(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), forDir) != 0 {
  4939. relocated = int32(m_FcTrue)
  4940. }
  4941. /*
  4942. * Add fonts
  4943. */
  4944. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  4945. if fs != 0 {
  4946. nref = 0
  4947. i = 0
  4948. for {
  4949. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  4950. break
  4951. }
  4952. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  4953. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  4954. v3 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  4955. } else {
  4956. v3 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  4957. }
  4958. v2 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  4959. } else {
  4960. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  4961. }
  4962. font = v2
  4963. relocated_font_file = libc.UintptrFromInt32(0)
  4964. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) {
  4965. if relocated != 0 {
  4966. slash = XFcStrLastSlash(tls, *(*uintptr)(unsafe.Pointer(bp)))
  4967. relocated_font_file = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, slash+uintptr(1), libc.UintptrFromInt32(0)))
  4968. *(*uintptr)(unsafe.Pointer(bp)) = relocated_font_file
  4969. }
  4970. /*
  4971. * Check to see if font is banned by filename
  4972. */
  4973. if !(XFcConfigAcceptFilename(tls, config, *(*uintptr)(unsafe.Pointer(bp))) != 0) {
  4974. libc.Xfree(tls, relocated_font_file)
  4975. goto _1
  4976. }
  4977. }
  4978. /*
  4979. * Check to see if font is banned by pattern
  4980. */
  4981. if !(XFcConfigAcceptFont(tls, config, font) != 0) {
  4982. libc.Xfree(tls, relocated_font_file)
  4983. goto _1
  4984. }
  4985. if relocated_font_file != 0 {
  4986. font = XFcPatternCacheRewriteFile(tls, font, cache, relocated_font_file)
  4987. libc.Xfree(tls, relocated_font_file)
  4988. }
  4989. if XIA__FcFontSetAdd(tls, *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)), font) != 0 {
  4990. nref++
  4991. }
  4992. goto _1
  4993. _1:
  4994. ;
  4995. i++
  4996. }
  4997. XFcDirCacheReference(tls, cache, nref)
  4998. }
  4999. /*
  5000. * Add directories
  5001. */
  5002. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  5003. if dirs != 0 {
  5004. i = 0
  5005. for {
  5006. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  5007. break
  5008. }
  5009. dir = uintptr(int64(uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs) + uintptr(i)*8)))
  5010. s = libc.UintptrFromInt32(0)
  5011. if relocated != 0 {
  5012. base = XIA__FcStrBasename(tls, dir)
  5013. v5 = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, base, libc.UintptrFromInt32(0)))
  5014. s = v5
  5015. dir = v5
  5016. XIA__FcStrFree(tls, base)
  5017. }
  5018. if XFcConfigAcceptFilename(tls, config, dir) != 0 {
  5019. XIA__FcStrSetAddFilename(tls, dirSet, dir)
  5020. }
  5021. if s != 0 {
  5022. XIA__FcStrFree(tls, s)
  5023. }
  5024. goto _4
  5025. _4:
  5026. ;
  5027. i++
  5028. }
  5029. }
  5030. return int32(m_FcTrue)
  5031. }
  5032. func _FcConfigAddDirList(tls *libc.TLS, config uintptr, set TFcSetName, dirSet uintptr) (r TFcBool) {
  5033. bp := tls.Alloc(16)
  5034. defer tls.Free(16)
  5035. var cache, dir, dirlist, v1 uintptr
  5036. _, _, _, _ = cache, dir, dirlist, v1
  5037. dirlist = XIA__FcStrListCreate(tls, dirSet)
  5038. if !(dirlist != 0) {
  5039. return m_FcFalse
  5040. }
  5041. for {
  5042. v1 = XIA__FcStrListNext(tls, dirlist)
  5043. dir = v1
  5044. if !(v1 != 0) {
  5045. break
  5046. }
  5047. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5048. libc.Xprintf(tls, __ccgo_ts+932, libc.VaList(bp+8, dir))
  5049. }
  5050. cache = XIA__FcDirCacheRead(tls, dir, m_FcFalse, config)
  5051. if !(cache != 0) {
  5052. continue
  5053. }
  5054. XFcConfigAddCache(tls, config, cache, set, dirSet, dir)
  5055. XIA__FcDirCacheUnload(tls, cache)
  5056. }
  5057. XIA__FcStrListDone(tls, dirlist)
  5058. return int32(m_FcTrue)
  5059. }
  5060. /*
  5061. * Scan the current list of directories in the configuration
  5062. * and build the set of available fonts.
  5063. */
  5064. func XIA__FcConfigBuildFonts(tls *libc.TLS, config uintptr) (r TFcBool) {
  5065. var fonts uintptr
  5066. _ = fonts
  5067. if !(config != 0) {
  5068. config = XIA__FcConfigGetCurrent(tls)
  5069. if !(config != 0) {
  5070. return m_FcFalse
  5071. }
  5072. }
  5073. fonts = XIA__FcFontSetCreate(tls)
  5074. if !(fonts != 0) {
  5075. return m_FcFalse
  5076. }
  5077. XFcConfigSetFonts(tls, config, fonts, int32(_FcSetSystem))
  5078. if !(_FcConfigAddDirList(tls, config, int32(_FcSetSystem), (*TFcConfig)(unsafe.Pointer(config)).FfontDirs) != 0) {
  5079. return m_FcFalse
  5080. }
  5081. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5082. XIA__FcFontSetPrint(tls, fonts)
  5083. }
  5084. return int32(m_FcTrue)
  5085. }
  5086. var XFcConfigBuildFonts = XIA__FcConfigBuildFonts
  5087. func XIA__FcConfigSetCurrent(tls *libc.TLS, config uintptr) (r TFcBool) {
  5088. var cfg uintptr
  5089. var v1 int32
  5090. _, _ = cfg, v1
  5091. goto retry
  5092. retry:
  5093. ;
  5094. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  5095. if config == cfg {
  5096. return int32(m_FcTrue)
  5097. }
  5098. if config != 0 && !(*(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8)) != 0) {
  5099. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  5100. return m_FcFalse
  5101. }
  5102. }
  5103. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  5104. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  5105. v1 = libc.Int32FromInt32(m_FcTrue)
  5106. } else {
  5107. v1 = m_FcFalse
  5108. }
  5109. if !(v1 != 0) {
  5110. goto retry
  5111. }
  5112. XIA__FcConfigReference(tls, config)
  5113. if cfg != 0 {
  5114. XIA__FcConfigDestroy(tls, cfg)
  5115. }
  5116. return int32(m_FcTrue)
  5117. }
  5118. var XFcConfigSetCurrent = XIA__FcConfigSetCurrent
  5119. func XIA__FcConfigGetCurrent(tls *libc.TLS) (r uintptr) {
  5120. return _FcConfigEnsure(tls)
  5121. }
  5122. var XFcConfigGetCurrent = XIA__FcConfigGetCurrent
  5123. func XFcConfigAddConfigDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5124. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs, d)
  5125. }
  5126. func XIA__FcConfigGetConfigDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5127. if !(config != 0) {
  5128. config = XIA__FcConfigGetCurrent(tls)
  5129. if !(config != 0) {
  5130. return uintptr(0)
  5131. }
  5132. }
  5133. return XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5134. }
  5135. var XFcConfigGetConfigDirs = XIA__FcConfigGetConfigDirs
  5136. func XFcConfigAddFontDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5137. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs, d)
  5138. }
  5139. func XIA__FcConfigGetFontDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5140. if !(config != 0) {
  5141. config = XIA__FcConfigGetCurrent(tls)
  5142. if !(config != 0) {
  5143. return uintptr(0)
  5144. }
  5145. }
  5146. return XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5147. }
  5148. var XFcConfigGetFontDirs = XIA__FcConfigGetFontDirs
  5149. func XFcConfigAddCacheDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5150. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs, d)
  5151. }
  5152. func XIA__FcConfigGetCacheDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5153. if !(config != 0) {
  5154. config = XIA__FcConfigGetCurrent(tls)
  5155. if !(config != 0) {
  5156. return uintptr(0)
  5157. }
  5158. }
  5159. return XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5160. }
  5161. var XFcConfigGetCacheDirs = XIA__FcConfigGetCacheDirs
  5162. func XFcConfigAddConfigFile(tls *libc.TLS, config uintptr, f uintptr) (r TFcBool) {
  5163. var file uintptr
  5164. var ret TFcBool
  5165. _, _ = file, ret
  5166. file = XIA__FcConfigFilename(tls, f)
  5167. if !(file != 0) {
  5168. return m_FcFalse
  5169. }
  5170. ret = XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, file)
  5171. XIA__FcStrFree(tls, file)
  5172. return ret
  5173. }
  5174. func XIA__FcConfigGetConfigFiles(tls *libc.TLS, config uintptr) (r uintptr) {
  5175. if !(config != 0) {
  5176. config = XIA__FcConfigGetCurrent(tls)
  5177. if !(config != 0) {
  5178. return uintptr(0)
  5179. }
  5180. }
  5181. return XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5182. }
  5183. var XFcConfigGetConfigFiles = XIA__FcConfigGetConfigFiles
  5184. func XIA__FcConfigGetCache(tls *libc.TLS, config uintptr) (r uintptr) {
  5185. return libc.UintptrFromInt32(0)
  5186. }
  5187. var XFcConfigGetCache = XIA__FcConfigGetCache
  5188. func XIA__FcConfigGetFonts(tls *libc.TLS, config uintptr, set TFcSetName) (r uintptr) {
  5189. if !(config != 0) {
  5190. config = XIA__FcConfigGetCurrent(tls)
  5191. if !(config != 0) {
  5192. return uintptr(0)
  5193. }
  5194. }
  5195. return *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8))
  5196. }
  5197. var XFcConfigGetFonts = XIA__FcConfigGetFonts
  5198. func XFcConfigSetFonts(tls *libc.TLS, config uintptr, fonts uintptr, set TFcSetName) {
  5199. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)) != 0 {
  5200. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)))
  5201. }
  5202. *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)) = fonts
  5203. }
  5204. func XIA__FcBlanksCreate(tls *libc.TLS) (r uintptr) {
  5205. /* Deprecated. */
  5206. return libc.UintptrFromInt32(0)
  5207. }
  5208. var XFcBlanksCreate = XIA__FcBlanksCreate
  5209. func XIA__FcBlanksDestroy(tls *libc.TLS, b uintptr) {
  5210. /* Deprecated. */
  5211. }
  5212. var XFcBlanksDestroy = XIA__FcBlanksDestroy
  5213. func XIA__FcBlanksAdd(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5214. /* Deprecated. */
  5215. return m_FcFalse
  5216. }
  5217. var XFcBlanksAdd = XIA__FcBlanksAdd
  5218. func XIA__FcBlanksIsMember(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5219. /* Deprecated. */
  5220. return m_FcFalse
  5221. }
  5222. var XFcBlanksIsMember = XIA__FcBlanksIsMember
  5223. func XIA__FcConfigGetBlanks(tls *libc.TLS, config uintptr) (r uintptr) {
  5224. /* Deprecated. */
  5225. return libc.UintptrFromInt32(0)
  5226. }
  5227. var XFcConfigGetBlanks = XIA__FcConfigGetBlanks
  5228. func XFcConfigAddBlank(tls *libc.TLS, config uintptr, blank TFcChar32) (r TFcBool) {
  5229. /* Deprecated. */
  5230. return m_FcFalse
  5231. }
  5232. func XIA__FcConfigGetRescanInterval(tls *libc.TLS, config uintptr) (r int32) {
  5233. if !(config != 0) {
  5234. config = XIA__FcConfigGetCurrent(tls)
  5235. if !(config != 0) {
  5236. return 0
  5237. }
  5238. }
  5239. return (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval
  5240. }
  5241. var XFcConfigGetRescanInterval = XIA__FcConfigGetRescanInterval
  5242. func XIA__FcConfigSetRescanInterval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5243. if !(config != 0) {
  5244. config = XIA__FcConfigGetCurrent(tls)
  5245. if !(config != 0) {
  5246. return m_FcFalse
  5247. }
  5248. }
  5249. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = rescanInterval
  5250. return int32(m_FcTrue)
  5251. }
  5252. var XFcConfigSetRescanInterval = XIA__FcConfigSetRescanInterval
  5253. // C documentation
  5254. //
  5255. // /*
  5256. // * A couple of typos escaped into the library
  5257. // */
  5258. func XIA__FcConfigGetRescanInverval(tls *libc.TLS, config uintptr) (r int32) {
  5259. return XIA__FcConfigGetRescanInterval(tls, config)
  5260. }
  5261. var XFcConfigGetRescanInverval = XIA__FcConfigGetRescanInverval
  5262. func XIA__FcConfigSetRescanInverval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5263. return XIA__FcConfigSetRescanInterval(tls, config, rescanInterval)
  5264. }
  5265. var XFcConfigSetRescanInverval = XIA__FcConfigSetRescanInverval
  5266. func XFcConfigAddRule(tls *libc.TLS, config uintptr, rule uintptr, kind TFcMatchKind) (r TFcBool) {
  5267. /* deprecated */
  5268. return m_FcFalse
  5269. }
  5270. func _FcConfigPromote(tls *libc.TLS, _v TFcValue, u TFcValue, buf uintptr) (r TFcValue) {
  5271. bp := tls.Alloc(16)
  5272. defer tls.Free(16)
  5273. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  5274. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  5275. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5276. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  5277. } else {
  5278. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeVoid) && u.Ftype1 == int32(_FcTypeMatrix) {
  5279. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(unsafe.Pointer(&XFcIdentityMatrix))
  5280. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5281. } else {
  5282. if buf != 0 && (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) && u.Ftype1 == int32(_FcTypeLangSet) {
  5283. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), buf)
  5284. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5285. } else {
  5286. if buf != 0 && (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeVoid) && u.Ftype1 == int32(_FcTypeLangSet) {
  5287. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, libc.UintptrFromInt32(0), buf)
  5288. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5289. } else {
  5290. if buf != 0 && (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeVoid) && u.Ftype1 == int32(_FcTypeCharSet) {
  5291. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetPromote(tls, buf)
  5292. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5293. }
  5294. }
  5295. }
  5296. }
  5297. }
  5298. if buf != 0 && (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && u.Ftype1 == int32(_FcTypeRange) {
  5299. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangePromote(tls, *(*float64)(unsafe.Pointer(bp + 8)), buf)
  5300. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  5301. }
  5302. return *(*TFcValue)(unsafe.Pointer(bp))
  5303. }
  5304. func XFcConfigCompareValue(tls *libc.TLS, left_o uintptr, op_ uint32, right_o uintptr) (r TFcBool) {
  5305. bp := tls.Alloc(544)
  5306. defer tls.Free(544)
  5307. var flags int32
  5308. var op TFcOp
  5309. var ret TFcBool
  5310. var _ /* buf1 at bp+32 */ TFcValuePromotionBuffer
  5311. var _ /* buf2 at bp+288 */ TFcValuePromotionBuffer
  5312. var _ /* left at bp+0 */ TFcValue
  5313. var _ /* right at bp+16 */ TFcValue
  5314. _, _, _ = flags, op, ret
  5315. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  5316. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, left_o)
  5317. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  5318. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, right_o)
  5319. ret = m_FcFalse
  5320. op = libc.Int32FromUint32(op_ & libc.Uint32FromInt32(0xffff))
  5321. flags = libc.Int32FromUint32(op_ & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  5322. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp)), *(*TFcValue)(unsafe.Pointer(bp + 16)), bp+32)
  5323. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp)), bp+288)
  5324. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5325. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  5326. case int32(_FcTypeUnknown):
  5327. case int32(_FcTypeInteger):
  5328. case int32(_FcTypeDouble):
  5329. switch op {
  5330. case int32(_FcOpEqual):
  5331. fallthrough
  5332. case int32(_FcOpContains):
  5333. fallthrough
  5334. case int32(_FcOpListing):
  5335. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5336. case int32(_FcOpNotEqual):
  5337. fallthrough
  5338. case int32(_FcOpNotContains):
  5339. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) != *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5340. case int32(_FcOpLess):
  5341. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) < *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5342. case int32(_FcOpLessEqual):
  5343. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) <= *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5344. case int32(_FcOpMore):
  5345. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) > *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5346. case int32(_FcOpMoreEqual):
  5347. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) >= *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5348. default:
  5349. break
  5350. }
  5351. case int32(_FcTypeBool):
  5352. switch op {
  5353. case int32(_FcOpEqual):
  5354. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  5355. case int32(_FcOpContains):
  5356. fallthrough
  5357. case int32(_FcOpListing):
  5358. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) || *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcDontCare))
  5359. case int32(_FcOpNotEqual):
  5360. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) != *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  5361. case int32(_FcOpNotContains):
  5362. ret = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) || *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcDontCare)))
  5363. case int32(_FcOpLess):
  5364. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) != *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) && *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) == int32(m_FcDontCare))
  5365. case int32(_FcOpLessEqual):
  5366. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) || *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) == int32(m_FcDontCare))
  5367. case int32(_FcOpMore):
  5368. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) != *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) && *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcDontCare))
  5369. case int32(_FcOpMoreEqual):
  5370. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) || *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcDontCare))
  5371. default:
  5372. break
  5373. }
  5374. case int32(_FcTypeString):
  5375. switch op {
  5376. case int32(_FcOpEqual):
  5377. fallthrough
  5378. case int32(_FcOpListing):
  5379. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5380. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  5381. } else {
  5382. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  5383. }
  5384. case int32(_FcOpContains):
  5385. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != uintptr(0))
  5386. case int32(_FcOpNotEqual):
  5387. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5388. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0)
  5389. } else {
  5390. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0)
  5391. }
  5392. case int32(_FcOpNotContains):
  5393. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == uintptr(0))
  5394. default:
  5395. break
  5396. }
  5397. case int32(_FcTypeMatrix):
  5398. switch op {
  5399. case int32(_FcOpEqual):
  5400. fallthrough
  5401. case int32(_FcOpContains):
  5402. fallthrough
  5403. case int32(_FcOpListing):
  5404. ret = XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5405. case int32(_FcOpNotEqual):
  5406. fallthrough
  5407. case int32(_FcOpNotContains):
  5408. ret = libc.BoolInt32(!(XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0))
  5409. default:
  5410. break
  5411. }
  5412. case int32(_FcTypeCharSet):
  5413. switch op {
  5414. case int32(_FcOpContains):
  5415. fallthrough
  5416. case int32(_FcOpListing):
  5417. /* left contains right if right is a subset of left */
  5418. ret = XIA__FcCharSetIsSubset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), *(*uintptr)(unsafe.Pointer(bp + 8)))
  5419. case int32(_FcOpNotContains):
  5420. /* left contains right if right is a subset of left */
  5421. ret = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), *(*uintptr)(unsafe.Pointer(bp + 8))) != 0))
  5422. case int32(_FcOpEqual):
  5423. ret = XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5424. case int32(_FcOpNotEqual):
  5425. ret = libc.BoolInt32(!(XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0))
  5426. default:
  5427. break
  5428. }
  5429. case int32(_FcTypeLangSet):
  5430. switch op {
  5431. case int32(_FcOpContains):
  5432. fallthrough
  5433. case int32(_FcOpListing):
  5434. ret = XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5435. case int32(_FcOpNotContains):
  5436. ret = libc.BoolInt32(!(XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0))
  5437. case int32(_FcOpEqual):
  5438. ret = XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5439. case int32(_FcOpNotEqual):
  5440. ret = libc.BoolInt32(!(XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0))
  5441. default:
  5442. break
  5443. }
  5444. case int32(_FcTypeVoid):
  5445. switch op {
  5446. case int32(_FcOpEqual):
  5447. fallthrough
  5448. case int32(_FcOpContains):
  5449. fallthrough
  5450. case int32(_FcOpListing):
  5451. ret = int32(m_FcTrue)
  5452. default:
  5453. break
  5454. }
  5455. case int32(_FcTypeFTFace):
  5456. switch op {
  5457. case int32(_FcOpEqual):
  5458. fallthrough
  5459. case int32(_FcOpContains):
  5460. fallthrough
  5461. case int32(_FcOpListing):
  5462. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5463. case int32(_FcOpNotEqual):
  5464. fallthrough
  5465. case int32(_FcOpNotContains):
  5466. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) != *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5467. default:
  5468. break
  5469. }
  5470. case int32(_FcTypeRange):
  5471. ret = XFcRangeCompare(tls, op, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5472. break
  5473. }
  5474. } else {
  5475. if op == int32(_FcOpNotEqual) || op == int32(_FcOpNotContains) {
  5476. ret = int32(m_FcTrue)
  5477. }
  5478. }
  5479. return ret
  5480. }
  5481. func _FcConfigEvaluate(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr) (r TFcValue) {
  5482. bp := tls.Alloc(688)
  5483. defer tls.Free(688)
  5484. var m, str uintptr
  5485. var op TFcOp
  5486. var v1, v2, v3, v4, v5, v6, v7 int32
  5487. var _ /* buf1 at bp+80 */ TFcValuePromotionBuffer
  5488. var _ /* buf2 at bp+336 */ TFcValuePromotionBuffer
  5489. var _ /* m at bp+592 */ TFcMatrix
  5490. var _ /* v at bp+0 */ TFcValue
  5491. var _ /* vl at bp+16 */ TFcValue
  5492. var _ /* vle at bp+48 */ TFcValue
  5493. var _ /* vr at bp+32 */ TFcValue
  5494. var _ /* vre at bp+64 */ TFcValue
  5495. var _ /* xx at bp+624 */ TFcValue
  5496. var _ /* xy at bp+640 */ TFcValue
  5497. var _ /* yx at bp+656 */ TFcValue
  5498. var _ /* yy at bp+672 */ TFcValue
  5499. _, _, _, _, _, _, _, _, _, _ = m, op, str, v1, v2, v3, v4, v5, v6, v7
  5500. op = (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff)
  5501. switch op {
  5502. case int32(_FcOpInteger):
  5503. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5504. *(*int32)(unsafe.Pointer(bp + 8)) = (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival
  5505. case int32(_FcOpDouble):
  5506. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5507. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5508. case int32(_FcOpString):
  5509. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  5510. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5511. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5512. case int32(_FcOpMatrix):
  5513. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5514. *(*TFcValue)(unsafe.Pointer(bp + 624)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  5515. *(*TFcValue)(unsafe.Pointer(bp + 640)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  5516. *(*TFcValue)(unsafe.Pointer(bp + 656)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  5517. *(*TFcValue)(unsafe.Pointer(bp + 672)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  5518. if (*(*TFcValue)(unsafe.Pointer(bp + 624))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 640))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 656))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 672))).Ftype1 == int32(_FcTypeDouble) {
  5519. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxx = *(*float64)(unsafe.Pointer(bp + 624 + 8))
  5520. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxy = *(*float64)(unsafe.Pointer(bp + 640 + 8))
  5521. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyx = *(*float64)(unsafe.Pointer(bp + 656 + 8))
  5522. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyy = *(*float64)(unsafe.Pointer(bp + 672 + 8))
  5523. *(*uintptr)(unsafe.Pointer(bp + 8)) = bp + 592
  5524. } else {
  5525. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5526. }
  5527. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5528. case int32(_FcOpCharSet):
  5529. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5530. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5531. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5532. case int32(_FcOpLangSet):
  5533. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5534. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5535. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5536. case int32(_FcOpRange):
  5537. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  5538. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5539. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5540. case int32(_FcOpBool):
  5541. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5542. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5543. case int32(_FcOpField):
  5544. if kind == int32(_FcMatchFont) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchPattern) {
  5545. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p_pat, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  5546. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5547. }
  5548. } else {
  5549. if kind == int32(_FcMatchPattern) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchFont) {
  5550. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+954, 0)
  5551. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5552. } else {
  5553. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  5554. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5555. }
  5556. }
  5557. }
  5558. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5559. case int32(_FcOpConst):
  5560. if XIA__FcNameConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)), bp+8) != 0 {
  5561. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5562. } else {
  5563. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5564. }
  5565. case int32(_FcOpQuest):
  5566. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5567. Fleft uintptr
  5568. Fright uintptr
  5569. })(unsafe.Pointer(e + 8))).Fleft)
  5570. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeBool) {
  5571. if *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0 {
  5572. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5573. Fleft uintptr
  5574. Fright uintptr
  5575. })(unsafe.Pointer((*(*struct {
  5576. Fleft uintptr
  5577. Fright uintptr
  5578. })(unsafe.Pointer(e + 8))).Fright + 8))).Fleft)
  5579. } else {
  5580. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5581. Fleft uintptr
  5582. Fright uintptr
  5583. })(unsafe.Pointer((*(*struct {
  5584. Fleft uintptr
  5585. Fright uintptr
  5586. })(unsafe.Pointer(e + 8))).Fright + 8))).Fright)
  5587. }
  5588. } else {
  5589. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5590. }
  5591. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5592. case int32(_FcOpEqual):
  5593. fallthrough
  5594. case int32(_FcOpNotEqual):
  5595. fallthrough
  5596. case int32(_FcOpLess):
  5597. fallthrough
  5598. case int32(_FcOpLessEqual):
  5599. fallthrough
  5600. case int32(_FcOpMore):
  5601. fallthrough
  5602. case int32(_FcOpMoreEqual):
  5603. fallthrough
  5604. case int32(_FcOpContains):
  5605. fallthrough
  5606. case int32(_FcOpNotContains):
  5607. fallthrough
  5608. case int32(_FcOpListing):
  5609. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5610. Fleft uintptr
  5611. Fright uintptr
  5612. })(unsafe.Pointer(e + 8))).Fleft)
  5613. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5614. Fleft uintptr
  5615. Fright uintptr
  5616. })(unsafe.Pointer(e + 8))).Fright)
  5617. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5618. *(*TFcBool)(unsafe.Pointer(bp + 8)) = XFcConfigCompareValue(tls, bp+16, libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(e)).Fop), bp+32)
  5619. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5620. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  5621. case int32(_FcOpOr):
  5622. fallthrough
  5623. case int32(_FcOpAnd):
  5624. fallthrough
  5625. case int32(_FcOpPlus):
  5626. fallthrough
  5627. case int32(_FcOpMinus):
  5628. fallthrough
  5629. case int32(_FcOpTimes):
  5630. fallthrough
  5631. case int32(_FcOpDivide):
  5632. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5633. Fleft uintptr
  5634. Fright uintptr
  5635. })(unsafe.Pointer(e + 8))).Fleft)
  5636. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5637. Fleft uintptr
  5638. Fright uintptr
  5639. })(unsafe.Pointer(e + 8))).Fright)
  5640. *(*TFcValue)(unsafe.Pointer(bp + 48)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp + 32)), bp+80)
  5641. *(*TFcValue)(unsafe.Pointer(bp + 64)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)), *(*TFcValue)(unsafe.Pointer(bp + 48)), bp+336)
  5642. if (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 {
  5643. switch (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 {
  5644. case int32(_FcTypeDouble):
  5645. switch op {
  5646. case int32(_FcOpPlus):
  5647. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5648. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) + *(*float64)(unsafe.Pointer(bp + 64 + 8))
  5649. case int32(_FcOpMinus):
  5650. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5651. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) - *(*float64)(unsafe.Pointer(bp + 64 + 8))
  5652. case int32(_FcOpTimes):
  5653. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5654. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) * *(*float64)(unsafe.Pointer(bp + 64 + 8))
  5655. case int32(_FcOpDivide):
  5656. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5657. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) / *(*float64)(unsafe.Pointer(bp + 64 + 8))
  5658. default:
  5659. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5660. break
  5661. }
  5662. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && *(*float64)(unsafe.Pointer(bp + 8)) == float64(int32(*(*float64)(unsafe.Pointer(bp + 8)))) {
  5663. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5664. *(*int32)(unsafe.Pointer(bp + 8)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  5665. }
  5666. case int32(_FcTypeBool):
  5667. switch op {
  5668. case int32(_FcOpOr):
  5669. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5670. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 || *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  5671. case int32(_FcOpAnd):
  5672. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5673. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 && *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  5674. default:
  5675. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5676. break
  5677. }
  5678. case int32(_FcTypeString):
  5679. switch op {
  5680. case int32(_FcOpPlus):
  5681. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  5682. str = XIA__FcStrPlus(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5683. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, str)
  5684. XIA__FcStrFree(tls, str)
  5685. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5686. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5687. }
  5688. default:
  5689. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5690. break
  5691. }
  5692. case int32(_FcTypeMatrix):
  5693. switch op {
  5694. case int32(_FcOpTimes):
  5695. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5696. m = libc.Xmalloc(tls, uint64(32))
  5697. if m != 0 {
  5698. XIA__FcMatrixMultiply(tls, m, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5699. *(*uintptr)(unsafe.Pointer(bp + 8)) = m
  5700. } else {
  5701. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5702. }
  5703. default:
  5704. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5705. break
  5706. }
  5707. case int32(_FcTypeCharSet):
  5708. switch op {
  5709. case int32(_FcOpPlus):
  5710. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5711. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5712. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5713. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5714. }
  5715. case int32(_FcOpMinus):
  5716. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5717. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5718. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5719. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5720. }
  5721. default:
  5722. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5723. break
  5724. }
  5725. case int32(_FcTypeLangSet):
  5726. switch op {
  5727. case int32(_FcOpPlus):
  5728. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5729. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5730. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5731. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5732. }
  5733. case int32(_FcOpMinus):
  5734. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5735. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5736. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5737. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5738. }
  5739. default:
  5740. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5741. break
  5742. }
  5743. default:
  5744. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5745. break
  5746. }
  5747. } else {
  5748. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5749. }
  5750. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5751. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  5752. case int32(_FcOpNot):
  5753. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5754. Fleft uintptr
  5755. Fright uintptr
  5756. })(unsafe.Pointer(e + 8))).Fleft)
  5757. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5758. case int32(_FcTypeBool):
  5759. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5760. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0))
  5761. default:
  5762. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5763. break
  5764. }
  5765. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5766. case int32(_FcOpFloor):
  5767. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5768. Fleft uintptr
  5769. Fright uintptr
  5770. })(unsafe.Pointer(e + 8))).Fleft)
  5771. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5772. case int32(_FcTypeInteger):
  5773. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  5774. case int32(_FcTypeDouble):
  5775. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5776. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  5777. v1 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5778. } else {
  5779. if float64(int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == -*(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  5780. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5781. } else {
  5782. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  5783. }
  5784. v1 = -v2
  5785. }
  5786. *(*int32)(unsafe.Pointer(bp + 8)) = v1
  5787. default:
  5788. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5789. break
  5790. }
  5791. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5792. case int32(_FcOpCeil):
  5793. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5794. Fleft uintptr
  5795. Fright uintptr
  5796. })(unsafe.Pointer(e + 8))).Fleft)
  5797. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5798. case int32(_FcTypeInteger):
  5799. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  5800. case int32(_FcTypeDouble):
  5801. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5802. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  5803. if float64(int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == *(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  5804. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5805. } else {
  5806. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  5807. }
  5808. v3 = v4
  5809. } else {
  5810. v3 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5811. }
  5812. *(*int32)(unsafe.Pointer(bp + 8)) = v3
  5813. default:
  5814. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5815. break
  5816. }
  5817. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5818. case int32(_FcOpRound):
  5819. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5820. Fleft uintptr
  5821. Fright uintptr
  5822. })(unsafe.Pointer(e + 8))).Fleft)
  5823. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5824. case int32(_FcTypeInteger):
  5825. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  5826. case int32(_FcTypeDouble):
  5827. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5828. if *(*float64)(unsafe.Pointer(bp + 16 + 8))+float64(0.5) >= libc.Float64FromInt32(0) {
  5829. v5 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5))
  5830. } else {
  5831. if float64(int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))) == -(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) {
  5832. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))
  5833. } else {
  5834. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) + libc.Float64FromInt32(1))
  5835. }
  5836. v5 = -v6
  5837. }
  5838. *(*int32)(unsafe.Pointer(bp + 8)) = v5
  5839. default:
  5840. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5841. break
  5842. }
  5843. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5844. case int32(_FcOpTrunc):
  5845. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5846. Fleft uintptr
  5847. Fright uintptr
  5848. })(unsafe.Pointer(e + 8))).Fleft)
  5849. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5850. case int32(_FcTypeInteger):
  5851. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  5852. case int32(_FcTypeDouble):
  5853. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5854. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  5855. v7 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5856. } else {
  5857. v7 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5858. }
  5859. *(*int32)(unsafe.Pointer(bp + 8)) = v7
  5860. default:
  5861. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5862. break
  5863. }
  5864. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5865. default:
  5866. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5867. break
  5868. }
  5869. return *(*TFcValue)(unsafe.Pointer(bp))
  5870. }
  5871. func _FcConfigMatchValueList(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, t uintptr, values uintptr) (r uintptr) {
  5872. bp := tls.Alloc(16)
  5873. defer tls.Free(16)
  5874. var e, ret, v, v2 uintptr
  5875. var _ /* value at bp+0 */ TFcValue
  5876. _, _, _, _ = e, ret, v, v2
  5877. ret = uintptr(0)
  5878. e = (*TFcTest)(unsafe.Pointer(t)).Fexpr
  5879. for e != 0 {
  5880. /* Compute the value of the match expression */
  5881. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  5882. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5883. Fleft uintptr
  5884. Fright uintptr
  5885. })(unsafe.Pointer(e + 8))).Fleft)
  5886. e = (*(*struct {
  5887. Fleft uintptr
  5888. Fright uintptr
  5889. })(unsafe.Pointer(e + 8))).Fright
  5890. } else {
  5891. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  5892. e = uintptr(0)
  5893. }
  5894. v = values
  5895. for {
  5896. if !(v != 0) {
  5897. break
  5898. }
  5899. /* Compare the pattern value to the match expression value */
  5900. if XFcConfigCompareValue(tls, v+8, libc.Uint32FromInt32((*TFcTest)(unsafe.Pointer(t)).Fop), bp) != 0 {
  5901. if !(ret != 0) {
  5902. ret = v
  5903. }
  5904. } else {
  5905. if (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  5906. ret = uintptr(0)
  5907. break
  5908. }
  5909. }
  5910. goto _1
  5911. _1:
  5912. ;
  5913. if int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  5914. v2 = uintptr(int64(v) + int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  5915. } else {
  5916. v2 = (*TFcValueList)(unsafe.Pointer(v)).Fnext
  5917. }
  5918. v = v2
  5919. }
  5920. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5921. }
  5922. return ret
  5923. }
  5924. func _FcConfigValues(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr, binding TFcValueBinding) (r uintptr) {
  5925. var l, next, v1 uintptr
  5926. _, _, _ = l, next, v1
  5927. if !(e != 0) {
  5928. return uintptr(0)
  5929. }
  5930. l = libc.Xmalloc(tls, uint64(32))
  5931. if !(l != 0) {
  5932. return uintptr(0)
  5933. }
  5934. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  5935. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5936. Fleft uintptr
  5937. Fright uintptr
  5938. })(unsafe.Pointer(e + 8))).Fleft)
  5939. (*TFcValueList)(unsafe.Pointer(l)).Fnext = _FcConfigValues(tls, p, p_pat, kind, (*(*struct {
  5940. Fleft uintptr
  5941. Fright uintptr
  5942. })(unsafe.Pointer(e + 8))).Fright, binding)
  5943. } else {
  5944. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  5945. (*TFcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  5946. }
  5947. (*TFcValueList)(unsafe.Pointer(l)).Fbinding = binding
  5948. if (*TFcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  5949. if int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  5950. v1 = uintptr(int64(l) + int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  5951. } else {
  5952. v1 = (*TFcValueList)(unsafe.Pointer(l)).Fnext
  5953. }
  5954. next = v1
  5955. libc.Xfree(tls, l)
  5956. l = next
  5957. }
  5958. return l
  5959. }
  5960. func _FcConfigAdd(tls *libc.TLS, head uintptr, position uintptr, append1 TFcBool, new1 uintptr, object TFcObject) (r TFcBool) {
  5961. bp := tls.Alloc(16)
  5962. defer tls.Free(16)
  5963. var l, last, v TFcValueListPtr
  5964. var prev, v2, v4, v7, v8 uintptr
  5965. var sameBinding TFcValueBinding
  5966. _, _, _, _, _, _, _, _, _ = l, last, prev, sameBinding, v, v2, v4, v7, v8
  5967. /*
  5968. * Make sure the stored type is valid for built-in objects
  5969. */
  5970. l = new1
  5971. for {
  5972. if !(l != libc.UintptrFromInt32(0)) {
  5973. break
  5974. }
  5975. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  5976. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1035, libc.VaList(bp+8, XFcObjectName(tls, object)))
  5977. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  5978. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1097, 0)
  5979. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  5980. libc.Xprintf(tls, __ccgo_ts+1099, 0)
  5981. }
  5982. return m_FcFalse
  5983. }
  5984. goto _1
  5985. _1:
  5986. ;
  5987. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  5988. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  5989. } else {
  5990. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  5991. }
  5992. l = v2
  5993. }
  5994. if position != 0 {
  5995. sameBinding = (*TFcValueList)(unsafe.Pointer(position)).Fbinding
  5996. } else {
  5997. sameBinding = int32(_FcValueBindingWeak)
  5998. }
  5999. v = new1
  6000. for {
  6001. if !(v != libc.UintptrFromInt32(0)) {
  6002. break
  6003. }
  6004. if (*T_FcValueList)(unsafe.Pointer(v)).Fbinding == int32(_FcValueBindingSame) {
  6005. (*T_FcValueList)(unsafe.Pointer(v)).Fbinding = sameBinding
  6006. }
  6007. goto _3
  6008. _3:
  6009. ;
  6010. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  6011. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6012. } else {
  6013. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  6014. }
  6015. v = v4
  6016. }
  6017. if append1 != 0 {
  6018. if position != 0 {
  6019. prev = position
  6020. } else {
  6021. prev = head
  6022. for {
  6023. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6024. break
  6025. }
  6026. goto _5
  6027. _5:
  6028. ;
  6029. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6030. }
  6031. }
  6032. } else {
  6033. if position != 0 {
  6034. prev = head
  6035. for {
  6036. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6037. break
  6038. }
  6039. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6040. break
  6041. }
  6042. goto _6
  6043. _6:
  6044. ;
  6045. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6046. }
  6047. } else {
  6048. prev = head
  6049. }
  6050. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6051. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == libc.UintptrFromInt32(0) {
  6052. libc.Xprintf(tls, __ccgo_ts+1111, 0)
  6053. }
  6054. }
  6055. }
  6056. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6057. if append1 != 0 {
  6058. v7 = __ccgo_ts + 1133
  6059. } else {
  6060. v7 = __ccgo_ts + 1140
  6061. }
  6062. libc.Xprintf(tls, __ccgo_ts+1148, libc.VaList(bp+8, v7))
  6063. XFcValueListPrintWithPosition(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)), *(*TFcValueListPtr)(unsafe.Pointer(prev)))
  6064. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  6065. }
  6066. if new1 != 0 {
  6067. last = new1
  6068. for (*T_FcValueList)(unsafe.Pointer(last)).Fnext != libc.UintptrFromInt32(0) {
  6069. last = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  6070. }
  6071. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6072. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  6073. }
  6074. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6075. if append1 != 0 {
  6076. v8 = __ccgo_ts + 1133
  6077. } else {
  6078. v8 = __ccgo_ts + 1140
  6079. }
  6080. libc.Xprintf(tls, __ccgo_ts+1164, libc.VaList(bp+8, v8))
  6081. XFcValueListPrint(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)))
  6082. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  6083. }
  6084. return int32(m_FcTrue)
  6085. }
  6086. func _FcConfigDel(tls *libc.TLS, head uintptr, position uintptr) {
  6087. var prev uintptr
  6088. _ = prev
  6089. prev = head
  6090. for {
  6091. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6092. break
  6093. }
  6094. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6095. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcValueList)(unsafe.Pointer(position)).Fnext
  6096. (*TFcValueList)(unsafe.Pointer(position)).Fnext = libc.UintptrFromInt32(0)
  6097. XFcValueListDestroy(tls, position)
  6098. break
  6099. }
  6100. goto _1
  6101. _1:
  6102. ;
  6103. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6104. }
  6105. }
  6106. func _FcConfigPatternAdd(tls *libc.TLS, p uintptr, object TFcObject, list uintptr, append1 TFcBool) {
  6107. var e uintptr
  6108. _ = e
  6109. if list != 0 {
  6110. e = XFcPatternObjectInsertElt(tls, p, object)
  6111. if !(e != 0) {
  6112. return
  6113. }
  6114. _FcConfigAdd(tls, e+8, uintptr(0), append1, list, object)
  6115. }
  6116. }
  6117. // C documentation
  6118. //
  6119. // /*
  6120. // * Delete all values associated with a field
  6121. // */
  6122. func _FcConfigPatternDel(tls *libc.TLS, p uintptr, object TFcObject) {
  6123. var e uintptr
  6124. _ = e
  6125. e = XFcPatternObjectFindElt(tls, p, object)
  6126. if !(e != 0) {
  6127. return
  6128. }
  6129. for (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != libc.UintptrFromInt32(0) {
  6130. _FcConfigDel(tls, e+8, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  6131. }
  6132. }
  6133. func _FcConfigPatternCanon(tls *libc.TLS, p uintptr, object TFcObject) {
  6134. var e uintptr
  6135. _ = e
  6136. e = XFcPatternObjectFindElt(tls, p, object)
  6137. if !(e != 0) {
  6138. return
  6139. }
  6140. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues == libc.UintptrFromInt32(0) {
  6141. XFcPatternObjectDel(tls, p, object)
  6142. }
  6143. }
  6144. func XIA__FcConfigSubstituteWithPat(tls *libc.TLS, config uintptr, p uintptr, p_pat uintptr, kind TFcMatchKind) (r1 TFcBool) {
  6145. bp := tls.Alloc(112)
  6146. defer tls.Free(112)
  6147. var b, retval TFcBool
  6148. var e, e1, elt, l, l1, lang, ls, lsund, m, nextValue, prgname, r, rs, s, strs, thisValue, tst, value, vl, v1, v4, v5 uintptr
  6149. var i, nobjs int32
  6150. var ll TFcValueListPtr
  6151. var object TFcObject
  6152. var v2 bool
  6153. var _ /* iter at bp+16 */ TFcPtrListIter
  6154. var _ /* iter2 at bp+40 */ TFcPtrListIter
  6155. var _ /* v at bp+0 */ TFcValue
  6156. var _ /* v at bp+64 */ TFcValue
  6157. var _ /* vv at bp+80 */ TFcValue
  6158. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = b, e, e1, elt, i, l, l1, lang, ll, ls, lsund, m, nextValue, nobjs, object, prgname, r, retval, rs, s, strs, thisValue, tst, value, vl, v1, v2, v4, v5
  6159. value = libc.UintptrFromInt32(0)
  6160. object = int32(_FC_INVALID_OBJECT)
  6161. elt = libc.UintptrFromInt32(0)
  6162. retval = int32(m_FcTrue)
  6163. tst = libc.UintptrFromInt32(0)
  6164. if !(config != 0) {
  6165. config = XIA__FcConfigGetCurrent(tls)
  6166. if !(config != 0) {
  6167. return m_FcFalse
  6168. }
  6169. }
  6170. if kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  6171. return m_FcFalse
  6172. }
  6173. s = *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(kind)*8))
  6174. if kind == int32(_FcMatchPattern) {
  6175. strs = XIA__FcGetDefaultLangs(tls)
  6176. if strs != 0 {
  6177. l1 = XIA__FcStrListCreate(tls, strs)
  6178. lsund = XIA__FcLangSetCreate(tls)
  6179. XIA__FcLangSetAdd(tls, lsund, __ccgo_ts+1179)
  6180. XIA__FcStrSetDestroy(tls, strs)
  6181. for {
  6182. if v2 = l1 != 0; v2 {
  6183. v1 = XIA__FcStrListNext(tls, l1)
  6184. lang = v1
  6185. }
  6186. if !(v2 && v1 != 0) {
  6187. break
  6188. }
  6189. e1 = XFcPatternObjectFindElt(tls, p, int32(_FC_LANG_OBJECT))
  6190. if e1 != 0 {
  6191. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  6192. v4 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  6193. } else {
  6194. v4 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  6195. }
  6196. ll = v4
  6197. for {
  6198. if !(ll != 0) {
  6199. break
  6200. }
  6201. *(*TFcValue)(unsafe.Pointer(bp + 80)) = TFcValue{}
  6202. *(*T_FcValue)(unsafe.Pointer(bp + 80)) = XFcValueCanonicalize(tls, ll+8)
  6203. if (*(*TFcValue)(unsafe.Pointer(bp + 80))).Ftype1 == int32(_FcTypeLangSet) {
  6204. ls = XIA__FcLangSetCreate(tls)
  6205. XIA__FcLangSetAdd(tls, ls, lang)
  6206. b = XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 80 + 8)), ls)
  6207. XIA__FcLangSetDestroy(tls, ls)
  6208. if b != 0 {
  6209. goto bail_lang
  6210. }
  6211. if XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 80 + 8)), lsund) != 0 {
  6212. goto bail_lang
  6213. }
  6214. } else {
  6215. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 80 + 8)), lang) == 0 {
  6216. goto bail_lang
  6217. }
  6218. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 80 + 8)), __ccgo_ts+1179) == 0 {
  6219. goto bail_lang
  6220. }
  6221. }
  6222. goto _3
  6223. _3:
  6224. ;
  6225. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  6226. v5 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6227. } else {
  6228. v5 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  6229. }
  6230. ll = v5
  6231. }
  6232. }
  6233. (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 = int32(_FcTypeString)
  6234. *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) = lang
  6235. XFcPatternObjectAddWithBinding(tls, p, int32(_FC_LANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 64)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  6236. }
  6237. goto bail_lang
  6238. bail_lang:
  6239. ;
  6240. XIA__FcStrListDone(tls, l1)
  6241. XIA__FcLangSetDestroy(tls, lsund)
  6242. }
  6243. if XFcPatternObjectGet(tls, p, int32(_FC_PRGNAME_OBJECT), 0, bp) == int32(_FcResultNoMatch) {
  6244. prgname = XFcGetPrgname(tls)
  6245. if prgname != 0 {
  6246. XFcPatternObjectAddString(tls, p, int32(_FC_PRGNAME_OBJECT), prgname)
  6247. }
  6248. }
  6249. }
  6250. nobjs = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects + int32(2)
  6251. value = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6252. if !(value != 0) {
  6253. retval = m_FcFalse
  6254. goto bail1
  6255. }
  6256. elt = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6257. if !(elt != 0) {
  6258. retval = m_FcFalse
  6259. goto bail1
  6260. }
  6261. tst = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6262. if !(tst != 0) {
  6263. retval = m_FcFalse
  6264. goto bail1
  6265. }
  6266. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6267. libc.Xprintf(tls, __ccgo_ts+1183, 0)
  6268. XIA__FcPatternPrint(tls, p)
  6269. }
  6270. XFcPtrListIterInit(tls, s, bp+16)
  6271. for {
  6272. if !(XFcPtrListIterIsValid(tls, s, bp+16) != 0) {
  6273. break
  6274. }
  6275. rs = XFcPtrListIterGetValue(tls, s, bp+16)
  6276. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6277. libc.Xprintf(tls, __ccgo_ts+1203, libc.VaList(bp+104, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  6278. }
  6279. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  6280. for {
  6281. if !(XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40) != 0) {
  6282. break
  6283. }
  6284. r = XFcPtrListIterGetValue(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  6285. i = 0
  6286. for {
  6287. if !(i < nobjs) {
  6288. break
  6289. }
  6290. *(*uintptr)(unsafe.Pointer(elt + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6291. *(*uintptr)(unsafe.Pointer(value + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6292. *(*uintptr)(unsafe.Pointer(tst + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6293. goto _8
  6294. _8:
  6295. ;
  6296. i++
  6297. }
  6298. for {
  6299. if !(r != 0) {
  6300. break
  6301. }
  6302. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  6303. case int32(_FcRuleUnknown):
  6304. /* shouldn't be reached */
  6305. case int32(_FcRuleTest):
  6306. object = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  6307. /*
  6308. * Check the tests to see if
  6309. * they all match the pattern
  6310. */
  6311. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6312. libc.Xprintf(tls, __ccgo_ts+1218, 0)
  6313. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  6314. }
  6315. if kind == int32(_FcMatchFont) && (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == int32(_FcMatchPattern) {
  6316. m = p_pat
  6317. } else {
  6318. m = p
  6319. }
  6320. if m != 0 {
  6321. e = XFcPatternObjectFindElt(tls, m, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6322. } else {
  6323. e = libc.UintptrFromInt32(0)
  6324. }
  6325. /* different 'kind' won't be the target of edit */
  6326. if !(*(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  6327. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = e
  6328. *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) = *(*uintptr)(unsafe.Pointer(r + 16))
  6329. }
  6330. /*
  6331. * If there's no such field in the font,
  6332. * then FcQualAll matches while FcQualAny does not
  6333. */
  6334. if !(e != 0) {
  6335. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualAll) {
  6336. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  6337. goto _9
  6338. } else {
  6339. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6340. libc.Xprintf(tls, __ccgo_ts+1243, 0)
  6341. }
  6342. goto bail
  6343. }
  6344. }
  6345. /*
  6346. * Check to see if there is a match, mark the location
  6347. * to apply match-relative edits
  6348. */
  6349. vl = _FcConfigMatchValueList(tls, m, p_pat, kind, *(*uintptr)(unsafe.Pointer(r + 16)), (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  6350. /* different 'kind' won't be the target of edit */
  6351. if !(*(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  6352. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = vl
  6353. }
  6354. if !(vl != 0) || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualFirst) && vl != (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualNotFirst) && vl == (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues {
  6355. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6356. libc.Xprintf(tls, __ccgo_ts+1243, 0)
  6357. }
  6358. goto bail
  6359. }
  6360. case int32(_FcRuleEdit):
  6361. object = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  6362. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6363. libc.Xprintf(tls, __ccgo_ts+1253, 0)
  6364. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  6365. libc.Xprintf(tls, __ccgo_ts+1265, 0)
  6366. }
  6367. /*
  6368. * Evaluate the list of expressions
  6369. */
  6370. l = _FcConfigValues(tls, p, p_pat, kind, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fexpr, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fbinding)
  6371. if *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) != 0 && ((*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fkind == int32(_FcMatchFont) || kind == int32(_FcMatchPattern)) {
  6372. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = XFcPatternObjectFindElt(tls, p, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fobject)
  6373. }
  6374. switch (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fop & libc.Int32FromInt32(0xffff) {
  6375. case int32(_FcOpAssign):
  6376. /*
  6377. * If there was a test, then replace the matched
  6378. * value with the new list of values
  6379. */
  6380. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  6381. thisValue = *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8))
  6382. nextValue = l
  6383. /*
  6384. * Append the new list of values after the current value
  6385. */
  6386. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6387. /*
  6388. * Delete the marked value
  6389. */
  6390. if thisValue != 0 {
  6391. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue)
  6392. }
  6393. /*
  6394. * Adjust a pointer into the value list to ensure
  6395. * future edits occur at the same place
  6396. */
  6397. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = nextValue
  6398. break
  6399. }
  6400. /* fall through ... */
  6401. fallthrough
  6402. case int32(_FcOpAssignReplace):
  6403. /*
  6404. * Delete all of the values and insert
  6405. * the new set
  6406. */
  6407. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6408. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue))
  6409. /*
  6410. * Adjust a pointer into the value list as they no
  6411. * longer point to anything valid
  6412. */
  6413. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  6414. case int32(_FcOpPrepend):
  6415. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  6416. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), m_FcFalse, l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6417. break
  6418. }
  6419. /* fall through ... */
  6420. fallthrough
  6421. case int32(_FcOpPrependFirst):
  6422. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, m_FcFalse)
  6423. case int32(_FcOpAppend):
  6424. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  6425. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6426. break
  6427. }
  6428. /* fall through ... */
  6429. fallthrough
  6430. case int32(_FcOpAppendLast):
  6431. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue))
  6432. case int32(_FcOpDelete):
  6433. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  6434. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)))
  6435. XFcValueListDestroy(tls, l)
  6436. break
  6437. }
  6438. /* fall through ... */
  6439. fallthrough
  6440. case int32(_FcOpDeleteAll):
  6441. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6442. XFcValueListDestroy(tls, l)
  6443. default:
  6444. XFcValueListDestroy(tls, l)
  6445. break
  6446. }
  6447. /*
  6448. * Now go through the pattern and eliminate
  6449. * any properties without data
  6450. */
  6451. _FcConfigPatternCanon(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6452. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6453. libc.Xprintf(tls, __ccgo_ts+1268, 0)
  6454. XIA__FcPatternPrint(tls, p)
  6455. }
  6456. break
  6457. }
  6458. goto _9
  6459. _9:
  6460. ;
  6461. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  6462. }
  6463. goto bail
  6464. bail:
  6465. ;
  6466. goto _7
  6467. _7:
  6468. ;
  6469. XFcPtrListIterNext(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  6470. }
  6471. goto _6
  6472. _6:
  6473. ;
  6474. XFcPtrListIterNext(tls, s, bp+16)
  6475. }
  6476. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6477. libc.Xprintf(tls, __ccgo_ts+1292, 0)
  6478. XIA__FcPatternPrint(tls, p)
  6479. }
  6480. goto bail1
  6481. bail1:
  6482. ;
  6483. if elt != 0 {
  6484. libc.Xfree(tls, elt)
  6485. }
  6486. if value != 0 {
  6487. libc.Xfree(tls, value)
  6488. }
  6489. if tst != 0 {
  6490. libc.Xfree(tls, tst)
  6491. }
  6492. return retval
  6493. }
  6494. var XFcConfigSubstituteWithPat = XIA__FcConfigSubstituteWithPat
  6495. func XIA__FcConfigSubstitute(tls *libc.TLS, config uintptr, p uintptr, kind TFcMatchKind) (r TFcBool) {
  6496. return XIA__FcConfigSubstituteWithPat(tls, config, p, uintptr(0), kind)
  6497. }
  6498. var XFcConfigSubstitute = XIA__FcConfigSubstitute
  6499. func _FcConfigFileExists(tls *libc.TLS, dir uintptr, file uintptr) (r uintptr) {
  6500. var osize, size int32
  6501. var path uintptr
  6502. _, _, _ = osize, path, size
  6503. if !(dir != 0) {
  6504. dir = __ccgo_ts + 1316
  6505. }
  6506. osize = libc.Int32FromUint64(libc.Xstrlen(tls, dir) + uint64(1) + libc.Xstrlen(tls, file) + uint64(1))
  6507. /*
  6508. * workaround valgrind warning because glibc takes advantage of how it knows memory is
  6509. * allocated to implement strlen by reading in groups of 4
  6510. */
  6511. size = (osize + int32(3)) & ^libc.Int32FromInt32(3)
  6512. path = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  6513. if !(path != 0) {
  6514. return uintptr(0)
  6515. }
  6516. libc.Xstrcpy(tls, path, dir)
  6517. /* make sure there's a single separator */
  6518. if (!(*(*TFcChar8)(unsafe.Pointer(path)) != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(libc.Xstrlen(tls, path)-uint64(1))))) != int32('/')) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file))) != int32('/') {
  6519. libc.Xstrcat(tls, path, __ccgo_ts+1317)
  6520. } else {
  6521. osize--
  6522. }
  6523. libc.Xstrcat(tls, path, file)
  6524. if libc.Xaccess(tls, path, int32(m_R_OK)) == 0 {
  6525. return path
  6526. }
  6527. XIA__FcStrFree(tls, path)
  6528. return uintptr(0)
  6529. }
  6530. func _FcConfigGetPath(tls *libc.TLS) (r uintptr) {
  6531. var colon, dir, e, env, path, v1 uintptr
  6532. var i, npath int32
  6533. _, _, _, _, _, _, _, _ = colon, dir, e, env, i, npath, path, v1
  6534. npath = int32(2) /* default dir + null */
  6535. env = libc.Xgetenv(tls, __ccgo_ts+1319)
  6536. if env != 0 {
  6537. e = env
  6538. npath++
  6539. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  6540. v1 = e
  6541. e++
  6542. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))) == int32(':') {
  6543. npath++
  6544. }
  6545. }
  6546. }
  6547. path = libc.Xcalloc(tls, libc.Uint64FromInt32(npath), uint64(8))
  6548. if !(path != 0) {
  6549. goto bail0
  6550. }
  6551. i = 0
  6552. if env != 0 {
  6553. e = env
  6554. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  6555. colon = libc.Xstrchr(tls, e, int32(':'))
  6556. if !(colon != 0) {
  6557. colon = e + uintptr(libc.Xstrlen(tls, e))
  6558. }
  6559. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(colon)-int64(e)+int64(1)))
  6560. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  6561. goto bail1
  6562. }
  6563. libc.Xstrncpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), e, libc.Uint64FromInt64(int64(colon)-int64(e)))
  6564. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) + uintptr(int64(colon)-int64(e)))) = uint8('\000')
  6565. if *(*TFcChar8)(unsafe.Pointer(colon)) != 0 {
  6566. e = colon + uintptr(1)
  6567. } else {
  6568. e = colon
  6569. }
  6570. i++
  6571. }
  6572. }
  6573. dir = __ccgo_ts + 1335
  6574. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1))
  6575. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  6576. goto bail1
  6577. }
  6578. libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), dir)
  6579. return path
  6580. goto bail1
  6581. bail1:
  6582. ;
  6583. i = 0
  6584. for {
  6585. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  6586. break
  6587. }
  6588. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)))
  6589. goto _2
  6590. _2:
  6591. ;
  6592. i++
  6593. }
  6594. libc.Xfree(tls, path)
  6595. goto bail0
  6596. bail0:
  6597. ;
  6598. return uintptr(0)
  6599. return r
  6600. }
  6601. func _FcConfigFreePath(tls *libc.TLS, path uintptr) {
  6602. var p uintptr
  6603. _ = p
  6604. p = path
  6605. for {
  6606. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  6607. break
  6608. }
  6609. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(p)))
  6610. goto _1
  6611. _1:
  6612. ;
  6613. p += 8
  6614. }
  6615. libc.Xfree(tls, path)
  6616. }
  6617. var __FcConfigHomeEnabled = int32(m_FcTrue) /* MT-goodenough */
  6618. func XIA__FcConfigHome(tls *libc.TLS) (r uintptr) {
  6619. var home uintptr
  6620. _ = home
  6621. if __FcConfigHomeEnabled != 0 {
  6622. home = libc.Xgetenv(tls, __ccgo_ts+1346)
  6623. return home
  6624. }
  6625. return uintptr(0)
  6626. }
  6627. var XFcConfigHome = XIA__FcConfigHome
  6628. func XFcConfigXdgCacheHome(tls *libc.TLS) (r uintptr) {
  6629. var env, home, ret uintptr
  6630. var len1 Tsize_t
  6631. var v1 uint64
  6632. _, _, _, _, _ = env, home, len1, ret, v1
  6633. env = libc.Xgetenv(tls, __ccgo_ts+1351)
  6634. ret = libc.UintptrFromInt32(0)
  6635. if !(__FcConfigHomeEnabled != 0) {
  6636. return libc.UintptrFromInt32(0)
  6637. }
  6638. if env != 0 {
  6639. ret = XIA__FcStrCopy(tls, env)
  6640. } else {
  6641. home = XIA__FcConfigHome(tls)
  6642. if home != 0 {
  6643. v1 = libc.Xstrlen(tls, home)
  6644. } else {
  6645. v1 = uint64(0)
  6646. }
  6647. len1 = v1
  6648. ret = libc.Xmalloc(tls, len1+uint64(7)+uint64(1))
  6649. if ret != 0 {
  6650. if home != 0 {
  6651. libc.Xmemcpy(tls, ret, home, len1)
  6652. }
  6653. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1366, uint64(7))
  6654. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(7)))) = uint8(0)
  6655. }
  6656. }
  6657. return ret
  6658. }
  6659. func XFcConfigXdgConfigHome(tls *libc.TLS) (r uintptr) {
  6660. var env, home, ret uintptr
  6661. var len1 Tsize_t
  6662. var v1 uint64
  6663. _, _, _, _, _ = env, home, len1, ret, v1
  6664. env = libc.Xgetenv(tls, __ccgo_ts+1374)
  6665. ret = libc.UintptrFromInt32(0)
  6666. if !(__FcConfigHomeEnabled != 0) {
  6667. return libc.UintptrFromInt32(0)
  6668. }
  6669. if env != 0 {
  6670. ret = XIA__FcStrCopy(tls, env)
  6671. } else {
  6672. home = XIA__FcConfigHome(tls)
  6673. if home != 0 {
  6674. v1 = libc.Xstrlen(tls, home)
  6675. } else {
  6676. v1 = uint64(0)
  6677. }
  6678. len1 = v1
  6679. ret = libc.Xmalloc(tls, len1+uint64(8)+uint64(1))
  6680. if ret != 0 {
  6681. if home != 0 {
  6682. libc.Xmemcpy(tls, ret, home, len1)
  6683. }
  6684. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1390, uint64(8))
  6685. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(8)))) = uint8(0)
  6686. }
  6687. }
  6688. return ret
  6689. }
  6690. func XFcConfigXdgDataHome(tls *libc.TLS) (r uintptr) {
  6691. var env, home, ret uintptr
  6692. var len1 Tsize_t
  6693. var v1 uint64
  6694. _, _, _, _, _ = env, home, len1, ret, v1
  6695. env = libc.Xgetenv(tls, __ccgo_ts+1399)
  6696. ret = libc.UintptrFromInt32(0)
  6697. if !(__FcConfigHomeEnabled != 0) {
  6698. return libc.UintptrFromInt32(0)
  6699. }
  6700. if env != 0 {
  6701. ret = XIA__FcStrCopy(tls, env)
  6702. } else {
  6703. home = XIA__FcConfigHome(tls)
  6704. if home != 0 {
  6705. v1 = libc.Xstrlen(tls, home)
  6706. } else {
  6707. v1 = uint64(0)
  6708. }
  6709. len1 = v1
  6710. ret = libc.Xmalloc(tls, len1+uint64(13)+uint64(1))
  6711. if ret != 0 {
  6712. if home != 0 {
  6713. libc.Xmemcpy(tls, ret, home, len1)
  6714. }
  6715. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1413, uint64(13))
  6716. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(13)))) = uint8(0)
  6717. }
  6718. }
  6719. return ret
  6720. }
  6721. func XIA__FcConfigEnableHome(tls *libc.TLS, enable TFcBool) (r TFcBool) {
  6722. var prev TFcBool
  6723. _ = prev
  6724. prev = __FcConfigHomeEnabled
  6725. __FcConfigHomeEnabled = enable
  6726. return prev
  6727. }
  6728. var XFcConfigEnableHome = XIA__FcConfigEnableHome
  6729. func XIA__FcConfigFilename(tls *libc.TLS, url uintptr) (r uintptr) {
  6730. var dir, file, p, path uintptr
  6731. _, _, _, _ = dir, file, p, path
  6732. if !(url != 0) || !(*(*TFcChar8)(unsafe.Pointer(url)) != 0) {
  6733. url = libc.Xgetenv(tls, __ccgo_ts+1427)
  6734. if !(url != 0) {
  6735. url = __ccgo_ts + 1443
  6736. }
  6737. }
  6738. file = uintptr(0)
  6739. if XFcStrIsAbsoluteFilename(tls, url) != 0 {
  6740. return _FcConfigFileExists(tls, uintptr(0), url)
  6741. }
  6742. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(url))) == int32('~') {
  6743. dir = XIA__FcConfigHome(tls)
  6744. if dir != 0 {
  6745. file = _FcConfigFileExists(tls, dir, url+uintptr(1))
  6746. } else {
  6747. file = uintptr(0)
  6748. }
  6749. }
  6750. path = _FcConfigGetPath(tls)
  6751. if !(path != 0) {
  6752. return libc.UintptrFromInt32(0)
  6753. }
  6754. p = path
  6755. for {
  6756. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  6757. break
  6758. }
  6759. file = _FcConfigFileExists(tls, *(*uintptr)(unsafe.Pointer(p)), url)
  6760. if file != 0 {
  6761. break
  6762. }
  6763. goto _1
  6764. _1:
  6765. ;
  6766. p += 8
  6767. }
  6768. _FcConfigFreePath(tls, path)
  6769. return file
  6770. }
  6771. var XFcConfigFilename = XIA__FcConfigFilename
  6772. func XFcConfigRealFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  6773. bp := tls.Alloc(4128)
  6774. defer tls.Free(4128)
  6775. var dirname, n, nn, path, sysroot uintptr
  6776. var len1, v1 Tssize_t
  6777. var _ /* buf at bp+0 */ [4096]TFcChar8
  6778. _, _, _, _, _, _, _ = dirname, len1, n, nn, path, sysroot, v1
  6779. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  6780. n = XIA__FcConfigFilename(tls, url)
  6781. nn = libc.UintptrFromInt32(0)
  6782. if n != 0 {
  6783. if sysroot != 0 {
  6784. nn = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+4104, n, libc.UintptrFromInt32(0)))
  6785. } else {
  6786. nn = libc.Xstrdup(tls, n)
  6787. }
  6788. XIA__FcStrFree(tls, n)
  6789. v1 = XFcReadLink(tls, nn, bp, libc.Uint64FromInt64(4096)-libc.Uint64FromInt32(1))
  6790. len1 = v1
  6791. if v1 != int64(-int32(1)) {
  6792. (*(*[4096]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  6793. if !(XFcStrIsAbsoluteFilename(tls, bp) != 0) {
  6794. dirname = XIA__FcStrDirname(tls, nn)
  6795. XIA__FcStrFree(tls, nn)
  6796. if !(dirname != 0) {
  6797. return libc.UintptrFromInt32(0)
  6798. }
  6799. path = XFcStrBuildFilename(tls, dirname, libc.VaList(bp+4104, bp, libc.UintptrFromInt32(0)))
  6800. XIA__FcStrFree(tls, dirname)
  6801. if !(path != 0) {
  6802. return libc.UintptrFromInt32(0)
  6803. }
  6804. nn = XFcStrCanonFilename(tls, path)
  6805. XIA__FcStrFree(tls, path)
  6806. } else {
  6807. XIA__FcStrFree(tls, nn)
  6808. nn = libc.Xstrdup(tls, bp)
  6809. }
  6810. }
  6811. }
  6812. return nn
  6813. }
  6814. /*
  6815. * Manage the application-specific fonts
  6816. */
  6817. func XIA__FcConfigAppFontAddFile(tls *libc.TLS, config uintptr, file uintptr) (r TFcBool) {
  6818. var set, subdir, subdirs, sublist, v1, v2 uintptr
  6819. _, _, _, _, _, _ = set, subdir, subdirs, sublist, v1, v2
  6820. if !(config != 0) {
  6821. config = XIA__FcConfigGetCurrent(tls)
  6822. if !(config != 0) {
  6823. return m_FcFalse
  6824. }
  6825. }
  6826. subdirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  6827. if !(subdirs != 0) {
  6828. return m_FcFalse
  6829. }
  6830. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  6831. if !(set != 0) {
  6832. set = XIA__FcFontSetCreate(tls)
  6833. if !(set != 0) {
  6834. XIA__FcStrSetDestroy(tls, subdirs)
  6835. return m_FcFalse
  6836. }
  6837. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  6838. }
  6839. if !(XFcFileScanConfig(tls, set, subdirs, file, config) != 0) {
  6840. XIA__FcStrSetDestroy(tls, subdirs)
  6841. return m_FcFalse
  6842. }
  6843. v1 = XIA__FcStrListCreate(tls, subdirs)
  6844. sublist = v1
  6845. if v1 != 0 {
  6846. for {
  6847. v2 = XIA__FcStrListNext(tls, sublist)
  6848. subdir = v2
  6849. if !(v2 != 0) {
  6850. break
  6851. }
  6852. XIA__FcConfigAppFontAddDir(tls, config, subdir)
  6853. }
  6854. XIA__FcStrListDone(tls, sublist)
  6855. }
  6856. XIA__FcStrSetDestroy(tls, subdirs)
  6857. return int32(m_FcTrue)
  6858. }
  6859. var XFcConfigAppFontAddFile = XIA__FcConfigAppFontAddFile
  6860. func XIA__FcConfigAppFontAddDir(tls *libc.TLS, config uintptr, dir uintptr) (r TFcBool) {
  6861. var dirs, set uintptr
  6862. _, _ = dirs, set
  6863. if !(config != 0) {
  6864. config = XIA__FcConfigGetCurrent(tls)
  6865. if !(config != 0) {
  6866. return m_FcFalse
  6867. }
  6868. }
  6869. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  6870. if !(dirs != 0) {
  6871. return m_FcFalse
  6872. }
  6873. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  6874. if !(set != 0) {
  6875. set = XIA__FcFontSetCreate(tls)
  6876. if !(set != 0) {
  6877. XIA__FcStrSetDestroy(tls, dirs)
  6878. return m_FcFalse
  6879. }
  6880. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  6881. }
  6882. XIA__FcStrSetAddFilename(tls, dirs, dir)
  6883. if !(_FcConfigAddDirList(tls, config, int32(_FcSetApplication), dirs) != 0) {
  6884. XIA__FcStrSetDestroy(tls, dirs)
  6885. return m_FcFalse
  6886. }
  6887. XIA__FcStrSetDestroy(tls, dirs)
  6888. return int32(m_FcTrue)
  6889. }
  6890. var XFcConfigAppFontAddDir = XIA__FcConfigAppFontAddDir
  6891. func XIA__FcConfigAppFontClear(tls *libc.TLS, config uintptr) {
  6892. if !(config != 0) {
  6893. config = XIA__FcConfigGetCurrent(tls)
  6894. if !(config != 0) {
  6895. return
  6896. }
  6897. }
  6898. XFcConfigSetFonts(tls, config, uintptr(0), int32(_FcSetApplication))
  6899. }
  6900. var XFcConfigAppFontClear = XIA__FcConfigAppFontClear
  6901. /*
  6902. * Manage filename-based font source selectors
  6903. */
  6904. func XFcConfigGlobAdd(tls *libc.TLS, config uintptr, glob uintptr, accept TFcBool) (r TFcBool) {
  6905. var set, v1 uintptr
  6906. _, _ = set, v1
  6907. if accept != 0 {
  6908. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs
  6909. } else {
  6910. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs
  6911. }
  6912. set = v1
  6913. return XIA__FcStrSetAdd(tls, set, glob)
  6914. }
  6915. func _FcConfigGlobsMatch(tls *libc.TLS, globs uintptr, string1 uintptr) (r TFcBool) {
  6916. var i int32
  6917. _ = i
  6918. i = 0
  6919. for {
  6920. if !(i < (*TFcStrSet)(unsafe.Pointer(globs)).Fnum) {
  6921. break
  6922. }
  6923. if XFcStrGlobMatch(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(globs)).Fstrs + uintptr(i)*8)), string1) != 0 {
  6924. return int32(m_FcTrue)
  6925. }
  6926. goto _1
  6927. _1:
  6928. ;
  6929. i++
  6930. }
  6931. return m_FcFalse
  6932. }
  6933. func XFcConfigAcceptFilename(tls *libc.TLS, config uintptr, filename uintptr) (r TFcBool) {
  6934. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs, filename) != 0 {
  6935. return int32(m_FcTrue)
  6936. }
  6937. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs, filename) != 0 {
  6938. return m_FcFalse
  6939. }
  6940. return int32(m_FcTrue)
  6941. }
  6942. /*
  6943. * Manage font-pattern based font source selectors
  6944. */
  6945. func XFcConfigPatternsAdd(tls *libc.TLS, config uintptr, pattern uintptr, accept TFcBool) (r TFcBool) {
  6946. var set, v1 uintptr
  6947. _, _ = set, v1
  6948. if accept != 0 {
  6949. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns
  6950. } else {
  6951. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns
  6952. }
  6953. set = v1
  6954. return XIA__FcFontSetAdd(tls, set, pattern)
  6955. }
  6956. func _FcConfigPatternsMatch(tls *libc.TLS, patterns uintptr, font uintptr) (r TFcBool) {
  6957. var i int32
  6958. _ = i
  6959. i = 0
  6960. for {
  6961. if !(i < (*TFcFontSet)(unsafe.Pointer(patterns)).Fnfont) {
  6962. break
  6963. }
  6964. if XFcListPatternMatchAny(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(patterns)).Ffonts + uintptr(i)*8)), font) != 0 {
  6965. return int32(m_FcTrue)
  6966. }
  6967. goto _1
  6968. _1:
  6969. ;
  6970. i++
  6971. }
  6972. return m_FcFalse
  6973. }
  6974. func XFcConfigAcceptFont(tls *libc.TLS, config uintptr, font uintptr) (r TFcBool) {
  6975. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns, font) != 0 {
  6976. return int32(m_FcTrue)
  6977. }
  6978. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns, font) != 0 {
  6979. return m_FcFalse
  6980. }
  6981. return int32(m_FcTrue)
  6982. }
  6983. func XIA__FcConfigGetSysRoot(tls *libc.TLS, config uintptr) (r uintptr) {
  6984. if !(config != 0) {
  6985. config = XIA__FcConfigGetCurrent(tls)
  6986. if !(config != 0) {
  6987. return libc.UintptrFromInt32(0)
  6988. }
  6989. }
  6990. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  6991. return (*TFcConfig)(unsafe.Pointer(config)).FsysRoot
  6992. }
  6993. return libc.Xgetenv(tls, __ccgo_ts+1454)
  6994. }
  6995. var XFcConfigGetSysRoot = XIA__FcConfigGetSysRoot
  6996. func XIA__FcConfigSetSysRoot(tls *libc.TLS, config uintptr, sysroot uintptr) {
  6997. var init1 TFcBool
  6998. var s uintptr
  6999. _, _ = init1, s
  7000. s = libc.UintptrFromInt32(0)
  7001. init1 = m_FcFalse
  7002. if !(config != 0) {
  7003. /* We can't use FcConfigGetCurrent() here to ensure
  7004. * the sysroot is set prior to initialize FcConfig,
  7005. * to avoid loading caches from non-sysroot dirs.
  7006. * So postpone the initialization later.
  7007. */
  7008. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  7009. if !(config != 0) {
  7010. config = XIA__FcConfigCreate(tls)
  7011. if !(config != 0) {
  7012. return
  7013. }
  7014. init1 = int32(m_FcTrue)
  7015. }
  7016. }
  7017. if sysroot != 0 {
  7018. s = XIA__FcStrCopyFilename(tls, sysroot)
  7019. if !(s != 0) {
  7020. return
  7021. }
  7022. }
  7023. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  7024. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  7025. }
  7026. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = s
  7027. if init1 != 0 {
  7028. config = XFcInitLoadOwnConfigAndFonts(tls, config)
  7029. XIA__FcConfigSetCurrent(tls, config)
  7030. /* FcConfigSetCurrent() increases the refcount.
  7031. * decrease it here to avoid the memory leak.
  7032. */
  7033. XIA__FcConfigDestroy(tls, config)
  7034. }
  7035. }
  7036. var XFcConfigSetSysRoot = XIA__FcConfigSetSysRoot
  7037. func XFcRuleSetCreate(tls *libc.TLS, name uintptr) (r uintptr) {
  7038. var k TFcMatchKind
  7039. var p, ret uintptr
  7040. _, _, _ = k, p, ret
  7041. ret = libc.Xmalloc(tls, uint64(64))
  7042. if !(name != 0) {
  7043. p = __ccgo_ts + 1316
  7044. } else {
  7045. p = name
  7046. }
  7047. if ret != 0 {
  7048. (*TFcRuleSet)(unsafe.Pointer(ret)).Fname = libc.Xstrdup(tls, p)
  7049. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdescription = libc.UintptrFromInt32(0)
  7050. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdomain = libc.UintptrFromInt32(0)
  7051. k = int32(_FcMatchKindBegin)
  7052. for {
  7053. if !(k < int32(_FcMatchKindEnd)) {
  7054. break
  7055. }
  7056. *(*uintptr)(unsafe.Pointer(ret + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRule))
  7057. goto _1
  7058. _1:
  7059. ;
  7060. k++
  7061. }
  7062. (*TFcRef)(unsafe.Pointer(ret)).Fcount = int32(1)
  7063. }
  7064. return ret
  7065. }
  7066. func XFcRuleSetDestroy(tls *libc.TLS, rs uintptr) {
  7067. var k TFcMatchKind
  7068. var v1 int32
  7069. var p3 uintptr
  7070. _, _, _ = k, v1, p3
  7071. if !(rs != 0) {
  7072. return
  7073. }
  7074. p3 = rs
  7075. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  7076. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  7077. goto _2
  7078. _2:
  7079. if v1 != int32(1) {
  7080. return
  7081. }
  7082. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fname != 0 {
  7083. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname)
  7084. }
  7085. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7086. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7087. }
  7088. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7089. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7090. }
  7091. k = int32(_FcMatchKindBegin)
  7092. for {
  7093. if !(k < int32(_FcMatchKindEnd)) {
  7094. break
  7095. }
  7096. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(k)*8)))
  7097. goto _4
  7098. _4:
  7099. ;
  7100. k++
  7101. }
  7102. libc.Xfree(tls, rs)
  7103. }
  7104. func XFcRuleSetReference(tls *libc.TLS, rs uintptr) {
  7105. var v1 TFcBool
  7106. var p4 uintptr
  7107. _, _ = v1, p4
  7108. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(rs)).Fcount == -libc.Int32FromInt32(1))
  7109. goto _2
  7110. _2:
  7111. if !(v1 != 0) {
  7112. p4 = rs
  7113. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  7114. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  7115. goto _3
  7116. _3:
  7117. }
  7118. }
  7119. func XFcRuleSetEnable(tls *libc.TLS, rs uintptr, flag TFcBool) {
  7120. if rs != 0 {
  7121. (*TFcRuleSet)(unsafe.Pointer(rs)).Fenabled = flag
  7122. /* XXX: we may want to provide a feature
  7123. * to enable/disable rulesets through API
  7124. * in the future?
  7125. */
  7126. }
  7127. }
  7128. func XFcRuleSetAddDescription(tls *libc.TLS, rs uintptr, domain uintptr, description uintptr) {
  7129. var v1, v2 uintptr
  7130. _, _ = v1, v2
  7131. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7132. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7133. }
  7134. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7135. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7136. }
  7137. if domain != 0 {
  7138. v1 = libc.Xstrdup(tls, domain)
  7139. } else {
  7140. v1 = libc.UintptrFromInt32(0)
  7141. }
  7142. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain = v1
  7143. if description != 0 {
  7144. v2 = libc.Xstrdup(tls, description)
  7145. } else {
  7146. v2 = libc.UintptrFromInt32(0)
  7147. }
  7148. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription = v2
  7149. }
  7150. func XFcRuleSetAdd(tls *libc.TLS, rs uintptr, rule uintptr, kind TFcMatchKind) (r1 int32) {
  7151. bp := tls.Alloc(48)
  7152. defer tls.Free(48)
  7153. var n, ret, v2 int32
  7154. var r uintptr
  7155. var _ /* iter at bp+0 */ TFcPtrListIter
  7156. _, _, _, _ = n, r, ret, v2
  7157. n = 0
  7158. if !(rs != 0) || kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  7159. return -int32(1)
  7160. }
  7161. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp)
  7162. if !(XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp, rule) != 0) {
  7163. return -int32(1)
  7164. }
  7165. r = rule
  7166. for {
  7167. if !(r != 0) {
  7168. break
  7169. }
  7170. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  7171. case int32(_FcRuleTest):
  7172. if *(*uintptr)(unsafe.Pointer(r + 16)) != 0 {
  7173. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == -libc.Int32FromInt32(1) {
  7174. (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind = kind
  7175. }
  7176. if n < (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  7177. n = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  7178. }
  7179. }
  7180. case int32(_FcRuleEdit):
  7181. if n < (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  7182. n = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  7183. }
  7184. default:
  7185. break
  7186. }
  7187. goto _1
  7188. _1:
  7189. ;
  7190. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  7191. }
  7192. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7193. libc.Xprintf(tls, __ccgo_ts+1473, libc.VaList(bp+32, kind, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  7194. XFcRulePrint(tls, rule)
  7195. }
  7196. ret = n & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) - (int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1))
  7197. if ret < 0 {
  7198. v2 = 0
  7199. } else {
  7200. v2 = ret
  7201. }
  7202. return v2
  7203. }
  7204. func XIA__FcConfigFileInfoIterInit(tls *libc.TLS, config uintptr, iter uintptr) {
  7205. var c, i uintptr
  7206. _, _ = c, i
  7207. i = iter
  7208. if !(config != 0) {
  7209. c = XIA__FcConfigGetCurrent(tls)
  7210. } else {
  7211. c = config
  7212. }
  7213. XFcPtrListIterInit(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7214. }
  7215. var XFcConfigFileInfoIterInit = XIA__FcConfigFileInfoIterInit
  7216. func XIA__FcConfigFileInfoIterNext(tls *libc.TLS, config uintptr, iter uintptr) (r TFcBool) {
  7217. var c, i uintptr
  7218. _, _ = c, i
  7219. i = iter
  7220. if !(config != 0) {
  7221. c = XIA__FcConfigGetCurrent(tls)
  7222. } else {
  7223. c = config
  7224. }
  7225. if XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0 {
  7226. XFcPtrListIterNext(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7227. } else {
  7228. return m_FcFalse
  7229. }
  7230. return int32(m_FcTrue)
  7231. }
  7232. var XFcConfigFileInfoIterNext = XIA__FcConfigFileInfoIterNext
  7233. func XIA__FcConfigFileInfoIterGet(tls *libc.TLS, config uintptr, iter uintptr, name uintptr, description uintptr, enabled uintptr) (r1 TFcBool) {
  7234. var c, i, r, v1, v2, v3 uintptr
  7235. _, _, _, _, _, _ = c, i, r, v1, v2, v3
  7236. i = iter
  7237. if !(config != 0) {
  7238. c = XIA__FcConfigGetCurrent(tls)
  7239. } else {
  7240. c = config
  7241. }
  7242. if !(XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0) {
  7243. return m_FcFalse
  7244. }
  7245. r = XFcPtrListIterGetValue(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7246. if name != 0 {
  7247. if (*TFcRuleSet)(unsafe.Pointer(r)).Fname != 0 && *(*TFcChar8)(unsafe.Pointer((*TFcRuleSet)(unsafe.Pointer(r)).Fname)) != 0 {
  7248. v1 = (*TFcRuleSet)(unsafe.Pointer(r)).Fname
  7249. } else {
  7250. v1 = __ccgo_ts + 1443
  7251. }
  7252. *(*uintptr)(unsafe.Pointer(name)) = libc.Xstrdup(tls, v1)
  7253. }
  7254. if description != 0 {
  7255. if !((*TFcRuleSet)(unsafe.Pointer(r)).Fdescription != 0) {
  7256. v2 = libc.Xdgettext(tls, __ccgo_ts+1502, __ccgo_ts+1513)
  7257. } else {
  7258. if (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain != 0 {
  7259. v3 = (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain
  7260. } else {
  7261. v3 = __ccgo_ts + 1528
  7262. }
  7263. v2 = libc.Xdgettext(tls, v3, (*TFcRuleSet)(unsafe.Pointer(r)).Fdescription)
  7264. }
  7265. *(*uintptr)(unsafe.Pointer(description)) = libc.Xstrdup(tls, v2)
  7266. }
  7267. if enabled != 0 {
  7268. *(*TFcBool)(unsafe.Pointer(enabled)) = (*TFcRuleSet)(unsafe.Pointer(r)).Fenabled
  7269. }
  7270. return int32(m_FcTrue)
  7271. }
  7272. var XFcConfigFileInfoIterGet = XIA__FcConfigFileInfoIterGet
  7273. const m_FC_CHAR_LEAF_HASH_SIZE = 257
  7274. const m_FC_CHAR_SET_HASH_SIZE = 67
  7275. const m_FC_DIR_SEPARATOR_S2 = "/"
  7276. const m_FC_SEARCH_PATH_SEPARATOR2 = ':'
  7277. type TFcCharSetFreezer = struct {
  7278. Fleaf_hash_table [257]uintptr
  7279. Fleaf_blocks uintptr
  7280. Fleaf_block_count int32
  7281. Fset_hash_table [67]uintptr
  7282. Forig_hash_table [67]uintptr
  7283. Fcurrent_block uintptr
  7284. Fleaf_remain int32
  7285. Fleaves_seen int32
  7286. Fcharsets_seen int32
  7287. Fleaves_allocated int32
  7288. Fcharsets_allocated int32
  7289. }
  7290. type T_FcCharSetFreezer = TFcCharSetFreezer
  7291. /* #define CHECK */
  7292. func XIA__FcCharSetCreate(tls *libc.TLS) (r uintptr) {
  7293. var fcs uintptr
  7294. _ = fcs
  7295. fcs = libc.Xmalloc(tls, uint64(24))
  7296. if !(fcs != 0) {
  7297. return uintptr(0)
  7298. }
  7299. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = int32(1)
  7300. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  7301. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  7302. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  7303. return fcs
  7304. }
  7305. var XFcCharSetCreate = XIA__FcCharSetCreate
  7306. func XFcCharSetPromote(tls *libc.TLS, vbuf uintptr) (r uintptr) {
  7307. var fcs uintptr
  7308. _ = fcs
  7309. fcs = vbuf
  7310. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = -libc.Int32FromInt32(1)
  7311. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  7312. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  7313. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  7314. return fcs
  7315. }
  7316. func XIA__FcCharSetNew(tls *libc.TLS) (r uintptr) {
  7317. return XIA__FcCharSetCreate(tls)
  7318. }
  7319. var XFcCharSetNew = XIA__FcCharSetNew
  7320. func XIA__FcCharSetDestroy(tls *libc.TLS, fcs uintptr) {
  7321. var i, v3 int32
  7322. var v1 TFcBool
  7323. var p5 uintptr
  7324. _, _, _, _ = i, v1, v3, p5
  7325. if fcs != 0 {
  7326. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  7327. goto _2
  7328. _2:
  7329. if v1 != 0 {
  7330. XFcCacheObjectDereference(tls, fcs)
  7331. return
  7332. }
  7333. p5 = fcs
  7334. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  7335. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  7336. goto _4
  7337. _4:
  7338. if v3 != int32(1) {
  7339. return
  7340. }
  7341. i = 0
  7342. for {
  7343. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  7344. break
  7345. }
  7346. libc.Xfree(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  7347. goto _6
  7348. _6:
  7349. ;
  7350. i++
  7351. }
  7352. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  7353. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  7354. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset))
  7355. }
  7356. libc.Xfree(tls, fcs)
  7357. }
  7358. }
  7359. var XFcCharSetDestroy = XIA__FcCharSetDestroy
  7360. /*
  7361. * Search for the leaf containing with the specified num.
  7362. * Return its index if it exists, otherwise return negative of
  7363. * the (position + 1) where it should be inserted
  7364. */
  7365. func _FcCharSetFindLeafForward(tls *libc.TLS, fcs uintptr, start int32, num TFcChar16) (r int32) {
  7366. var high, low, mid int32
  7367. var numbers uintptr
  7368. var page TFcChar16
  7369. _, _, _, _, _ = high, low, mid, numbers, page
  7370. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  7371. low = start
  7372. high = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum - int32(1)
  7373. if !(numbers != 0) {
  7374. return -int32(1)
  7375. }
  7376. for low <= high {
  7377. mid = (low + high) >> int32(1)
  7378. page = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(mid)*2))
  7379. if libc.Int32FromUint16(page) == libc.Int32FromUint16(num) {
  7380. return mid
  7381. }
  7382. if libc.Int32FromUint16(page) < libc.Int32FromUint16(num) {
  7383. low = mid + int32(1)
  7384. } else {
  7385. high = mid - int32(1)
  7386. }
  7387. }
  7388. if high < 0 || high < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(high)*2))) < libc.Int32FromUint16(num) {
  7389. high++
  7390. }
  7391. return -(high + int32(1))
  7392. }
  7393. /*
  7394. * Locate the leaf containing the specified char, return
  7395. * its index if it exists, otherwise return negative of
  7396. * the (position + 1) where it should be inserted
  7397. */
  7398. func _FcCharSetFindLeafPos(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r int32) {
  7399. return _FcCharSetFindLeafForward(tls, fcs, 0, uint16(ucs4>>int32(8)))
  7400. }
  7401. func _FcCharSetFindLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  7402. var pos int32
  7403. _ = pos
  7404. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  7405. if pos >= 0 {
  7406. return uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  7407. }
  7408. return uintptr(0)
  7409. }
  7410. func _FcCharSetPutLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr, pos int32) (r TFcBool) {
  7411. var alloced, alloced1 uint32
  7412. var distance Tintptr_t
  7413. var i int32
  7414. var leaves, new_leaves, numbers uintptr
  7415. _, _, _, _, _, _, _ = alloced, alloced1, distance, i, leaves, new_leaves, numbers
  7416. leaves = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)
  7417. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  7418. ucs4 >>= uint32(8)
  7419. if ucs4 >= uint32(0x10000) {
  7420. return m_FcFalse
  7421. }
  7422. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum&((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-libc.Int32FromInt32(1)) != 0) {
  7423. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0) {
  7424. alloced = uint32(8)
  7425. leaves = libc.Xmalloc(tls, uint64(alloced)*uint64(8))
  7426. numbers = libc.Xmalloc(tls, uint64(alloced)*uint64(2))
  7427. if !(leaves != 0) || !(numbers != 0) {
  7428. if leaves != 0 {
  7429. libc.Xfree(tls, leaves)
  7430. }
  7431. if numbers != 0 {
  7432. libc.Xfree(tls, numbers)
  7433. }
  7434. return m_FcFalse
  7435. }
  7436. } else {
  7437. alloced1 = libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)
  7438. alloced1 *= uint32(2)
  7439. new_leaves = libc.Xrealloc(tls, leaves, uint64(alloced1)*uint64(8))
  7440. if !(new_leaves != 0) {
  7441. return m_FcFalse
  7442. }
  7443. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1)*uint64(2))
  7444. if !(numbers != 0) {
  7445. /* Revert the reallocation of leaves */
  7446. leaves = libc.Xrealloc(tls, new_leaves, uint64(alloced1/libc.Uint32FromInt32(2))*uint64(8))
  7447. /* unlikely to fail though */
  7448. if !(leaves != 0) {
  7449. return m_FcFalse
  7450. }
  7451. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int64(leaves) - int64(fcs)
  7452. return m_FcFalse
  7453. }
  7454. distance = int64(new_leaves) - int64(leaves)
  7455. if new_leaves != 0 && distance != 0 {
  7456. i = 0
  7457. for {
  7458. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  7459. break
  7460. }
  7461. *(*Tintptr_t)(unsafe.Pointer(new_leaves + uintptr(i)*8)) -= distance
  7462. goto _1
  7463. _1:
  7464. ;
  7465. i++
  7466. }
  7467. }
  7468. leaves = new_leaves
  7469. }
  7470. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int64(leaves) - int64(fcs)
  7471. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  7472. }
  7473. libc.Xmemmove(tls, leaves+uintptr(pos)*8+uintptr(1)*8, leaves+uintptr(pos)*8, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(8))
  7474. libc.Xmemmove(tls, numbers+uintptr(pos)*2+uintptr(1)*2, numbers+uintptr(pos)*2, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(2))
  7475. *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(pos)*2)) = uint16(ucs4)
  7476. *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(pos)*8)) = int64(leaf) - int64(leaves)
  7477. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum++
  7478. return int32(m_FcTrue)
  7479. }
  7480. /*
  7481. * Locate the leaf containing the specified char, creating it
  7482. * if desired
  7483. */
  7484. func XFcCharSetFindLeafCreate(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  7485. var leaf uintptr
  7486. var pos int32
  7487. _, _ = leaf, pos
  7488. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  7489. if pos >= 0 {
  7490. return uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  7491. }
  7492. leaf = libc.Xcalloc(tls, uint64(1), uint64(32))
  7493. if !(leaf != 0) {
  7494. return uintptr(0)
  7495. }
  7496. pos = -pos - int32(1)
  7497. if !(_FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos) != 0) {
  7498. libc.Xfree(tls, leaf)
  7499. return uintptr(0)
  7500. }
  7501. return leaf
  7502. }
  7503. func _FcCharSetInsertLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  7504. var pos int32
  7505. _ = pos
  7506. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  7507. if pos >= 0 {
  7508. libc.Xfree(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8))))
  7509. *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)) = int64(leaf) - int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  7510. return int32(m_FcTrue)
  7511. }
  7512. pos = -pos - int32(1)
  7513. return _FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos)
  7514. }
  7515. func XIA__FcCharSetAddChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  7516. var b, leaf uintptr
  7517. var v1 TFcBool
  7518. var v3 bool
  7519. _, _, _, _ = b, leaf, v1, v3
  7520. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  7521. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  7522. goto _2
  7523. _2:
  7524. }
  7525. if v3 || v1 != 0 {
  7526. return m_FcFalse
  7527. }
  7528. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  7529. if !(leaf != 0) {
  7530. return m_FcFalse
  7531. }
  7532. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  7533. *(*TFcChar32)(unsafe.Pointer(b)) |= uint32(1) << (ucs4 & uint32(0x1f))
  7534. return int32(m_FcTrue)
  7535. }
  7536. var XFcCharSetAddChar = XIA__FcCharSetAddChar
  7537. func XIA__FcCharSetDelChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  7538. var b, leaf uintptr
  7539. var v1 TFcBool
  7540. var v3 bool
  7541. _, _, _, _ = b, leaf, v1, v3
  7542. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  7543. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  7544. goto _2
  7545. _2:
  7546. }
  7547. if v3 || v1 != 0 {
  7548. return m_FcFalse
  7549. }
  7550. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  7551. if !(leaf != 0) {
  7552. return int32(m_FcTrue)
  7553. }
  7554. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  7555. *(*TFcChar32)(unsafe.Pointer(b)) &= ^(libc.Uint32FromUint32(1) << (ucs4 & libc.Uint32FromInt32(0x1f)))
  7556. /* We don't bother removing the leaf if it's empty */
  7557. return int32(m_FcTrue)
  7558. }
  7559. var XFcCharSetDelChar = XIA__FcCharSetDelChar
  7560. /*
  7561. * An iterator for the leaves of a charset
  7562. */
  7563. type TFcCharSetIter = struct {
  7564. Fleaf uintptr
  7565. Fucs4 TFcChar32
  7566. Fpos int32
  7567. }
  7568. /*
  7569. * An iterator for the leaves of a charset
  7570. */
  7571. type T_fcCharSetIter = TFcCharSetIter
  7572. /*
  7573. * Set iter->leaf to the leaf containing iter->ucs4 or higher
  7574. */
  7575. func _FcCharSetIterSet(tls *libc.TLS, fcs uintptr, iter uintptr) {
  7576. var pos int32
  7577. _ = pos
  7578. pos = _FcCharSetFindLeafPos(tls, fcs, (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4)
  7579. if pos < 0 {
  7580. pos = -pos - int32(1)
  7581. if pos == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  7582. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  7583. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  7584. return
  7585. }
  7586. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  7587. }
  7588. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  7589. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  7590. }
  7591. func _FcCharSetIterNext(tls *libc.TLS, fcs uintptr, iter uintptr) {
  7592. var pos int32
  7593. _ = pos
  7594. pos = (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos + int32(1)
  7595. if pos >= (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  7596. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  7597. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  7598. } else {
  7599. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  7600. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  7601. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  7602. }
  7603. }
  7604. func _FcCharSetIterStart(tls *libc.TLS, fcs uintptr, iter uintptr) {
  7605. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(0)
  7606. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = 0
  7607. _FcCharSetIterSet(tls, fcs, iter)
  7608. }
  7609. func XIA__FcCharSetCopy(tls *libc.TLS, src uintptr) (r uintptr) {
  7610. var v1 TFcBool
  7611. var p4 uintptr
  7612. _, _ = v1, p4
  7613. if src != 0 {
  7614. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(src)).Fcount == -libc.Int32FromInt32(1))
  7615. goto _2
  7616. _2:
  7617. if !(v1 != 0) {
  7618. p4 = src
  7619. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  7620. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  7621. goto _3
  7622. _3:
  7623. } else {
  7624. XFcCacheObjectReference(tls, src)
  7625. }
  7626. }
  7627. return src
  7628. }
  7629. var XFcCharSetCopy = XIA__FcCharSetCopy
  7630. func XIA__FcCharSetEqual(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  7631. bp := tls.Alloc(32)
  7632. defer tls.Free(32)
  7633. var i int32
  7634. var _ /* ai at bp+0 */ TFcCharSetIter
  7635. var _ /* bi at bp+16 */ TFcCharSetIter
  7636. _ = i
  7637. if a == b {
  7638. return int32(m_FcTrue)
  7639. }
  7640. if !(a != 0) || !(b != 0) {
  7641. return m_FcFalse
  7642. }
  7643. _FcCharSetIterStart(tls, a, bp)
  7644. _FcCharSetIterStart(tls, b, bp+16)
  7645. for {
  7646. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) {
  7647. break
  7648. }
  7649. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 != (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7650. return m_FcFalse
  7651. }
  7652. i = 0
  7653. for {
  7654. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  7655. break
  7656. }
  7657. if *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf + uintptr(i)*4)) {
  7658. return m_FcFalse
  7659. }
  7660. goto _2
  7661. _2:
  7662. ;
  7663. i++
  7664. }
  7665. goto _1
  7666. _1:
  7667. ;
  7668. _FcCharSetIterNext(tls, a, bp)
  7669. _FcCharSetIterNext(tls, b, bp+16)
  7670. }
  7671. return libc.BoolInt32((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf)
  7672. }
  7673. var XFcCharSetEqual = XIA__FcCharSetEqual
  7674. func _FcCharSetAddLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  7675. var new1 uintptr
  7676. _ = new1
  7677. new1 = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  7678. if !(new1 != 0) {
  7679. return m_FcFalse
  7680. }
  7681. *(*TFcCharLeaf)(unsafe.Pointer(new1)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  7682. return int32(m_FcTrue)
  7683. }
  7684. func _FcCharSetOperate(tls *libc.TLS, a uintptr, b uintptr, overlap uintptr, aonly TFcBool, bonly TFcBool) (r uintptr) {
  7685. bp := tls.Alloc(64)
  7686. defer tls.Free(64)
  7687. var fcs uintptr
  7688. var _ /* ai at bp+0 */ TFcCharSetIter
  7689. var _ /* bi at bp+16 */ TFcCharSetIter
  7690. var _ /* leaf at bp+32 */ TFcCharLeaf
  7691. _ = fcs
  7692. if !(a != 0) || !(b != 0) {
  7693. goto bail0
  7694. }
  7695. fcs = XIA__FcCharSetCreate(tls)
  7696. if !(fcs != 0) {
  7697. goto bail0
  7698. }
  7699. _FcCharSetIterStart(tls, a, bp)
  7700. _FcCharSetIterStart(tls, b, bp+16)
  7701. for ((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 || bonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) && ((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 || aonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  7702. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7703. if aonly != 0 {
  7704. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf) != 0) {
  7705. goto bail1
  7706. }
  7707. _FcCharSetIterNext(tls, a, bp)
  7708. } else {
  7709. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  7710. _FcCharSetIterSet(tls, a, bp)
  7711. }
  7712. } else {
  7713. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  7714. if bonly != 0 {
  7715. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0) {
  7716. goto bail1
  7717. }
  7718. _FcCharSetIterNext(tls, b, bp+16)
  7719. } else {
  7720. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  7721. _FcCharSetIterSet(tls, b, bp+16)
  7722. }
  7723. } else {
  7724. if (*(*func(*libc.TLS, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{overlap})))(tls, bp+32, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0 {
  7725. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, bp+32) != 0) {
  7726. goto bail1
  7727. }
  7728. }
  7729. _FcCharSetIterNext(tls, a, bp)
  7730. _FcCharSetIterNext(tls, b, bp+16)
  7731. }
  7732. }
  7733. }
  7734. return fcs
  7735. goto bail1
  7736. bail1:
  7737. ;
  7738. XIA__FcCharSetDestroy(tls, fcs)
  7739. goto bail0
  7740. bail0:
  7741. ;
  7742. return uintptr(0)
  7743. return r
  7744. }
  7745. func _FcCharSetIntersectLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  7746. var i int32
  7747. var nonempty TFcBool
  7748. var v2 TFcChar32
  7749. _, _, _ = i, nonempty, v2
  7750. nonempty = m_FcFalse
  7751. i = 0
  7752. for {
  7753. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  7754. break
  7755. }
  7756. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  7757. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  7758. if v2 != 0 {
  7759. nonempty = int32(m_FcTrue)
  7760. }
  7761. goto _1
  7762. _1:
  7763. ;
  7764. i++
  7765. }
  7766. return nonempty
  7767. }
  7768. func XIA__FcCharSetIntersect(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  7769. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetIntersectLeaf), m_FcFalse, m_FcFalse)
  7770. }
  7771. var XFcCharSetIntersect = XIA__FcCharSetIntersect
  7772. func _FcCharSetUnionLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  7773. var i int32
  7774. _ = i
  7775. i = 0
  7776. for {
  7777. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  7778. break
  7779. }
  7780. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) | *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  7781. goto _1
  7782. _1:
  7783. ;
  7784. i++
  7785. }
  7786. return int32(m_FcTrue)
  7787. }
  7788. func XIA__FcCharSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  7789. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetUnionLeaf), int32(m_FcTrue), int32(m_FcTrue))
  7790. }
  7791. var XFcCharSetUnion = XIA__FcCharSetUnion
  7792. func XIA__FcCharSetMerge(tls *libc.TLS, a uintptr, b uintptr, changed uintptr) (r TFcBool) {
  7793. var ai, bi, v3 int32
  7794. var al, bl uintptr
  7795. var an, bn TFcChar16
  7796. var v1 TFcBool
  7797. _, _, _, _, _, _, _, _ = ai, al, an, bi, bl, bn, v1, v3
  7798. ai = 0
  7799. bi = 0
  7800. if !(a != 0) || !(b != 0) {
  7801. return m_FcFalse
  7802. }
  7803. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(a)).Fcount == -libc.Int32FromInt32(1))
  7804. goto _2
  7805. _2:
  7806. if v1 != 0 {
  7807. if changed != 0 {
  7808. *(*TFcBool)(unsafe.Pointer(changed)) = m_FcFalse
  7809. }
  7810. return m_FcFalse
  7811. }
  7812. if changed != 0 {
  7813. *(*TFcBool)(unsafe.Pointer(changed)) = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, b, a) != 0))
  7814. if !(*(*TFcBool)(unsafe.Pointer(changed)) != 0) {
  7815. return int32(m_FcTrue)
  7816. }
  7817. }
  7818. for bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  7819. if ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum {
  7820. v3 = libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2)))
  7821. } else {
  7822. v3 = ^libc.Int32FromInt32(0)
  7823. }
  7824. an = libc.Uint16FromInt32(v3)
  7825. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  7826. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  7827. ai = _FcCharSetFindLeafForward(tls, a, ai+int32(1), bn)
  7828. if ai < 0 {
  7829. ai = -ai - int32(1)
  7830. }
  7831. } else {
  7832. bl = uintptr(int64(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*8)))
  7833. if libc.Int32FromUint16(bn) < libc.Int32FromUint16(an) {
  7834. if !(_FcCharSetAddLeaf(tls, a, libc.Uint32FromInt32(libc.Int32FromUint16(bn)<<int32(8)), bl) != 0) {
  7835. return m_FcFalse
  7836. }
  7837. } else {
  7838. al = uintptr(int64(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*8)))
  7839. _FcCharSetUnionLeaf(tls, al, al, bl)
  7840. }
  7841. ai++
  7842. bi++
  7843. }
  7844. }
  7845. return int32(m_FcTrue)
  7846. }
  7847. var XFcCharSetMerge = XIA__FcCharSetMerge
  7848. func _FcCharSetSubtractLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  7849. var i int32
  7850. var nonempty TFcBool
  7851. var v2 TFcChar32
  7852. _, _, _ = i, nonempty, v2
  7853. nonempty = m_FcFalse
  7854. i = 0
  7855. for {
  7856. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  7857. break
  7858. }
  7859. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  7860. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  7861. if v2 != 0 {
  7862. nonempty = int32(m_FcTrue)
  7863. }
  7864. goto _1
  7865. _1:
  7866. ;
  7867. i++
  7868. }
  7869. return nonempty
  7870. }
  7871. func XIA__FcCharSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  7872. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetSubtractLeaf), int32(m_FcTrue), m_FcFalse)
  7873. }
  7874. var XFcCharSetSubtract = XIA__FcCharSetSubtract
  7875. func XIA__FcCharSetHasChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  7876. var leaf uintptr
  7877. _ = leaf
  7878. if !(fcs != 0) {
  7879. return m_FcFalse
  7880. }
  7881. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  7882. if !(leaf != 0) {
  7883. return m_FcFalse
  7884. }
  7885. return libc.BoolInt32(*(*TFcChar32)(unsafe.Pointer(leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4))&(uint32(1)<<(ucs4&uint32(0x1f))) != uint32(0))
  7886. }
  7887. var XFcCharSetHasChar = XIA__FcCharSetHasChar
  7888. func _FcCharSetPopCount(tls *libc.TLS, c1 TFcChar32) (r TFcChar32) {
  7889. return libc.Uint32FromInt32(libc.X__builtin_popcount(tls, c1))
  7890. }
  7891. func XIA__FcCharSetIntersectCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  7892. bp := tls.Alloc(32)
  7893. defer tls.Free(32)
  7894. var am, bm, v2, v3 uintptr
  7895. var count TFcChar32
  7896. var i, v1 int32
  7897. var _ /* ai at bp+0 */ TFcCharSetIter
  7898. var _ /* bi at bp+16 */ TFcCharSetIter
  7899. _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3
  7900. count = uint32(0)
  7901. if a != 0 && b != 0 {
  7902. _FcCharSetIterStart(tls, a, bp)
  7903. _FcCharSetIterStart(tls, b, bp+16)
  7904. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  7905. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7906. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  7907. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  7908. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  7909. for {
  7910. v1 = i
  7911. i--
  7912. if !(v1 != 0) {
  7913. break
  7914. }
  7915. v2 = am
  7916. am += 4
  7917. v3 = bm
  7918. bm += 4
  7919. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2))&*(*TFcChar32)(unsafe.Pointer(v3)))
  7920. }
  7921. _FcCharSetIterNext(tls, a, bp)
  7922. } else {
  7923. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7924. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  7925. _FcCharSetIterSet(tls, a, bp)
  7926. }
  7927. }
  7928. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  7929. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  7930. _FcCharSetIterSet(tls, b, bp+16)
  7931. }
  7932. }
  7933. }
  7934. return count
  7935. }
  7936. var XFcCharSetIntersectCount = XIA__FcCharSetIntersectCount
  7937. func XIA__FcCharSetCount(tls *libc.TLS, a uintptr) (r TFcChar32) {
  7938. bp := tls.Alloc(16)
  7939. defer tls.Free(16)
  7940. var am, v3 uintptr
  7941. var count TFcChar32
  7942. var i, v2 int32
  7943. var _ /* ai at bp+0 */ TFcCharSetIter
  7944. _, _, _, _, _ = am, count, i, v2, v3
  7945. count = uint32(0)
  7946. if a != 0 {
  7947. _FcCharSetIterStart(tls, a, bp)
  7948. for {
  7949. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  7950. break
  7951. }
  7952. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  7953. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  7954. for {
  7955. v2 = i
  7956. i--
  7957. if !(v2 != 0) {
  7958. break
  7959. }
  7960. v3 = am
  7961. am += 4
  7962. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v3)))
  7963. }
  7964. goto _1
  7965. _1:
  7966. ;
  7967. _FcCharSetIterNext(tls, a, bp)
  7968. }
  7969. }
  7970. return count
  7971. }
  7972. var XFcCharSetCount = XIA__FcCharSetCount
  7973. func XIA__FcCharSetSubtractCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  7974. bp := tls.Alloc(32)
  7975. defer tls.Free(32)
  7976. var am, bm, v2, v3, v5 uintptr
  7977. var count TFcChar32
  7978. var i, v1, v4 int32
  7979. var _ /* ai at bp+0 */ TFcCharSetIter
  7980. var _ /* bi at bp+16 */ TFcCharSetIter
  7981. _, _, _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3, v4, v5
  7982. count = uint32(0)
  7983. if a != 0 && b != 0 {
  7984. _FcCharSetIterStart(tls, a, bp)
  7985. _FcCharSetIterStart(tls, b, bp+16)
  7986. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 {
  7987. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 <= (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7988. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  7989. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  7990. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7991. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  7992. for {
  7993. v1 = i
  7994. i--
  7995. if !(v1 != 0) {
  7996. break
  7997. }
  7998. v2 = am
  7999. am += 4
  8000. v3 = bm
  8001. bm += 4
  8002. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)))
  8003. }
  8004. } else {
  8005. for {
  8006. v4 = i
  8007. i--
  8008. if !(v4 != 0) {
  8009. break
  8010. }
  8011. v5 = am
  8012. am += 4
  8013. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v5)))
  8014. }
  8015. }
  8016. _FcCharSetIterNext(tls, a, bp)
  8017. } else {
  8018. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  8019. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8020. _FcCharSetIterSet(tls, b, bp+16)
  8021. }
  8022. }
  8023. }
  8024. }
  8025. return count
  8026. }
  8027. var XFcCharSetSubtractCount = XIA__FcCharSetSubtractCount
  8028. // C documentation
  8029. //
  8030. // /*
  8031. // * return FcTrue iff a is a subset of b
  8032. // */
  8033. func XIA__FcCharSetIsSubset(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  8034. var ai, bi, i, v1 int32
  8035. var am, bm, v2, v3 uintptr
  8036. var an, bn TFcChar16
  8037. _, _, _, _, _, _, _, _, _, _ = ai, am, an, bi, bm, bn, i, v1, v2, v3
  8038. if a == b {
  8039. return int32(m_FcTrue)
  8040. }
  8041. if !(a != 0) || !(b != 0) {
  8042. return m_FcFalse
  8043. }
  8044. bi = 0
  8045. ai = 0
  8046. for ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum && bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  8047. an = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2))
  8048. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  8049. /*
  8050. * Check matching pages
  8051. */
  8052. if libc.Int32FromUint16(an) == libc.Int32FromUint16(bn) {
  8053. am = uintptr(int64(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*8)))
  8054. bm = uintptr(int64(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*8)))
  8055. if am != bm {
  8056. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8057. /*
  8058. * Does am have any bits not in bm?
  8059. */
  8060. for {
  8061. v1 = i
  8062. i--
  8063. if !(v1 != 0) {
  8064. break
  8065. }
  8066. v2 = am
  8067. am += 4
  8068. v3 = bm
  8069. bm += 4
  8070. if *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)) != 0 {
  8071. return m_FcFalse
  8072. }
  8073. }
  8074. }
  8075. ai++
  8076. bi++
  8077. } else {
  8078. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  8079. return m_FcFalse
  8080. } else {
  8081. bi = _FcCharSetFindLeafForward(tls, b, bi+int32(1), an)
  8082. if bi < 0 {
  8083. bi = -bi - int32(1)
  8084. }
  8085. }
  8086. }
  8087. }
  8088. /*
  8089. * did we look at every page?
  8090. */
  8091. return libc.BoolInt32(ai >= (*TFcCharSet)(unsafe.Pointer(a)).Fnum)
  8092. }
  8093. var XFcCharSetIsSubset = XIA__FcCharSetIsSubset
  8094. /*
  8095. * These two functions efficiently walk the entire charmap for
  8096. * other software (like pango) that want their own copy
  8097. */
  8098. func XIA__FcCharSetNextPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8099. bp := tls.Alloc(16)
  8100. defer tls.Free(16)
  8101. var page TFcChar32
  8102. var _ /* ai at bp+0 */ TFcCharSetIter
  8103. _ = page
  8104. if !(a != 0) {
  8105. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8106. }
  8107. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = *(*TFcChar32)(unsafe.Pointer(next))
  8108. _FcCharSetIterSet(tls, a, bp)
  8109. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8110. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8111. }
  8112. /*
  8113. * Save current information
  8114. */
  8115. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8116. libc.Xmemcpy(tls, map1, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32))
  8117. /*
  8118. * Step to next page
  8119. */
  8120. _FcCharSetIterNext(tls, a, bp)
  8121. *(*TFcChar32)(unsafe.Pointer(next)) = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8122. return page
  8123. }
  8124. var XFcCharSetNextPage = XIA__FcCharSetNextPage
  8125. func XIA__FcCharSetFirstPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8126. *(*TFcChar32)(unsafe.Pointer(next)) = uint32(0)
  8127. return XIA__FcCharSetNextPage(tls, a, map1, next)
  8128. }
  8129. var XFcCharSetFirstPage = XIA__FcCharSetFirstPage
  8130. /*
  8131. * old coverage API, rather hard to use correctly
  8132. */
  8133. func XIA__FcCharSetCoverage(tls *libc.TLS, a uintptr, page TFcChar32, result uintptr) (r TFcChar32) {
  8134. bp := tls.Alloc(16)
  8135. defer tls.Free(16)
  8136. var _ /* ai at bp+0 */ TFcCharSetIter
  8137. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = page
  8138. _FcCharSetIterSet(tls, a, bp)
  8139. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8140. libc.Xmemset(tls, result, int32('\000'), libc.Uint64FromInt32(libc.Int32FromInt32(256)/libc.Int32FromInt32(8)))
  8141. page = uint32(0)
  8142. } else {
  8143. libc.Xmemcpy(tls, result, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32))
  8144. _FcCharSetIterNext(tls, a, bp)
  8145. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8146. }
  8147. return page
  8148. }
  8149. var XFcCharSetCoverage = XIA__FcCharSetCoverage
  8150. func _FcNameParseRange(tls *libc.TLS, string1 uintptr, pfirst uintptr, plast uintptr) (r TFcBool) {
  8151. bp := tls.Alloc(16)
  8152. defer tls.Free(16)
  8153. var first, last, v4 int64
  8154. var t uintptr
  8155. var v1, v2, v5, v6 int32
  8156. var _ /* s at bp+0 */ uintptr
  8157. _, _, _, _, _, _, _, _ = first, last, t, v1, v2, v4, v5, v6
  8158. *(*uintptr)(unsafe.Pointer(bp)) = *(*uintptr)(unsafe.Pointer(string1))
  8159. for {
  8160. v1 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))))
  8161. v2 = libc.BoolInt32(v1 == int32(' ') || libc.Uint32FromInt32(v1)-uint32('\t') < uint32(5))
  8162. goto _3
  8163. _3:
  8164. if !(v2 != 0) {
  8165. break
  8166. }
  8167. *(*uintptr)(unsafe.Pointer(bp))++
  8168. }
  8169. t = *(*uintptr)(unsafe.Pointer(bp))
  8170. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  8171. v4 = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  8172. last = v4
  8173. first = v4
  8174. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  8175. return m_FcFalse
  8176. }
  8177. for {
  8178. v5 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))))
  8179. v6 = libc.BoolInt32(v5 == int32(' ') || libc.Uint32FromInt32(v5)-uint32('\t') < uint32(5))
  8180. goto _7
  8181. _7:
  8182. if !(v6 != 0) {
  8183. break
  8184. }
  8185. *(*uintptr)(unsafe.Pointer(bp))++
  8186. }
  8187. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) == int32('-') {
  8188. *(*uintptr)(unsafe.Pointer(bp))++
  8189. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  8190. last = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  8191. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  8192. return m_FcFalse
  8193. }
  8194. }
  8195. if *(*uintptr)(unsafe.Pointer(bp)) == t || first < 0 || last < 0 || last < first || last > int64(0x10ffff) {
  8196. return m_FcFalse
  8197. }
  8198. *(*uintptr)(unsafe.Pointer(string1)) = *(*uintptr)(unsafe.Pointer(bp))
  8199. *(*TFcChar32)(unsafe.Pointer(pfirst)) = libc.Uint32FromInt64(first)
  8200. *(*TFcChar32)(unsafe.Pointer(plast)) = libc.Uint32FromInt64(last)
  8201. return int32(m_FcTrue)
  8202. }
  8203. func XFcNameParseCharSet(tls *libc.TLS, _string uintptr) (r uintptr) {
  8204. bp := tls.Alloc(16)
  8205. defer tls.Free(16)
  8206. *(*uintptr)(unsafe.Pointer(bp)) = _string
  8207. var c uintptr
  8208. var u TFcChar32
  8209. var _ /* first at bp+8 */ TFcChar32
  8210. var _ /* last at bp+12 */ TFcChar32
  8211. _, _ = c, u
  8212. c = XIA__FcCharSetCreate(tls)
  8213. if !(c != 0) {
  8214. goto bail0
  8215. }
  8216. for *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != 0 {
  8217. if !(_FcNameParseRange(tls, bp, bp+8, bp+12) != 0) {
  8218. goto bail1
  8219. }
  8220. u = *(*TFcChar32)(unsafe.Pointer(bp + 8))
  8221. for {
  8222. if !(u < *(*TFcChar32)(unsafe.Pointer(bp + 12))+uint32(1)) {
  8223. break
  8224. }
  8225. XIA__FcCharSetAddChar(tls, c, u)
  8226. goto _1
  8227. _1:
  8228. ;
  8229. u++
  8230. }
  8231. }
  8232. return c
  8233. goto bail1
  8234. bail1:
  8235. ;
  8236. XIA__FcCharSetDestroy(tls, c)
  8237. goto bail0
  8238. bail0:
  8239. ;
  8240. return libc.UintptrFromInt32(0)
  8241. return r
  8242. }
  8243. func _FcNameUnparseUnicode(tls *libc.TLS, buf uintptr, u TFcChar32) {
  8244. bp := tls.Alloc(80)
  8245. defer tls.Free(80)
  8246. var _ /* buf_static at bp+0 */ [64]TFcChar8
  8247. libc.X__builtin_snprintf(tls, bp, uint64(64), __ccgo_ts+1544, libc.VaList(bp+72, u))
  8248. XFcStrBufString(tls, buf, bp)
  8249. }
  8250. func XFcNameUnparseCharSet(tls *libc.TLS, buf uintptr, c uintptr) (r TFcBool) {
  8251. bp := tls.Alloc(16)
  8252. defer tls.Free(16)
  8253. var bits, first, last, u, v1 TFcChar32
  8254. var i int32
  8255. var _ /* ci at bp+0 */ TFcCharSetIter
  8256. _, _, _, _, _, _ = bits, first, i, last, u, v1
  8257. v1 = libc.Uint32FromInt32(0x7FFFFFFF)
  8258. last = v1
  8259. first = v1
  8260. _FcCharSetIterStart(tls, c, bp)
  8261. for {
  8262. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8263. break
  8264. }
  8265. i = 0
  8266. for {
  8267. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8268. break
  8269. }
  8270. bits = *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4))
  8271. u = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 + libc.Uint32FromInt32(i*int32(32))
  8272. for bits != 0 {
  8273. if bits&uint32(1) != 0 {
  8274. if u != last+uint32(1) {
  8275. if last != first {
  8276. XFcStrBufChar(tls, buf, uint8('-'))
  8277. _FcNameUnparseUnicode(tls, buf, last)
  8278. }
  8279. if last != uint32(0x7FFFFFFF) {
  8280. XFcStrBufChar(tls, buf, uint8(' '))
  8281. }
  8282. /* Start new range. */
  8283. first = u
  8284. _FcNameUnparseUnicode(tls, buf, u)
  8285. }
  8286. last = u
  8287. }
  8288. bits >>= uint32(1)
  8289. u++
  8290. }
  8291. goto _3
  8292. _3:
  8293. ;
  8294. i++
  8295. }
  8296. goto _2
  8297. _2:
  8298. ;
  8299. _FcCharSetIterNext(tls, c, bp)
  8300. }
  8301. if last != first {
  8302. XFcStrBufChar(tls, buf, uint8('-'))
  8303. _FcNameUnparseUnicode(tls, buf, last)
  8304. }
  8305. return int32(m_FcTrue)
  8306. }
  8307. type TFcCharLeafEnt = struct {
  8308. Fnext uintptr
  8309. Fhash TFcChar32
  8310. Fleaf TFcCharLeaf
  8311. }
  8312. type T_FcCharLeafEnt = TFcCharLeafEnt
  8313. type TFcCharSetEnt = struct {
  8314. Fnext uintptr
  8315. Fhash TFcChar32
  8316. Fset TFcCharSet
  8317. }
  8318. type T_FcCharSetEnt = TFcCharSetEnt
  8319. type TFcCharSetOrigEnt = struct {
  8320. Fnext uintptr
  8321. Forig uintptr
  8322. Ffrozen uintptr
  8323. }
  8324. type T_FcCharSetOrigEnt = TFcCharSetOrigEnt
  8325. func _FcCharLeafEntCreate(tls *libc.TLS, freezer uintptr) (r uintptr) {
  8326. var newBlocks, v1, v2, v3 uintptr
  8327. _, _, _, _ = newBlocks, v1, v2, v3
  8328. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain != 0) {
  8329. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count++
  8330. newBlocks = libc.Xrealloc(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks, libc.Uint64FromInt32((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count)*uint64(8))
  8331. if !(newBlocks != 0) {
  8332. return uintptr(0)
  8333. }
  8334. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks = newBlocks
  8335. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(4096)/libc.Uint64FromInt64(48)*libc.Uint64FromInt64(48))
  8336. *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count-int32(1))*8)) = v1
  8337. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block = v1
  8338. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block != 0) {
  8339. return uintptr(0)
  8340. }
  8341. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain = libc.Int32FromUint64(libc.Uint64FromInt32(4096) / libc.Uint64FromInt64(48))
  8342. }
  8343. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain--
  8344. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated++
  8345. v3 = freezer + 3144
  8346. v2 = *(*uintptr)(unsafe.Pointer(v3))
  8347. *(*uintptr)(unsafe.Pointer(v3)) += 48
  8348. return v2
  8349. }
  8350. func _FcCharLeafHash(tls *libc.TLS, leaf uintptr) (r TFcChar32) {
  8351. var hash TFcChar32
  8352. var i int32
  8353. _, _ = hash, i
  8354. hash = uint32(0)
  8355. i = 0
  8356. for {
  8357. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8358. break
  8359. }
  8360. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(i)*4))
  8361. goto _1
  8362. _1:
  8363. ;
  8364. i++
  8365. }
  8366. return hash
  8367. }
  8368. func _FcCharSetFreezeLeaf(tls *libc.TLS, freezer uintptr, leaf uintptr) (r uintptr) {
  8369. var bucket, ent uintptr
  8370. var hash TFcChar32
  8371. _, _, _ = bucket, ent, hash
  8372. hash = _FcCharLeafHash(tls, leaf)
  8373. bucket = freezer + uintptr(hash%uint32(m_FC_CHAR_LEAF_HASH_SIZE))*8
  8374. ent = *(*uintptr)(unsafe.Pointer(bucket))
  8375. for {
  8376. if !(ent != 0) {
  8377. break
  8378. }
  8379. if (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash == hash && !(libc.Xmemcmp(tls, ent+12, leaf, uint64(32)) != 0) {
  8380. return ent + 12
  8381. }
  8382. goto _1
  8383. _1:
  8384. ;
  8385. ent = (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext
  8386. }
  8387. ent = _FcCharLeafEntCreate(tls, freezer)
  8388. if !(ent != 0) {
  8389. return uintptr(0)
  8390. }
  8391. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fleaf = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  8392. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash = hash
  8393. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  8394. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  8395. return ent + 12
  8396. }
  8397. func _FcCharSetHash(tls *libc.TLS, fcs uintptr) (r TFcChar32) {
  8398. var hash TFcChar32
  8399. var i int32
  8400. _, _ = hash, i
  8401. hash = uint32(0)
  8402. /* hash in leaves */
  8403. i = 0
  8404. for {
  8405. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8406. break
  8407. }
  8408. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcCharLeafHash(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  8409. goto _1
  8410. _1:
  8411. ;
  8412. i++
  8413. }
  8414. /* hash in numbers */
  8415. i = 0
  8416. for {
  8417. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8418. break
  8419. }
  8420. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))
  8421. goto _2
  8422. _2:
  8423. ;
  8424. i++
  8425. }
  8426. return hash
  8427. }
  8428. func _FcCharSetFreezeOrig(tls *libc.TLS, freezer uintptr, orig uintptr, frozen uintptr) (r TFcBool) {
  8429. var bucket, ent uintptr
  8430. _, _ = bucket, ent
  8431. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  8432. ent = libc.Xmalloc(tls, uint64(24))
  8433. if !(ent != 0) {
  8434. return m_FcFalse
  8435. }
  8436. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig = orig
  8437. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen = frozen
  8438. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  8439. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  8440. return int32(m_FcTrue)
  8441. }
  8442. func _FcCharSetFreezeBase(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  8443. var bucket, ent, ent_leaves uintptr
  8444. var hash TFcChar32
  8445. var i, i1, size int32
  8446. var ok TFcBool
  8447. _, _, _, _, _, _, _, _ = bucket, ent, ent_leaves, hash, i, i1, ok, size
  8448. hash = _FcCharSetHash(tls, fcs)
  8449. bucket = freezer + 2072 + uintptr(hash%uint32(m_FC_CHAR_SET_HASH_SIZE))*8
  8450. ent = *(*uintptr)(unsafe.Pointer(bucket))
  8451. for {
  8452. if !(ent != 0) {
  8453. break
  8454. }
  8455. if (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash == hash && (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && !(libc.Xmemcmp(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2)) != 0) {
  8456. ok = int32(m_FcTrue)
  8457. i1 = 0
  8458. for {
  8459. if !(i1 < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8460. break
  8461. }
  8462. if uintptr(int64(uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset) + uintptr(i1)*8))) != uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i1)*8))) {
  8463. ok = m_FcFalse
  8464. }
  8465. goto _2
  8466. _2:
  8467. ;
  8468. i1++
  8469. }
  8470. if ok != 0 {
  8471. return ent + 16
  8472. }
  8473. }
  8474. goto _1
  8475. _1:
  8476. ;
  8477. ent = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  8478. }
  8479. size = libc.Int32FromUint64(libc.Uint64FromInt64(40) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(2))
  8480. ent = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  8481. if !(ent != 0) {
  8482. return uintptr(0)
  8483. }
  8484. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated++
  8485. (*TFcRef)(unsafe.Pointer(ent + 16)).Fcount = -libc.Int32FromInt32(1)
  8486. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  8487. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  8488. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = int64(24)
  8489. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = libc.Int64FromUint64(libc.Uint64FromInt64((*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8))
  8490. ent_leaves = uintptr(Tintptr_t(ent+16) + (*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset)
  8491. i = 0
  8492. for {
  8493. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8494. break
  8495. }
  8496. *(*Tintptr_t)(unsafe.Pointer(ent_leaves + uintptr(i)*8)) = int64(uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8)))) - int64(ent_leaves)
  8497. goto _3
  8498. _3:
  8499. ;
  8500. i++
  8501. }
  8502. libc.Xmemcpy(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2))
  8503. } else {
  8504. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = 0
  8505. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = 0
  8506. }
  8507. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash = hash
  8508. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  8509. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  8510. return ent + 16
  8511. }
  8512. func _FcCharSetFindFrozen(tls *libc.TLS, freezer uintptr, orig uintptr) (r uintptr) {
  8513. var bucket, ent uintptr
  8514. _, _ = bucket, ent
  8515. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  8516. ent = *(*uintptr)(unsafe.Pointer(bucket))
  8517. for {
  8518. if !(ent != 0) {
  8519. break
  8520. }
  8521. if (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig == orig {
  8522. return (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen
  8523. }
  8524. goto _1
  8525. _1:
  8526. ;
  8527. ent = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext
  8528. }
  8529. return libc.UintptrFromInt32(0)
  8530. }
  8531. func XFcCharSetFreeze(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  8532. var b, l, n uintptr
  8533. var i int32
  8534. _, _, _, _ = b, i, l, n
  8535. n = uintptr(0)
  8536. b = XIA__FcCharSetCreate(tls)
  8537. if !(b != 0) {
  8538. goto bail0
  8539. }
  8540. i = 0
  8541. for {
  8542. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8543. break
  8544. }
  8545. l = _FcCharSetFreezeLeaf(tls, freezer, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  8546. if !(l != 0) {
  8547. goto bail1
  8548. }
  8549. if !(_FcCharSetInsertLeaf(tls, b, libc.Uint32FromInt32(libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))<<int32(8)), l) != 0) {
  8550. goto bail1
  8551. }
  8552. goto _1
  8553. _1:
  8554. ;
  8555. i++
  8556. }
  8557. n = _FcCharSetFreezeBase(tls, freezer, b)
  8558. if !(_FcCharSetFreezeOrig(tls, freezer, fcs, n) != 0) {
  8559. n = libc.UintptrFromInt32(0)
  8560. goto bail1
  8561. }
  8562. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen++
  8563. *(*int32)(unsafe.Pointer(freezer + 3156)) += (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  8564. goto bail1
  8565. bail1:
  8566. ;
  8567. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  8568. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset))
  8569. }
  8570. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  8571. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset))
  8572. }
  8573. libc.Xfree(tls, b)
  8574. goto bail0
  8575. bail0:
  8576. ;
  8577. return n
  8578. return r
  8579. }
  8580. func XFcCharSetFreezerCreate(tls *libc.TLS) (r uintptr) {
  8581. var freezer uintptr
  8582. _ = freezer
  8583. freezer = libc.Xcalloc(tls, uint64(1), uint64(3176))
  8584. return freezer
  8585. }
  8586. func XFcCharSetFreezerDestroy(tls *libc.TLS, freezer uintptr) {
  8587. bp := tls.Alloc(48)
  8588. defer tls.Free(48)
  8589. var ent, ent1, next, next1 uintptr
  8590. var i int32
  8591. _, _, _, _, _ = ent, ent1, i, next, next1
  8592. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  8593. libc.Xprintf(tls, __ccgo_ts+1547, libc.VaList(bp+8, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated))
  8594. }
  8595. i = 0
  8596. for {
  8597. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  8598. break
  8599. }
  8600. ent = *(*uintptr)(unsafe.Pointer(freezer + 2072 + uintptr(i)*8))
  8601. for {
  8602. if !(ent != 0) {
  8603. break
  8604. }
  8605. next = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  8606. libc.Xfree(tls, ent)
  8607. goto _2
  8608. _2:
  8609. ;
  8610. ent = next
  8611. }
  8612. goto _1
  8613. _1:
  8614. ;
  8615. i++
  8616. }
  8617. i = 0
  8618. for {
  8619. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  8620. break
  8621. }
  8622. ent1 = *(*uintptr)(unsafe.Pointer(freezer + 2608 + uintptr(i)*8))
  8623. for {
  8624. if !(ent1 != 0) {
  8625. break
  8626. }
  8627. next1 = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent1)).Fnext
  8628. libc.Xfree(tls, ent1)
  8629. goto _4
  8630. _4:
  8631. ;
  8632. ent1 = next1
  8633. }
  8634. goto _3
  8635. _3:
  8636. ;
  8637. i++
  8638. }
  8639. i = 0
  8640. for {
  8641. if !(i < (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count) {
  8642. break
  8643. }
  8644. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr(i)*8)))
  8645. goto _5
  8646. _5:
  8647. ;
  8648. i++
  8649. }
  8650. libc.Xfree(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks)
  8651. libc.Xfree(tls, freezer)
  8652. }
  8653. func XFcCharSetSerializeAlloc(tls *libc.TLS, serialize uintptr, cs uintptr) (r TFcBool) {
  8654. var i int32
  8655. var leaves, numbers uintptr
  8656. var v1 TFcBool
  8657. _, _, _, _ = i, leaves, numbers, v1
  8658. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  8659. goto _2
  8660. _2:
  8661. if !(v1 != 0) {
  8662. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  8663. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = XFcCharSetFreezerCreate(tls)
  8664. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  8665. return m_FcFalse
  8666. }
  8667. }
  8668. if _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs) != 0 {
  8669. return int32(m_FcTrue)
  8670. }
  8671. cs = XFcCharSetFreeze(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  8672. }
  8673. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  8674. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  8675. if !(XFcSerializeAlloc(tls, serialize, cs, int32(24)) != 0) {
  8676. return m_FcFalse
  8677. }
  8678. if !(XFcSerializeAlloc(tls, serialize, leaves, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(8))) != 0) {
  8679. return m_FcFalse
  8680. }
  8681. if !(XFcSerializeAlloc(tls, serialize, numbers, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(2))) != 0) {
  8682. return m_FcFalse
  8683. }
  8684. i = 0
  8685. for {
  8686. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  8687. break
  8688. }
  8689. if !(XFcSerializeAlloc(tls, serialize, uintptr(int64(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*8))), int32(32)) != 0) {
  8690. return m_FcFalse
  8691. }
  8692. goto _3
  8693. _3:
  8694. ;
  8695. i++
  8696. }
  8697. return int32(m_FcTrue)
  8698. }
  8699. func XFcCharSetSerialize(tls *libc.TLS, serialize uintptr, cs uintptr) (r uintptr) {
  8700. var cs_serialized, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized uintptr
  8701. var i int32
  8702. var v1 TFcBool
  8703. _, _, _, _, _, _, _, _, _ = cs_serialized, i, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized, v1
  8704. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  8705. goto _2
  8706. _2:
  8707. ;
  8708. if !(v1 != 0) && (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  8709. cs = _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  8710. if !(cs != 0) {
  8711. return libc.UintptrFromInt32(0)
  8712. }
  8713. }
  8714. cs_serialized = XFcSerializePtr(tls, serialize, cs)
  8715. if !(cs_serialized != 0) {
  8716. return libc.UintptrFromInt32(0)
  8717. }
  8718. (*TFcRef)(unsafe.Pointer(cs_serialized)).Fcount = -libc.Int32FromInt32(1)
  8719. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnum = (*TFcCharSet)(unsafe.Pointer(cs)).Fnum
  8720. if (*TFcCharSet)(unsafe.Pointer(cs)).Fnum != 0 {
  8721. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  8722. leaves_serialized = XFcSerializePtr(tls, serialize, leaves)
  8723. if !(leaves_serialized != 0) {
  8724. return libc.UintptrFromInt32(0)
  8725. }
  8726. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = int64(leaves_serialized) - int64(cs_serialized)
  8727. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  8728. numbers_serialized = XFcSerializePtr(tls, serialize, numbers)
  8729. if !(numbers != 0) {
  8730. return libc.UintptrFromInt32(0)
  8731. }
  8732. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = int64(numbers_serialized) - int64(cs_serialized)
  8733. i = 0
  8734. for {
  8735. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  8736. break
  8737. }
  8738. leaf = uintptr(int64(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*8)))
  8739. leaf_serialized = XFcSerializePtr(tls, serialize, leaf)
  8740. if !(leaf_serialized != 0) {
  8741. return libc.UintptrFromInt32(0)
  8742. }
  8743. *(*TFcCharLeaf)(unsafe.Pointer(leaf_serialized)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  8744. *(*Tintptr_t)(unsafe.Pointer(leaves_serialized + uintptr(i)*8)) = int64(leaf_serialized) - int64(leaves_serialized)
  8745. *(*TFcChar16)(unsafe.Pointer(numbers_serialized + uintptr(i)*2)) = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2))
  8746. goto _3
  8747. _3:
  8748. ;
  8749. i++
  8750. }
  8751. } else {
  8752. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = 0
  8753. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = 0
  8754. }
  8755. return cs_serialized
  8756. }
  8757. const m_FC_O_BINARY = 0
  8758. const m_FC_O_CLOEXEC = "O_CLOEXEC"
  8759. const m_FC_O_LARGEFILE = "O_LARGEFILE"
  8760. const m_FC_O_NOINHERIT = 0
  8761. const m_FC_O_TEMPORARY = 0
  8762. const m_O_CLOEXEC1 = 524288
  8763. const m_O_LARGEFILE1 = 32768
  8764. const m_O_RDONLY1 = 00
  8765. const m_O_RDWR1 = 02
  8766. const m___DEC128_EPSILON__1 = 1e-33
  8767. const m___DEC128_MIN__1 = 1e-6143
  8768. const m___DEC128_SUBNORMAL_MIN__1 = 0.000000000000000000000000000000001e-6143
  8769. const m___DEC32_EPSILON__1 = 1e-6
  8770. const m___DEC32_MAX__1 = 9.999999e96
  8771. const m___DEC32_MIN__1 = 1e-95
  8772. const m___DEC32_SUBNORMAL_MIN__1 = 0.000001e-95
  8773. const m___DEC64_EPSILON__1 = 1e-15
  8774. const m___DEC64_MIN__1 = 1e-383
  8775. const m___DEC64_SUBNORMAL_MIN__1 = 0.000000000000001e-383
  8776. func XFcOpen(tls *libc.TLS, pathname uintptr, flags int32, va uintptr) (r int32) {
  8777. bp := tls.Alloc(16)
  8778. defer tls.Free(16)
  8779. var ap Tva_list
  8780. var fd int32
  8781. var mode Tmode_t
  8782. _, _, _ = ap, fd, mode
  8783. fd = -int32(1)
  8784. if flags&int32(m_O_CREAT) != 0 {
  8785. ap = va
  8786. mode = libc.Uint32FromInt32(libc.VaInt32(&ap))
  8787. _ = ap
  8788. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), libc.VaList(bp+8, mode))
  8789. } else {
  8790. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), 0)
  8791. }
  8792. return fd
  8793. }
  8794. func XFcMakeTempfile(tls *libc.TLS, template uintptr) (r int32) {
  8795. var fd int32
  8796. _ = fd
  8797. fd = -int32(1)
  8798. fd = libc.Xmkostemp(tls, template, int32(m_O_CLOEXEC1))
  8799. return fd
  8800. }
  8801. func XFcRandom(tls *libc.TLS) (r Tint32_t) {
  8802. bp := tls.Alloc(16)
  8803. defer tls.Free(16)
  8804. var _ /* result at bp+0 */ Tint32_t
  8805. if _initialized != int32(m_FcTrue) {
  8806. libc.Xinitstate_r(tls, libc.Uint32FromInt64(libc.Xtime(tls, libc.UintptrFromInt32(0))), uintptr(unsafe.Pointer(&_statebuf)), uint64(256), uintptr(unsafe.Pointer(&_fcrandbuf)))
  8807. _initialized = int32(m_FcTrue)
  8808. }
  8809. libc.Xrandom_r(tls, uintptr(unsafe.Pointer(&_fcrandbuf)), bp)
  8810. return *(*Tint32_t)(unsafe.Pointer(bp))
  8811. }
  8812. var _fcrandbuf int32
  8813. var _statebuf [256]uint8
  8814. var _initialized TFcBool
  8815. func XFcMakeDirectory(tls *libc.TLS, dir uintptr) (r TFcBool) {
  8816. var parent uintptr
  8817. var ret TFcBool
  8818. _, _ = parent, ret
  8819. if libc.Xstrlen(tls, dir) == uint64(0) {
  8820. return m_FcFalse
  8821. }
  8822. parent = XIA__FcStrDirname(tls, dir)
  8823. if !(parent != 0) {
  8824. return m_FcFalse
  8825. }
  8826. if libc.Xaccess(tls, parent, m_F_OK) == 0 {
  8827. ret = libc.BoolInt32(libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  8828. } else {
  8829. if libc.Xaccess(tls, parent, m_F_OK) == -int32(1) {
  8830. ret = libc.BoolInt32(XFcMakeDirectory(tls, parent) != 0 && libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  8831. } else {
  8832. ret = m_FcFalse
  8833. }
  8834. }
  8835. XIA__FcStrFree(tls, parent)
  8836. return ret
  8837. }
  8838. func XFcReadLink(tls *libc.TLS, pathname uintptr, buf uintptr, bufsiz Tsize_t) (r Tssize_t) {
  8839. return libc.Xreadlink(tls, pathname, buf, bufsiz)
  8840. }
  8841. const m___DEC128_EPSILON__2 = 1e-33
  8842. const m___DEC128_MIN__2 = 1e-6143
  8843. const m___DEC128_SUBNORMAL_MIN__2 = 0.000000000000000000000000000000001e-6143
  8844. const m___DEC32_EPSILON__2 = 1e-6
  8845. const m___DEC32_MAX__2 = 9.999999e96
  8846. const m___DEC32_MIN__2 = 1e-95
  8847. const m___DEC32_SUBNORMAL_MIN__2 = 0.000001e-95
  8848. const m___DEC64_EPSILON__2 = 1e-15
  8849. const m___DEC64_MIN__2 = 1e-383
  8850. const m___DEC64_SUBNORMAL_MIN__2 = 0.000000000000001e-383
  8851. func __FcValuePrintFile(tls *libc.TLS, f uintptr, _v TFcValue) {
  8852. bp := tls.Alloc(64)
  8853. defer tls.Free(64)
  8854. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  8855. var v1, v2 uintptr
  8856. _, _ = v1, v2
  8857. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  8858. case int32(_FcTypeUnknown):
  8859. libc.Xfprintf(tls, f, __ccgo_ts+1583, 0)
  8860. case int32(_FcTypeVoid):
  8861. libc.Xfprintf(tls, f, __ccgo_ts+1593, 0)
  8862. case int32(_FcTypeInteger):
  8863. libc.Xfprintf(tls, f, __ccgo_ts+1600, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 8))))
  8864. case int32(_FcTypeDouble):
  8865. libc.Xfprintf(tls, f, __ccgo_ts+1606, libc.VaList(bp+24, *(*float64)(unsafe.Pointer(bp + 8))))
  8866. case int32(_FcTypeString):
  8867. libc.Xfprintf(tls, f, __ccgo_ts+1612, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 8))))
  8868. case int32(_FcTypeBool):
  8869. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcTrue) {
  8870. v1 = __ccgo_ts + 1617
  8871. } else {
  8872. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == m_FcFalse {
  8873. v2 = __ccgo_ts + 1622
  8874. } else {
  8875. v2 = __ccgo_ts + 1628
  8876. }
  8877. v1 = v2
  8878. }
  8879. libc.Xfprintf(tls, f, v1, 0)
  8880. case int32(_FcTypeMatrix):
  8881. libc.Xfprintf(tls, f, __ccgo_ts+1637, libc.VaList(bp+24, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyy))
  8882. case int32(_FcTypeCharSet): /* XXX */
  8883. if f == libc.Xstdout {
  8884. XFcCharSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  8885. }
  8886. case int32(_FcTypeLangSet):
  8887. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  8888. case int32(_FcTypeFTFace):
  8889. libc.Xfprintf(tls, f, __ccgo_ts+1652, 0)
  8890. case int32(_FcTypeRange):
  8891. libc.Xfprintf(tls, f, __ccgo_ts+1657, libc.VaList(bp+24, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend))
  8892. break
  8893. }
  8894. }
  8895. func XFcValuePrintFile(tls *libc.TLS, f uintptr, v TFcValue) {
  8896. libc.Xfprintf(tls, f, __ccgo_ts+1665, 0)
  8897. __FcValuePrintFile(tls, f, v)
  8898. }
  8899. func XIA__FcValuePrint(tls *libc.TLS, v TFcValue) {
  8900. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  8901. __FcValuePrintFile(tls, libc.Xstdout, v)
  8902. }
  8903. var XFcValuePrint = XIA__FcValuePrint
  8904. func XFcValuePrintWithPosition(tls *libc.TLS, v TFcValue, show_pos_mark TFcBool) {
  8905. if show_pos_mark != 0 {
  8906. libc.Xprintf(tls, __ccgo_ts+1667, 0)
  8907. } else {
  8908. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  8909. }
  8910. __FcValuePrintFile(tls, libc.Xstdout, v)
  8911. }
  8912. func _FcValueBindingPrint(tls *libc.TLS, l TFcValueListPtr) {
  8913. switch (*T_FcValueList)(unsafe.Pointer(l)).Fbinding {
  8914. case int32(_FcValueBindingWeak):
  8915. libc.Xprintf(tls, __ccgo_ts+1678, 0)
  8916. case int32(_FcValueBindingStrong):
  8917. libc.Xprintf(tls, __ccgo_ts+1682, 0)
  8918. case int32(_FcValueBindingSame):
  8919. libc.Xprintf(tls, __ccgo_ts+1686, 0)
  8920. default:
  8921. /* shouldn't be reached */
  8922. libc.Xprintf(tls, __ccgo_ts+1690, 0)
  8923. break
  8924. }
  8925. }
  8926. func XFcValueListPrintWithPosition(tls *libc.TLS, l TFcValueListPtr, pos TFcValueListPtr) {
  8927. var v2 uintptr
  8928. _ = v2
  8929. for {
  8930. if !(l != libc.UintptrFromInt32(0)) {
  8931. break
  8932. }
  8933. XFcValuePrintWithPosition(tls, XFcValueCanonicalize(tls, l+8), libc.BoolInt32(pos != libc.UintptrFromInt32(0) && l == pos))
  8934. _FcValueBindingPrint(tls, l)
  8935. goto _1
  8936. _1:
  8937. ;
  8938. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  8939. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8940. } else {
  8941. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  8942. }
  8943. l = v2
  8944. }
  8945. if !(pos != 0) {
  8946. libc.Xprintf(tls, __ccgo_ts+1694, 0)
  8947. }
  8948. }
  8949. func XFcValueListPrint(tls *libc.TLS, l TFcValueListPtr) {
  8950. var v2 uintptr
  8951. _ = v2
  8952. for {
  8953. if !(l != libc.UintptrFromInt32(0)) {
  8954. break
  8955. }
  8956. XIA__FcValuePrint(tls, XFcValueCanonicalize(tls, l+8))
  8957. _FcValueBindingPrint(tls, l)
  8958. goto _1
  8959. _1:
  8960. ;
  8961. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  8962. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8963. } else {
  8964. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  8965. }
  8966. l = v2
  8967. }
  8968. }
  8969. func XFcLangSetPrint(tls *libc.TLS, ls uintptr) {
  8970. bp := tls.Alloc(1200)
  8971. defer tls.Free(1200)
  8972. var _ /* buf at bp+0 */ TFcStrBuf
  8973. var _ /* init_buf at bp+152 */ [1024]TFcChar8
  8974. XFcStrBufInit(tls, bp, bp+152, int32(1024))
  8975. if XFcNameUnparseLangSet(tls, bp, ls) != 0 && XFcStrBufChar(tls, bp, uint8('\000')) != 0 {
  8976. libc.Xprintf(tls, __ccgo_ts+1704, libc.VaList(bp+1184, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf))
  8977. } else {
  8978. libc.Xprintf(tls, __ccgo_ts+1707, 0)
  8979. }
  8980. XFcStrBufDestroy(tls, bp)
  8981. }
  8982. func XFcCharSetPrint(tls *libc.TLS, c uintptr) {
  8983. bp := tls.Alloc(16)
  8984. defer tls.Free(16)
  8985. var i, j int32
  8986. var leaf, leaves, numbers uintptr
  8987. var leaf_offset Tintptr_t
  8988. _, _, _, _, _, _ = i, j, leaf, leaf_offset, leaves, numbers
  8989. leaves = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fleaves_offset)
  8990. numbers = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fnumbers_offset)
  8991. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  8992. i = 0
  8993. for {
  8994. if !(i < (*TFcCharSet)(unsafe.Pointer(c)).Fnum) {
  8995. break
  8996. }
  8997. leaf_offset = *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(i)*8))
  8998. leaf = uintptr(int64(leaves) + leaf_offset)
  8999. libc.Xprintf(tls, __ccgo_ts+1729, 0)
  9000. libc.Xprintf(tls, __ccgo_ts+1731, libc.VaList(bp+8, libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2)))))
  9001. j = 0
  9002. for {
  9003. if !(j < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9004. break
  9005. }
  9006. libc.Xprintf(tls, __ccgo_ts+1737, libc.VaList(bp+8, *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(j)*4))))
  9007. goto _2
  9008. _2:
  9009. ;
  9010. j++
  9011. }
  9012. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9013. goto _1
  9014. _1:
  9015. ;
  9016. i++
  9017. }
  9018. }
  9019. func XIA__FcPatternPrint(tls *libc.TLS, p uintptr) {
  9020. bp := tls.Alloc(48)
  9021. defer tls.Free(48)
  9022. var _ /* iter at bp+0 */ TFcPatternIter
  9023. if !(p != 0) {
  9024. libc.Xprintf(tls, __ccgo_ts+1743, 0)
  9025. return
  9026. }
  9027. libc.Xprintf(tls, __ccgo_ts+1757, libc.VaList(bp+24, XIA__FcPatternObjectCount(tls, p), (*TFcPattern)(unsafe.Pointer(p)).Fsize))
  9028. XIA__FcPatternIterStart(tls, p, bp)
  9029. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, p, bp) != 0 {
  9030. libc.Xprintf(tls, __ccgo_ts+1788, libc.VaList(bp+24, XIA__FcPatternIterGetObject(tls, p, bp)))
  9031. XFcValueListPrint(tls, XFcPatternIterGetValues(tls, p, bp))
  9032. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9033. }
  9034. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9035. }
  9036. var XFcPatternPrint = XIA__FcPatternPrint
  9037. func XFcPatternPrint2(tls *libc.TLS, pp1 uintptr, pp2 uintptr, os uintptr) {
  9038. bp := tls.Alloc(48)
  9039. defer tls.Free(48)
  9040. var e1, e2, p1, p2, v10, v5, v6, v7, v8 uintptr
  9041. var i, j, k, pos int32
  9042. _, _, _, _, _, _, _, _, _, _, _, _, _ = e1, e2, i, j, k, p1, p2, pos, v10, v5, v6, v7, v8
  9043. if os != 0 {
  9044. p1 = XIA__FcPatternFilter(tls, pp1, os)
  9045. p2 = XIA__FcPatternFilter(tls, pp2, os)
  9046. } else {
  9047. p1 = pp1
  9048. p2 = pp2
  9049. }
  9050. libc.Xprintf(tls, __ccgo_ts+1793, libc.VaList(bp+8, (*TFcPattern)(unsafe.Pointer(p1)).Fnum, (*TFcPattern)(unsafe.Pointer(p1)).Fsize, (*TFcPattern)(unsafe.Pointer(p2)).Fnum, (*TFcPattern)(unsafe.Pointer(p2)).Fsize))
  9051. i = 0
  9052. j = libc.Int32FromInt32(0)
  9053. for {
  9054. if !(i < (*TFcPattern)(unsafe.Pointer(p1)).Fnum) {
  9055. break
  9056. }
  9057. e1 = uintptr(int64(p1)+(*TFcPattern)(unsafe.Pointer(p1)).Felts_offset) + uintptr(i)*16
  9058. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  9059. if !(!(e2 != 0) || (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject != (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) {
  9060. goto _2
  9061. }
  9062. pos = XFcPatternPosition(tls, p2, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject))
  9063. if pos >= 0 {
  9064. k = j
  9065. for {
  9066. if !(k < pos) {
  9067. break
  9068. }
  9069. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  9070. libc.Xprintf(tls, __ccgo_ts+1843, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9071. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9072. v5 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9073. } else {
  9074. v5 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9075. }
  9076. XFcValueListPrint(tls, v5)
  9077. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9078. goto _4
  9079. _4:
  9080. ;
  9081. k++
  9082. }
  9083. j = pos
  9084. goto cont
  9085. } else {
  9086. libc.Xprintf(tls, __ccgo_ts+1788, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9087. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  9088. v6 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9089. } else {
  9090. v6 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9091. }
  9092. XFcValueListPrint(tls, v6)
  9093. libc.Xprintf(tls, __ccgo_ts+1859, 0)
  9094. }
  9095. goto _3
  9096. _2:
  9097. ;
  9098. goto cont
  9099. cont:
  9100. ;
  9101. libc.Xprintf(tls, __ccgo_ts+1788, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9102. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  9103. v7 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9104. } else {
  9105. v7 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9106. }
  9107. XFcValueListPrint(tls, v7)
  9108. libc.Xprintf(tls, __ccgo_ts+1871, 0)
  9109. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  9110. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9111. v8 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9112. } else {
  9113. v8 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9114. }
  9115. XFcValueListPrint(tls, v8)
  9116. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9117. j++
  9118. _3:
  9119. ;
  9120. goto _1
  9121. _1:
  9122. ;
  9123. i++
  9124. }
  9125. if j < (*TFcPattern)(unsafe.Pointer(p2)).Fnum {
  9126. k = j
  9127. for {
  9128. if !(k < (*TFcPattern)(unsafe.Pointer(p2)).Fnum) {
  9129. break
  9130. }
  9131. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  9132. if XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) != 0 {
  9133. libc.Xprintf(tls, __ccgo_ts+1843, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9134. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9135. v10 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9136. } else {
  9137. v10 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9138. }
  9139. XFcValueListPrint(tls, v10)
  9140. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9141. }
  9142. goto _9
  9143. _9:
  9144. ;
  9145. k++
  9146. }
  9147. }
  9148. if p1 != pp1 {
  9149. XIA__FcPatternDestroy(tls, p1)
  9150. }
  9151. if p2 != pp2 {
  9152. XIA__FcPatternDestroy(tls, p2)
  9153. }
  9154. }
  9155. func XFcOpPrint(tls *libc.TLS, op_ TFcOp) {
  9156. var f, f1, f2 int32
  9157. var op TFcOp
  9158. _, _, _, _ = f, f1, f2, op
  9159. op = op_ & libc.Int32FromInt32(0xffff)
  9160. switch op {
  9161. case int32(_FcOpInteger):
  9162. libc.Xprintf(tls, __ccgo_ts+1876, 0)
  9163. case int32(_FcOpDouble):
  9164. libc.Xprintf(tls, __ccgo_ts+1884, 0)
  9165. case int32(_FcOpString):
  9166. libc.Xprintf(tls, __ccgo_ts+1891, 0)
  9167. case int32(_FcOpMatrix):
  9168. libc.Xprintf(tls, __ccgo_ts+1898, 0)
  9169. case int32(_FcOpRange):
  9170. libc.Xprintf(tls, __ccgo_ts+1905, 0)
  9171. case int32(_FcOpBool):
  9172. libc.Xprintf(tls, __ccgo_ts+1911, 0)
  9173. case int32(_FcOpCharSet):
  9174. libc.Xprintf(tls, __ccgo_ts+1916, 0)
  9175. case int32(_FcOpLangSet):
  9176. libc.Xprintf(tls, __ccgo_ts+1924, 0)
  9177. case int32(_FcOpField):
  9178. libc.Xprintf(tls, __ccgo_ts+1932, 0)
  9179. case int32(_FcOpConst):
  9180. libc.Xprintf(tls, __ccgo_ts+1938, 0)
  9181. case int32(_FcOpAssign):
  9182. libc.Xprintf(tls, __ccgo_ts+1944, 0)
  9183. case int32(_FcOpAssignReplace):
  9184. libc.Xprintf(tls, __ccgo_ts+1951, 0)
  9185. case int32(_FcOpPrepend):
  9186. libc.Xprintf(tls, __ccgo_ts+1140, 0)
  9187. case int32(_FcOpPrependFirst):
  9188. libc.Xprintf(tls, __ccgo_ts+1965, 0)
  9189. case int32(_FcOpAppend):
  9190. libc.Xprintf(tls, __ccgo_ts+1133, 0)
  9191. case int32(_FcOpAppendLast):
  9192. libc.Xprintf(tls, __ccgo_ts+1978, 0)
  9193. case int32(_FcOpDelete):
  9194. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  9195. case int32(_FcOpDeleteAll):
  9196. libc.Xprintf(tls, __ccgo_ts+1996, 0)
  9197. case int32(_FcOpQuest):
  9198. libc.Xprintf(tls, __ccgo_ts+2006, 0)
  9199. case int32(_FcOpOr):
  9200. libc.Xprintf(tls, __ccgo_ts+2012, 0)
  9201. case int32(_FcOpAnd):
  9202. libc.Xprintf(tls, __ccgo_ts+2015, 0)
  9203. case int32(_FcOpEqual):
  9204. libc.Xprintf(tls, __ccgo_ts+2019, 0)
  9205. f = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9206. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9207. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9208. }
  9209. case int32(_FcOpNotEqual):
  9210. libc.Xprintf(tls, __ccgo_ts+2041, 0)
  9211. f1 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9212. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9213. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9214. }
  9215. case int32(_FcOpLess):
  9216. libc.Xprintf(tls, __ccgo_ts+2050, 0)
  9217. case int32(_FcOpLessEqual):
  9218. libc.Xprintf(tls, __ccgo_ts+2055, 0)
  9219. case int32(_FcOpMore):
  9220. libc.Xprintf(tls, __ccgo_ts+2065, 0)
  9221. case int32(_FcOpMoreEqual):
  9222. libc.Xprintf(tls, __ccgo_ts+2070, 0)
  9223. case int32(_FcOpContains):
  9224. libc.Xprintf(tls, __ccgo_ts+2080, 0)
  9225. case int32(_FcOpNotContains):
  9226. libc.Xprintf(tls, __ccgo_ts+2089, 0)
  9227. case int32(_FcOpPlus):
  9228. libc.Xprintf(tls, __ccgo_ts+2101, 0)
  9229. case int32(_FcOpMinus):
  9230. libc.Xprintf(tls, __ccgo_ts+2106, 0)
  9231. case int32(_FcOpTimes):
  9232. libc.Xprintf(tls, __ccgo_ts+2112, 0)
  9233. case int32(_FcOpDivide):
  9234. libc.Xprintf(tls, __ccgo_ts+2118, 0)
  9235. case int32(_FcOpNot):
  9236. libc.Xprintf(tls, __ccgo_ts+2125, 0)
  9237. case int32(_FcOpNil):
  9238. libc.Xprintf(tls, __ccgo_ts+2129, 0)
  9239. case int32(_FcOpComma):
  9240. libc.Xprintf(tls, __ccgo_ts+2133, 0)
  9241. case int32(_FcOpFloor):
  9242. libc.Xprintf(tls, __ccgo_ts+2139, 0)
  9243. case int32(_FcOpCeil):
  9244. libc.Xprintf(tls, __ccgo_ts+2145, 0)
  9245. case int32(_FcOpRound):
  9246. libc.Xprintf(tls, __ccgo_ts+2150, 0)
  9247. case int32(_FcOpTrunc):
  9248. libc.Xprintf(tls, __ccgo_ts+2156, 0)
  9249. case int32(_FcOpListing):
  9250. libc.Xprintf(tls, __ccgo_ts+2162, 0)
  9251. f2 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9252. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9253. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9254. }
  9255. case int32(_FcOpInvalid):
  9256. libc.Xprintf(tls, __ccgo_ts+2170, 0)
  9257. break
  9258. }
  9259. }
  9260. func XFcExprPrint(tls *libc.TLS, expr uintptr) {
  9261. bp := tls.Alloc(32)
  9262. defer tls.Free(32)
  9263. var f, f1, f2 int32
  9264. var v1 uintptr
  9265. _, _, _, _ = f, f1, f2, v1
  9266. if !(expr != 0) {
  9267. libc.Xprintf(tls, __ccgo_ts+2178, 0)
  9268. } else {
  9269. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  9270. case int32(_FcOpInteger):
  9271. libc.Xprintf(tls, __ccgo_ts+2183, libc.VaList(bp+8, (*TFcExpr)(unsafe.Pointer(expr)).Fu.Fival))
  9272. case int32(_FcOpDouble):
  9273. libc.Xprintf(tls, __ccgo_ts+2186, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  9274. case int32(_FcOpString):
  9275. libc.Xprintf(tls, __ccgo_ts+1612, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  9276. case int32(_FcOpMatrix):
  9277. libc.Xprintf(tls, __ccgo_ts+2189, 0)
  9278. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxx)
  9279. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9280. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxy)
  9281. libc.Xprintf(tls, __ccgo_ts+2191, 0)
  9282. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyx)
  9283. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9284. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyy)
  9285. libc.Xprintf(tls, __ccgo_ts+2194, 0)
  9286. case int32(_FcOpRange):
  9287. libc.Xprintf(tls, __ccgo_ts+2196, libc.VaList(bp+8, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fend))
  9288. case int32(_FcOpBool):
  9289. if *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)) != 0 {
  9290. v1 = __ccgo_ts + 2205
  9291. } else {
  9292. v1 = __ccgo_ts + 2210
  9293. }
  9294. libc.Xprintf(tls, __ccgo_ts+1704, libc.VaList(bp+8, v1))
  9295. case int32(_FcOpCharSet):
  9296. libc.Xprintf(tls, __ccgo_ts+2216, 0)
  9297. case int32(_FcOpLangSet):
  9298. libc.Xprintf(tls, __ccgo_ts+2225, 0)
  9299. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  9300. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9301. case int32(_FcOpNil):
  9302. libc.Xprintf(tls, __ccgo_ts+2234, 0)
  9303. case int32(_FcOpField):
  9304. libc.Xprintf(tls, __ccgo_ts+2239, libc.VaList(bp+8, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject)))
  9305. switch (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fkind {
  9306. case int32(_FcMatchPattern):
  9307. libc.Xprintf(tls, __ccgo_ts+2243, 0)
  9308. case int32(_FcMatchFont):
  9309. libc.Xprintf(tls, __ccgo_ts+2254, 0)
  9310. break
  9311. }
  9312. case int32(_FcOpConst):
  9313. libc.Xprintf(tls, __ccgo_ts+1704, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  9314. case int32(_FcOpQuest):
  9315. XFcExprPrint(tls, (*(*struct {
  9316. Fleft uintptr
  9317. Fright uintptr
  9318. })(unsafe.Pointer(expr + 8))).Fleft)
  9319. libc.Xprintf(tls, __ccgo_ts+2262, 0)
  9320. XFcExprPrint(tls, (*(*struct {
  9321. Fleft uintptr
  9322. Fright uintptr
  9323. })(unsafe.Pointer((*(*struct {
  9324. Fleft uintptr
  9325. Fright uintptr
  9326. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft)
  9327. libc.Xprintf(tls, __ccgo_ts+2270, 0)
  9328. XFcExprPrint(tls, (*(*struct {
  9329. Fleft uintptr
  9330. Fright uintptr
  9331. })(unsafe.Pointer((*(*struct {
  9332. Fleft uintptr
  9333. Fright uintptr
  9334. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright)
  9335. case int32(_FcOpAssign):
  9336. fallthrough
  9337. case int32(_FcOpAssignReplace):
  9338. fallthrough
  9339. case int32(_FcOpPrependFirst):
  9340. fallthrough
  9341. case int32(_FcOpPrepend):
  9342. fallthrough
  9343. case int32(_FcOpAppend):
  9344. fallthrough
  9345. case int32(_FcOpAppendLast):
  9346. fallthrough
  9347. case int32(_FcOpOr):
  9348. fallthrough
  9349. case int32(_FcOpAnd):
  9350. fallthrough
  9351. case int32(_FcOpEqual):
  9352. fallthrough
  9353. case int32(_FcOpNotEqual):
  9354. fallthrough
  9355. case int32(_FcOpLess):
  9356. fallthrough
  9357. case int32(_FcOpLessEqual):
  9358. fallthrough
  9359. case int32(_FcOpMore):
  9360. fallthrough
  9361. case int32(_FcOpMoreEqual):
  9362. fallthrough
  9363. case int32(_FcOpContains):
  9364. fallthrough
  9365. case int32(_FcOpListing):
  9366. fallthrough
  9367. case int32(_FcOpNotContains):
  9368. fallthrough
  9369. case int32(_FcOpPlus):
  9370. fallthrough
  9371. case int32(_FcOpMinus):
  9372. fallthrough
  9373. case int32(_FcOpTimes):
  9374. fallthrough
  9375. case int32(_FcOpDivide):
  9376. fallthrough
  9377. case int32(_FcOpComma):
  9378. XFcExprPrint(tls, (*(*struct {
  9379. Fleft uintptr
  9380. Fright uintptr
  9381. })(unsafe.Pointer(expr + 8))).Fleft)
  9382. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9383. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  9384. case int32(_FcOpAssign):
  9385. libc.Xprintf(tls, __ccgo_ts+1944, 0)
  9386. case int32(_FcOpAssignReplace):
  9387. libc.Xprintf(tls, __ccgo_ts+1951, 0)
  9388. case int32(_FcOpPrependFirst):
  9389. libc.Xprintf(tls, __ccgo_ts+1965, 0)
  9390. case int32(_FcOpPrepend):
  9391. libc.Xprintf(tls, __ccgo_ts+1140, 0)
  9392. case int32(_FcOpAppend):
  9393. libc.Xprintf(tls, __ccgo_ts+1133, 0)
  9394. case int32(_FcOpAppendLast):
  9395. libc.Xprintf(tls, __ccgo_ts+1978, 0)
  9396. case int32(_FcOpOr):
  9397. libc.Xprintf(tls, __ccgo_ts+2012, 0)
  9398. case int32(_FcOpAnd):
  9399. libc.Xprintf(tls, __ccgo_ts+2015, 0)
  9400. case int32(_FcOpEqual):
  9401. libc.Xprintf(tls, __ccgo_ts+2019, 0)
  9402. f = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9403. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9404. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9405. }
  9406. case int32(_FcOpNotEqual):
  9407. libc.Xprintf(tls, __ccgo_ts+2041, 0)
  9408. f1 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9409. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9410. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9411. }
  9412. case int32(_FcOpLess):
  9413. libc.Xprintf(tls, __ccgo_ts+2050, 0)
  9414. case int32(_FcOpLessEqual):
  9415. libc.Xprintf(tls, __ccgo_ts+2055, 0)
  9416. case int32(_FcOpMore):
  9417. libc.Xprintf(tls, __ccgo_ts+2065, 0)
  9418. case int32(_FcOpMoreEqual):
  9419. libc.Xprintf(tls, __ccgo_ts+2070, 0)
  9420. case int32(_FcOpContains):
  9421. libc.Xprintf(tls, __ccgo_ts+2080, 0)
  9422. case int32(_FcOpListing):
  9423. libc.Xprintf(tls, __ccgo_ts+2162, 0)
  9424. f2 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9425. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9426. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9427. }
  9428. case int32(_FcOpNotContains):
  9429. libc.Xprintf(tls, __ccgo_ts+2089, 0)
  9430. case int32(_FcOpPlus):
  9431. libc.Xprintf(tls, __ccgo_ts+2101, 0)
  9432. case int32(_FcOpMinus):
  9433. libc.Xprintf(tls, __ccgo_ts+2106, 0)
  9434. case int32(_FcOpTimes):
  9435. libc.Xprintf(tls, __ccgo_ts+2112, 0)
  9436. case int32(_FcOpDivide):
  9437. libc.Xprintf(tls, __ccgo_ts+2118, 0)
  9438. case int32(_FcOpComma):
  9439. libc.Xprintf(tls, __ccgo_ts+2133, 0)
  9440. default:
  9441. break
  9442. }
  9443. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9444. XFcExprPrint(tls, (*(*struct {
  9445. Fleft uintptr
  9446. Fright uintptr
  9447. })(unsafe.Pointer(expr + 8))).Fright)
  9448. case int32(_FcOpNot):
  9449. libc.Xprintf(tls, __ccgo_ts+2278, 0)
  9450. XFcExprPrint(tls, (*(*struct {
  9451. Fleft uintptr
  9452. Fright uintptr
  9453. })(unsafe.Pointer(expr + 8))).Fleft)
  9454. case int32(_FcOpFloor):
  9455. libc.Xprintf(tls, __ccgo_ts+2283, 0)
  9456. XFcExprPrint(tls, (*(*struct {
  9457. Fleft uintptr
  9458. Fright uintptr
  9459. })(unsafe.Pointer(expr + 8))).Fleft)
  9460. case int32(_FcOpCeil):
  9461. libc.Xprintf(tls, __ccgo_ts+2290, 0)
  9462. XFcExprPrint(tls, (*(*struct {
  9463. Fleft uintptr
  9464. Fright uintptr
  9465. })(unsafe.Pointer(expr + 8))).Fleft)
  9466. case int32(_FcOpRound):
  9467. libc.Xprintf(tls, __ccgo_ts+2296, 0)
  9468. XFcExprPrint(tls, (*(*struct {
  9469. Fleft uintptr
  9470. Fright uintptr
  9471. })(unsafe.Pointer(expr + 8))).Fleft)
  9472. case int32(_FcOpTrunc):
  9473. libc.Xprintf(tls, __ccgo_ts+2303, 0)
  9474. XFcExprPrint(tls, (*(*struct {
  9475. Fleft uintptr
  9476. Fright uintptr
  9477. })(unsafe.Pointer(expr + 8))).Fleft)
  9478. case int32(_FcOpInvalid):
  9479. libc.Xprintf(tls, __ccgo_ts+2170, 0)
  9480. break
  9481. }
  9482. }
  9483. }
  9484. func XFcTestPrint(tls *libc.TLS, test uintptr) {
  9485. bp := tls.Alloc(16)
  9486. defer tls.Free(16)
  9487. switch (*TFcTest)(unsafe.Pointer(test)).Fkind {
  9488. case int32(_FcMatchPattern):
  9489. libc.Xprintf(tls, __ccgo_ts+2310, 0)
  9490. case int32(_FcMatchFont):
  9491. libc.Xprintf(tls, __ccgo_ts+2319, 0)
  9492. case int32(_FcMatchScan):
  9493. libc.Xprintf(tls, __ccgo_ts+2325, 0)
  9494. case int32(_FcMatchKindEnd):
  9495. /* shouldn't be reached */
  9496. return
  9497. }
  9498. switch (*TFcTest)(unsafe.Pointer(test)).Fqual {
  9499. case int32(_FcQualAny):
  9500. libc.Xprintf(tls, __ccgo_ts+2331, 0)
  9501. case int32(_FcQualAll):
  9502. libc.Xprintf(tls, __ccgo_ts+2336, 0)
  9503. case int32(_FcQualFirst):
  9504. libc.Xprintf(tls, __ccgo_ts+2341, 0)
  9505. case int32(_FcQualNotFirst):
  9506. libc.Xprintf(tls, __ccgo_ts+2348, 0)
  9507. break
  9508. }
  9509. libc.Xprintf(tls, __ccgo_ts+2239, libc.VaList(bp+8, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject)))
  9510. XFcOpPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fop)
  9511. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9512. XFcExprPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  9513. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9514. }
  9515. func XFcEditPrint(tls *libc.TLS, edit uintptr) {
  9516. bp := tls.Alloc(16)
  9517. defer tls.Free(16)
  9518. libc.Xprintf(tls, __ccgo_ts+2359, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fobject)))
  9519. XFcOpPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fop)
  9520. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9521. XFcExprPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fexpr)
  9522. }
  9523. func XFcRulePrint(tls *libc.TLS, rule uintptr) {
  9524. var last_type TFcRuleType
  9525. var r uintptr
  9526. _, _ = last_type, r
  9527. last_type = int32(_FcRuleUnknown)
  9528. r = rule
  9529. for {
  9530. if !(r != 0) {
  9531. break
  9532. }
  9533. if last_type != (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9534. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9535. case int32(_FcRuleTest):
  9536. libc.Xprintf(tls, __ccgo_ts+2368, 0)
  9537. case int32(_FcRuleEdit):
  9538. libc.Xprintf(tls, __ccgo_ts+2376, 0)
  9539. default:
  9540. break
  9541. }
  9542. last_type = (*TFcRule)(unsafe.Pointer(r)).Ftype1
  9543. }
  9544. libc.Xprintf(tls, __ccgo_ts+1729, 0)
  9545. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9546. case int32(_FcRuleTest):
  9547. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  9548. case int32(_FcRuleEdit):
  9549. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  9550. libc.Xprintf(tls, __ccgo_ts+2384, 0)
  9551. default:
  9552. break
  9553. }
  9554. goto _1
  9555. _1:
  9556. ;
  9557. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  9558. }
  9559. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9560. }
  9561. func XIA__FcFontSetPrint(tls *libc.TLS, s uintptr) {
  9562. bp := tls.Alloc(32)
  9563. defer tls.Free(32)
  9564. var i int32
  9565. _ = i
  9566. libc.Xprintf(tls, __ccgo_ts+2387, libc.VaList(bp+8, (*TFcFontSet)(unsafe.Pointer(s)).Fnfont, (*TFcFontSet)(unsafe.Pointer(s)).Fsfont))
  9567. i = 0
  9568. for {
  9569. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  9570. break
  9571. }
  9572. libc.Xprintf(tls, __ccgo_ts+2405, libc.VaList(bp+8, i))
  9573. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  9574. goto _1
  9575. _1:
  9576. ;
  9577. i++
  9578. }
  9579. }
  9580. var XFcFontSetPrint = XIA__FcFontSetPrint
  9581. func XFcInitDebug(tls *libc.TLS) {
  9582. bp := tls.Alloc(16)
  9583. defer tls.Free(16)
  9584. var e uintptr
  9585. _ = e
  9586. if !(XFcDebugVal != 0) {
  9587. e = libc.Xgetenv(tls, __ccgo_ts+2414)
  9588. if e != 0 {
  9589. libc.Xprintf(tls, __ccgo_ts+2423, libc.VaList(bp+8, e))
  9590. XFcDebugVal = libc.Xatoi(tls, e)
  9591. if XFcDebugVal < 0 {
  9592. XFcDebugVal = 0
  9593. }
  9594. }
  9595. }
  9596. }
  9597. /* MT-safe */
  9598. var _FcBoolDefaults = [8]struct {
  9599. Ffield TFcObject
  9600. Fvalue TFcBool
  9601. }{
  9602. 0: {
  9603. Ffield: int32(_FC_HINTING_OBJECT),
  9604. Fvalue: int32(m_FcTrue),
  9605. },
  9606. 1: {
  9607. Ffield: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  9608. },
  9609. 2: {
  9610. Ffield: int32(_FC_AUTOHINT_OBJECT),
  9611. },
  9612. 3: {
  9613. Ffield: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  9614. Fvalue: int32(m_FcTrue),
  9615. },
  9616. 4: {
  9617. Ffield: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  9618. Fvalue: int32(m_FcTrue),
  9619. },
  9620. 5: {
  9621. Ffield: int32(_FC_DECORATIVE_OBJECT),
  9622. },
  9623. 6: {
  9624. Ffield: int32(_FC_SYMBOL_OBJECT),
  9625. },
  9626. 7: {
  9627. Ffield: int32(_FC_VARIABLE_OBJECT),
  9628. },
  9629. }
  9630. func XIA__FcGetDefaultLangs(tls *libc.TLS) (r uintptr) {
  9631. var langs, result uintptr
  9632. var v1 int32
  9633. _, _, _ = langs, result, v1
  9634. goto retry
  9635. retry:
  9636. ;
  9637. result = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  9638. if !(result != 0) {
  9639. result = XIA__FcStrSetCreate(tls)
  9640. langs = libc.Xgetenv(tls, __ccgo_ts+2436)
  9641. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  9642. langs = libc.Xgetenv(tls, __ccgo_ts+2444)
  9643. }
  9644. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  9645. langs = libc.Xgetenv(tls, __ccgo_ts+2451)
  9646. }
  9647. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  9648. langs = libc.Xgetenv(tls, __ccgo_ts+2460)
  9649. }
  9650. if langs != 0 && *(*uint8)(unsafe.Pointer(langs)) != 0 {
  9651. if !(XFcStrSetAddLangs(tls, result, langs) != 0) {
  9652. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2465)
  9653. }
  9654. } else {
  9655. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2465)
  9656. }
  9657. (*TFcRef)(unsafe.Pointer(result)).Fcount = -libc.Int32FromInt32(1)
  9658. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == libc.UintptrFromInt32(0) {
  9659. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = result
  9660. v1 = libc.Int32FromInt32(m_FcTrue)
  9661. } else {
  9662. v1 = m_FcFalse
  9663. }
  9664. if !(v1 != 0) {
  9665. (*TFcRef)(unsafe.Pointer(result)).Fcount = int32(1)
  9666. XIA__FcStrSetDestroy(tls, result)
  9667. goto retry
  9668. }
  9669. }
  9670. return result
  9671. }
  9672. var XFcGetDefaultLangs = XIA__FcGetDefaultLangs
  9673. var _default_lang uintptr /* MT-safe */
  9674. func XFcGetDefaultLang(tls *libc.TLS) (r uintptr) {
  9675. var lang, langs uintptr
  9676. var v1 int32
  9677. _, _, _ = lang, langs, v1
  9678. goto retry
  9679. retry:
  9680. ;
  9681. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  9682. if !(lang != 0) {
  9683. langs = XIA__FcGetDefaultLangs(tls)
  9684. lang = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(langs)).Fstrs)))
  9685. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == libc.UintptrFromInt32(0) {
  9686. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = lang
  9687. v1 = libc.Int32FromInt32(m_FcTrue)
  9688. } else {
  9689. v1 = m_FcFalse
  9690. }
  9691. if !(v1 != 0) {
  9692. libc.Xfree(tls, lang)
  9693. goto retry
  9694. }
  9695. }
  9696. return lang
  9697. }
  9698. var _default_prgname uintptr
  9699. func XFcGetPrgname(tls *libc.TLS) (r1 uintptr) {
  9700. var buf, p, prgname, r uintptr
  9701. var len1 Tssize_t
  9702. var size Tsize_t
  9703. var v1 int32
  9704. _, _, _, _, _, _, _ = buf, len1, p, prgname, r, size, v1
  9705. goto retry
  9706. retry:
  9707. ;
  9708. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  9709. if !(prgname != 0) {
  9710. size = uint64(m_PATH_MAX)
  9711. p = libc.UintptrFromInt32(0)
  9712. for int32(1) != 0 {
  9713. buf = libc.Xmalloc(tls, size)
  9714. if !(buf != 0) {
  9715. break
  9716. }
  9717. len1 = libc.Xreadlink(tls, __ccgo_ts+2468, buf, size-uint64(1))
  9718. if len1 < 0 {
  9719. libc.Xfree(tls, buf)
  9720. break
  9721. }
  9722. if libc.Uint64FromInt64(len1) < size-uint64(1) {
  9723. *(*uint8)(unsafe.Pointer(buf + uintptr(len1))) = uint8(0)
  9724. p = buf
  9725. break
  9726. }
  9727. libc.Xfree(tls, buf)
  9728. size *= uint64(2)
  9729. }
  9730. if p != 0 {
  9731. r = libc.Xstrrchr(tls, p, int32('/'))
  9732. if r != 0 {
  9733. r++
  9734. } else {
  9735. r = p
  9736. }
  9737. prgname = libc.Xstrdup(tls, r)
  9738. }
  9739. if !(prgname != 0) {
  9740. prgname = libc.Xstrdup(tls, __ccgo_ts+1316)
  9741. }
  9742. if p != 0 {
  9743. libc.Xfree(tls, p)
  9744. }
  9745. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == libc.UintptrFromInt32(0) {
  9746. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = prgname
  9747. v1 = libc.Int32FromInt32(m_FcTrue)
  9748. } else {
  9749. v1 = m_FcFalse
  9750. }
  9751. if !(v1 != 0) {
  9752. libc.Xfree(tls, prgname)
  9753. goto retry
  9754. }
  9755. }
  9756. if prgname != 0 && !(*(*TFcChar8)(unsafe.Pointer(prgname)) != 0) {
  9757. return libc.UintptrFromInt32(0)
  9758. }
  9759. return prgname
  9760. }
  9761. func XFcDefaultFini(tls *libc.TLS) {
  9762. var lang, langs, prgname uintptr
  9763. var v1, v3, v5 int32
  9764. var v2, v4, v6 bool
  9765. _, _, _, _, _, _, _, _, _ = lang, langs, prgname, v1, v2, v3, v4, v5, v6
  9766. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  9767. if v2 = lang != 0; v2 {
  9768. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == lang {
  9769. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = libc.UintptrFromInt32(0)
  9770. v1 = libc.Int32FromInt32(m_FcTrue)
  9771. } else {
  9772. v1 = m_FcFalse
  9773. }
  9774. }
  9775. if v2 && v1 != 0 {
  9776. libc.Xfree(tls, lang)
  9777. }
  9778. langs = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  9779. if v4 = langs != 0; v4 {
  9780. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == langs {
  9781. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = libc.UintptrFromInt32(0)
  9782. v3 = libc.Int32FromInt32(m_FcTrue)
  9783. } else {
  9784. v3 = m_FcFalse
  9785. }
  9786. }
  9787. if v4 && v3 != 0 {
  9788. (*TFcRef)(unsafe.Pointer(langs)).Fcount = int32(1)
  9789. XIA__FcStrSetDestroy(tls, langs)
  9790. }
  9791. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  9792. if v6 = prgname != 0; v6 {
  9793. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == prgname {
  9794. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = libc.UintptrFromInt32(0)
  9795. v5 = libc.Int32FromInt32(m_FcTrue)
  9796. } else {
  9797. v5 = m_FcFalse
  9798. }
  9799. }
  9800. if v6 && v5 != 0 {
  9801. libc.Xfree(tls, prgname)
  9802. }
  9803. }
  9804. func XIA__FcDefaultSubstitute(tls *libc.TLS, pattern uintptr) {
  9805. bp := tls.Alloc(112)
  9806. defer tls.Free(112)
  9807. var i int32
  9808. var pixelsize float64
  9809. var prgname uintptr
  9810. var _ /* b at bp+96 */ float64
  9811. var _ /* dpi at bp+64 */ float64
  9812. var _ /* e at bp+104 */ float64
  9813. var _ /* iter at bp+0 */ TFcPatternIter
  9814. var _ /* namelang at bp+32 */ TFcValue
  9815. var _ /* r at bp+88 */ uintptr
  9816. var _ /* scale at bp+80 */ float64
  9817. var _ /* size at bp+72 */ float64
  9818. var _ /* v at bp+16 */ TFcValue
  9819. var _ /* v2 at bp+48 */ TFcValue
  9820. _, _, _ = i, pixelsize, prgname
  9821. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WEIGHT_OBJECT)) != 0) {
  9822. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WEIGHT_OBJECT), int32(m_FC_WEIGHT_REGULAR))
  9823. }
  9824. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_SLANT_OBJECT)) != 0) {
  9825. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_SLANT_OBJECT), m_FC_SLANT_ROMAN)
  9826. }
  9827. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WIDTH_OBJECT)) != 0) {
  9828. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WIDTH_OBJECT), int32(m_FC_WIDTH_NORMAL))
  9829. }
  9830. i = 0
  9831. for {
  9832. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(64)/libc.Uint64FromInt64(8))) {
  9833. break
  9834. }
  9835. if !(XFcPatternFindObjectIter(tls, pattern, bp, _FcBoolDefaults[i].Ffield) != 0) {
  9836. XFcPatternObjectAddBool(tls, pattern, _FcBoolDefaults[i].Ffield, _FcBoolDefaults[i].Fvalue)
  9837. }
  9838. goto _1
  9839. _1:
  9840. ;
  9841. i++
  9842. }
  9843. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+72) != int32(_FcResultMatch) {
  9844. if XFcPatternObjectGetRange(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+88) == int32(_FcResultMatch) && XIA__FcRangeGetDouble(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), bp+96, bp+104) != 0 {
  9845. *(*float64)(unsafe.Pointer(bp + 72)) = (*(*float64)(unsafe.Pointer(bp + 96)) + *(*float64)(unsafe.Pointer(bp + 104))) * float64(0.5)
  9846. } else {
  9847. *(*float64)(unsafe.Pointer(bp + 72)) = libc.Float64FromFloat64(12)
  9848. }
  9849. }
  9850. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SCALE_OBJECT), 0, bp+80) != int32(_FcResultMatch) {
  9851. *(*float64)(unsafe.Pointer(bp + 80)) = float64(1)
  9852. }
  9853. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_DPI_OBJECT), 0, bp+64) != int32(_FcResultMatch) {
  9854. *(*float64)(unsafe.Pointer(bp + 64)) = float64(75)
  9855. }
  9856. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_PIXEL_SIZE_OBJECT)) != 0) {
  9857. XFcPatternObjectDel(tls, pattern, int32(_FC_SCALE_OBJECT))
  9858. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SCALE_OBJECT), *(*float64)(unsafe.Pointer(bp + 80)))
  9859. pixelsize = *(*float64)(unsafe.Pointer(bp + 72)) * *(*float64)(unsafe.Pointer(bp + 80))
  9860. XFcPatternObjectDel(tls, pattern, int32(_FC_DPI_OBJECT))
  9861. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_DPI_OBJECT), *(*float64)(unsafe.Pointer(bp + 64)))
  9862. pixelsize *= *(*float64)(unsafe.Pointer(bp + 64)) / float64(72)
  9863. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_PIXEL_SIZE_OBJECT), pixelsize)
  9864. } else {
  9865. XIA__FcPatternIterGetValue(tls, pattern, bp, 0, bp+16, libc.UintptrFromInt32(0))
  9866. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  9867. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 72)) / *(*float64)(unsafe.Pointer(bp + 64)) * float64(72) / *(*float64)(unsafe.Pointer(bp + 80))
  9868. }
  9869. XFcPatternObjectDel(tls, pattern, int32(_FC_SIZE_OBJECT))
  9870. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SIZE_OBJECT), *(*float64)(unsafe.Pointer(bp + 72)))
  9871. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FONTVERSION_OBJECT)) != 0) {
  9872. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_FONTVERSION_OBJECT), int32(0x7fffffff))
  9873. }
  9874. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_HINT_STYLE_OBJECT)) != 0) {
  9875. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_HINT_STYLE_OBJECT), int32(m_FC_HINT_FULL))
  9876. }
  9877. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_NAMELANG_OBJECT)) != 0) {
  9878. XFcPatternObjectAddString(tls, pattern, int32(_FC_NAMELANG_OBJECT), XFcGetDefaultLang(tls))
  9879. }
  9880. /* shouldn't be failed. */
  9881. XFcPatternObjectGet(tls, pattern, int32(_FC_NAMELANG_OBJECT), 0, bp+32)
  9882. /* Add a fallback to ensure the english name when the requested language
  9883. * isn't available. this would helps for the fonts that have non-English
  9884. * name at the beginning.
  9885. */
  9886. /* Set "en-us" instead of "en" to avoid giving higher score to "en".
  9887. * This is a hack for the case that the orth is not like ll-cc, because,
  9888. * if no namelang isn't explicitly set, it will has something like ll-cc
  9889. * according to current locale. which may causes FcLangDifferentTerritory
  9890. * at FcLangCompare(). thus, the English name is selected so that
  9891. * exact matched "en" has higher score than ll-cc.
  9892. */
  9893. (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 = int32(_FcTypeString)
  9894. *(*uintptr)(unsafe.Pointer(bp + 48 + 8)) = __ccgo_ts + 2483
  9895. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FAMILYLANG_OBJECT)) != 0) {
  9896. XFcPatternObjectAdd(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  9897. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  9898. }
  9899. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_STYLELANG_OBJECT)) != 0) {
  9900. XFcPatternObjectAdd(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  9901. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  9902. }
  9903. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FULLNAMELANG_OBJECT)) != 0) {
  9904. XFcPatternObjectAdd(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  9905. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  9906. }
  9907. if XFcPatternObjectGet(tls, pattern, int32(_FC_PRGNAME_OBJECT), 0, bp+16) == int32(_FcResultNoMatch) {
  9908. prgname = XFcGetPrgname(tls)
  9909. if prgname != 0 {
  9910. XFcPatternObjectAddString(tls, pattern, int32(_FC_PRGNAME_OBJECT), prgname)
  9911. }
  9912. }
  9913. }
  9914. var XFcDefaultSubstitute = XIA__FcDefaultSubstitute
  9915. const m_S_IFDIR1 = 16384
  9916. const m_S_IFLNK1 = 40960
  9917. const m_S_IFMT1 = 61440
  9918. const m_S_IFREG1 = 32768
  9919. func XIA__FcFileIsDir(tls *libc.TLS, file uintptr) (r TFcBool) {
  9920. bp := tls.Alloc(144)
  9921. defer tls.Free(144)
  9922. var _ /* statb at bp+0 */ Tstat
  9923. if XFcStat(tls, file, bp) != 0 {
  9924. return m_FcFalse
  9925. }
  9926. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT1) == libc.Uint32FromInt32(m_S_IFDIR1))
  9927. }
  9928. var XFcFileIsDir = XIA__FcFileIsDir
  9929. func XFcFileIsLink(tls *libc.TLS, file uintptr) (r TFcBool) {
  9930. bp := tls.Alloc(144)
  9931. defer tls.Free(144)
  9932. var _ /* statb at bp+0 */ Tstat
  9933. if libc.Xlstat(tls, file, bp) != 0 {
  9934. return m_FcFalse
  9935. }
  9936. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT1) == libc.Uint32FromInt32(m_S_IFLNK1))
  9937. }
  9938. func XFcFileIsFile(tls *libc.TLS, file uintptr) (r TFcBool) {
  9939. bp := tls.Alloc(144)
  9940. defer tls.Free(144)
  9941. var _ /* statb at bp+0 */ Tstat
  9942. if XFcStat(tls, file, bp) != 0 {
  9943. return m_FcFalse
  9944. }
  9945. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT1) == libc.Uint32FromInt32(m_S_IFREG1))
  9946. }
  9947. func _FcFileScanFontConfig(tls *libc.TLS, set uintptr, file uintptr, config uintptr) (r TFcBool) {
  9948. bp := tls.Alloc(32)
  9949. defer tls.Free(32)
  9950. var font, s, sysroot uintptr
  9951. var i, old_nfont int32
  9952. var len1 Tsize_t
  9953. var ret TFcBool
  9954. var _ /* f at bp+0 */ uintptr
  9955. _, _, _, _, _, _, _ = font, i, len1, old_nfont, ret, s, sysroot
  9956. ret = int32(m_FcTrue)
  9957. old_nfont = (*TFcFontSet)(unsafe.Pointer(set)).Fnfont
  9958. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  9959. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  9960. libc.Xprintf(tls, __ccgo_ts+2489, libc.VaList(bp+16, file))
  9961. libc.Xfflush(tls, libc.Xstdout)
  9962. }
  9963. if !(XIA__FcFreeTypeQueryAll(tls, file, libc.Uint32FromInt32(-libc.Int32FromInt32(1)), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), set) != 0) {
  9964. return m_FcFalse
  9965. }
  9966. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  9967. libc.Xprintf(tls, __ccgo_ts+2510, 0)
  9968. }
  9969. i = old_nfont
  9970. for {
  9971. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  9972. break
  9973. }
  9974. font = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  9975. /*
  9976. * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
  9977. * and they should usually expect without sysroot.
  9978. */
  9979. if sysroot != 0 {
  9980. len1 = libc.Xstrlen(tls, sysroot)
  9981. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  9982. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) && libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(bp)), sysroot, len1) == 0 {
  9983. s = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp)))
  9984. XFcPatternObjectDel(tls, font, int32(_FC_FILE_OBJECT))
  9985. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1)))) != int32('/') {
  9986. len1--
  9987. } else {
  9988. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1+uint64(1))))) == int32('/') {
  9989. len1++
  9990. }
  9991. }
  9992. XFcPatternObjectAddString(tls, font, int32(_FC_FILE_OBJECT), s+uintptr(len1))
  9993. XIA__FcStrFree(tls, s)
  9994. }
  9995. }
  9996. /*
  9997. * Edit pattern with user-defined rules
  9998. */
  9999. if config != 0 && !(XIA__FcConfigSubstitute(tls, config, font, int32(_FcMatchScan)) != 0) {
  10000. ret = m_FcFalse
  10001. }
  10002. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  10003. libc.Xprintf(tls, __ccgo_ts+2516, 0)
  10004. XIA__FcPatternPrint(tls, font)
  10005. }
  10006. goto _1
  10007. _1:
  10008. ;
  10009. i++
  10010. }
  10011. return ret
  10012. }
  10013. func XFcFileScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, file uintptr, config uintptr) (r TFcBool) {
  10014. var d, sysroot uintptr
  10015. var len1 Tsize_t
  10016. _, _, _ = d, len1, sysroot
  10017. if XIA__FcFileIsDir(tls, file) != 0 {
  10018. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10019. d = file
  10020. if sysroot != 0 {
  10021. len1 = libc.Xstrlen(tls, sysroot)
  10022. if libc.Xstrncmp(tls, file, sysroot, len1) == 0 {
  10023. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1)))) != int32('/') {
  10024. len1--
  10025. } else {
  10026. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1+uint64(1))))) == int32('/') {
  10027. len1++
  10028. }
  10029. }
  10030. d = file + uintptr(len1)
  10031. }
  10032. }
  10033. return XIA__FcStrSetAdd(tls, dirs, d)
  10034. } else {
  10035. if set != 0 {
  10036. return _FcFileScanFontConfig(tls, set, file, config)
  10037. } else {
  10038. return int32(m_FcTrue)
  10039. }
  10040. }
  10041. return r
  10042. }
  10043. func XIA__FcFileScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, file uintptr, force TFcBool) (r TFcBool) {
  10044. return XFcFileScanConfig(tls, set, dirs, file, XIA__FcConfigGetCurrent(tls))
  10045. }
  10046. var XFcFileScan = XIA__FcFileScan
  10047. // C documentation
  10048. //
  10049. // /*
  10050. // * Strcmp helper that takes pointers to pointers, copied from qsort(3) manpage
  10051. // */
  10052. func _cmpstringp(tls *libc.TLS, p1 uintptr, p2 uintptr) (r int32) {
  10053. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(p1)), *(*uintptr)(unsafe.Pointer(p2)))
  10054. }
  10055. func XFcDirScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  10056. bp := tls.Alloc(16)
  10057. defer tls.Free(16)
  10058. var base, d, e, file, files, v1 uintptr
  10059. var i int32
  10060. var ret TFcBool
  10061. _, _, _, _, _, _, _, _ = base, d, e, file, files, i, ret, v1
  10062. ret = int32(m_FcTrue)
  10063. if !(force != 0) {
  10064. return m_FcFalse
  10065. }
  10066. if !(set != 0) && !(dirs != 0) {
  10067. return int32(m_FcTrue)
  10068. }
  10069. /* freed below */
  10070. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  10071. if !(file != 0) {
  10072. ret = m_FcFalse
  10073. goto bail
  10074. }
  10075. libc.Xstrcpy(tls, file, dir)
  10076. libc.Xstrcat(tls, file, __ccgo_ts+1317)
  10077. base = file + uintptr(libc.Xstrlen(tls, file))
  10078. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10079. libc.Xprintf(tls, __ccgo_ts+2537, libc.VaList(bp+8, dir))
  10080. }
  10081. d = libc.Xopendir(tls, dir)
  10082. if !(d != 0) {
  10083. /* Don't complain about missing directories */
  10084. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(m_ENOENT) {
  10085. ret = m_FcFalse
  10086. }
  10087. goto bail
  10088. }
  10089. files = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  10090. if !(files != 0) {
  10091. ret = m_FcFalse
  10092. goto bail1
  10093. }
  10094. for {
  10095. v1 = libc.Xreaddir(tls, d)
  10096. e = v1
  10097. if !(v1 != 0) {
  10098. break
  10099. }
  10100. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) != int32('.') && libc.Xstrlen(tls, e+19) < uint64(m_FC_MAX_FILE_LEN) {
  10101. libc.Xstrcpy(tls, base, e+19)
  10102. if !(XIA__FcStrSetAdd(tls, files, file) != 0) {
  10103. ret = m_FcFalse
  10104. goto bail2
  10105. }
  10106. }
  10107. }
  10108. /*
  10109. * Sort files to make things prettier
  10110. */
  10111. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_cmpstringp))
  10112. /*
  10113. * Scan file files to build font patterns
  10114. */
  10115. i = 0
  10116. for {
  10117. if !(i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  10118. break
  10119. }
  10120. XFcFileScanConfig(tls, set, dirs, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), config)
  10121. goto _2
  10122. _2:
  10123. ;
  10124. i++
  10125. }
  10126. goto bail2
  10127. bail2:
  10128. ;
  10129. XIA__FcStrSetDestroy(tls, files)
  10130. goto bail1
  10131. bail1:
  10132. ;
  10133. libc.Xclosedir(tls, d)
  10134. goto bail
  10135. bail:
  10136. ;
  10137. if file != 0 {
  10138. libc.Xfree(tls, file)
  10139. }
  10140. return ret
  10141. }
  10142. func XIA__FcDirScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, dir uintptr, force TFcBool) (r TFcBool) {
  10143. if cache != 0 || !(force != 0) {
  10144. return m_FcFalse
  10145. }
  10146. return XFcDirScanConfig(tls, set, dirs, dir, force, XIA__FcConfigGetCurrent(tls))
  10147. }
  10148. var XFcDirScan = XIA__FcDirScan
  10149. // C documentation
  10150. //
  10151. // /*
  10152. // * Scan the specified directory and construct a cache of its contents
  10153. // */
  10154. func XFcDirCacheScan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  10155. bp := tls.Alloc(176)
  10156. defer tls.Free(176)
  10157. var cache, d, dirs, set, sysroot uintptr
  10158. var fd int32
  10159. var _ /* dir_stat at bp+0 */ Tstat
  10160. _, _, _, _, _, _ = cache, d, dirs, fd, set, sysroot
  10161. cache = libc.UintptrFromInt32(0)
  10162. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10163. fd = -int32(1)
  10164. if sysroot != 0 {
  10165. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  10166. } else {
  10167. d = libc.Xstrdup(tls, dir)
  10168. }
  10169. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  10170. libc.Xprintf(tls, __ccgo_ts+2555, libc.VaList(bp+152, d))
  10171. }
  10172. if XFcStatChecksum(tls, d, bp) < 0 {
  10173. goto bail
  10174. }
  10175. set = XIA__FcFontSetCreate(tls)
  10176. if !(set != 0) {
  10177. goto bail
  10178. }
  10179. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  10180. if !(dirs != 0) {
  10181. goto bail1
  10182. }
  10183. fd = XFcDirCacheLock(tls, dir, config)
  10184. /*
  10185. * Scan the dir
  10186. */
  10187. if !(XFcDirScanConfig(tls, set, dirs, d, int32(m_FcTrue), config) != 0) {
  10188. goto bail2
  10189. }
  10190. /*
  10191. * Build the cache object
  10192. */
  10193. cache = XFcDirCacheBuild(tls, set, dir, bp, dirs)
  10194. if !(cache != 0) {
  10195. goto bail2
  10196. }
  10197. /*
  10198. * Write out the cache file, ignoring any troubles
  10199. */
  10200. XFcDirCacheWrite(tls, cache, config)
  10201. goto bail2
  10202. bail2:
  10203. ;
  10204. XFcDirCacheUnlock(tls, fd)
  10205. XIA__FcStrSetDestroy(tls, dirs)
  10206. goto bail1
  10207. bail1:
  10208. ;
  10209. XIA__FcFontSetDestroy(tls, set)
  10210. goto bail
  10211. bail:
  10212. ;
  10213. XIA__FcStrFree(tls, d)
  10214. return cache
  10215. }
  10216. func XIA__FcDirCacheRescan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  10217. bp := tls.Alloc(176)
  10218. defer tls.Free(176)
  10219. var cache, d, dirs, new1, sysroot uintptr
  10220. var fd int32
  10221. var _ /* dir_stat at bp+0 */ Tstat
  10222. _, _, _, _, _, _ = cache, d, dirs, fd, new1, sysroot
  10223. new1 = libc.UintptrFromInt32(0)
  10224. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10225. d = libc.UintptrFromInt32(0)
  10226. fd = -int32(1)
  10227. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  10228. if !(cache != 0) {
  10229. goto bail
  10230. }
  10231. if sysroot != 0 {
  10232. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  10233. } else {
  10234. d = libc.Xstrdup(tls, dir)
  10235. }
  10236. if XFcStatChecksum(tls, d, bp) < 0 {
  10237. goto bail
  10238. }
  10239. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  10240. if !(dirs != 0) {
  10241. goto bail
  10242. }
  10243. fd = XFcDirCacheLock(tls, dir, config)
  10244. /*
  10245. * Scan the dir
  10246. */
  10247. if !(XFcDirScanConfig(tls, libc.UintptrFromInt32(0), dirs, d, int32(m_FcTrue), config) != 0) {
  10248. goto bail1
  10249. }
  10250. /*
  10251. * Rebuild the cache object
  10252. */
  10253. new1 = XFcDirCacheRebuild(tls, cache, bp, dirs)
  10254. if !(new1 != 0) {
  10255. goto bail1
  10256. }
  10257. XIA__FcDirCacheUnload(tls, cache)
  10258. /*
  10259. * Write out the cache file, ignoring any troubles
  10260. */
  10261. XFcDirCacheWrite(tls, new1, config)
  10262. goto bail1
  10263. bail1:
  10264. ;
  10265. XFcDirCacheUnlock(tls, fd)
  10266. XIA__FcStrSetDestroy(tls, dirs)
  10267. goto bail
  10268. bail:
  10269. ;
  10270. if d != 0 {
  10271. XIA__FcStrFree(tls, d)
  10272. }
  10273. return new1
  10274. }
  10275. var XFcDirCacheRescan = XIA__FcDirCacheRescan
  10276. // C documentation
  10277. //
  10278. // /*
  10279. // * Read (or construct) the cache for a directory
  10280. // */
  10281. func XIA__FcDirCacheRead(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r uintptr) {
  10282. var cache, fs uintptr
  10283. _, _ = cache, fs
  10284. cache = libc.UintptrFromInt32(0)
  10285. XIA__FcDirCacheCreateUUID(tls, dir, m_FcFalse, config)
  10286. /* Try to use existing cache file */
  10287. if !(force != 0) {
  10288. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  10289. }
  10290. /* Not using existing cache file, construct new cache */
  10291. if !(cache != 0) {
  10292. cache = XFcDirCacheScan(tls, dir, config)
  10293. }
  10294. if cache != 0 {
  10295. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  10296. if (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count == 0 && (!(fs != 0) || (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont == 0) {
  10297. XIA__FcDirCacheDeleteUUID(tls, dir, config)
  10298. }
  10299. }
  10300. return cache
  10301. }
  10302. var XFcDirCacheRead = XIA__FcDirCacheRead
  10303. func XIA__FcDirSave(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr) (r TFcBool) {
  10304. return m_FcFalse /* XXX deprecated */
  10305. }
  10306. var XFcDirSave = XIA__FcDirSave
  10307. const m_FCCAT_FORMAT = "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
  10308. const m_FCLIST_FORMAT = "%{?file{%{file}: }}%{-file{%{=unparse}}}"
  10309. const m_FCMATCH_FORMAT = "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
  10310. const m_PKGKIT_FORMAT = "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
  10311. const m_S_IFDIR2 = 0040000
  10312. const m_S_IFLNK2 = 0120000
  10313. const m_S_IFMT2 = 0170000
  10314. const m_S_IFREG2 = 0100000
  10315. /* The language is documented in doc/fcformat.fncs
  10316. * These are the features implemented:
  10317. *
  10318. * simple %{elt}
  10319. * width %width{elt}
  10320. * index %{elt[idx]}
  10321. * name= %{elt=}
  10322. * :name= %{:elt}
  10323. * default %{elt:-word}
  10324. * count %{#elt}
  10325. * subexpr %{{expr}}
  10326. * filter-out %{-elt1,elt2,elt3{expr}}
  10327. * filter-in %{+elt1,elt2,elt3{expr}}
  10328. * conditional %{?elt1,elt2,!elt3{}{}}
  10329. * enumerate %{[]elt1,elt2{expr}}
  10330. * langset langset enumeration using the same syntax
  10331. * builtin %{=blt}
  10332. * convert %{elt|conv1|conv2|conv3}
  10333. *
  10334. * converters:
  10335. * basename FcStrBasename
  10336. * dirname FcStrDirname
  10337. * downcase FcStrDowncase
  10338. * shescape
  10339. * cescape
  10340. * xmlescape
  10341. * delete delete chars
  10342. * escape escape chars
  10343. * translate translate chars
  10344. *
  10345. * builtins:
  10346. * unparse FcNameUnparse
  10347. * fcmatch fc-match default
  10348. * fclist fc-list default
  10349. * fccat fc-cat default
  10350. * pkgkit PackageKit package tag format
  10351. *
  10352. *
  10353. * Some ideas for future syntax extensions:
  10354. *
  10355. * - verbose builtin that is like FcPatternPrint
  10356. * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
  10357. * - allow indexing in +, -, ? filtering?
  10358. * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  10359. */
  10360. func _message(tls *libc.TLS, fmt uintptr, va uintptr) {
  10361. var args Tva_list
  10362. _ = args
  10363. args = va
  10364. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2574, 0)
  10365. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  10366. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2609, 0)
  10367. _ = args
  10368. }
  10369. type TFcFormatContext = struct {
  10370. Fformat_orig uintptr
  10371. Fformat uintptr
  10372. Fformat_len int32
  10373. Fword uintptr
  10374. Fword_allocated TFcBool
  10375. }
  10376. type T_FcFormatContext = TFcFormatContext
  10377. func _FcFormatContextInit(tls *libc.TLS, c uintptr, format uintptr, scratch uintptr, scratch_len int32) (r TFcBool) {
  10378. var v1 uintptr
  10379. _ = v1
  10380. v1 = format
  10381. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = v1
  10382. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig = v1
  10383. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len = libc.Int32FromUint64(libc.Xstrlen(tls, format))
  10384. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len < scratch_len {
  10385. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = scratch
  10386. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = m_FcFalse
  10387. } else {
  10388. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len+int32(1)))
  10389. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = int32(m_FcTrue)
  10390. }
  10391. return libc.BoolInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fword != libc.UintptrFromInt32(0))
  10392. }
  10393. func _FcFormatContextDone(tls *libc.TLS, c uintptr) {
  10394. if c != 0 && (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated != 0 {
  10395. libc.Xfree(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  10396. }
  10397. }
  10398. func _consume_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  10399. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  10400. return m_FcFalse
  10401. }
  10402. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10403. return int32(m_FcTrue)
  10404. }
  10405. func _expect_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  10406. bp := tls.Alloc(32)
  10407. defer tls.Free(32)
  10408. var res TFcBool
  10409. _ = res
  10410. res = _consume_char(tls, c, term)
  10411. if !(res != 0) {
  10412. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig+uintptr((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len) {
  10413. _message(tls, __ccgo_ts+2612, libc.VaList(bp+8, libc.Int32FromUint8(term)))
  10414. } else {
  10415. _message(tls, __ccgo_ts+2646, libc.VaList(bp+8, libc.Int32FromUint8(term), int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  10416. }
  10417. }
  10418. return res
  10419. }
  10420. func _FcCharIsPunct(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  10421. if libc.Int32FromUint8(c) < int32('0') {
  10422. return int32(m_FcTrue)
  10423. }
  10424. if libc.Int32FromUint8(c) <= int32('9') {
  10425. return m_FcFalse
  10426. }
  10427. if libc.Int32FromUint8(c) < int32('A') {
  10428. return int32(m_FcTrue)
  10429. }
  10430. if libc.Int32FromUint8(c) <= int32('Z') {
  10431. return m_FcFalse
  10432. }
  10433. if libc.Int32FromUint8(c) < int32('a') {
  10434. return int32(m_FcTrue)
  10435. }
  10436. if libc.Int32FromUint8(c) <= int32('z') {
  10437. return m_FcFalse
  10438. }
  10439. if libc.Int32FromUint8(c) <= int32('~') {
  10440. return int32(m_FcTrue)
  10441. }
  10442. return m_FcFalse
  10443. }
  10444. func _escaped_char(tls *libc.TLS, ch uint8) (r uint8) {
  10445. switch libc.Int32FromUint8(ch) {
  10446. case int32('a'):
  10447. return uint8('\a')
  10448. case int32('b'):
  10449. return uint8('\b')
  10450. case int32('f'):
  10451. return uint8('\f')
  10452. case int32('n'):
  10453. return uint8('\n')
  10454. case int32('r'):
  10455. return uint8('\r')
  10456. case int32('t'):
  10457. return uint8('\t')
  10458. case int32('v'):
  10459. return uint8('\v')
  10460. default:
  10461. return ch
  10462. }
  10463. return r
  10464. }
  10465. func _read_word(tls *libc.TLS, c uintptr) (r TFcBool) {
  10466. bp := tls.Alloc(16)
  10467. defer tls.Free(16)
  10468. var p, v1, v2, v3, v4, v5, v6 uintptr
  10469. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  10470. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  10471. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10472. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  10473. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10474. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10475. v1 = p
  10476. p++
  10477. v3 = c + 8
  10478. v2 = *(*uintptr)(unsafe.Pointer(v3))
  10479. *(*uintptr)(unsafe.Pointer(v3))++
  10480. *(*TFcChar8)(unsafe.Pointer(v1)) = _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v2)))
  10481. }
  10482. continue
  10483. } else {
  10484. if _FcCharIsPunct(tls, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != 0 {
  10485. break
  10486. }
  10487. }
  10488. v4 = p
  10489. p++
  10490. v6 = c + 8
  10491. v5 = *(*uintptr)(unsafe.Pointer(v6))
  10492. *(*uintptr)(unsafe.Pointer(v6))++
  10493. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  10494. }
  10495. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  10496. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  10497. _message(tls, __ccgo_ts+2666, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  10498. return m_FcFalse
  10499. }
  10500. return int32(m_FcTrue)
  10501. }
  10502. func _read_chars(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  10503. bp := tls.Alloc(16)
  10504. defer tls.Free(16)
  10505. var p, v1, v2, v3, v4, v5, v6 uintptr
  10506. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  10507. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  10508. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  10509. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  10510. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10511. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10512. v1 = p
  10513. p++
  10514. v3 = c + 8
  10515. v2 = *(*uintptr)(unsafe.Pointer(v3))
  10516. *(*uintptr)(unsafe.Pointer(v3))++
  10517. *(*TFcChar8)(unsafe.Pointer(v1)) = _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v2)))
  10518. }
  10519. continue
  10520. }
  10521. v4 = p
  10522. p++
  10523. v6 = c + 8
  10524. v5 = *(*uintptr)(unsafe.Pointer(v6))
  10525. *(*uintptr)(unsafe.Pointer(v6))++
  10526. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  10527. }
  10528. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  10529. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  10530. _message(tls, __ccgo_ts+2692, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  10531. return m_FcFalse
  10532. }
  10533. return int32(m_FcTrue)
  10534. }
  10535. func _interpret_builtin(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10536. bp := tls.Alloc(16)
  10537. defer tls.Free(16)
  10538. var new_str uintptr
  10539. var ret TFcBool
  10540. _, _ = new_str, ret
  10541. if !(_expect_char(tls, c, uint8('=')) != 0) || !(_read_word(tls, c) != 0) {
  10542. return m_FcFalse
  10543. }
  10544. /* try simple builtins first */
  10545. if 0 != 0 {
  10546. } else {
  10547. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2722) {
  10548. new_str = XIA__FcNameUnparse(tls, pat)
  10549. ret = int32(m_FcTrue)
  10550. } else {
  10551. ret = m_FcFalse
  10552. }
  10553. }
  10554. if ret != 0 {
  10555. if new_str != 0 {
  10556. XFcStrBufString(tls, buf, new_str)
  10557. XIA__FcStrFree(tls, new_str)
  10558. return int32(m_FcTrue)
  10559. } else {
  10560. return m_FcFalse
  10561. }
  10562. }
  10563. /* now try our custom formats */
  10564. if 0 != 0 {
  10565. } else {
  10566. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2730) {
  10567. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+2736, buf)
  10568. } else {
  10569. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2804) {
  10570. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+2812, buf)
  10571. } else {
  10572. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2914) {
  10573. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+2921, buf)
  10574. } else {
  10575. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2962) {
  10576. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+2969, buf)
  10577. } else {
  10578. ret = m_FcFalse
  10579. }
  10580. }
  10581. }
  10582. }
  10583. }
  10584. if !(ret != 0) {
  10585. _message(tls, __ccgo_ts+3073, libc.VaList(bp+8, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  10586. }
  10587. return ret
  10588. }
  10589. func _interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10590. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _interpret_expr(tls, c, pat, buf, uint8('}')) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  10591. }
  10592. func _maybe_interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10593. var v1 int32
  10594. _ = v1
  10595. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  10596. v1 = _interpret_subexpr(tls, c, pat, buf)
  10597. } else {
  10598. v1 = int32(m_FcTrue)
  10599. }
  10600. return v1
  10601. }
  10602. func _skip_percent(tls *libc.TLS, c uintptr) (r TFcBool) {
  10603. if !(_expect_char(tls, c, uint8('%')) != 0) {
  10604. return m_FcFalse
  10605. }
  10606. /* skip an optional width specifier */
  10607. if libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)) != 0 {
  10608. /* don't care */
  10609. }
  10610. if !(_expect_char(tls, c, uint8('{')) != 0) {
  10611. return m_FcFalse
  10612. }
  10613. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  10614. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  10615. case int32('\\'):
  10616. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  10617. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10618. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10619. }
  10620. continue
  10621. case int32('{'):
  10622. if !(_skip_subexpr(tls, c) != 0) {
  10623. return m_FcFalse
  10624. }
  10625. continue
  10626. }
  10627. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10628. }
  10629. return _expect_char(tls, c, uint8('}'))
  10630. }
  10631. func _skip_expr(tls *libc.TLS, c uintptr) (r TFcBool) {
  10632. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  10633. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  10634. case int32('\\'):
  10635. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  10636. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10637. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10638. }
  10639. continue
  10640. case int32('%'):
  10641. if !(_skip_percent(tls, c) != 0) {
  10642. return m_FcFalse
  10643. }
  10644. continue
  10645. }
  10646. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10647. }
  10648. return int32(m_FcTrue)
  10649. }
  10650. func _skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  10651. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _skip_expr(tls, c) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  10652. }
  10653. func _maybe_skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  10654. var v1 int32
  10655. _ = v1
  10656. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  10657. v1 = _skip_subexpr(tls, c)
  10658. } else {
  10659. v1 = int32(m_FcTrue)
  10660. }
  10661. return v1
  10662. }
  10663. func _interpret_filter_in(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10664. var os, subpat uintptr
  10665. _, _ = os, subpat
  10666. if !(_expect_char(tls, c, uint8('+')) != 0) {
  10667. return m_FcFalse
  10668. }
  10669. os = XIA__FcObjectSetCreate(tls)
  10670. if !(os != 0) {
  10671. return m_FcFalse
  10672. }
  10673. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  10674. /* XXX binding */
  10675. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  10676. XIA__FcObjectSetDestroy(tls, os)
  10677. return m_FcFalse
  10678. }
  10679. }
  10680. subpat = XIA__FcPatternFilter(tls, pat, os)
  10681. XIA__FcObjectSetDestroy(tls, os)
  10682. if !(subpat != 0) || !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  10683. return m_FcFalse
  10684. }
  10685. XIA__FcPatternDestroy(tls, subpat)
  10686. return int32(m_FcTrue)
  10687. }
  10688. func _interpret_filter_out(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10689. var subpat uintptr
  10690. _ = subpat
  10691. if !(_expect_char(tls, c, uint8('-')) != 0) {
  10692. return m_FcFalse
  10693. }
  10694. subpat = XIA__FcPatternDuplicate(tls, pat)
  10695. if !(subpat != 0) {
  10696. return m_FcFalse
  10697. }
  10698. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  10699. if !(_read_word(tls, c) != 0) {
  10700. XIA__FcPatternDestroy(tls, subpat)
  10701. return m_FcFalse
  10702. }
  10703. XIA__FcPatternDel(tls, subpat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  10704. }
  10705. if !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  10706. return m_FcFalse
  10707. }
  10708. XIA__FcPatternDestroy(tls, subpat)
  10709. return int32(m_FcTrue)
  10710. }
  10711. func _interpret_cond(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10712. bp := tls.Alloc(16)
  10713. defer tls.Free(16)
  10714. var negate, pass TFcBool
  10715. var _ /* v at bp+0 */ TFcValue
  10716. _, _ = negate, pass
  10717. if !(_expect_char(tls, c, uint8('?')) != 0) {
  10718. return m_FcFalse
  10719. }
  10720. pass = int32(m_FcTrue)
  10721. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  10722. negate = _consume_char(tls, c, uint8('!'))
  10723. if !(_read_word(tls, c) != 0) {
  10724. return m_FcFalse
  10725. }
  10726. pass = libc.BoolInt32(pass != 0 && negate^libc.BoolInt32(int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, 0, bp)) != 0)
  10727. }
  10728. if pass != 0 {
  10729. if !(_interpret_subexpr(tls, c, pat, buf) != 0) || !(_maybe_skip_subexpr(tls, c) != 0) {
  10730. return m_FcFalse
  10731. }
  10732. } else {
  10733. if !(_skip_subexpr(tls, c) != 0) || !(_maybe_interpret_subexpr(tls, c, pat, buf) != 0) {
  10734. return m_FcFalse
  10735. }
  10736. }
  10737. return int32(m_FcTrue)
  10738. }
  10739. func _interpret_count(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10740. bp := tls.Alloc(96)
  10741. defer tls.Free(96)
  10742. var count int32
  10743. var _ /* buf_static at bp+16 */ [64]TFcChar8
  10744. var _ /* iter at bp+0 */ TFcPatternIter
  10745. _ = count
  10746. if !(_expect_char(tls, c, uint8('#')) != 0) {
  10747. return m_FcFalse
  10748. }
  10749. if !(_read_word(tls, c) != 0) {
  10750. return m_FcFalse
  10751. }
  10752. count = 0
  10753. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 {
  10754. count = XIA__FcPatternIterValueCount(tls, pat, bp)
  10755. }
  10756. libc.X__builtin_snprintf(tls, bp+16, uint64(64), __ccgo_ts+2183, libc.VaList(bp+88, count))
  10757. XFcStrBufString(tls, buf, bp+16)
  10758. return int32(m_FcTrue)
  10759. }
  10760. func _interpret_enumerate(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10761. bp := tls.Alloc(32)
  10762. defer tls.Free(32)
  10763. var done, ret TFcBool
  10764. var format_save, lang, lang_strs, os, ss, subpat, v1, v2, v4 uintptr
  10765. var i, idx int32
  10766. var v3 bool
  10767. var _ /* langset at bp+0 */ uintptr
  10768. var _ /* v at bp+8 */ TFcValue
  10769. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = done, format_save, i, idx, lang, lang_strs, os, ret, ss, subpat, v1, v2, v3, v4
  10770. if !(_expect_char(tls, c, uint8('[')) != 0) || !(_expect_char(tls, c, uint8(']')) != 0) {
  10771. return m_FcFalse
  10772. }
  10773. os = XIA__FcObjectSetCreate(tls)
  10774. if !(os != 0) {
  10775. return m_FcFalse
  10776. }
  10777. ret = int32(m_FcTrue)
  10778. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  10779. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  10780. XIA__FcObjectSetDestroy(tls, os)
  10781. return m_FcFalse
  10782. }
  10783. }
  10784. /* If we have one element and it's of type FcLangSet, we want
  10785. * to enumerate the languages in it. */
  10786. lang_strs = libc.UintptrFromInt32(0)
  10787. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == int32(1) {
  10788. if int32(_FcResultMatch) == XIA__FcPatternGetLangSet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), 0, bp) {
  10789. v1 = XIA__FcLangSetGetLangs(tls, *(*uintptr)(unsafe.Pointer(bp)))
  10790. ss = v1
  10791. if v3 = !(v1 != 0); !v3 {
  10792. v2 = XIA__FcStrListCreate(tls, ss)
  10793. lang_strs = v2
  10794. }
  10795. if v3 || !(v2 != 0) {
  10796. goto bail0
  10797. }
  10798. }
  10799. }
  10800. subpat = XIA__FcPatternDuplicate(tls, pat)
  10801. if !(subpat != 0) {
  10802. goto bail0
  10803. }
  10804. format_save = (*TFcFormatContext)(unsafe.Pointer(c)).Fformat
  10805. idx = 0
  10806. for cond := true; cond; cond = !(done != 0) {
  10807. done = int32(m_FcTrue)
  10808. if lang_strs != 0 {
  10809. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)))
  10810. v4 = XIA__FcStrListNext(tls, lang_strs)
  10811. lang = v4
  10812. if v4 != 0 {
  10813. /* XXX binding? */
  10814. XIA__FcPatternAddString(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), lang)
  10815. done = m_FcFalse
  10816. }
  10817. } else {
  10818. i = 0
  10819. for {
  10820. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  10821. break
  10822. }
  10823. /* XXX this can be optimized by accessing valuelist linked lists
  10824. * directly and remembering where we were. Most (all) value lists
  10825. * in normal uses are pretty short though (language tags are
  10826. * stored as a LangSet, not separate values.). */
  10827. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  10828. if int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), idx, bp+8) {
  10829. /* XXX binding */
  10830. XIA__FcPatternAdd(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), *(*TFcValue)(unsafe.Pointer(bp + 8)), m_FcFalse)
  10831. done = m_FcFalse
  10832. }
  10833. goto _5
  10834. _5:
  10835. ;
  10836. i++
  10837. }
  10838. }
  10839. if !(done != 0) {
  10840. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = format_save
  10841. ret = _interpret_subexpr(tls, c, subpat, buf)
  10842. if !(ret != 0) {
  10843. goto bail
  10844. }
  10845. }
  10846. idx++
  10847. }
  10848. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == format_save {
  10849. _skip_subexpr(tls, c)
  10850. }
  10851. goto bail
  10852. bail:
  10853. ;
  10854. XIA__FcPatternDestroy(tls, subpat)
  10855. goto bail0
  10856. bail0:
  10857. ;
  10858. if lang_strs != 0 {
  10859. XIA__FcStrListDone(tls, lang_strs)
  10860. }
  10861. XIA__FcObjectSetDestroy(tls, os)
  10862. return ret
  10863. }
  10864. func _interpret_simple(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10865. bp := tls.Alloc(32)
  10866. defer tls.Free(32)
  10867. var add_colon, add_elt_name TFcBool
  10868. var else_string, orig, v3 uintptr
  10869. var idx int32
  10870. var l TFcValueListPtr
  10871. var _ /* iter at bp+0 */ TFcPatternIter
  10872. _, _, _, _, _, _, _ = add_colon, add_elt_name, else_string, idx, l, orig, v3
  10873. add_colon = m_FcFalse
  10874. add_elt_name = m_FcFalse
  10875. if _consume_char(tls, c, uint8(':')) != 0 {
  10876. add_colon = int32(m_FcTrue)
  10877. }
  10878. if !(_read_word(tls, c) != 0) {
  10879. return m_FcFalse
  10880. }
  10881. idx = -int32(1)
  10882. if _consume_char(tls, c, uint8('[')) != 0 {
  10883. idx = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  10884. if idx < 0 {
  10885. _message(tls, __ccgo_ts+3094, libc.VaList(bp+24, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat-uintptr(1))-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  10886. return m_FcFalse
  10887. }
  10888. if !(_expect_char(tls, c, uint8(']')) != 0) {
  10889. return m_FcFalse
  10890. }
  10891. }
  10892. if _consume_char(tls, c, uint8('=')) != 0 {
  10893. add_elt_name = int32(m_FcTrue)
  10894. }
  10895. /* modifiers */
  10896. else_string = libc.UintptrFromInt32(0)
  10897. if _consume_char(tls, c, uint8(':')) != 0 {
  10898. /* divert the c->word for now */
  10899. orig = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  10900. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = (*TFcFormatContext)(unsafe.Pointer(c)).Fword + uintptr(libc.Xstrlen(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)) + uintptr(1)
  10901. /* for now we just support 'default value' */
  10902. if !(_expect_char(tls, c, uint8('-')) != 0) || !(_read_chars(tls, c, uint8('|')) != 0) {
  10903. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  10904. return m_FcFalse
  10905. }
  10906. else_string = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  10907. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  10908. }
  10909. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 || else_string != 0 {
  10910. l = libc.UintptrFromInt32(0)
  10911. if add_colon != 0 {
  10912. XFcStrBufChar(tls, buf, uint8(':'))
  10913. }
  10914. if add_elt_name != 0 {
  10915. XFcStrBufString(tls, buf, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  10916. XFcStrBufChar(tls, buf, uint8('='))
  10917. }
  10918. l = XFcPatternIterGetValues(tls, pat, bp)
  10919. if !(idx != -int32(1)) {
  10920. goto _1
  10921. }
  10922. for l != 0 && idx > 0 {
  10923. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  10924. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  10925. } else {
  10926. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  10927. }
  10928. l = v3
  10929. idx--
  10930. }
  10931. if l != 0 && idx == 0 {
  10932. if !(XFcNameUnparseValue(tls, buf, l+8, uintptr('\000')) != 0) {
  10933. return m_FcFalse
  10934. }
  10935. } else {
  10936. goto notfound
  10937. }
  10938. goto _2
  10939. _1:
  10940. ;
  10941. if !(l != 0) {
  10942. goto _4
  10943. }
  10944. XFcNameUnparseValueList(tls, buf, l, uintptr('\000'))
  10945. goto _5
  10946. _4:
  10947. ;
  10948. goto notfound
  10949. notfound:
  10950. ;
  10951. if else_string != 0 {
  10952. XFcStrBufString(tls, buf, else_string)
  10953. }
  10954. _5:
  10955. ;
  10956. _2:
  10957. }
  10958. return int32(m_FcTrue)
  10959. }
  10960. func _cescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  10961. var v1 uintptr
  10962. _ = v1
  10963. /* XXX escape \n etc? */
  10964. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  10965. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  10966. case int32('\\'):
  10967. fallthrough
  10968. case int32('"'):
  10969. XFcStrBufChar(tls, buf, uint8('\\'))
  10970. break
  10971. }
  10972. v1 = str
  10973. str++
  10974. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v1)))
  10975. }
  10976. return int32(m_FcTrue)
  10977. }
  10978. func _shescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  10979. XFcStrBufChar(tls, buf, uint8('\''))
  10980. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  10981. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) == int32('\'') {
  10982. XFcStrBufString(tls, buf, __ccgo_ts+3129)
  10983. } else {
  10984. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  10985. }
  10986. str++
  10987. }
  10988. XFcStrBufChar(tls, buf, uint8('\''))
  10989. return int32(m_FcTrue)
  10990. }
  10991. func _xmlescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  10992. /* XXX escape \n etc? */
  10993. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  10994. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  10995. case int32('&'):
  10996. XFcStrBufString(tls, buf, __ccgo_ts+3134)
  10997. case int32('<'):
  10998. XFcStrBufString(tls, buf, __ccgo_ts+3140)
  10999. case int32('>'):
  11000. XFcStrBufString(tls, buf, __ccgo_ts+3145)
  11001. default:
  11002. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11003. break
  11004. }
  11005. str++
  11006. }
  11007. return int32(m_FcTrue)
  11008. }
  11009. func _delete_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11010. var p uintptr
  11011. _ = p
  11012. /* XXX not UTF-8 aware */
  11013. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11014. return m_FcFalse
  11015. }
  11016. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11017. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11018. if p != 0 {
  11019. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11020. str = p + uintptr(1)
  11021. } else {
  11022. XFcStrBufString(tls, buf, str)
  11023. break
  11024. }
  11025. }
  11026. return int32(m_FcTrue)
  11027. }
  11028. func _escape_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11029. var p uintptr
  11030. _ = p
  11031. /* XXX not UTF-8 aware */
  11032. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11033. return m_FcFalse
  11034. }
  11035. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11036. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11037. if p != 0 {
  11038. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11039. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fword)))
  11040. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(p)))
  11041. str = p + uintptr(1)
  11042. } else {
  11043. XFcStrBufString(tls, buf, str)
  11044. break
  11045. }
  11046. }
  11047. return int32(m_FcTrue)
  11048. }
  11049. func _translate_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11050. var from, p, to uintptr
  11051. var from_len, i, to_len, v1 int32
  11052. var repeat uint8
  11053. _, _, _, _, _, _, _, _ = from, from_len, i, p, repeat, to, to_len, v1
  11054. /* XXX not UTF-8 aware */
  11055. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(',')) != 0) || !(_expect_char(tls, c, uint8(',')) != 0) {
  11056. return m_FcFalse
  11057. }
  11058. from = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11059. from_len = libc.Int32FromUint64(libc.Xstrlen(tls, from))
  11060. to = from + uintptr(from_len) + uintptr(1)
  11061. /* hack: we temporarily divert c->word */
  11062. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = to
  11063. if !(_read_chars(tls, c, uint8(')')) != 0) {
  11064. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11065. return m_FcFalse
  11066. }
  11067. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11068. to_len = libc.Int32FromUint64(libc.Xstrlen(tls, to))
  11069. repeat = *(*uint8)(unsafe.Pointer(to + uintptr(to_len-int32(1))))
  11070. if !(_expect_char(tls, c, uint8(')')) != 0) {
  11071. return m_FcFalse
  11072. }
  11073. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11074. p = libc.Xstrpbrk(tls, str, from)
  11075. if p != 0 {
  11076. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11077. i = int32(int64(libc.Xstrchr(tls, from, libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(p))))) - int64(from))
  11078. if i < to_len {
  11079. v1 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(to + uintptr(i))))
  11080. } else {
  11081. v1 = libc.Int32FromUint8(repeat)
  11082. }
  11083. XFcStrBufChar(tls, buf, libc.Uint8FromInt32(v1))
  11084. str = p + uintptr(1)
  11085. } else {
  11086. XFcStrBufString(tls, buf, str)
  11087. break
  11088. }
  11089. }
  11090. return int32(m_FcTrue)
  11091. }
  11092. func _interpret_convert(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  11093. bp := tls.Alloc(8368)
  11094. defer tls.Free(8368)
  11095. var new_str, str uintptr
  11096. var ret TFcBool
  11097. var _ /* buf_static at bp+152 */ [8192]TFcChar8
  11098. var _ /* new_buf at bp+0 */ TFcStrBuf
  11099. _, _, _ = new_str, ret, str
  11100. if !(_expect_char(tls, c, uint8('|')) != 0) || !(_read_word(tls, c) != 0) {
  11101. return m_FcFalse
  11102. }
  11103. /* prepare the buffer */
  11104. XFcStrBufChar(tls, buf, uint8('\000'))
  11105. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11106. return m_FcFalse
  11107. }
  11108. str = (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(start)
  11109. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = start
  11110. /* try simple converters first */
  11111. if 0 != 0 {
  11112. } else {
  11113. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3150) {
  11114. new_str = XIA__FcStrDowncase(tls, str)
  11115. ret = int32(m_FcTrue)
  11116. } else {
  11117. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3159) {
  11118. new_str = XIA__FcStrBasename(tls, str)
  11119. ret = int32(m_FcTrue)
  11120. } else {
  11121. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3168) {
  11122. new_str = XIA__FcStrDirname(tls, str)
  11123. ret = int32(m_FcTrue)
  11124. } else {
  11125. ret = m_FcFalse
  11126. }
  11127. }
  11128. }
  11129. }
  11130. if ret != 0 {
  11131. if new_str != 0 {
  11132. XFcStrBufString(tls, buf, new_str)
  11133. XIA__FcStrFree(tls, new_str)
  11134. return int32(m_FcTrue)
  11135. } else {
  11136. return m_FcFalse
  11137. }
  11138. }
  11139. XFcStrBufInit(tls, bp, bp+152, int32(8192))
  11140. /* now try our custom converters */
  11141. if 0 != 0 {
  11142. } else {
  11143. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3176) {
  11144. ret = _cescape(tls, c, str, bp)
  11145. } else {
  11146. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3184) {
  11147. ret = _shescape(tls, c, str, bp)
  11148. } else {
  11149. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3193) {
  11150. ret = _xmlescape(tls, c, str, bp)
  11151. } else {
  11152. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3203) {
  11153. ret = _delete_chars(tls, c, str, bp)
  11154. } else {
  11155. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3210) {
  11156. ret = _escape_chars(tls, c, str, bp)
  11157. } else {
  11158. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3217) {
  11159. ret = _translate_chars(tls, c, str, bp)
  11160. } else {
  11161. ret = m_FcFalse
  11162. }
  11163. }
  11164. }
  11165. }
  11166. }
  11167. }
  11168. }
  11169. if ret != 0 {
  11170. XFcStrBufChar(tls, bp, uint8('\000'))
  11171. XFcStrBufString(tls, buf, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf)
  11172. } else {
  11173. _message(tls, __ccgo_ts+3227, libc.VaList(bp+8352, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  11174. }
  11175. XFcStrBufDestroy(tls, bp)
  11176. return ret
  11177. }
  11178. func _maybe_interpret_converts(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  11179. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('|') {
  11180. if !(_interpret_convert(tls, c, buf, start) != 0) {
  11181. return m_FcFalse
  11182. }
  11183. }
  11184. return int32(m_FcTrue)
  11185. }
  11186. func _align_to_width(tls *libc.TLS, buf uintptr, start int32, width int32) (r TFcBool) {
  11187. var len1, old_len, v1, v2 int32
  11188. _, _, _, _ = len1, old_len, v1, v2
  11189. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11190. return m_FcFalse
  11191. }
  11192. len1 = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 - start
  11193. if len1 < -width {
  11194. /* left align */
  11195. for {
  11196. v1 = len1
  11197. len1++
  11198. if !(v1 < -width) {
  11199. break
  11200. }
  11201. XFcStrBufChar(tls, buf, uint8(' '))
  11202. }
  11203. } else {
  11204. if len1 < width {
  11205. old_len = len1
  11206. /* right align */
  11207. for {
  11208. v2 = len1
  11209. len1++
  11210. if !(v2 < width) {
  11211. break
  11212. }
  11213. XFcStrBufChar(tls, buf, uint8(' '))
  11214. }
  11215. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11216. return m_FcFalse
  11217. }
  11218. len1 = old_len
  11219. libc.Xmemmove(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(len1), (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), libc.Uint64FromInt32(len1))
  11220. libc.Xmemset(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), int32(' '), libc.Uint64FromInt32(width-len1))
  11221. }
  11222. }
  11223. return libc.BoolInt32(!((*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0))
  11224. }
  11225. func _interpret_percent(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11226. var ret TFcBool
  11227. var start, width int32
  11228. _, _, _ = ret, start, width
  11229. if !(_expect_char(tls, c, uint8('%')) != 0) {
  11230. return m_FcFalse
  11231. }
  11232. if _consume_char(tls, c, uint8('%')) != 0 { /* "%%" */
  11233. XFcStrBufChar(tls, buf, uint8('%'))
  11234. return int32(m_FcTrue)
  11235. }
  11236. /* parse an optional width specifier */
  11237. width = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  11238. if !(_expect_char(tls, c, uint8('{')) != 0) {
  11239. return m_FcFalse
  11240. }
  11241. start = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1
  11242. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11243. case int32('='):
  11244. ret = _interpret_builtin(tls, c, pat, buf)
  11245. case int32('{'):
  11246. ret = _interpret_subexpr(tls, c, pat, buf)
  11247. case int32('+'):
  11248. ret = _interpret_filter_in(tls, c, pat, buf)
  11249. case int32('-'):
  11250. ret = _interpret_filter_out(tls, c, pat, buf)
  11251. case int32('?'):
  11252. ret = _interpret_cond(tls, c, pat, buf)
  11253. case int32('#'):
  11254. ret = _interpret_count(tls, c, pat, buf)
  11255. case int32('['):
  11256. ret = _interpret_enumerate(tls, c, pat, buf)
  11257. default:
  11258. ret = _interpret_simple(tls, c, pat, buf)
  11259. break
  11260. }
  11261. return libc.BoolInt32(ret != 0 && _maybe_interpret_converts(tls, c, buf, start) != 0 && _align_to_width(tls, buf, start, width) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  11262. }
  11263. func _interpret_expr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr, term TFcChar8) (r TFcBool) {
  11264. var v1, v2, v3, v4 uintptr
  11265. _, _, _, _ = v1, v2, v3, v4
  11266. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  11267. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11268. case int32('\\'):
  11269. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  11270. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11271. v2 = c + 8
  11272. v1 = *(*uintptr)(unsafe.Pointer(v2))
  11273. *(*uintptr)(unsafe.Pointer(v2))++
  11274. XFcStrBufChar(tls, buf, _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v1))))
  11275. }
  11276. continue
  11277. case int32('%'):
  11278. if !(_interpret_percent(tls, c, pat, buf) != 0) {
  11279. return m_FcFalse
  11280. }
  11281. continue
  11282. }
  11283. v4 = c + 8
  11284. v3 = *(*uintptr)(unsafe.Pointer(v4))
  11285. *(*uintptr)(unsafe.Pointer(v4))++
  11286. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v3)))
  11287. }
  11288. return int32(m_FcTrue)
  11289. }
  11290. func _FcPatternFormatToBuf(tls *libc.TLS, pat uintptr, format uintptr, buf uintptr) (r TFcBool) {
  11291. bp := tls.Alloc(1072)
  11292. defer tls.Free(1072)
  11293. var ret TFcBool
  11294. var _ /* c at bp+0 */ TFcFormatContext
  11295. var _ /* word_static at bp+40 */ [1024]TFcChar8
  11296. _ = ret
  11297. if !(_FcFormatContextInit(tls, bp, format, bp+40, int32(1024)) != 0) {
  11298. return m_FcFalse
  11299. }
  11300. ret = _interpret_expr(tls, bp, pat, buf, uint8('\000'))
  11301. _FcFormatContextDone(tls, bp)
  11302. return ret
  11303. }
  11304. func XIA__FcPatternFormat(tls *libc.TLS, pat uintptr, format uintptr) (r uintptr) {
  11305. bp := tls.Alloc(7328)
  11306. defer tls.Free(7328)
  11307. var alloced, v1 uintptr
  11308. var ret TFcBool
  11309. var _ /* buf at bp+0 */ TFcStrBuf
  11310. var _ /* buf_static at bp+152 */ [7168]TFcChar8
  11311. _, _, _ = alloced, ret, v1
  11312. alloced = libc.UintptrFromInt32(0)
  11313. if !(pat != 0) {
  11314. v1 = XIA__FcPatternCreate(tls)
  11315. pat = v1
  11316. alloced = v1
  11317. }
  11318. XFcStrBufInit(tls, bp, bp+152, int32(7168))
  11319. ret = _FcPatternFormatToBuf(tls, pat, format, bp)
  11320. if alloced != 0 {
  11321. XIA__FcPatternDestroy(tls, alloced)
  11322. }
  11323. if ret != 0 {
  11324. return XFcStrBufDone(tls, bp)
  11325. } else {
  11326. XFcStrBufDestroy(tls, bp)
  11327. return libc.UintptrFromInt32(0)
  11328. }
  11329. return r
  11330. }
  11331. var XFcPatternFormat = XIA__FcPatternFormat
  11332. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 = 500
  11333. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 = 1000
  11334. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 = 1667
  11335. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 = 2333
  11336. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 = 400
  11337. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 = 275
  11338. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 = 275
  11339. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 = 0
  11340. const m_FC_ENCODING_MAC_ROMAN = "MACINTOSH"
  11341. const m_FREETYPE_MAJOR = 2
  11342. const m_FREETYPE_MINOR = 10
  11343. const m_FREETYPE_PATCH = 4
  11344. const m_FT_ADVANCE_FLAG_FAST_ONLY = 0x20000000
  11345. const m_FT_AUTOHINTER_H = "FT_DRIVER_H"
  11346. const m_FT_CACHE_CHARMAP_H = "FT_CACHE_H"
  11347. const m_FT_CACHE_IMAGE_H = "FT_CACHE_H"
  11348. const m_FT_CACHE_INTERNAL_CACHE_H = "FT_CACHE_H"
  11349. const m_FT_CACHE_INTERNAL_GLYPH_H = "FT_CACHE_H"
  11350. const m_FT_CACHE_INTERNAL_IMAGE_H = "FT_CACHE_H"
  11351. const m_FT_CACHE_INTERNAL_MANAGER_H = "FT_CACHE_H"
  11352. const m_FT_CACHE_INTERNAL_MRU_H = "FT_CACHE_H"
  11353. const m_FT_CACHE_INTERNAL_SBITS_H = "FT_CACHE_H"
  11354. const m_FT_CACHE_MANAGER_H = "FT_CACHE_H"
  11355. const m_FT_CACHE_SMALL_BITMAPS_H = "FT_CACHE_H"
  11356. const m_FT_CFF_DRIVER_H = "FT_DRIVER_H"
  11357. const m_FT_CHAR_BIT = "CHAR_BIT"
  11358. const m_FT_CURVE_TAG_CONIC = 0x00
  11359. const m_FT_CURVE_TAG_CUBIC = 0x02
  11360. const m_FT_CURVE_TAG_HAS_SCANMODE = 0x04
  11361. const m_FT_CURVE_TAG_ON = 0x01
  11362. const m_FT_CURVE_TAG_TOUCH_X = 0x08
  11363. const m_FT_CURVE_TAG_TOUCH_Y = 0x10
  11364. const m_FT_Curve_Tag_Conic = "FT_CURVE_TAG_CONIC"
  11365. const m_FT_Curve_Tag_Cubic = "FT_CURVE_TAG_CUBIC"
  11366. const m_FT_Curve_Tag_On = "FT_CURVE_TAG_ON"
  11367. const m_FT_Curve_Tag_Touch_X = "FT_CURVE_TAG_TOUCH_X"
  11368. const m_FT_Curve_Tag_Touch_Y = "FT_CURVE_TAG_TOUCH_Y"
  11369. const m_FT_DEBUG_HOOK_TRUETYPE = 0
  11370. const m_FT_FILE = "FILE"
  11371. const m_FT_FSTYPE_BITMAP_EMBEDDING_ONLY = 0x0200
  11372. const m_FT_FSTYPE_EDITABLE_EMBEDDING = 0x0008
  11373. const m_FT_FSTYPE_INSTALLABLE_EMBEDDING = 0x0000
  11374. const m_FT_FSTYPE_NO_SUBSETTING = 0x0100
  11375. const m_FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING = 0x0004
  11376. const m_FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING = 0x0002
  11377. const m_FT_INT64 = "long"
  11378. const m_FT_INT_MAX = "INT_MAX"
  11379. const m_FT_INT_MIN = "INT_MIN"
  11380. const m_FT_LOAD_DEFAULT = 0x0
  11381. const m_FT_LONG_MAX = "LONG_MAX"
  11382. const m_FT_LONG_MIN = "LONG_MIN"
  11383. const m_FT_MAX_MODULES = 32
  11384. const m_FT_MODULE_DRIVER_HAS_HINTER = 0x400
  11385. const m_FT_MODULE_DRIVER_HINTS_LIGHTLY = 0x800
  11386. const m_FT_MODULE_DRIVER_NO_OUTLINES = 0x200
  11387. const m_FT_MODULE_DRIVER_SCALABLE = 0x100
  11388. const m_FT_MODULE_FONT_DRIVER = 1
  11389. const m_FT_MODULE_HINTER = 4
  11390. const m_FT_MODULE_RENDERER = 2
  11391. const m_FT_MODULE_STYLER = 8
  11392. const m_FT_OPEN_DRIVER = 0x8
  11393. const m_FT_OPEN_MEMORY = 0x1
  11394. const m_FT_OPEN_PARAMS = 0x10
  11395. const m_FT_OPEN_PATHNAME = 0x4
  11396. const m_FT_OPEN_STREAM = 0x2
  11397. const m_FT_OUTLINE_CONTOURS_MAX = "SHRT_MAX"
  11398. const m_FT_OUTLINE_EVEN_ODD_FILL = 0x2
  11399. const m_FT_OUTLINE_HIGH_PRECISION = 0x100
  11400. const m_FT_OUTLINE_IGNORE_DROPOUTS = 0x8
  11401. const m_FT_OUTLINE_INCLUDE_STUBS = 0x20
  11402. const m_FT_OUTLINE_NONE = 0x0
  11403. const m_FT_OUTLINE_OVERLAP = 0x40
  11404. const m_FT_OUTLINE_OWNER = 0x1
  11405. const m_FT_OUTLINE_POINTS_MAX = "SHRT_MAX"
  11406. const m_FT_OUTLINE_REVERSE_FILL = 0x4
  11407. const m_FT_OUTLINE_SINGLE_PASS = 0x200
  11408. const m_FT_OUTLINE_SMART_DROPOUTS = 0x10
  11409. const m_FT_Outline_ConicTo_Func = "FT_Outline_ConicToFunc"
  11410. const m_FT_Outline_CubicTo_Func = "FT_Outline_CubicToFunc"
  11411. const m_FT_Outline_LineTo_Func = "FT_Outline_LineToFunc"
  11412. const m_FT_Outline_MoveTo_Func = "FT_Outline_MoveToFunc"
  11413. const m_FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY"
  11414. const m_FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY"
  11415. const m_FT_PCF_DRIVER_H = "FT_DRIVER_H"
  11416. const m_FT_RASTER_FLAG_AA = 0x1
  11417. const m_FT_RASTER_FLAG_CLIP = 0x4
  11418. const m_FT_RASTER_FLAG_DEFAULT = 0x0
  11419. const m_FT_RASTER_FLAG_DIRECT = 0x2
  11420. const m_FT_RENDER_POOL_SIZE = 16384
  11421. const m_FT_Raster_Done_Func = "FT_Raster_DoneFunc"
  11422. const m_FT_Raster_New_Func = "FT_Raster_NewFunc"
  11423. const m_FT_Raster_Render_Func = "FT_Raster_RenderFunc"
  11424. const m_FT_Raster_Reset_Func = "FT_Raster_ResetFunc"
  11425. const m_FT_Raster_Set_Mode_Func = "FT_Raster_SetModeFunc"
  11426. const m_FT_Raster_Span_Func = "FT_SpanFunc"
  11427. const m_FT_SUBGLYPH_FLAG_2X2 = 0x80
  11428. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS = 1
  11429. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES = 2
  11430. const m_FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID = 4
  11431. const m_FT_SUBGLYPH_FLAG_SCALE = 8
  11432. const m_FT_SUBGLYPH_FLAG_USE_MY_METRICS = 0x200
  11433. const m_FT_SUBGLYPH_FLAG_XY_SCALE = 0x40
  11434. const m_FT_TRUETYPE_DRIVER_H = "FT_DRIVER_H"
  11435. const m_FT_UINT_MAX = "UINT_MAX"
  11436. const m_FT_ULONG_MAX = "ULONG_MAX"
  11437. const m_FT_USHORT_MAX = "USHRT_MAX"
  11438. const m_FT_VAR_AXIS_FLAG_HIDDEN = 1
  11439. const m_FT_XFREE86_H = "FT_FONT_FORMATS_H"
  11440. const m_FcPatternAddFTFace = "IA__FcPatternAddFTFace"
  11441. const m_FcPatternGetFTFace = "IA__FcPatternGetFTFace"
  11442. const m_OTLAYOUT_HEAD = "otlayout:"
  11443. const m_OTLAYOUT_HEAD_LEN = 9
  11444. const m_OTLAYOUT_ID_LEN = 4
  11445. const m_T1_MAX_CHARSTRINGS_OPERANDS = 256
  11446. const m_T1_MAX_DICT_DEPTH = 5
  11447. const m_T1_MAX_MM_AXIS = 4
  11448. const m_T1_MAX_MM_DESIGNS = 16
  11449. const m_T1_MAX_MM_MAP_POINTS = 20
  11450. const m_T1_MAX_SUBRS_CALLS = 16
  11451. const m_TT_ADOBE_ID_CUSTOM = 2
  11452. const m_TT_ADOBE_ID_EXPERT = 1
  11453. const m_TT_ADOBE_ID_LATIN_1 = 3
  11454. const m_TT_ADOBE_ID_STANDARD = 0
  11455. const m_TT_APPLE_ID_DEFAULT = 0
  11456. const m_TT_APPLE_ID_FULL_UNICODE = 6
  11457. const m_TT_APPLE_ID_ISO_10646 = 2
  11458. const m_TT_APPLE_ID_UNICODE_1_1 = 1
  11459. const m_TT_APPLE_ID_UNICODE_2_0 = 3
  11460. const m_TT_APPLE_ID_UNICODE_32 = 4
  11461. const m_TT_APPLE_ID_VARIANT_SELECTOR = 5
  11462. const m_TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES = 1000000
  11463. const m_TT_CONFIG_OPTION_SUBPIXEL_HINTING = 2
  11464. const m_TT_ENCODING_DONT_CARE = 65535
  11465. const m_TT_ISO_ID_10646 = 1
  11466. const m_TT_ISO_ID_7BIT_ASCII = 0
  11467. const m_TT_ISO_ID_8859_1 = 2
  11468. const m_TT_LANGUAGE_DONT_CARE = 65535
  11469. const m_TT_MAC_ID_ARABIC = 4
  11470. const m_TT_MAC_ID_ARMENIAN = 24
  11471. const m_TT_MAC_ID_BENGALI = 13
  11472. const m_TT_MAC_ID_BURMESE = 19
  11473. const m_TT_MAC_ID_DEVANAGARI = 9
  11474. const m_TT_MAC_ID_GEEZ = 28
  11475. const m_TT_MAC_ID_GEORGIAN = 23
  11476. const m_TT_MAC_ID_GREEK = 6
  11477. const m_TT_MAC_ID_GUJARATI = 11
  11478. const m_TT_MAC_ID_GURMUKHI = 10
  11479. const m_TT_MAC_ID_HEBREW = 5
  11480. const m_TT_MAC_ID_JAPANESE = 1
  11481. const m_TT_MAC_ID_KANNADA = 16
  11482. const m_TT_MAC_ID_KHMER = 20
  11483. const m_TT_MAC_ID_KOREAN = 3
  11484. const m_TT_MAC_ID_LAOTIAN = 22
  11485. const m_TT_MAC_ID_MALAYALAM = 17
  11486. const m_TT_MAC_ID_MALDIVIAN = 25
  11487. const m_TT_MAC_ID_MONGOLIAN = 27
  11488. const m_TT_MAC_ID_ORIYA = 12
  11489. const m_TT_MAC_ID_ROMAN = 0
  11490. const m_TT_MAC_ID_RSYMBOL = 8
  11491. const m_TT_MAC_ID_RUSSIAN = 7
  11492. const m_TT_MAC_ID_SIMPLIFIED_CHINESE = 25
  11493. const m_TT_MAC_ID_SINDHI = 31
  11494. const m_TT_MAC_ID_SINHALESE = 18
  11495. const m_TT_MAC_ID_SLAVIC = 29
  11496. const m_TT_MAC_ID_TAMIL = 14
  11497. const m_TT_MAC_ID_TELUGU = 15
  11498. const m_TT_MAC_ID_THAI = 21
  11499. const m_TT_MAC_ID_TIBETAN = 26
  11500. const m_TT_MAC_ID_TRADITIONAL_CHINESE = 2
  11501. const m_TT_MAC_ID_UNINTERP = 32
  11502. const m_TT_MAC_ID_VIETNAMESE = 30
  11503. const m_TT_MAC_LANGID_AFRIKAANS = 141
  11504. const m_TT_MAC_LANGID_ALBANIAN = 36
  11505. const m_TT_MAC_LANGID_AMHARIC = 85
  11506. const m_TT_MAC_LANGID_ARABIC = 12
  11507. const m_TT_MAC_LANGID_ARMENIAN = 51
  11508. const m_TT_MAC_LANGID_ASSAMESE = 68
  11509. const m_TT_MAC_LANGID_AYMARA = 134
  11510. const m_TT_MAC_LANGID_AZERBAIJANI = 49
  11511. const m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50
  11512. const m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49
  11513. const m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150
  11514. const m_TT_MAC_LANGID_BASQUE = 129
  11515. const m_TT_MAC_LANGID_BENGALI = 67
  11516. const m_TT_MAC_LANGID_BRETON = 142
  11517. const m_TT_MAC_LANGID_BULGARIAN = 44
  11518. const m_TT_MAC_LANGID_BURMESE = 77
  11519. const m_TT_MAC_LANGID_BYELORUSSIAN = 46
  11520. const m_TT_MAC_LANGID_CATALAN = 130
  11521. const m_TT_MAC_LANGID_CHEWA = 92
  11522. const m_TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33
  11523. const m_TT_MAC_LANGID_CHINESE_TRADITIONAL = 19
  11524. const m_TT_MAC_LANGID_CROATIAN = 18
  11525. const m_TT_MAC_LANGID_CZECH = 38
  11526. const m_TT_MAC_LANGID_DANISH = 7
  11527. const m_TT_MAC_LANGID_DUTCH = 4
  11528. const m_TT_MAC_LANGID_DZONGKHA = 137
  11529. const m_TT_MAC_LANGID_ENGLISH = 0
  11530. const m_TT_MAC_LANGID_ESPERANTO = 94
  11531. const m_TT_MAC_LANGID_ESTONIAN = 27
  11532. const m_TT_MAC_LANGID_FAEROESE = 30
  11533. const m_TT_MAC_LANGID_FARSI = 31
  11534. const m_TT_MAC_LANGID_FINNISH = 13
  11535. const m_TT_MAC_LANGID_FLEMISH = 34
  11536. const m_TT_MAC_LANGID_FRENCH = 1
  11537. const m_TT_MAC_LANGID_GALICIAN = 140
  11538. const m_TT_MAC_LANGID_GALLA = 87
  11539. const m_TT_MAC_LANGID_GEORGIAN = 52
  11540. const m_TT_MAC_LANGID_GERMAN = 2
  11541. const m_TT_MAC_LANGID_GREEK = 14
  11542. const m_TT_MAC_LANGID_GREEK_POLYTONIC = 148
  11543. const m_TT_MAC_LANGID_GREELANDIC = 149
  11544. const m_TT_MAC_LANGID_GUARANI = 133
  11545. const m_TT_MAC_LANGID_GUJARATI = 69
  11546. const m_TT_MAC_LANGID_HEBREW = 10
  11547. const m_TT_MAC_LANGID_HINDI = 21
  11548. const m_TT_MAC_LANGID_HUNGARIAN = 26
  11549. const m_TT_MAC_LANGID_ICELANDIC = 15
  11550. const m_TT_MAC_LANGID_INDONESIAN = 81
  11551. const m_TT_MAC_LANGID_INUKTITUT = 143
  11552. const m_TT_MAC_LANGID_IRISH = 35
  11553. const m_TT_MAC_LANGID_IRISH_GAELIC = 146
  11554. const m_TT_MAC_LANGID_ITALIAN = 3
  11555. const m_TT_MAC_LANGID_JAPANESE = 11
  11556. const m_TT_MAC_LANGID_JAVANESE = 138
  11557. const m_TT_MAC_LANGID_KANNADA = 73
  11558. const m_TT_MAC_LANGID_KASHMIRI = 61
  11559. const m_TT_MAC_LANGID_KAZAKH = 48
  11560. const m_TT_MAC_LANGID_KHMER = 78
  11561. const m_TT_MAC_LANGID_KIRGHIZ = 54
  11562. const m_TT_MAC_LANGID_KOREAN = 23
  11563. const m_TT_MAC_LANGID_KURDISH = 60
  11564. const m_TT_MAC_LANGID_LAO = 79
  11565. const m_TT_MAC_LANGID_LATIN = 131
  11566. const m_TT_MAC_LANGID_LETTISH = 28
  11567. const m_TT_MAC_LANGID_LITHUANIAN = 24
  11568. const m_TT_MAC_LANGID_MACEDONIAN = 43
  11569. const m_TT_MAC_LANGID_MALAGASY = 93
  11570. const m_TT_MAC_LANGID_MALAYALAM = 72
  11571. const m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84
  11572. const m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83
  11573. const m_TT_MAC_LANGID_MALTESE = 16
  11574. const m_TT_MAC_LANGID_MANX_GAELIC = 145
  11575. const m_TT_MAC_LANGID_MARATHI = 66
  11576. const m_TT_MAC_LANGID_MOLDAVIAN = 53
  11577. const m_TT_MAC_LANGID_MONGOLIAN = 57
  11578. const m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58
  11579. const m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57
  11580. const m_TT_MAC_LANGID_NEPALI = 64
  11581. const m_TT_MAC_LANGID_NORWEGIAN = 9
  11582. const m_TT_MAC_LANGID_ORIYA = 71
  11583. const m_TT_MAC_LANGID_PASHTO = 59
  11584. const m_TT_MAC_LANGID_POLISH = 25
  11585. const m_TT_MAC_LANGID_PORTUGUESE = 8
  11586. const m_TT_MAC_LANGID_PUNJABI = 70
  11587. const m_TT_MAC_LANGID_QUECHUA = 132
  11588. const m_TT_MAC_LANGID_ROMANIAN = 37
  11589. const m_TT_MAC_LANGID_RUANDA = 90
  11590. const m_TT_MAC_LANGID_RUNDI = 91
  11591. const m_TT_MAC_LANGID_RUSSIAN = 32
  11592. const m_TT_MAC_LANGID_SAAMISK = 29
  11593. const m_TT_MAC_LANGID_SANSKRIT = 65
  11594. const m_TT_MAC_LANGID_SCOTTISH_GAELIC = 144
  11595. const m_TT_MAC_LANGID_SERBIAN = 42
  11596. const m_TT_MAC_LANGID_SINDHI = 62
  11597. const m_TT_MAC_LANGID_SINHALESE = 76
  11598. const m_TT_MAC_LANGID_SLOVAK = 39
  11599. const m_TT_MAC_LANGID_SLOVENIAN = 40
  11600. const m_TT_MAC_LANGID_SOMALI = 88
  11601. const m_TT_MAC_LANGID_SPANISH = 6
  11602. const m_TT_MAC_LANGID_SUNDANESE = 139
  11603. const m_TT_MAC_LANGID_SWAHILI = 89
  11604. const m_TT_MAC_LANGID_SWEDISH = 5
  11605. const m_TT_MAC_LANGID_TAGALOG = 82
  11606. const m_TT_MAC_LANGID_TAJIKI = 55
  11607. const m_TT_MAC_LANGID_TAMIL = 74
  11608. const m_TT_MAC_LANGID_TATAR = 135
  11609. const m_TT_MAC_LANGID_TELUGU = 75
  11610. const m_TT_MAC_LANGID_THAI = 22
  11611. const m_TT_MAC_LANGID_TIBETAN = 63
  11612. const m_TT_MAC_LANGID_TIGRINYA = 86
  11613. const m_TT_MAC_LANGID_TONGAN = 147
  11614. const m_TT_MAC_LANGID_TURKISH = 17
  11615. const m_TT_MAC_LANGID_TURKMEN = 56
  11616. const m_TT_MAC_LANGID_UIGHUR = 136
  11617. const m_TT_MAC_LANGID_UKRAINIAN = 45
  11618. const m_TT_MAC_LANGID_URDU = 20
  11619. const m_TT_MAC_LANGID_UZBEK = 47
  11620. const m_TT_MAC_LANGID_VIETNAMESE = 80
  11621. const m_TT_MAC_LANGID_WELSH = 128
  11622. const m_TT_MAC_LANGID_YIDDISH = 41
  11623. const m_TT_MS_ID_BIG_5 = 4
  11624. const m_TT_MS_ID_GB2312 = "TT_MS_ID_PRC"
  11625. const m_TT_MS_ID_JOHAB = 6
  11626. const m_TT_MS_ID_PRC = 3
  11627. const m_TT_MS_ID_SJIS = 2
  11628. const m_TT_MS_ID_SYMBOL_CS = 0
  11629. const m_TT_MS_ID_UCS_4 = 10
  11630. const m_TT_MS_ID_UNICODE_CS = 1
  11631. const m_TT_MS_ID_WANSUNG = 5
  11632. const m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 1078
  11633. const m_TT_MS_LANGID_ALBANIAN_ALBANIA = 1052
  11634. const m_TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484
  11635. const m_TT_MS_LANGID_AMHARIC_ETHIOPIA = 1118
  11636. const m_TT_MS_LANGID_ARABIC_ALGERIA = 5121
  11637. const m_TT_MS_LANGID_ARABIC_BAHRAIN = 15361
  11638. const m_TT_MS_LANGID_ARABIC_EGYPT = 3073
  11639. const m_TT_MS_LANGID_ARABIC_GENERAL = 1
  11640. const m_TT_MS_LANGID_ARABIC_IRAQ = 2049
  11641. const m_TT_MS_LANGID_ARABIC_JORDAN = 11265
  11642. const m_TT_MS_LANGID_ARABIC_KUWAIT = 13313
  11643. const m_TT_MS_LANGID_ARABIC_LEBANON = 12289
  11644. const m_TT_MS_LANGID_ARABIC_LIBYA = 4097
  11645. const m_TT_MS_LANGID_ARABIC_MOROCCO = 6145
  11646. const m_TT_MS_LANGID_ARABIC_OMAN = 8193
  11647. const m_TT_MS_LANGID_ARABIC_QATAR = 16385
  11648. const m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 1025
  11649. const m_TT_MS_LANGID_ARABIC_SYRIA = 10241
  11650. const m_TT_MS_LANGID_ARABIC_TUNISIA = 7169
  11651. const m_TT_MS_LANGID_ARABIC_UAE = 14337
  11652. const m_TT_MS_LANGID_ARABIC_YEMEN = 9217
  11653. const m_TT_MS_LANGID_ARMENIAN_ARMENIA = 1067
  11654. const m_TT_MS_LANGID_ASSAMESE_INDIA = 1101
  11655. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 2092
  11656. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 1068
  11657. const m_TT_MS_LANGID_BASHKIR_RUSSIA = 0x046D
  11658. const m_TT_MS_LANGID_BASQUE_BASQUE = 1069
  11659. const m_TT_MS_LANGID_BASQUE_SPAIN = "TT_MS_LANGID_BASQUE_BASQUE"
  11660. const m_TT_MS_LANGID_BELARUSIAN_BELARUS = 1059
  11661. const m_TT_MS_LANGID_BENGALI_BANGLADESH = 2117
  11662. const m_TT_MS_LANGID_BENGALI_INDIA = 1093
  11663. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 5146
  11664. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC = 0x201A
  11665. const m_TT_MS_LANGID_BRETON_FRANCE = 0x047E
  11666. const m_TT_MS_LANGID_BULGARIAN_BULGARIA = 1026
  11667. const m_TT_MS_LANGID_BURMESE_MYANMAR = 1109
  11668. const m_TT_MS_LANGID_CATALAN_CATALAN = 1027
  11669. const m_TT_MS_LANGID_CATALAN_SPAIN = "TT_MS_LANGID_CATALAN_CATALAN"
  11670. const m_TT_MS_LANGID_CHEROKEE_UNITED_STATES = 1116
  11671. const m_TT_MS_LANGID_CHINESE_GENERAL = 4
  11672. const m_TT_MS_LANGID_CHINESE_HONG_KONG = 3076
  11673. const m_TT_MS_LANGID_CHINESE_MACAO = 5124
  11674. const m_TT_MS_LANGID_CHINESE_MACAU = "TT_MS_LANGID_CHINESE_MACAO"
  11675. const m_TT_MS_LANGID_CHINESE_PRC = 2052
  11676. const m_TT_MS_LANGID_CHINESE_SINGAPORE = 4100
  11677. const m_TT_MS_LANGID_CHINESE_TAIWAN = 1028
  11678. const m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 2087
  11679. const m_TT_MS_LANGID_CORSICAN_FRANCE = 0x0483
  11680. const m_TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101A
  11681. const m_TT_MS_LANGID_CROATIAN_CROATIA = 1050
  11682. const m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 1029
  11683. const m_TT_MS_LANGID_DANISH_DENMARK = 1030
  11684. const m_TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C
  11685. const m_TT_MS_LANGID_DHIVEHI_MALDIVES = 1125
  11686. const m_TT_MS_LANGID_DIVEHI_MALDIVES = "TT_MS_LANGID_DHIVEHI_MALDIVES"
  11687. const m_TT_MS_LANGID_DUTCH_BELGIUM = 2067
  11688. const m_TT_MS_LANGID_DUTCH_NETHERLANDS = 1043
  11689. const m_TT_MS_LANGID_DZONGHKA_BHUTAN = 2129
  11690. const m_TT_MS_LANGID_EDO_NIGERIA = 0x0466
  11691. const m_TT_MS_LANGID_ENGLISH_AUSTRALIA = 3081
  11692. const m_TT_MS_LANGID_ENGLISH_BELIZE = 10249
  11693. const m_TT_MS_LANGID_ENGLISH_CANADA = 4105
  11694. const m_TT_MS_LANGID_ENGLISH_CARIBBEAN = 9225
  11695. const m_TT_MS_LANGID_ENGLISH_GENERAL = 9
  11696. const m_TT_MS_LANGID_ENGLISH_HONG_KONG = 15369
  11697. const m_TT_MS_LANGID_ENGLISH_INDIA = 16393
  11698. const m_TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809
  11699. const m_TT_MS_LANGID_ENGLISH_IRELAND = 6153
  11700. const m_TT_MS_LANGID_ENGLISH_JAMAICA = 8201
  11701. const m_TT_MS_LANGID_ENGLISH_MALAYSIA = 17417
  11702. const m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 5129
  11703. const m_TT_MS_LANGID_ENGLISH_PHILIPPINES = 13321
  11704. const m_TT_MS_LANGID_ENGLISH_SINGAPORE = 18441
  11705. const m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 7177
  11706. const m_TT_MS_LANGID_ENGLISH_TRINIDAD = 11273
  11707. const m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 2057
  11708. const m_TT_MS_LANGID_ENGLISH_UNITED_STATES = 1033
  11709. const m_TT_MS_LANGID_ENGLISH_ZIMBABWE = 12297
  11710. const m_TT_MS_LANGID_ESTONIAN_ESTONIA = 1061
  11711. const m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 1080
  11712. const m_TT_MS_LANGID_FARSI_IRAN = 1065
  11713. const m_TT_MS_LANGID_FILIPINO_PHILIPPINES = 1124
  11714. const m_TT_MS_LANGID_FINNISH_FINLAND = 1035
  11715. const m_TT_MS_LANGID_FRENCH_BELGIUM = 2060
  11716. const m_TT_MS_LANGID_FRENCH_CAMEROON = 11276
  11717. const m_TT_MS_LANGID_FRENCH_CANADA = 3084
  11718. const m_TT_MS_LANGID_FRENCH_CONGO = 9228
  11719. const m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 12300
  11720. const m_TT_MS_LANGID_FRENCH_FRANCE = 1036
  11721. const m_TT_MS_LANGID_FRENCH_HAITI = 15372
  11722. const m_TT_MS_LANGID_FRENCH_LUXEMBOURG = 5132
  11723. const m_TT_MS_LANGID_FRENCH_MALI = 13324
  11724. const m_TT_MS_LANGID_FRENCH_MONACO = 6156
  11725. const m_TT_MS_LANGID_FRENCH_MOROCCO = 14348
  11726. const m_TT_MS_LANGID_FRENCH_NORTH_AFRICA = 58380
  11727. const m_TT_MS_LANGID_FRENCH_REUNION = 8204
  11728. const m_TT_MS_LANGID_FRENCH_SENEGAL = 10252
  11729. const m_TT_MS_LANGID_FRENCH_SWITZERLAND = 4108
  11730. const m_TT_MS_LANGID_FRENCH_WEST_INDIES = 7180
  11731. const m_TT_MS_LANGID_FRENCH_ZAIRE = "TT_MS_LANGID_FRENCH_CONGO"
  11732. const m_TT_MS_LANGID_FRISIAN_NETHERLANDS = 1122
  11733. const m_TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467
  11734. const m_TT_MS_LANGID_GALICIAN_GALICIAN = 1110
  11735. const m_TT_MS_LANGID_GALICIAN_SPAIN = "TT_MS_LANGID_GALICIAN_GALICIAN"
  11736. const m_TT_MS_LANGID_GEORGIAN_GEORGIA = 1079
  11737. const m_TT_MS_LANGID_GERMAN_AUSTRIA = 3079
  11738. const m_TT_MS_LANGID_GERMAN_GERMANY = 1031
  11739. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEI = "TT_MS_LANGID_GERMAN_LIECHTENSTEIN"
  11740. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 5127
  11741. const m_TT_MS_LANGID_GERMAN_LUXEMBOURG = 4103
  11742. const m_TT_MS_LANGID_GERMAN_SWITZERLAND = 2055
  11743. const m_TT_MS_LANGID_GREEK_GREECE = 1032
  11744. const m_TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046F
  11745. const m_TT_MS_LANGID_GUARANI_PARAGUAY = 1140
  11746. const m_TT_MS_LANGID_GUJARATI_INDIA = 1095
  11747. const m_TT_MS_LANGID_HAUSA_NIGERIA = 1128
  11748. const m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 1141
  11749. const m_TT_MS_LANGID_HEBREW_ISRAEL = 1037
  11750. const m_TT_MS_LANGID_HINDI_INDIA = 1081
  11751. const m_TT_MS_LANGID_HUNGARIAN_HUNGARY = 1038
  11752. const m_TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469
  11753. const m_TT_MS_LANGID_ICELANDIC_ICELAND = 1039
  11754. const m_TT_MS_LANGID_IGBO_NIGERIA = 1136
  11755. const m_TT_MS_LANGID_INDONESIAN_INDONESIA = 1057
  11756. const m_TT_MS_LANGID_INUKTITUT_CANADA = 1117
  11757. const m_TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085D
  11758. const m_TT_MS_LANGID_IRISH_GAELIC_IRELAND = 1084
  11759. const m_TT_MS_LANGID_IRISH_IRELAND = 0x083C
  11760. const m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 1076
  11761. const m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 1077
  11762. const m_TT_MS_LANGID_ITALIAN_ITALY = 1040
  11763. const m_TT_MS_LANGID_ITALIAN_SWITZERLAND = 2064
  11764. const m_TT_MS_LANGID_JAPANESE_JAPAN = 1041
  11765. const m_TT_MS_LANGID_KANNADA_INDIA = 1099
  11766. const m_TT_MS_LANGID_KANURI_NIGERIA = 1137
  11767. const m_TT_MS_LANGID_KASHMIRI_INDIA = "TT_MS_LANGID_KASHMIRI_SASIA"
  11768. const m_TT_MS_LANGID_KASHMIRI_PAKISTAN = 1120
  11769. const m_TT_MS_LANGID_KASHMIRI_SASIA = 2144
  11770. const m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 1087
  11771. const m_TT_MS_LANGID_KAZAK_KAZAKSTAN = "TT_MS_LANGID_KAZAKH_KAZAKHSTAN"
  11772. const m_TT_MS_LANGID_KHMER_CAMBODIA = 1107
  11773. const m_TT_MS_LANGID_KICHE_GUATEMALA = 0x0486
  11774. const m_TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487
  11775. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  11776. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  11777. const m_TT_MS_LANGID_KISWAHILI_KENYA = 1089
  11778. const m_TT_MS_LANGID_KONKANI_INDIA = 1111
  11779. const m_TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = "TT_MS_LANGID_KOREAN_KOREA"
  11780. const m_TT_MS_LANGID_KOREAN_JOHAB_KOREA = 2066
  11781. const m_TT_MS_LANGID_KOREAN_KOREA = 1042
  11782. const m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN = 1088
  11783. const m_TT_MS_LANGID_LAO_LAOS = 1108
  11784. const m_TT_MS_LANGID_LATIN = 1142
  11785. const m_TT_MS_LANGID_LATVIAN_LATVIA = 1062
  11786. const m_TT_MS_LANGID_LITHUANIAN_LITHUANIA = 1063
  11787. const m_TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082E
  11788. const m_TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046E
  11789. const m_TT_MS_LANGID_MACEDONIAN_MACEDONIA = 1071
  11790. const m_TT_MS_LANGID_MALAYALAM_INDIA = 1100
  11791. const m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 2110
  11792. const m_TT_MS_LANGID_MALAY_MALAYSIA = 1086
  11793. const m_TT_MS_LANGID_MALTESE_MALTA = 1082
  11794. const m_TT_MS_LANGID_MANIPURI_INDIA = 1112
  11795. const m_TT_MS_LANGID_MAORI_NEW_ZEALAND = 1153
  11796. const m_TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A
  11797. const m_TT_MS_LANGID_MARATHI_INDIA = 1102
  11798. const m_TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C
  11799. const m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 2072
  11800. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA = 1104
  11801. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = "TT_MS_LANGID_MONGOLIAN_PRC"
  11802. const m_TT_MS_LANGID_MONGOLIAN_PRC = 2128
  11803. const m_TT_MS_LANGID_NEPALI_INDIA = 2145
  11804. const m_TT_MS_LANGID_NEPALI_NEPAL = 1121
  11805. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 1044
  11806. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 2068
  11807. const m_TT_MS_LANGID_OCCITAN_FRANCE = 0x0482
  11808. const m_TT_MS_LANGID_ODIA_INDIA = 1096
  11809. const m_TT_MS_LANGID_ORIYA_INDIA = "TT_MS_LANGID_ODIA_INDIA"
  11810. const m_TT_MS_LANGID_OROMO_ETHIOPIA = 1138
  11811. const m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 1145
  11812. const m_TT_MS_LANGID_PASHTO_AFGHANISTAN = 1123
  11813. const m_TT_MS_LANGID_POLISH_POLAND = 1045
  11814. const m_TT_MS_LANGID_PORTUGUESE_BRAZIL = 1046
  11815. const m_TT_MS_LANGID_PORTUGUESE_PORTUGAL = 2070
  11816. const m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 2118
  11817. const m_TT_MS_LANGID_PUNJABI_INDIA = 1094
  11818. const m_TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046B
  11819. const m_TT_MS_LANGID_QUECHUA_ECUADOR = 0x086B
  11820. const m_TT_MS_LANGID_QUECHUA_PERU = 0x0C6B
  11821. const m_TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = "TT_MS_LANGID_ROMANSH_SWITZERLAND"
  11822. const m_TT_MS_LANGID_ROMANIAN_ROMANIA = 1048
  11823. const m_TT_MS_LANGID_ROMANSH_SWITZERLAND = 1047
  11824. const m_TT_MS_LANGID_RUSSIAN_MOLDAVIA = 2073
  11825. const m_TT_MS_LANGID_RUSSIAN_RUSSIA = 1049
  11826. const m_TT_MS_LANGID_SAAMI_LAPONIA = 1083
  11827. const m_TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243B
  11828. const m_TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103B
  11829. const m_TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143B
  11830. const m_TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3B
  11831. const m_TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043B
  11832. const m_TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083B
  11833. const m_TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203B
  11834. const m_TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183B
  11835. const m_TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3B
  11836. const m_TT_MS_LANGID_SANSKRIT_INDIA = 1103
  11837. const m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 2108
  11838. const m_TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  11839. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x1C1A
  11840. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x181A
  11841. const m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 3098
  11842. const m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 2074
  11843. const m_TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046C
  11844. const m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 1074
  11845. const m_TT_MS_LANGID_SINDHI_INDIA = 1113
  11846. const m_TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859
  11847. const m_TT_MS_LANGID_SINHALA_SRI_LANKA = 1115
  11848. const m_TT_MS_LANGID_SINHALESE_SRI_LANKA = "TT_MS_LANGID_SINHALA_SRI_LANKA"
  11849. const m_TT_MS_LANGID_SLOVAK_SLOVAKIA = 1051
  11850. const m_TT_MS_LANGID_SLOVENE_SLOVENIA = "TT_MS_LANGID_SLOVENIAN_SLOVENIA"
  11851. const m_TT_MS_LANGID_SLOVENIAN_SLOVENIA = 1060
  11852. const m_TT_MS_LANGID_SOMALI_SOMALIA = 1143
  11853. const m_TT_MS_LANGID_SORBIAN_GERMANY = "TT_MS_LANGID_UPPER_SORBIAN_GERMANY"
  11854. const m_TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  11855. const m_TT_MS_LANGID_SPANISH_ARGENTINA = 11274
  11856. const m_TT_MS_LANGID_SPANISH_BOLIVIA = 16394
  11857. const m_TT_MS_LANGID_SPANISH_CHILE = 13322
  11858. const m_TT_MS_LANGID_SPANISH_COLOMBIA = 9226
  11859. const m_TT_MS_LANGID_SPANISH_COSTA_RICA = 5130
  11860. const m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 7178
  11861. const m_TT_MS_LANGID_SPANISH_ECUADOR = 12298
  11862. const m_TT_MS_LANGID_SPANISH_EL_SALVADOR = 17418
  11863. const m_TT_MS_LANGID_SPANISH_GUATEMALA = 4106
  11864. const m_TT_MS_LANGID_SPANISH_HONDURAS = 18442
  11865. const m_TT_MS_LANGID_SPANISH_LATIN_AMERICA = 58378
  11866. const m_TT_MS_LANGID_SPANISH_MEXICO = 2058
  11867. const m_TT_MS_LANGID_SPANISH_NICARAGUA = 19466
  11868. const m_TT_MS_LANGID_SPANISH_PANAMA = 6154
  11869. const m_TT_MS_LANGID_SPANISH_PARAGUAY = 15370
  11870. const m_TT_MS_LANGID_SPANISH_PERU = 10250
  11871. const m_TT_MS_LANGID_SPANISH_PUERTO_RICO = 20490
  11872. const m_TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = "TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT"
  11873. const m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 3082
  11874. const m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 1034
  11875. const m_TT_MS_LANGID_SPANISH_UNITED_STATES = 21514
  11876. const m_TT_MS_LANGID_SPANISH_URUGUAY = 14346
  11877. const m_TT_MS_LANGID_SPANISH_VENEZUELA = 8202
  11878. const m_TT_MS_LANGID_SUTU_SOUTH_AFRICA = 1072
  11879. const m_TT_MS_LANGID_SWAHILI_KENYA = "TT_MS_LANGID_KISWAHILI_KENYA"
  11880. const m_TT_MS_LANGID_SWEDISH_FINLAND = 2077
  11881. const m_TT_MS_LANGID_SWEDISH_SWEDEN = 1053
  11882. const m_TT_MS_LANGID_SYRIAC_SYRIA = 1114
  11883. const m_TT_MS_LANGID_TAJIK_TAJIKISTAN = 1064
  11884. const m_TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085F
  11885. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045F
  11886. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = "TT_MS_LANGID_TAMAZIGHT_ALGERIA"
  11887. const m_TT_MS_LANGID_TAMIL_INDIA = 1097
  11888. const m_TT_MS_LANGID_TATAR_RUSSIA = 1092
  11889. const m_TT_MS_LANGID_TATAR_TATARSTAN = "TT_MS_LANGID_TATAR_RUSSIA"
  11890. const m_TT_MS_LANGID_TELUGU_INDIA = 1098
  11891. const m_TT_MS_LANGID_THAI_THAILAND = 1054
  11892. const m_TT_MS_LANGID_TIBETAN_BHUTAN = "TT_MS_LANGID_DZONGHKA_BHUTAN"
  11893. const m_TT_MS_LANGID_TIBETAN_CHINA = "TT_MS_LANGID_TIBETAN_PRC"
  11894. const m_TT_MS_LANGID_TIBETAN_PRC = 1105
  11895. const m_TT_MS_LANGID_TIGRIGNA_ERYTHREA = 2163
  11896. const m_TT_MS_LANGID_TIGRIGNA_ERYTREA = "TT_MS_LANGID_TIGRIGNA_ERYTHREA"
  11897. const m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 1139
  11898. const m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 1073
  11899. const m_TT_MS_LANGID_TSWANA_SOUTH_AFRICA = "TT_MS_LANGID_SETSWANA_SOUTH_AFRICA"
  11900. const m_TT_MS_LANGID_TURKISH_TURKEY = 1055
  11901. const m_TT_MS_LANGID_TURKMEN_TURKMENISTAN = 1090
  11902. const m_TT_MS_LANGID_UIGHUR_CHINA = "TT_MS_LANGID_UIGHUR_PRC"
  11903. const m_TT_MS_LANGID_UIGHUR_PRC = 0x0480
  11904. const m_TT_MS_LANGID_UKRAINIAN_UKRAINE = 1058
  11905. const m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 1070
  11906. const m_TT_MS_LANGID_URDU_INDIA = 2080
  11907. const m_TT_MS_LANGID_URDU_PAKISTAN = 1056
  11908. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 2115
  11909. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 1091
  11910. const m_TT_MS_LANGID_VENDA_SOUTH_AFRICA = 1075
  11911. const m_TT_MS_LANGID_VIETNAMESE_VIET_NAM = 1066
  11912. const m_TT_MS_LANGID_WELSH_UNITED_KINGDOM = 1106
  11913. const m_TT_MS_LANGID_WELSH_WALES = "TT_MS_LANGID_WELSH_UNITED_KINGDOM"
  11914. const m_TT_MS_LANGID_WOLOF_SENEGAL = 0x0488
  11915. const m_TT_MS_LANGID_XHOSA_SOUTH_AFRICA = "TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA"
  11916. const m_TT_MS_LANGID_YAKUT_RUSSIA = 0x0485
  11917. const m_TT_MS_LANGID_YIDDISH_GERMANY = 1085
  11918. const m_TT_MS_LANGID_YI_CHINA = "TT_MS_LANGID_YI_PRC"
  11919. const m_TT_MS_LANGID_YI_PRC = 0x0478
  11920. const m_TT_MS_LANGID_YORUBA_NIGERIA = 1130
  11921. const m_TT_MS_LANGID_ZULU_SOUTH_AFRICA = "TT_MS_LANGID_ISIZULU_SOUTH_AFRICA"
  11922. const m_TT_NAME_ID_CID_FINDFONT_NAME = 20
  11923. const m_TT_NAME_ID_COPYRIGHT = 0
  11924. const m_TT_NAME_ID_DARK_BACKGROUND = 24
  11925. const m_TT_NAME_ID_DESCRIPTION = 10
  11926. const m_TT_NAME_ID_DESIGNER = 9
  11927. const m_TT_NAME_ID_DESIGNER_URL = 12
  11928. const m_TT_NAME_ID_FONT_FAMILY = 1
  11929. const m_TT_NAME_ID_FONT_SUBFAMILY = 2
  11930. const m_TT_NAME_ID_FULL_NAME = 4
  11931. const m_TT_NAME_ID_LICENSE = 13
  11932. const m_TT_NAME_ID_LICENSE_URL = 14
  11933. const m_TT_NAME_ID_LIGHT_BACKGROUND = 23
  11934. const m_TT_NAME_ID_MAC_FULL_NAME = 18
  11935. const m_TT_NAME_ID_MANUFACTURER = 8
  11936. const m_TT_NAME_ID_PREFERRED_FAMILY = "TT_NAME_ID_TYPOGRAPHIC_FAMILY"
  11937. const m_TT_NAME_ID_PREFERRED_SUBFAMILY = "TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
  11938. const m_TT_NAME_ID_PS_NAME = 6
  11939. const m_TT_NAME_ID_SAMPLE_TEXT = 19
  11940. const m_TT_NAME_ID_TRADEMARK = 7
  11941. const m_TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16
  11942. const m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17
  11943. const m_TT_NAME_ID_UNIQUE_ID = 3
  11944. const m_TT_NAME_ID_VARIATIONS_PREFIX = 25
  11945. const m_TT_NAME_ID_VENDOR_URL = 11
  11946. const m_TT_NAME_ID_VERSION_STRING = 5
  11947. const m_TT_NAME_ID_WWS_FAMILY = 21
  11948. const m_TT_NAME_ID_WWS_SUBFAMILY = 22
  11949. const m_TT_PLATFORM_ADOBE = 7
  11950. const m_TT_PLATFORM_APPLE_UNICODE = 0
  11951. const m_TT_PLATFORM_CUSTOM = 4
  11952. const m_TT_PLATFORM_ISO = 2
  11953. const m_TT_PLATFORM_MACINTOSH = 1
  11954. const m_TT_PLATFORM_MICROSOFT = 3
  11955. const m_TT_UCR_ARABIC_PRESENTATION_A = "TT_UCR_ARABIC_PRESENTATION_FORMS_A"
  11956. const m_TT_UCR_ARABIC_PRESENTATION_B = "TT_UCR_ARABIC_PRESENTATION_FORMS_B"
  11957. const m_TT_UCR_COMBINING_DIACRITICS = "TT_UCR_COMBINING_DIACRITICAL_MARKS"
  11958. const m_TT_UCR_COMBINING_DIACRITICS_SYMB = "TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB"
  11959. const m_TT_UCR_KANBUN = "TT_UCR_CJK_MISC"
  11960. const m_TT_UCR_NON_PLANE_0 = "TT_UCR_SURROGATES"
  11961. const m_ft_encoding_adobe_custom = "FT_ENCODING_ADOBE_CUSTOM"
  11962. const m_ft_encoding_adobe_expert = "FT_ENCODING_ADOBE_EXPERT"
  11963. const m_ft_encoding_adobe_standard = "FT_ENCODING_ADOBE_STANDARD"
  11964. const m_ft_encoding_apple_roman = "FT_ENCODING_APPLE_ROMAN"
  11965. const m_ft_encoding_big5 = "FT_ENCODING_BIG5"
  11966. const m_ft_encoding_gb2312 = "FT_ENCODING_PRC"
  11967. const m_ft_encoding_johab = "FT_ENCODING_JOHAB"
  11968. const m_ft_encoding_latin_1 = "FT_ENCODING_ADOBE_LATIN_1"
  11969. const m_ft_encoding_latin_2 = "FT_ENCODING_OLD_LATIN_2"
  11970. const m_ft_encoding_none = "FT_ENCODING_NONE"
  11971. const m_ft_encoding_sjis = "FT_ENCODING_SJIS"
  11972. const m_ft_encoding_symbol = "FT_ENCODING_MS_SYMBOL"
  11973. const m_ft_encoding_unicode = "FT_ENCODING_UNICODE"
  11974. const m_ft_encoding_wansung = "FT_ENCODING_WANSUNG"
  11975. const m_ft_fclose = "fclose"
  11976. const m_ft_fopen = "fopen"
  11977. const m_ft_fread = "fread"
  11978. const m_ft_fseek = "fseek"
  11979. const m_ft_ftell = "ftell"
  11980. const m_ft_getenv = "getenv"
  11981. const m_ft_glyph_format_bitmap = "FT_GLYPH_FORMAT_BITMAP"
  11982. const m_ft_glyph_format_composite = "FT_GLYPH_FORMAT_COMPOSITE"
  11983. const m_ft_glyph_format_none = "FT_GLYPH_FORMAT_NONE"
  11984. const m_ft_glyph_format_outline = "FT_GLYPH_FORMAT_OUTLINE"
  11985. const m_ft_glyph_format_plotter = "FT_GLYPH_FORMAT_PLOTTER"
  11986. const m_ft_jmp_buf = "jmp_buf"
  11987. const m_ft_kerning_default = "FT_KERNING_DEFAULT"
  11988. const m_ft_kerning_unfitted = "FT_KERNING_UNFITTED"
  11989. const m_ft_kerning_unscaled = "FT_KERNING_UNSCALED"
  11990. const m_ft_longjmp = "longjmp"
  11991. const m_ft_memchr = "memchr"
  11992. const m_ft_memcmp = "memcmp"
  11993. const m_ft_memcpy = "memcpy"
  11994. const m_ft_memmove = "memmove"
  11995. const m_ft_memset = "memset"
  11996. const m_ft_module_driver_has_hinter = "FT_MODULE_DRIVER_HAS_HINTER"
  11997. const m_ft_module_driver_hints_lightly = "FT_MODULE_DRIVER_HINTS_LIGHTLY"
  11998. const m_ft_module_driver_no_outlines = "FT_MODULE_DRIVER_NO_OUTLINES"
  11999. const m_ft_module_driver_scalable = "FT_MODULE_DRIVER_SCALABLE"
  12000. const m_ft_module_font_driver = "FT_MODULE_FONT_DRIVER"
  12001. const m_ft_module_hinter = "FT_MODULE_HINTER"
  12002. const m_ft_module_renderer = "FT_MODULE_RENDERER"
  12003. const m_ft_module_styler = "FT_MODULE_STYLER"
  12004. const m_ft_open_driver = "FT_OPEN_DRIVER"
  12005. const m_ft_open_memory = "FT_OPEN_MEMORY"
  12006. const m_ft_open_params = "FT_OPEN_PARAMS"
  12007. const m_ft_open_pathname = "FT_OPEN_PATHNAME"
  12008. const m_ft_open_stream = "FT_OPEN_STREAM"
  12009. const m_ft_outline_even_odd_fill = "FT_OUTLINE_EVEN_ODD_FILL"
  12010. const m_ft_outline_high_precision = "FT_OUTLINE_HIGH_PRECISION"
  12011. const m_ft_outline_ignore_dropouts = "FT_OUTLINE_IGNORE_DROPOUTS"
  12012. const m_ft_outline_none = "FT_OUTLINE_NONE"
  12013. const m_ft_outline_owner = "FT_OUTLINE_OWNER"
  12014. const m_ft_outline_reverse_fill = "FT_OUTLINE_REVERSE_FILL"
  12015. const m_ft_outline_single_pass = "FT_OUTLINE_SINGLE_PASS"
  12016. const m_ft_pixel_mode_grays = "FT_PIXEL_MODE_GRAY"
  12017. const m_ft_pixel_mode_mono = "FT_PIXEL_MODE_MONO"
  12018. const m_ft_pixel_mode_none = "FT_PIXEL_MODE_NONE"
  12019. const m_ft_pixel_mode_pal2 = "FT_PIXEL_MODE_GRAY2"
  12020. const m_ft_pixel_mode_pal4 = "FT_PIXEL_MODE_GRAY4"
  12021. const m_ft_ptrdiff_t = "ptrdiff_t"
  12022. const m_ft_qsort = "qsort"
  12023. const m_ft_raster_flag_aa = "FT_RASTER_FLAG_AA"
  12024. const m_ft_raster_flag_clip = "FT_RASTER_FLAG_CLIP"
  12025. const m_ft_raster_flag_default = "FT_RASTER_FLAG_DEFAULT"
  12026. const m_ft_raster_flag_direct = "FT_RASTER_FLAG_DIRECT"
  12027. const m_ft_render_mode_mono = "FT_RENDER_MODE_MONO"
  12028. const m_ft_render_mode_normal = "FT_RENDER_MODE_NORMAL"
  12029. const m_ft_scalloc = "calloc"
  12030. const m_ft_sfnt_head = 0
  12031. const m_ft_sfnt_hhea = "FT_SFNT_HHEA"
  12032. const m_ft_sfnt_maxp = "FT_SFNT_MAXP"
  12033. const m_ft_sfnt_os2 = "FT_SFNT_OS2"
  12034. const m_ft_sfnt_pclt = "FT_SFNT_PCLT"
  12035. const m_ft_sfnt_post = "FT_SFNT_POST"
  12036. const m_ft_sfnt_vhea = "FT_SFNT_VHEA"
  12037. const m_ft_sfree = "free"
  12038. const m_ft_smalloc = "malloc"
  12039. const m_ft_sprintf = "sprintf"
  12040. const m_ft_srealloc = "realloc"
  12041. const m_ft_strcat = "strcat"
  12042. const m_ft_strcmp = "strcmp"
  12043. const m_ft_strcpy = "strcpy"
  12044. const m_ft_strlen = "strlen"
  12045. const m_ft_strncmp = "strncmp"
  12046. const m_ft_strncpy = "strncpy"
  12047. const m_ft_strrchr = "strrchr"
  12048. const m_ft_strstr = "strstr"
  12049. const m_ft_strtol = "strtol"
  12050. const m_t1_blend_blue_scale = "T1_BLEND_BLUE_SCALE"
  12051. const m_t1_blend_blue_shift = "T1_BLEND_BLUE_SHIFT"
  12052. const m_t1_blend_blue_values = "T1_BLEND_BLUE_VALUES"
  12053. const m_t1_blend_family_blues = "T1_BLEND_FAMILY_BLUES"
  12054. const m_t1_blend_family_other_blues = "T1_BLEND_FAMILY_OTHER_BLUES"
  12055. const m_t1_blend_force_bold = "T1_BLEND_FORCE_BOLD"
  12056. const m_t1_blend_italic_angle = "T1_BLEND_ITALIC_ANGLE"
  12057. const m_t1_blend_max = "T1_BLEND_MAX"
  12058. const m_t1_blend_other_blues = "T1_BLEND_OTHER_BLUES"
  12059. const m_t1_blend_standard_height = "T1_BLEND_STANDARD_HEIGHT"
  12060. const m_t1_blend_standard_widths = "T1_BLEND_STANDARD_WIDTH"
  12061. const m_t1_blend_stem_snap_heights = "T1_BLEND_STEM_SNAP_HEIGHTS"
  12062. const m_t1_blend_stem_snap_widths = "T1_BLEND_STEM_SNAP_WIDTHS"
  12063. const m_t1_blend_underline_position = "T1_BLEND_UNDERLINE_POSITION"
  12064. const m_t1_blend_underline_thickness = "T1_BLEND_UNDERLINE_THICKNESS"
  12065. type t__jmp_buf = [18]uint64
  12066. type Tjmp_buf = [1]t__jmp_buf_tag
  12067. type t__jmp_buf_tag = struct {
  12068. F__jb t__jmp_buf
  12069. F__fl uint64
  12070. F__ss [16]uint64
  12071. }
  12072. type Tsigjmp_buf = [1]t__jmp_buf_tag
  12073. type TFT_Int16 = int16
  12074. type TFT_UInt16 = uint16
  12075. type TFT_Int32 = int32
  12076. type TFT_UInt32 = uint32
  12077. type TFT_Fast = int32
  12078. type TFT_UFast = uint32
  12079. type TFT_Int64 = int64
  12080. type TFT_UInt64 = uint64
  12081. type TFT_Memory = uintptr
  12082. type TFT_MemoryRec_ = struct {
  12083. Fuser uintptr
  12084. Falloc TFT_Alloc_Func
  12085. Ffree TFT_Free_Func
  12086. Frealloc TFT_Realloc_Func
  12087. }
  12088. type TFT_Alloc_Func = uintptr
  12089. type TFT_Free_Func = uintptr
  12090. type TFT_Realloc_Func = uintptr
  12091. type TFT_Stream = uintptr
  12092. type TFT_StreamRec_ = struct {
  12093. Fbase uintptr
  12094. Fsize uint64
  12095. Fpos uint64
  12096. Fdescriptor TFT_StreamDesc
  12097. Fpathname TFT_StreamDesc
  12098. Fread TFT_Stream_IoFunc
  12099. Fclose1 TFT_Stream_CloseFunc
  12100. Fmemory TFT_Memory
  12101. Fcursor uintptr
  12102. Flimit uintptr
  12103. }
  12104. type TFT_StreamDesc = struct {
  12105. Fpointer [0]uintptr
  12106. Fvalue int64
  12107. }
  12108. type TFT_StreamDesc_ = TFT_StreamDesc
  12109. type TFT_Stream_IoFunc = uintptr
  12110. type TFT_Stream_CloseFunc = uintptr
  12111. type TFT_StreamRec = struct {
  12112. Fbase uintptr
  12113. Fsize uint64
  12114. Fpos uint64
  12115. Fdescriptor TFT_StreamDesc
  12116. Fpathname TFT_StreamDesc
  12117. Fread TFT_Stream_IoFunc
  12118. Fclose1 TFT_Stream_CloseFunc
  12119. Fmemory TFT_Memory
  12120. Fcursor uintptr
  12121. Flimit uintptr
  12122. }
  12123. type TFT_Pos = int64
  12124. type TFT_Vector = struct {
  12125. Fx TFT_Pos
  12126. Fy TFT_Pos
  12127. }
  12128. type TFT_Vector_ = TFT_Vector
  12129. type TFT_BBox = struct {
  12130. FxMin TFT_Pos
  12131. FyMin TFT_Pos
  12132. FxMax TFT_Pos
  12133. FyMax TFT_Pos
  12134. }
  12135. type TFT_BBox_ = TFT_BBox
  12136. type TFT_Pixel_Mode = int32
  12137. type _FT_Pixel_Mode_ = int32
  12138. const _FT_PIXEL_MODE_NONE = 0
  12139. const _FT_PIXEL_MODE_MONO = 1
  12140. const _FT_PIXEL_MODE_GRAY = 2
  12141. const _FT_PIXEL_MODE_GRAY2 = 3
  12142. const _FT_PIXEL_MODE_GRAY4 = 4
  12143. const _FT_PIXEL_MODE_LCD = 5
  12144. const _FT_PIXEL_MODE_LCD_V = 6
  12145. const _FT_PIXEL_MODE_BGRA = 7
  12146. const _FT_PIXEL_MODE_MAX = 8
  12147. type TFT_Bitmap = struct {
  12148. Frows uint32
  12149. Fwidth uint32
  12150. Fpitch int32
  12151. Fbuffer uintptr
  12152. Fnum_grays uint16
  12153. Fpixel_mode uint8
  12154. Fpalette_mode uint8
  12155. Fpalette uintptr
  12156. }
  12157. type TFT_Bitmap_ = TFT_Bitmap
  12158. type TFT_Outline = struct {
  12159. Fn_contours int16
  12160. Fn_points int16
  12161. Fpoints uintptr
  12162. Ftags uintptr
  12163. Fcontours uintptr
  12164. Fflags int32
  12165. }
  12166. type TFT_Outline_ = TFT_Outline
  12167. type TFT_Outline_MoveToFunc = uintptr
  12168. type TFT_Outline_LineToFunc = uintptr
  12169. type TFT_Outline_ConicToFunc = uintptr
  12170. type TFT_Outline_CubicToFunc = uintptr
  12171. type TFT_Outline_Funcs = struct {
  12172. Fmove_to TFT_Outline_MoveToFunc
  12173. Fline_to TFT_Outline_LineToFunc
  12174. Fconic_to TFT_Outline_ConicToFunc
  12175. Fcubic_to TFT_Outline_CubicToFunc
  12176. Fshift int32
  12177. Fdelta TFT_Pos
  12178. }
  12179. type TFT_Outline_Funcs_ = TFT_Outline_Funcs
  12180. type TFT_Glyph_Format = int32
  12181. type _FT_Glyph_Format_ = int32
  12182. const _FT_GLYPH_FORMAT_NONE = 0
  12183. const _FT_GLYPH_FORMAT_COMPOSITE = 1668246896
  12184. const _FT_GLYPH_FORMAT_BITMAP = 1651078259
  12185. const _FT_GLYPH_FORMAT_OUTLINE = 1869968492
  12186. const _FT_GLYPH_FORMAT_PLOTTER = 1886154612
  12187. type TFT_Raster = uintptr
  12188. type TFT_Span = struct {
  12189. Fx int16
  12190. Flen1 uint16
  12191. Fcoverage uint8
  12192. }
  12193. type TFT_Span_ = TFT_Span
  12194. type TFT_SpanFunc = uintptr
  12195. type TFT_Raster_BitTest_Func = uintptr
  12196. type TFT_Raster_BitSet_Func = uintptr
  12197. type TFT_Raster_Params = struct {
  12198. Ftarget uintptr
  12199. Fsource uintptr
  12200. Fflags int32
  12201. Fgray_spans TFT_SpanFunc
  12202. Fblack_spans TFT_SpanFunc
  12203. Fbit_test TFT_Raster_BitTest_Func
  12204. Fbit_set TFT_Raster_BitSet_Func
  12205. Fuser uintptr
  12206. Fclip_box TFT_BBox
  12207. }
  12208. type TFT_Raster_Params_ = TFT_Raster_Params
  12209. type TFT_Raster_NewFunc = uintptr
  12210. type TFT_Raster_DoneFunc = uintptr
  12211. type TFT_Raster_ResetFunc = uintptr
  12212. type TFT_Raster_SetModeFunc = uintptr
  12213. type TFT_Raster_RenderFunc = uintptr
  12214. type TFT_Raster_Funcs = struct {
  12215. Fglyph_format TFT_Glyph_Format
  12216. Fraster_new TFT_Raster_NewFunc
  12217. Fraster_reset TFT_Raster_ResetFunc
  12218. Fraster_set_mode TFT_Raster_SetModeFunc
  12219. Fraster_render TFT_Raster_RenderFunc
  12220. Fraster_done TFT_Raster_DoneFunc
  12221. }
  12222. type TFT_Raster_Funcs_ = TFT_Raster_Funcs
  12223. type TFT_Bool = uint8
  12224. type TFT_FWord = int16
  12225. type TFT_UFWord = uint16
  12226. type TFT_Char = int8
  12227. type TFT_Byte = uint8
  12228. type TFT_Bytes = uintptr
  12229. type TFT_Tag = uint32
  12230. type TFT_String = uint8
  12231. type TFT_Short = int16
  12232. type TFT_UShort = uint16
  12233. type TFT_Int = int32
  12234. type TFT_UInt = uint32
  12235. type TFT_Long = int64
  12236. type TFT_ULong = uint64
  12237. type TFT_F2Dot14 = int16
  12238. type TFT_F26Dot6 = int64
  12239. type TFT_Fixed = int64
  12240. type TFT_Error = int32
  12241. type TFT_Pointer = uintptr
  12242. type TFT_Offset = uint64
  12243. type TFT_PtrDist = int64
  12244. type TFT_UnitVector = struct {
  12245. Fx TFT_F2Dot14
  12246. Fy TFT_F2Dot14
  12247. }
  12248. type TFT_UnitVector_ = TFT_UnitVector
  12249. type TFT_Matrix = struct {
  12250. Fxx TFT_Fixed
  12251. Fxy TFT_Fixed
  12252. Fyx TFT_Fixed
  12253. Fyy TFT_Fixed
  12254. }
  12255. type TFT_Matrix_ = TFT_Matrix
  12256. type TFT_Data = struct {
  12257. Fpointer uintptr
  12258. Flength TFT_Int
  12259. }
  12260. type TFT_Data_ = TFT_Data
  12261. type TFT_Generic_Finalizer = uintptr
  12262. type TFT_Generic = struct {
  12263. Fdata uintptr
  12264. Ffinalizer TFT_Generic_Finalizer
  12265. }
  12266. type TFT_Generic_ = TFT_Generic
  12267. type TFT_ListNode = uintptr
  12268. type TFT_ListNodeRec_ = struct {
  12269. Fprev TFT_ListNode
  12270. Fnext TFT_ListNode
  12271. Fdata uintptr
  12272. }
  12273. type TFT_List = uintptr
  12274. type TFT_ListRec_ = struct {
  12275. Fhead TFT_ListNode
  12276. Ftail TFT_ListNode
  12277. }
  12278. type TFT_ListNodeRec = struct {
  12279. Fprev TFT_ListNode
  12280. Fnext TFT_ListNode
  12281. Fdata uintptr
  12282. }
  12283. type TFT_ListRec = struct {
  12284. Fhead TFT_ListNode
  12285. Ftail TFT_ListNode
  12286. }
  12287. const _FT_Mod_Err_Base = 0
  12288. const _FT_Mod_Err_Autofit = 0
  12289. const _FT_Mod_Err_BDF = 0
  12290. const _FT_Mod_Err_Bzip2 = 0
  12291. const _FT_Mod_Err_Cache = 0
  12292. const _FT_Mod_Err_CFF = 0
  12293. const _FT_Mod_Err_CID = 0
  12294. const _FT_Mod_Err_Gzip = 0
  12295. const _FT_Mod_Err_LZW = 0
  12296. const _FT_Mod_Err_OTvalid = 0
  12297. const _FT_Mod_Err_PCF = 0
  12298. const _FT_Mod_Err_PFR = 0
  12299. const _FT_Mod_Err_PSaux = 0
  12300. const _FT_Mod_Err_PShinter = 0
  12301. const _FT_Mod_Err_PSnames = 0
  12302. const _FT_Mod_Err_Raster = 0
  12303. const _FT_Mod_Err_SFNT = 0
  12304. const _FT_Mod_Err_Smooth = 0
  12305. const _FT_Mod_Err_TrueType = 0
  12306. const _FT_Mod_Err_Type1 = 0
  12307. const _FT_Mod_Err_Type42 = 0
  12308. const _FT_Mod_Err_Winfonts = 0
  12309. const _FT_Mod_Err_GXvalid = 0
  12310. const _FT_Mod_Err_Max = 1
  12311. const _FT_Err_Ok = 0
  12312. const _FT_Err_Cannot_Open_Resource = 1
  12313. const _FT_Err_Unknown_File_Format = 2
  12314. const _FT_Err_Invalid_File_Format = 3
  12315. const _FT_Err_Invalid_Version = 4
  12316. const _FT_Err_Lower_Module_Version = 5
  12317. const _FT_Err_Invalid_Argument = 6
  12318. const _FT_Err_Unimplemented_Feature = 7
  12319. const _FT_Err_Invalid_Table = 8
  12320. const _FT_Err_Invalid_Offset = 9
  12321. const _FT_Err_Array_Too_Large = 10
  12322. const _FT_Err_Missing_Module = 11
  12323. const _FT_Err_Missing_Property = 12
  12324. const _FT_Err_Invalid_Glyph_Index = 16
  12325. const _FT_Err_Invalid_Character_Code = 17
  12326. const _FT_Err_Invalid_Glyph_Format = 18
  12327. const _FT_Err_Cannot_Render_Glyph = 19
  12328. const _FT_Err_Invalid_Outline = 20
  12329. const _FT_Err_Invalid_Composite = 21
  12330. const _FT_Err_Too_Many_Hints = 22
  12331. const _FT_Err_Invalid_Pixel_Size = 23
  12332. const _FT_Err_Invalid_Handle = 32
  12333. const _FT_Err_Invalid_Library_Handle = 33
  12334. const _FT_Err_Invalid_Driver_Handle = 34
  12335. const _FT_Err_Invalid_Face_Handle = 35
  12336. const _FT_Err_Invalid_Size_Handle = 36
  12337. const _FT_Err_Invalid_Slot_Handle = 37
  12338. const _FT_Err_Invalid_CharMap_Handle = 38
  12339. const _FT_Err_Invalid_Cache_Handle = 39
  12340. const _FT_Err_Invalid_Stream_Handle = 40
  12341. const _FT_Err_Too_Many_Drivers = 48
  12342. const _FT_Err_Too_Many_Extensions = 49
  12343. const _FT_Err_Out_Of_Memory = 64
  12344. const _FT_Err_Unlisted_Object = 65
  12345. const _FT_Err_Cannot_Open_Stream = 81
  12346. const _FT_Err_Invalid_Stream_Seek = 82
  12347. const _FT_Err_Invalid_Stream_Skip = 83
  12348. const _FT_Err_Invalid_Stream_Read = 84
  12349. const _FT_Err_Invalid_Stream_Operation = 85
  12350. const _FT_Err_Invalid_Frame_Operation = 86
  12351. const _FT_Err_Nested_Frame_Access = 87
  12352. const _FT_Err_Invalid_Frame_Read = 88
  12353. const _FT_Err_Raster_Uninitialized = 96
  12354. const _FT_Err_Raster_Corrupted = 97
  12355. const _FT_Err_Raster_Overflow = 98
  12356. const _FT_Err_Raster_Negative_Height = 99
  12357. const _FT_Err_Too_Many_Caches = 112
  12358. const _FT_Err_Invalid_Opcode = 128
  12359. const _FT_Err_Too_Few_Arguments = 129
  12360. const _FT_Err_Stack_Overflow = 130
  12361. const _FT_Err_Code_Overflow = 131
  12362. const _FT_Err_Bad_Argument = 132
  12363. const _FT_Err_Divide_By_Zero = 133
  12364. const _FT_Err_Invalid_Reference = 134
  12365. const _FT_Err_Debug_OpCode = 135
  12366. const _FT_Err_ENDF_In_Exec_Stream = 136
  12367. const _FT_Err_Nested_DEFS = 137
  12368. const _FT_Err_Invalid_CodeRange = 138
  12369. const _FT_Err_Execution_Too_Long = 139
  12370. const _FT_Err_Too_Many_Function_Defs = 140
  12371. const _FT_Err_Too_Many_Instruction_Defs = 141
  12372. const _FT_Err_Table_Missing = 142
  12373. const _FT_Err_Horiz_Header_Missing = 143
  12374. const _FT_Err_Locations_Missing = 144
  12375. const _FT_Err_Name_Table_Missing = 145
  12376. const _FT_Err_CMap_Table_Missing = 146
  12377. const _FT_Err_Hmtx_Table_Missing = 147
  12378. const _FT_Err_Post_Table_Missing = 148
  12379. const _FT_Err_Invalid_Horiz_Metrics = 149
  12380. const _FT_Err_Invalid_CharMap_Format = 150
  12381. const _FT_Err_Invalid_PPem = 151
  12382. const _FT_Err_Invalid_Vert_Metrics = 152
  12383. const _FT_Err_Could_Not_Find_Context = 153
  12384. const _FT_Err_Invalid_Post_Table_Format = 154
  12385. const _FT_Err_Invalid_Post_Table = 155
  12386. const _FT_Err_DEF_In_Glyf_Bytecode = 156
  12387. const _FT_Err_Missing_Bitmap = 157
  12388. const _FT_Err_Syntax_Error = 160
  12389. const _FT_Err_Stack_Underflow = 161
  12390. const _FT_Err_Ignore = 162
  12391. const _FT_Err_No_Unicode_Glyph_Name = 163
  12392. const _FT_Err_Glyph_Too_Big = 164
  12393. const _FT_Err_Missing_Startfont_Field = 176
  12394. const _FT_Err_Missing_Font_Field = 177
  12395. const _FT_Err_Missing_Size_Field = 178
  12396. const _FT_Err_Missing_Fontboundingbox_Field = 179
  12397. const _FT_Err_Missing_Chars_Field = 180
  12398. const _FT_Err_Missing_Startchar_Field = 181
  12399. const _FT_Err_Missing_Encoding_Field = 182
  12400. const _FT_Err_Missing_Bbx_Field = 183
  12401. const _FT_Err_Bbx_Too_Big = 184
  12402. const _FT_Err_Corrupted_Font_Header = 185
  12403. const _FT_Err_Corrupted_Font_Glyphs = 186
  12404. const _FT_Err_Max = 187
  12405. type TFT_Glyph_Metrics = struct {
  12406. Fwidth TFT_Pos
  12407. Fheight TFT_Pos
  12408. FhoriBearingX TFT_Pos
  12409. FhoriBearingY TFT_Pos
  12410. FhoriAdvance TFT_Pos
  12411. FvertBearingX TFT_Pos
  12412. FvertBearingY TFT_Pos
  12413. FvertAdvance TFT_Pos
  12414. }
  12415. type TFT_Glyph_Metrics_ = TFT_Glyph_Metrics
  12416. type TFT_Bitmap_Size = struct {
  12417. Fheight TFT_Short
  12418. Fwidth TFT_Short
  12419. Fsize TFT_Pos
  12420. Fx_ppem TFT_Pos
  12421. Fy_ppem TFT_Pos
  12422. }
  12423. type TFT_Bitmap_Size_ = TFT_Bitmap_Size
  12424. type TFT_Library = uintptr
  12425. type TFT_Module = uintptr
  12426. type TFT_Driver = uintptr
  12427. type TFT_Renderer = uintptr
  12428. type TFT_Face = uintptr
  12429. type TFT_FaceRec_ = struct {
  12430. Fnum_faces TFT_Long
  12431. Fface_index TFT_Long
  12432. Fface_flags TFT_Long
  12433. Fstyle_flags TFT_Long
  12434. Fnum_glyphs TFT_Long
  12435. Ffamily_name uintptr
  12436. Fstyle_name uintptr
  12437. Fnum_fixed_sizes TFT_Int
  12438. Favailable_sizes uintptr
  12439. Fnum_charmaps TFT_Int
  12440. Fcharmaps uintptr
  12441. Fgeneric TFT_Generic
  12442. Fbbox TFT_BBox
  12443. Funits_per_EM TFT_UShort
  12444. Fascender TFT_Short
  12445. Fdescender TFT_Short
  12446. Fheight TFT_Short
  12447. Fmax_advance_width TFT_Short
  12448. Fmax_advance_height TFT_Short
  12449. Funderline_position TFT_Short
  12450. Funderline_thickness TFT_Short
  12451. Fglyph TFT_GlyphSlot
  12452. Fsize TFT_Size
  12453. Fcharmap TFT_CharMap
  12454. Fdriver TFT_Driver
  12455. Fmemory TFT_Memory
  12456. Fstream TFT_Stream
  12457. Fsizes_list TFT_ListRec
  12458. Fautohint TFT_Generic
  12459. Fextensions uintptr
  12460. Finternal TFT_Face_Internal
  12461. }
  12462. type TFT_Size = uintptr
  12463. type TFT_SizeRec_ = struct {
  12464. Fface TFT_Face
  12465. Fgeneric TFT_Generic
  12466. Fmetrics TFT_Size_Metrics
  12467. Finternal TFT_Size_Internal
  12468. }
  12469. type TFT_GlyphSlot = uintptr
  12470. type TFT_GlyphSlotRec_ = struct {
  12471. Flibrary TFT_Library
  12472. Fface TFT_Face
  12473. Fnext TFT_GlyphSlot
  12474. Fglyph_index TFT_UInt
  12475. Fgeneric TFT_Generic
  12476. Fmetrics TFT_Glyph_Metrics
  12477. FlinearHoriAdvance TFT_Fixed
  12478. FlinearVertAdvance TFT_Fixed
  12479. Fadvance TFT_Vector
  12480. Fformat TFT_Glyph_Format
  12481. Fbitmap TFT_Bitmap
  12482. Fbitmap_left TFT_Int
  12483. Fbitmap_top TFT_Int
  12484. Foutline TFT_Outline
  12485. Fnum_subglyphs TFT_UInt
  12486. Fsubglyphs TFT_SubGlyph
  12487. Fcontrol_data uintptr
  12488. Fcontrol_len int64
  12489. Flsb_delta TFT_Pos
  12490. Frsb_delta TFT_Pos
  12491. Fother uintptr
  12492. Finternal TFT_Slot_Internal
  12493. }
  12494. type TFT_CharMap = uintptr
  12495. type TFT_CharMapRec_ = struct {
  12496. Fface TFT_Face
  12497. Fencoding TFT_Encoding
  12498. Fplatform_id TFT_UShort
  12499. Fencoding_id TFT_UShort
  12500. }
  12501. type _FT_Encoding_ = int32
  12502. const _FT_ENCODING_NONE = 0
  12503. const _FT_ENCODING_MS_SYMBOL = 1937337698
  12504. const _FT_ENCODING_UNICODE = 1970170211
  12505. const _FT_ENCODING_SJIS = 1936353651
  12506. const _FT_ENCODING_PRC = 1734484000
  12507. const _FT_ENCODING_BIG5 = 1651074869
  12508. const _FT_ENCODING_WANSUNG = 2002873971
  12509. const _FT_ENCODING_JOHAB = 1785686113
  12510. const _FT_ENCODING_GB2312 = 1734484000
  12511. const _FT_ENCODING_MS_SJIS = 1936353651
  12512. const _FT_ENCODING_MS_GB2312 = 1734484000
  12513. const _FT_ENCODING_MS_BIG5 = 1651074869
  12514. const _FT_ENCODING_MS_WANSUNG = 2002873971
  12515. const _FT_ENCODING_MS_JOHAB = 1785686113
  12516. const _FT_ENCODING_ADOBE_STANDARD = 1094995778
  12517. const _FT_ENCODING_ADOBE_EXPERT = 1094992453
  12518. const _FT_ENCODING_ADOBE_CUSTOM = 1094992451
  12519. const _FT_ENCODING_ADOBE_LATIN_1 = 1818326065
  12520. const _FT_ENCODING_OLD_LATIN_2 = 1818326066
  12521. const _FT_ENCODING_APPLE_ROMAN = 1634889070
  12522. type TFT_Encoding = int32
  12523. type TFT_CharMapRec = struct {
  12524. Fface TFT_Face
  12525. Fencoding TFT_Encoding
  12526. Fplatform_id TFT_UShort
  12527. Fencoding_id TFT_UShort
  12528. }
  12529. type TFT_Face_Internal = uintptr
  12530. type TFT_FaceRec = struct {
  12531. Fnum_faces TFT_Long
  12532. Fface_index TFT_Long
  12533. Fface_flags TFT_Long
  12534. Fstyle_flags TFT_Long
  12535. Fnum_glyphs TFT_Long
  12536. Ffamily_name uintptr
  12537. Fstyle_name uintptr
  12538. Fnum_fixed_sizes TFT_Int
  12539. Favailable_sizes uintptr
  12540. Fnum_charmaps TFT_Int
  12541. Fcharmaps uintptr
  12542. Fgeneric TFT_Generic
  12543. Fbbox TFT_BBox
  12544. Funits_per_EM TFT_UShort
  12545. Fascender TFT_Short
  12546. Fdescender TFT_Short
  12547. Fheight TFT_Short
  12548. Fmax_advance_width TFT_Short
  12549. Fmax_advance_height TFT_Short
  12550. Funderline_position TFT_Short
  12551. Funderline_thickness TFT_Short
  12552. Fglyph TFT_GlyphSlot
  12553. Fsize TFT_Size
  12554. Fcharmap TFT_CharMap
  12555. Fdriver TFT_Driver
  12556. Fmemory TFT_Memory
  12557. Fstream TFT_Stream
  12558. Fsizes_list TFT_ListRec
  12559. Fautohint TFT_Generic
  12560. Fextensions uintptr
  12561. Finternal TFT_Face_Internal
  12562. }
  12563. type TFT_Size_Internal = uintptr
  12564. type TFT_Size_Metrics = struct {
  12565. Fx_ppem TFT_UShort
  12566. Fy_ppem TFT_UShort
  12567. Fx_scale TFT_Fixed
  12568. Fy_scale TFT_Fixed
  12569. Fascender TFT_Pos
  12570. Fdescender TFT_Pos
  12571. Fheight TFT_Pos
  12572. Fmax_advance TFT_Pos
  12573. }
  12574. type TFT_Size_Metrics_ = TFT_Size_Metrics
  12575. type TFT_SizeRec = struct {
  12576. Fface TFT_Face
  12577. Fgeneric TFT_Generic
  12578. Fmetrics TFT_Size_Metrics
  12579. Finternal TFT_Size_Internal
  12580. }
  12581. type TFT_SubGlyph = uintptr
  12582. type TFT_Slot_Internal = uintptr
  12583. type TFT_GlyphSlotRec = struct {
  12584. Flibrary TFT_Library
  12585. Fface TFT_Face
  12586. Fnext TFT_GlyphSlot
  12587. Fglyph_index TFT_UInt
  12588. Fgeneric TFT_Generic
  12589. Fmetrics TFT_Glyph_Metrics
  12590. FlinearHoriAdvance TFT_Fixed
  12591. FlinearVertAdvance TFT_Fixed
  12592. Fadvance TFT_Vector
  12593. Fformat TFT_Glyph_Format
  12594. Fbitmap TFT_Bitmap
  12595. Fbitmap_left TFT_Int
  12596. Fbitmap_top TFT_Int
  12597. Foutline TFT_Outline
  12598. Fnum_subglyphs TFT_UInt
  12599. Fsubglyphs TFT_SubGlyph
  12600. Fcontrol_data uintptr
  12601. Fcontrol_len int64
  12602. Flsb_delta TFT_Pos
  12603. Frsb_delta TFT_Pos
  12604. Fother uintptr
  12605. Finternal TFT_Slot_Internal
  12606. }
  12607. type TFT_Parameter = struct {
  12608. Ftag TFT_ULong
  12609. Fdata TFT_Pointer
  12610. }
  12611. type TFT_Parameter_ = TFT_Parameter
  12612. type TFT_Open_Args = struct {
  12613. Fflags TFT_UInt
  12614. Fmemory_base uintptr
  12615. Fmemory_size TFT_Long
  12616. Fpathname uintptr
  12617. Fstream TFT_Stream
  12618. Fdriver TFT_Module
  12619. Fnum_params TFT_Int
  12620. Fparams uintptr
  12621. }
  12622. type TFT_Open_Args_ = TFT_Open_Args
  12623. type TFT_Size_Request_Type = int32
  12624. type _FT_Size_Request_Type_ = int32
  12625. const _FT_SIZE_REQUEST_TYPE_NOMINAL = 0
  12626. const _FT_SIZE_REQUEST_TYPE_REAL_DIM = 1
  12627. const _FT_SIZE_REQUEST_TYPE_BBOX = 2
  12628. const _FT_SIZE_REQUEST_TYPE_CELL = 3
  12629. const _FT_SIZE_REQUEST_TYPE_SCALES = 4
  12630. const _FT_SIZE_REQUEST_TYPE_MAX = 5
  12631. type TFT_Size_RequestRec = struct {
  12632. Ftype1 TFT_Size_Request_Type
  12633. Fwidth TFT_Long
  12634. Fheight TFT_Long
  12635. FhoriResolution TFT_UInt
  12636. FvertResolution TFT_UInt
  12637. }
  12638. type TFT_Size_RequestRec_ = TFT_Size_RequestRec
  12639. type TFT_Size_Request = uintptr
  12640. type TFT_Render_Mode = int32
  12641. type _FT_Render_Mode_ = int32
  12642. const _FT_RENDER_MODE_NORMAL = 0
  12643. const _FT_RENDER_MODE_LIGHT = 1
  12644. const _FT_RENDER_MODE_MONO = 2
  12645. const _FT_RENDER_MODE_LCD = 3
  12646. const _FT_RENDER_MODE_LCD_V = 4
  12647. const _FT_RENDER_MODE_MAX = 5
  12648. type TFT_Kerning_Mode = int32
  12649. type _FT_Kerning_Mode_ = int32
  12650. const _FT_KERNING_DEFAULT = 0
  12651. const _FT_KERNING_UNFITTED = 1
  12652. const _FT_KERNING_UNSCALED = 2
  12653. type TFT_LayerIterator = struct {
  12654. Fnum_layers TFT_UInt
  12655. Flayer TFT_UInt
  12656. Fp uintptr
  12657. }
  12658. type TFT_LayerIterator_ = TFT_LayerIterator
  12659. type TTT_Header = struct {
  12660. FTable_Version TFT_Fixed
  12661. FFont_Revision TFT_Fixed
  12662. FCheckSum_Adjust TFT_Long
  12663. FMagic_Number TFT_Long
  12664. FFlags TFT_UShort
  12665. FUnits_Per_EM TFT_UShort
  12666. FCreated [2]TFT_ULong
  12667. FModified [2]TFT_ULong
  12668. FxMin TFT_Short
  12669. FyMin TFT_Short
  12670. FxMax TFT_Short
  12671. FyMax TFT_Short
  12672. FMac_Style TFT_UShort
  12673. FLowest_Rec_PPEM TFT_UShort
  12674. FFont_Direction TFT_Short
  12675. FIndex_To_Loc_Format TFT_Short
  12676. FGlyph_Data_Format TFT_Short
  12677. }
  12678. type TTT_Header_ = TTT_Header
  12679. type TTT_HoriHeader = struct {
  12680. FVersion TFT_Fixed
  12681. FAscender TFT_Short
  12682. FDescender TFT_Short
  12683. FLine_Gap TFT_Short
  12684. Fadvance_Width_Max TFT_UShort
  12685. Fmin_Left_Side_Bearing TFT_Short
  12686. Fmin_Right_Side_Bearing TFT_Short
  12687. FxMax_Extent TFT_Short
  12688. Fcaret_Slope_Rise TFT_Short
  12689. Fcaret_Slope_Run TFT_Short
  12690. Fcaret_Offset TFT_Short
  12691. FReserved [4]TFT_Short
  12692. Fmetric_Data_Format TFT_Short
  12693. Fnumber_Of_HMetrics TFT_UShort
  12694. Flong_metrics uintptr
  12695. Fshort_metrics uintptr
  12696. }
  12697. type TTT_HoriHeader_ = TTT_HoriHeader
  12698. type TTT_VertHeader = struct {
  12699. FVersion TFT_Fixed
  12700. FAscender TFT_Short
  12701. FDescender TFT_Short
  12702. FLine_Gap TFT_Short
  12703. Fadvance_Height_Max TFT_UShort
  12704. Fmin_Top_Side_Bearing TFT_Short
  12705. Fmin_Bottom_Side_Bearing TFT_Short
  12706. FyMax_Extent TFT_Short
  12707. Fcaret_Slope_Rise TFT_Short
  12708. Fcaret_Slope_Run TFT_Short
  12709. Fcaret_Offset TFT_Short
  12710. FReserved [4]TFT_Short
  12711. Fmetric_Data_Format TFT_Short
  12712. Fnumber_Of_VMetrics TFT_UShort
  12713. Flong_metrics uintptr
  12714. Fshort_metrics uintptr
  12715. }
  12716. type TTT_VertHeader_ = TTT_VertHeader
  12717. type TTT_OS2 = struct {
  12718. Fversion TFT_UShort
  12719. FxAvgCharWidth TFT_Short
  12720. FusWeightClass TFT_UShort
  12721. FusWidthClass TFT_UShort
  12722. FfsType TFT_UShort
  12723. FySubscriptXSize TFT_Short
  12724. FySubscriptYSize TFT_Short
  12725. FySubscriptXOffset TFT_Short
  12726. FySubscriptYOffset TFT_Short
  12727. FySuperscriptXSize TFT_Short
  12728. FySuperscriptYSize TFT_Short
  12729. FySuperscriptXOffset TFT_Short
  12730. FySuperscriptYOffset TFT_Short
  12731. FyStrikeoutSize TFT_Short
  12732. FyStrikeoutPosition TFT_Short
  12733. FsFamilyClass TFT_Short
  12734. Fpanose [10]TFT_Byte
  12735. FulUnicodeRange1 TFT_ULong
  12736. FulUnicodeRange2 TFT_ULong
  12737. FulUnicodeRange3 TFT_ULong
  12738. FulUnicodeRange4 TFT_ULong
  12739. FachVendID [4]TFT_Char
  12740. FfsSelection TFT_UShort
  12741. FusFirstCharIndex TFT_UShort
  12742. FusLastCharIndex TFT_UShort
  12743. FsTypoAscender TFT_Short
  12744. FsTypoDescender TFT_Short
  12745. FsTypoLineGap TFT_Short
  12746. FusWinAscent TFT_UShort
  12747. FusWinDescent TFT_UShort
  12748. FulCodePageRange1 TFT_ULong
  12749. FulCodePageRange2 TFT_ULong
  12750. FsxHeight TFT_Short
  12751. FsCapHeight TFT_Short
  12752. FusDefaultChar TFT_UShort
  12753. FusBreakChar TFT_UShort
  12754. FusMaxContext TFT_UShort
  12755. FusLowerOpticalPointSize TFT_UShort
  12756. FusUpperOpticalPointSize TFT_UShort
  12757. }
  12758. type TTT_OS2_ = TTT_OS2
  12759. type TTT_Postscript = struct {
  12760. FFormatType TFT_Fixed
  12761. FitalicAngle TFT_Fixed
  12762. FunderlinePosition TFT_Short
  12763. FunderlineThickness TFT_Short
  12764. FisFixedPitch TFT_ULong
  12765. FminMemType42 TFT_ULong
  12766. FmaxMemType42 TFT_ULong
  12767. FminMemType1 TFT_ULong
  12768. FmaxMemType1 TFT_ULong
  12769. }
  12770. type TTT_Postscript_ = TTT_Postscript
  12771. type TTT_PCLT = struct {
  12772. FVersion TFT_Fixed
  12773. FFontNumber TFT_ULong
  12774. FPitch TFT_UShort
  12775. FxHeight TFT_UShort
  12776. FStyle TFT_UShort
  12777. FTypeFamily TFT_UShort
  12778. FCapHeight TFT_UShort
  12779. FSymbolSet TFT_UShort
  12780. FTypeFace [16]TFT_Char
  12781. FCharacterComplement [8]TFT_Char
  12782. FFileName [6]TFT_Char
  12783. FStrokeWeight TFT_Char
  12784. FWidthType TFT_Char
  12785. FSerifStyle TFT_Byte
  12786. FReserved TFT_Byte
  12787. }
  12788. type TTT_PCLT_ = TTT_PCLT
  12789. type TTT_MaxProfile = struct {
  12790. Fversion TFT_Fixed
  12791. FnumGlyphs TFT_UShort
  12792. FmaxPoints TFT_UShort
  12793. FmaxContours TFT_UShort
  12794. FmaxCompositePoints TFT_UShort
  12795. FmaxCompositeContours TFT_UShort
  12796. FmaxZones TFT_UShort
  12797. FmaxTwilightPoints TFT_UShort
  12798. FmaxStorage TFT_UShort
  12799. FmaxFunctionDefs TFT_UShort
  12800. FmaxInstructionDefs TFT_UShort
  12801. FmaxStackElements TFT_UShort
  12802. FmaxSizeOfInstructions TFT_UShort
  12803. FmaxComponentElements TFT_UShort
  12804. FmaxComponentDepth TFT_UShort
  12805. }
  12806. type TTT_MaxProfile_ = TTT_MaxProfile
  12807. type TFT_Sfnt_Tag = int32
  12808. type _FT_Sfnt_Tag_ = int32
  12809. const _FT_SFNT_HEAD = 0
  12810. const _FT_SFNT_MAXP = 1
  12811. const _FT_SFNT_OS2 = 2
  12812. const _FT_SFNT_HHEA = 3
  12813. const _FT_SFNT_VHEA = 4
  12814. const _FT_SFNT_POST = 5
  12815. const _FT_SFNT_PCLT = 6
  12816. const _FT_SFNT_MAX = 7
  12817. type TFT_SfntName = struct {
  12818. Fplatform_id TFT_UShort
  12819. Fencoding_id TFT_UShort
  12820. Flanguage_id TFT_UShort
  12821. Fname_id TFT_UShort
  12822. Fstring1 uintptr
  12823. Fstring_len TFT_UInt
  12824. }
  12825. type TFT_SfntName_ = TFT_SfntName
  12826. type TFT_SfntLangTag = struct {
  12827. Fstring1 uintptr
  12828. Fstring_len TFT_UInt
  12829. }
  12830. type TFT_SfntLangTag_ = TFT_SfntLangTag
  12831. type TPS_FontInfoRec = struct {
  12832. Fversion uintptr
  12833. Fnotice uintptr
  12834. Ffull_name uintptr
  12835. Ffamily_name uintptr
  12836. Fweight uintptr
  12837. Fitalic_angle TFT_Long
  12838. Fis_fixed_pitch TFT_Bool
  12839. Funderline_position TFT_Short
  12840. Funderline_thickness TFT_UShort
  12841. }
  12842. type TPS_FontInfoRec_ = TPS_FontInfoRec
  12843. type TPS_FontInfo = uintptr
  12844. type TT1_FontInfo = struct {
  12845. Fversion uintptr
  12846. Fnotice uintptr
  12847. Ffull_name uintptr
  12848. Ffamily_name uintptr
  12849. Fweight uintptr
  12850. Fitalic_angle TFT_Long
  12851. Fis_fixed_pitch TFT_Bool
  12852. Funderline_position TFT_Short
  12853. Funderline_thickness TFT_UShort
  12854. }
  12855. type TPS_PrivateRec = struct {
  12856. Funique_id TFT_Int
  12857. FlenIV TFT_Int
  12858. Fnum_blue_values TFT_Byte
  12859. Fnum_other_blues TFT_Byte
  12860. Fnum_family_blues TFT_Byte
  12861. Fnum_family_other_blues TFT_Byte
  12862. Fblue_values [14]TFT_Short
  12863. Fother_blues [10]TFT_Short
  12864. Ffamily_blues [14]TFT_Short
  12865. Ffamily_other_blues [10]TFT_Short
  12866. Fblue_scale TFT_Fixed
  12867. Fblue_shift TFT_Int
  12868. Fblue_fuzz TFT_Int
  12869. Fstandard_width [1]TFT_UShort
  12870. Fstandard_height [1]TFT_UShort
  12871. Fnum_snap_widths TFT_Byte
  12872. Fnum_snap_heights TFT_Byte
  12873. Fforce_bold TFT_Bool
  12874. Fround_stem_up TFT_Bool
  12875. Fsnap_widths [13]TFT_Short
  12876. Fsnap_heights [13]TFT_Short
  12877. Fexpansion_factor TFT_Fixed
  12878. Flanguage_group TFT_Long
  12879. Fpassword TFT_Long
  12880. Fmin_feature [2]TFT_Short
  12881. }
  12882. type TPS_PrivateRec_ = TPS_PrivateRec
  12883. type TPS_Private = uintptr
  12884. type TT1_Private = struct {
  12885. Funique_id TFT_Int
  12886. FlenIV TFT_Int
  12887. Fnum_blue_values TFT_Byte
  12888. Fnum_other_blues TFT_Byte
  12889. Fnum_family_blues TFT_Byte
  12890. Fnum_family_other_blues TFT_Byte
  12891. Fblue_values [14]TFT_Short
  12892. Fother_blues [10]TFT_Short
  12893. Ffamily_blues [14]TFT_Short
  12894. Ffamily_other_blues [10]TFT_Short
  12895. Fblue_scale TFT_Fixed
  12896. Fblue_shift TFT_Int
  12897. Fblue_fuzz TFT_Int
  12898. Fstandard_width [1]TFT_UShort
  12899. Fstandard_height [1]TFT_UShort
  12900. Fnum_snap_widths TFT_Byte
  12901. Fnum_snap_heights TFT_Byte
  12902. Fforce_bold TFT_Bool
  12903. Fround_stem_up TFT_Bool
  12904. Fsnap_widths [13]TFT_Short
  12905. Fsnap_heights [13]TFT_Short
  12906. Fexpansion_factor TFT_Fixed
  12907. Flanguage_group TFT_Long
  12908. Fpassword TFT_Long
  12909. Fmin_feature [2]TFT_Short
  12910. }
  12911. type TT1_Blend_Flags = int32
  12912. type _T1_Blend_Flags_ = int32
  12913. const _T1_BLEND_UNDERLINE_POSITION = 0
  12914. const _T1_BLEND_UNDERLINE_THICKNESS = 1
  12915. const _T1_BLEND_ITALIC_ANGLE = 2
  12916. const _T1_BLEND_BLUE_VALUES = 3
  12917. const _T1_BLEND_OTHER_BLUES = 4
  12918. const _T1_BLEND_STANDARD_WIDTH = 5
  12919. const _T1_BLEND_STANDARD_HEIGHT = 6
  12920. const _T1_BLEND_STEM_SNAP_WIDTHS = 7
  12921. const _T1_BLEND_STEM_SNAP_HEIGHTS = 8
  12922. const _T1_BLEND_BLUE_SCALE = 9
  12923. const _T1_BLEND_BLUE_SHIFT = 10
  12924. const _T1_BLEND_FAMILY_BLUES = 11
  12925. const _T1_BLEND_FAMILY_OTHER_BLUES = 12
  12926. const _T1_BLEND_FORCE_BOLD = 13
  12927. const _T1_BLEND_MAX = 14
  12928. type TPS_DesignMapRec = struct {
  12929. Fnum_points TFT_Byte
  12930. Fdesign_points uintptr
  12931. Fblend_points uintptr
  12932. }
  12933. type TPS_DesignMap_ = TPS_DesignMapRec
  12934. type TPS_DesignMap = uintptr
  12935. type TT1_DesignMap = struct {
  12936. Fnum_points TFT_Byte
  12937. Fdesign_points uintptr
  12938. Fblend_points uintptr
  12939. }
  12940. type TPS_BlendRec = struct {
  12941. Fnum_designs TFT_UInt
  12942. Fnum_axis TFT_UInt
  12943. Faxis_names [4]uintptr
  12944. Fdesign_pos [16]uintptr
  12945. Fdesign_map [4]TPS_DesignMapRec
  12946. Fweight_vector uintptr
  12947. Fdefault_weight_vector uintptr
  12948. Ffont_infos [17]TPS_FontInfo
  12949. Fprivates [17]TPS_Private
  12950. Fblend_bitflags TFT_ULong
  12951. Fbboxes [17]uintptr
  12952. Fdefault_design_vector [16]TFT_UInt
  12953. Fnum_default_design_vector TFT_UInt
  12954. }
  12955. type TPS_BlendRec_ = TPS_BlendRec
  12956. type TPS_Blend = uintptr
  12957. type TT1_Blend = struct {
  12958. Fnum_designs TFT_UInt
  12959. Fnum_axis TFT_UInt
  12960. Faxis_names [4]uintptr
  12961. Fdesign_pos [16]uintptr
  12962. Fdesign_map [4]TPS_DesignMapRec
  12963. Fweight_vector uintptr
  12964. Fdefault_weight_vector uintptr
  12965. Ffont_infos [17]TPS_FontInfo
  12966. Fprivates [17]TPS_Private
  12967. Fblend_bitflags TFT_ULong
  12968. Fbboxes [17]uintptr
  12969. Fdefault_design_vector [16]TFT_UInt
  12970. Fnum_default_design_vector TFT_UInt
  12971. }
  12972. type TCID_FaceDictRec = struct {
  12973. Fprivate_dict TPS_PrivateRec
  12974. Flen_buildchar TFT_UInt
  12975. Fforcebold_threshold TFT_Fixed
  12976. Fstroke_width TFT_Pos
  12977. Fexpansion_factor TFT_Fixed
  12978. Fpaint_type TFT_Byte
  12979. Ffont_type TFT_Byte
  12980. Ffont_matrix TFT_Matrix
  12981. Ffont_offset TFT_Vector
  12982. Fnum_subrs TFT_UInt
  12983. Fsubrmap_offset TFT_ULong
  12984. Fsd_bytes TFT_Int
  12985. }
  12986. type TCID_FaceDictRec_ = TCID_FaceDictRec
  12987. type TCID_FaceDict = uintptr
  12988. type TCID_FontDict = struct {
  12989. Fprivate_dict TPS_PrivateRec
  12990. Flen_buildchar TFT_UInt
  12991. Fforcebold_threshold TFT_Fixed
  12992. Fstroke_width TFT_Pos
  12993. Fexpansion_factor TFT_Fixed
  12994. Fpaint_type TFT_Byte
  12995. Ffont_type TFT_Byte
  12996. Ffont_matrix TFT_Matrix
  12997. Ffont_offset TFT_Vector
  12998. Fnum_subrs TFT_UInt
  12999. Fsubrmap_offset TFT_ULong
  13000. Fsd_bytes TFT_Int
  13001. }
  13002. type TCID_FaceInfoRec = struct {
  13003. Fcid_font_name uintptr
  13004. Fcid_version TFT_Fixed
  13005. Fcid_font_type TFT_Int
  13006. Fregistry uintptr
  13007. Fordering uintptr
  13008. Fsupplement TFT_Int
  13009. Ffont_info TPS_FontInfoRec
  13010. Ffont_bbox TFT_BBox
  13011. Fuid_base TFT_ULong
  13012. Fnum_xuid TFT_Int
  13013. Fxuid [16]TFT_ULong
  13014. Fcidmap_offset TFT_ULong
  13015. Ffd_bytes TFT_Int
  13016. Fgd_bytes TFT_Int
  13017. Fcid_count TFT_ULong
  13018. Fnum_dicts TFT_Int
  13019. Ffont_dicts TCID_FaceDict
  13020. Fdata_offset TFT_ULong
  13021. }
  13022. type TCID_FaceInfoRec_ = TCID_FaceInfoRec
  13023. type TCID_FaceInfo = uintptr
  13024. type TCID_Info = struct {
  13025. Fcid_font_name uintptr
  13026. Fcid_version TFT_Fixed
  13027. Fcid_font_type TFT_Int
  13028. Fregistry uintptr
  13029. Fordering uintptr
  13030. Fsupplement TFT_Int
  13031. Ffont_info TPS_FontInfoRec
  13032. Ffont_bbox TFT_BBox
  13033. Fuid_base TFT_ULong
  13034. Fnum_xuid TFT_Int
  13035. Fxuid [16]TFT_ULong
  13036. Fcidmap_offset TFT_ULong
  13037. Ffd_bytes TFT_Int
  13038. Fgd_bytes TFT_Int
  13039. Fcid_count TFT_ULong
  13040. Fnum_dicts TFT_Int
  13041. Ffont_dicts TCID_FaceDict
  13042. Fdata_offset TFT_ULong
  13043. }
  13044. type TT1_EncodingType = int32
  13045. type _T1_EncodingType_ = int32
  13046. const _T1_ENCODING_TYPE_NONE = 0
  13047. const _T1_ENCODING_TYPE_ARRAY = 1
  13048. const _T1_ENCODING_TYPE_STANDARD = 2
  13049. const _T1_ENCODING_TYPE_ISOLATIN1 = 3
  13050. const _T1_ENCODING_TYPE_EXPERT = 4
  13051. type TPS_Dict_Keys = int32
  13052. type _PS_Dict_Keys_ = int32
  13053. const _PS_DICT_FONT_TYPE = 0
  13054. const _PS_DICT_FONT_MATRIX = 1
  13055. const _PS_DICT_FONT_BBOX = 2
  13056. const _PS_DICT_PAINT_TYPE = 3
  13057. const _PS_DICT_FONT_NAME = 4
  13058. const _PS_DICT_UNIQUE_ID = 5
  13059. const _PS_DICT_NUM_CHAR_STRINGS = 6
  13060. const _PS_DICT_CHAR_STRING_KEY = 7
  13061. const _PS_DICT_CHAR_STRING = 8
  13062. const _PS_DICT_ENCODING_TYPE = 9
  13063. const _PS_DICT_ENCODING_ENTRY = 10
  13064. const _PS_DICT_NUM_SUBRS = 11
  13065. const _PS_DICT_SUBR = 12
  13066. const _PS_DICT_STD_HW = 13
  13067. const _PS_DICT_STD_VW = 14
  13068. const _PS_DICT_NUM_BLUE_VALUES = 15
  13069. const _PS_DICT_BLUE_VALUE = 16
  13070. const _PS_DICT_BLUE_FUZZ = 17
  13071. const _PS_DICT_NUM_OTHER_BLUES = 18
  13072. const _PS_DICT_OTHER_BLUE = 19
  13073. const _PS_DICT_NUM_FAMILY_BLUES = 20
  13074. const _PS_DICT_FAMILY_BLUE = 21
  13075. const _PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
  13076. const _PS_DICT_FAMILY_OTHER_BLUE = 23
  13077. const _PS_DICT_BLUE_SCALE = 24
  13078. const _PS_DICT_BLUE_SHIFT = 25
  13079. const _PS_DICT_NUM_STEM_SNAP_H = 26
  13080. const _PS_DICT_STEM_SNAP_H = 27
  13081. const _PS_DICT_NUM_STEM_SNAP_V = 28
  13082. const _PS_DICT_STEM_SNAP_V = 29
  13083. const _PS_DICT_FORCE_BOLD = 30
  13084. const _PS_DICT_RND_STEM_UP = 31
  13085. const _PS_DICT_MIN_FEATURE = 32
  13086. const _PS_DICT_LEN_IV = 33
  13087. const _PS_DICT_PASSWORD = 34
  13088. const _PS_DICT_LANGUAGE_GROUP = 35
  13089. const _PS_DICT_VERSION = 36
  13090. const _PS_DICT_NOTICE = 37
  13091. const _PS_DICT_FULL_NAME = 38
  13092. const _PS_DICT_FAMILY_NAME = 39
  13093. const _PS_DICT_WEIGHT = 40
  13094. const _PS_DICT_IS_FIXED_PITCH = 41
  13095. const _PS_DICT_UNDERLINE_POSITION = 42
  13096. const _PS_DICT_UNDERLINE_THICKNESS = 43
  13097. const _PS_DICT_FS_TYPE = 44
  13098. const _PS_DICT_ITALIC_ANGLE = 45
  13099. const _PS_DICT_MAX = 45
  13100. type TBDF_PropertyType = int32
  13101. type _BDF_PropertyType_ = int32
  13102. const _BDF_PROPERTY_TYPE_NONE = 0
  13103. const _BDF_PROPERTY_TYPE_ATOM = 1
  13104. const _BDF_PROPERTY_TYPE_INTEGER = 2
  13105. const _BDF_PROPERTY_TYPE_CARDINAL = 3
  13106. type TBDF_Property = uintptr
  13107. type TBDF_PropertyRec_ = struct {
  13108. Ftype1 TBDF_PropertyType
  13109. Fu struct {
  13110. Finteger [0]TFT_Int32
  13111. Fcardinal [0]TFT_UInt32
  13112. Fatom uintptr
  13113. }
  13114. }
  13115. type TBDF_PropertyRec = struct {
  13116. Ftype1 TBDF_PropertyType
  13117. Fu struct {
  13118. Finteger [0]TFT_Int32
  13119. Fcardinal [0]TFT_UInt32
  13120. Fatom uintptr
  13121. }
  13122. }
  13123. type TFT_Module_Interface = uintptr
  13124. type TFT_Module_Constructor = uintptr
  13125. type TFT_Module_Destructor = uintptr
  13126. type TFT_Module_Requester = uintptr
  13127. type TFT_Module_Class = struct {
  13128. Fmodule_flags TFT_ULong
  13129. Fmodule_size TFT_Long
  13130. Fmodule_name uintptr
  13131. Fmodule_version TFT_Fixed
  13132. Fmodule_requires TFT_Fixed
  13133. Fmodule_interface uintptr
  13134. Fmodule_init TFT_Module_Constructor
  13135. Fmodule_done TFT_Module_Destructor
  13136. Fget_interface TFT_Module_Requester
  13137. }
  13138. type TFT_Module_Class_ = TFT_Module_Class
  13139. type TFT_DebugHook_Func = uintptr
  13140. type TFT_TrueTypeEngineType = int32
  13141. type _FT_TrueTypeEngineType_ = int32
  13142. const _FT_TRUETYPE_ENGINE_TYPE_NONE = 0
  13143. const _FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1
  13144. const _FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2
  13145. type TFT_MM_Axis = struct {
  13146. Fname uintptr
  13147. Fminimum TFT_Long
  13148. Fmaximum TFT_Long
  13149. }
  13150. type TFT_MM_Axis_ = TFT_MM_Axis
  13151. type TFT_Multi_Master = struct {
  13152. Fnum_axis TFT_UInt
  13153. Fnum_designs TFT_UInt
  13154. Faxis [4]TFT_MM_Axis
  13155. }
  13156. type TFT_Multi_Master_ = TFT_Multi_Master
  13157. type TFT_Var_Axis = struct {
  13158. Fname uintptr
  13159. Fminimum TFT_Fixed
  13160. Fdef TFT_Fixed
  13161. Fmaximum TFT_Fixed
  13162. Ftag TFT_ULong
  13163. Fstrid TFT_UInt
  13164. }
  13165. type TFT_Var_Axis_ = TFT_Var_Axis
  13166. type TFT_Var_Named_Style = struct {
  13167. Fcoords uintptr
  13168. Fstrid TFT_UInt
  13169. Fpsid TFT_UInt
  13170. }
  13171. type TFT_Var_Named_Style_ = TFT_Var_Named_Style
  13172. type TFT_MM_Var = struct {
  13173. Fnum_axis TFT_UInt
  13174. Fnum_designs TFT_UInt
  13175. Fnum_namedstyles TFT_UInt
  13176. Faxis uintptr
  13177. Fnamedstyle uintptr
  13178. }
  13179. type TFT_MM_Var_ = TFT_MM_Var
  13180. /*
  13181. * Keep Han languages separated by eliminating languages
  13182. * that the codePageRange bits says aren't supported
  13183. */
  13184. var _FcCodePageRange = [4]struct {
  13185. Fbit uint8
  13186. Flang [6]TFcChar8
  13187. }{
  13188. 0: {
  13189. Fbit: uint8(17),
  13190. Flang: [6]TFcChar8{'j', 'a'},
  13191. },
  13192. 1: {
  13193. Fbit: uint8(18),
  13194. Flang: [6]TFcChar8{'z', 'h', '-', 'c', 'n'},
  13195. },
  13196. 2: {
  13197. Fbit: uint8(19),
  13198. Flang: [6]TFcChar8{'k', 'o'},
  13199. },
  13200. 3: {
  13201. Fbit: uint8(20),
  13202. Flang: [6]TFcChar8{'z', 'h', '-', 't', 'w'},
  13203. },
  13204. }
  13205. func XFcFreeTypeIsExclusiveLang(tls *libc.TLS, lang uintptr) (r TFcBool) {
  13206. var i int32
  13207. _ = i
  13208. i = 0
  13209. for {
  13210. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7))) {
  13211. break
  13212. }
  13213. if XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_FcCodePageRange))+uintptr(i)*7+1) == int32(_FcLangEqual) {
  13214. return int32(m_FcTrue)
  13215. }
  13216. goto _1
  13217. _1:
  13218. ;
  13219. i++
  13220. }
  13221. return m_FcFalse
  13222. }
  13223. type TFcFtEncoding = struct {
  13224. Fplatform_id TFT_UShort
  13225. Fencoding_id TFT_UShort
  13226. Ffromcode [12]uint8
  13227. }
  13228. var _fcFtEncoding = [14]TFcFtEncoding{
  13229. 0: {
  13230. Fencoding_id: uint16(m_TT_ENCODING_DONT_CARE),
  13231. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13232. },
  13233. 1: {
  13234. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13235. Ffromcode: [12]uint8{'M', 'A', 'C', 'I', 'N', 'T', 'O', 'S', 'H'},
  13236. },
  13237. 2: {
  13238. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13239. Fencoding_id: uint16(m_TT_MAC_ID_JAPANESE),
  13240. Ffromcode: [12]uint8{'S', 'J', 'I', 'S'},
  13241. },
  13242. 3: {
  13243. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13244. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13245. },
  13246. 4: {
  13247. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13248. Fencoding_id: uint16(m_TT_MS_ID_UNICODE_CS),
  13249. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13250. },
  13251. 5: {
  13252. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13253. Fencoding_id: uint16(m_TT_MS_ID_SJIS),
  13254. Ffromcode: [12]uint8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  13255. },
  13256. 6: {
  13257. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13258. Fencoding_id: uint16(m_TT_MS_ID_PRC),
  13259. Ffromcode: [12]uint8{'G', 'B', '2', '3', '1', '2'},
  13260. },
  13261. 7: {
  13262. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13263. Fencoding_id: uint16(m_TT_MS_ID_BIG_5),
  13264. Ffromcode: [12]uint8{'B', 'I', 'G', '-', '5'},
  13265. },
  13266. 8: {
  13267. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13268. Fencoding_id: uint16(m_TT_MS_ID_WANSUNG),
  13269. Ffromcode: [12]uint8{'W', 'a', 'n', 's', 'u', 'n', 'g'},
  13270. },
  13271. 9: {
  13272. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13273. Fencoding_id: uint16(m_TT_MS_ID_JOHAB),
  13274. Ffromcode: [12]uint8{'J', 'o', 'h', 'a', 'b'},
  13275. },
  13276. 10: {
  13277. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13278. Fencoding_id: uint16(m_TT_MS_ID_UCS_4),
  13279. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13280. },
  13281. 11: {
  13282. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  13283. Ffromcode: [12]uint8{'A', 'S', 'C', 'I', 'I'},
  13284. },
  13285. 12: {
  13286. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  13287. Fencoding_id: uint16(m_TT_ISO_ID_10646),
  13288. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13289. },
  13290. 13: {
  13291. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  13292. Fencoding_id: uint16(m_TT_ISO_ID_8859_1),
  13293. Ffromcode: [12]uint8{'I', 'S', 'O', '-', '8', '8', '5', '9', '-', '1'},
  13294. },
  13295. }
  13296. type TFcFtLanguage = struct {
  13297. Fplatform_id TFT_UShort
  13298. Flanguage_id TFT_UShort
  13299. Flang [8]uint8
  13300. }
  13301. var _fcFtLanguage = [335]TFcFtLanguage{
  13302. 0: {
  13303. Flanguage_id: uint16(m_TT_LANGUAGE_DONT_CARE),
  13304. Flang: [8]uint8{},
  13305. },
  13306. 1: {
  13307. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13308. Flang: [8]uint8{'e', 'n'},
  13309. },
  13310. 2: {
  13311. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13312. Flanguage_id: uint16(m_TT_MAC_LANGID_FRENCH),
  13313. Flang: [8]uint8{'f', 'r'},
  13314. },
  13315. 3: {
  13316. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13317. Flanguage_id: uint16(m_TT_MAC_LANGID_GERMAN),
  13318. Flang: [8]uint8{'d', 'e'},
  13319. },
  13320. 4: {
  13321. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13322. Flanguage_id: uint16(m_TT_MAC_LANGID_ITALIAN),
  13323. Flang: [8]uint8{'i', 't'},
  13324. },
  13325. 5: {
  13326. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13327. Flanguage_id: uint16(m_TT_MAC_LANGID_DUTCH),
  13328. Flang: [8]uint8{'n', 'l'},
  13329. },
  13330. 6: {
  13331. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13332. Flanguage_id: uint16(m_TT_MAC_LANGID_SWEDISH),
  13333. Flang: [8]uint8{'s', 'v'},
  13334. },
  13335. 7: {
  13336. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13337. Flanguage_id: uint16(m_TT_MAC_LANGID_SPANISH),
  13338. Flang: [8]uint8{'e', 's'},
  13339. },
  13340. 8: {
  13341. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13342. Flanguage_id: uint16(m_TT_MAC_LANGID_DANISH),
  13343. Flang: [8]uint8{'d', 'a'},
  13344. },
  13345. 9: {
  13346. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13347. Flanguage_id: uint16(m_TT_MAC_LANGID_PORTUGUESE),
  13348. Flang: [8]uint8{'p', 't'},
  13349. },
  13350. 10: {
  13351. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13352. Flanguage_id: uint16(m_TT_MAC_LANGID_NORWEGIAN),
  13353. Flang: [8]uint8{'n', 'o'},
  13354. },
  13355. 11: {
  13356. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13357. Flanguage_id: uint16(m_TT_MAC_LANGID_HEBREW),
  13358. Flang: [8]uint8{'h', 'e'},
  13359. },
  13360. 12: {
  13361. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13362. Flanguage_id: uint16(m_TT_MAC_LANGID_JAPANESE),
  13363. Flang: [8]uint8{'j', 'a'},
  13364. },
  13365. 13: {
  13366. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13367. Flanguage_id: uint16(m_TT_MAC_LANGID_ARABIC),
  13368. Flang: [8]uint8{'a', 'r'},
  13369. },
  13370. 14: {
  13371. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13372. Flanguage_id: uint16(m_TT_MAC_LANGID_FINNISH),
  13373. Flang: [8]uint8{'f', 'i'},
  13374. },
  13375. 15: {
  13376. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13377. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK),
  13378. Flang: [8]uint8{'e', 'l'},
  13379. },
  13380. 16: {
  13381. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13382. Flanguage_id: uint16(m_TT_MAC_LANGID_ICELANDIC),
  13383. Flang: [8]uint8{'i', 's'},
  13384. },
  13385. 17: {
  13386. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13387. Flanguage_id: uint16(m_TT_MAC_LANGID_MALTESE),
  13388. Flang: [8]uint8{'m', 't'},
  13389. },
  13390. 18: {
  13391. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13392. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKISH),
  13393. Flang: [8]uint8{'t', 'r'},
  13394. },
  13395. 19: {
  13396. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13397. Flanguage_id: uint16(m_TT_MAC_LANGID_CROATIAN),
  13398. Flang: [8]uint8{'h', 'r'},
  13399. },
  13400. 20: {
  13401. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13402. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_TRADITIONAL),
  13403. Flang: [8]uint8{'z', 'h', '-', 't', 'w'},
  13404. },
  13405. 21: {
  13406. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13407. Flanguage_id: uint16(m_TT_MAC_LANGID_URDU),
  13408. Flang: [8]uint8{'u', 'r'},
  13409. },
  13410. 22: {
  13411. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13412. Flanguage_id: uint16(m_TT_MAC_LANGID_HINDI),
  13413. Flang: [8]uint8{'h', 'i'},
  13414. },
  13415. 23: {
  13416. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13417. Flanguage_id: uint16(m_TT_MAC_LANGID_THAI),
  13418. Flang: [8]uint8{'t', 'h'},
  13419. },
  13420. 24: {
  13421. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13422. Flanguage_id: uint16(m_TT_MAC_LANGID_KOREAN),
  13423. Flang: [8]uint8{'k', 'o'},
  13424. },
  13425. 25: {
  13426. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13427. Flanguage_id: uint16(m_TT_MAC_LANGID_LITHUANIAN),
  13428. Flang: [8]uint8{'l', 't'},
  13429. },
  13430. 26: {
  13431. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13432. Flanguage_id: uint16(m_TT_MAC_LANGID_POLISH),
  13433. Flang: [8]uint8{'p', 'l'},
  13434. },
  13435. 27: {
  13436. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13437. Flanguage_id: uint16(m_TT_MAC_LANGID_HUNGARIAN),
  13438. Flang: [8]uint8{'h', 'u'},
  13439. },
  13440. 28: {
  13441. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13442. Flanguage_id: uint16(m_TT_MAC_LANGID_ESTONIAN),
  13443. Flang: [8]uint8{'e', 't'},
  13444. },
  13445. 29: {
  13446. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13447. Flanguage_id: uint16(m_TT_MAC_LANGID_LETTISH),
  13448. Flang: [8]uint8{'l', 'v'},
  13449. },
  13450. 30: {
  13451. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13452. Flanguage_id: uint16(m_TT_MAC_LANGID_FAEROESE),
  13453. Flang: [8]uint8{'f', 'o'},
  13454. },
  13455. 31: {
  13456. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13457. Flanguage_id: uint16(m_TT_MAC_LANGID_FARSI),
  13458. Flang: [8]uint8{'f', 'a'},
  13459. },
  13460. 32: {
  13461. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13462. Flanguage_id: uint16(m_TT_MAC_LANGID_RUSSIAN),
  13463. Flang: [8]uint8{'r', 'u'},
  13464. },
  13465. 33: {
  13466. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13467. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_SIMPLIFIED),
  13468. Flang: [8]uint8{'z', 'h', '-', 'c', 'n'},
  13469. },
  13470. 34: {
  13471. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13472. Flanguage_id: uint16(m_TT_MAC_LANGID_FLEMISH),
  13473. Flang: [8]uint8{'n', 'l'},
  13474. },
  13475. 35: {
  13476. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13477. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH),
  13478. Flang: [8]uint8{'g', 'a'},
  13479. },
  13480. 36: {
  13481. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13482. Flanguage_id: uint16(m_TT_MAC_LANGID_ALBANIAN),
  13483. Flang: [8]uint8{'s', 'q'},
  13484. },
  13485. 37: {
  13486. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13487. Flanguage_id: uint16(m_TT_MAC_LANGID_ROMANIAN),
  13488. Flang: [8]uint8{'r', 'o'},
  13489. },
  13490. 38: {
  13491. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13492. Flanguage_id: uint16(m_TT_MAC_LANGID_CZECH),
  13493. Flang: [8]uint8{'c', 's'},
  13494. },
  13495. 39: {
  13496. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13497. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVAK),
  13498. Flang: [8]uint8{'s', 'k'},
  13499. },
  13500. 40: {
  13501. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13502. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVENIAN),
  13503. Flang: [8]uint8{'s', 'l'},
  13504. },
  13505. 41: {
  13506. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13507. Flanguage_id: uint16(m_TT_MAC_LANGID_YIDDISH),
  13508. Flang: [8]uint8{'y', 'i'},
  13509. },
  13510. 42: {
  13511. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13512. Flanguage_id: uint16(m_TT_MAC_LANGID_SERBIAN),
  13513. Flang: [8]uint8{'s', 'r'},
  13514. },
  13515. 43: {
  13516. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13517. Flanguage_id: uint16(m_TT_MAC_LANGID_MACEDONIAN),
  13518. Flang: [8]uint8{'m', 'k'},
  13519. },
  13520. 44: {
  13521. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13522. Flanguage_id: uint16(m_TT_MAC_LANGID_BULGARIAN),
  13523. Flang: [8]uint8{'b', 'g'},
  13524. },
  13525. 45: {
  13526. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13527. Flanguage_id: uint16(m_TT_MAC_LANGID_UKRAINIAN),
  13528. Flang: [8]uint8{'u', 'k'},
  13529. },
  13530. 46: {
  13531. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13532. Flanguage_id: uint16(m_TT_MAC_LANGID_BYELORUSSIAN),
  13533. Flang: [8]uint8{'b', 'e'},
  13534. },
  13535. 47: {
  13536. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13537. Flanguage_id: uint16(m_TT_MAC_LANGID_UZBEK),
  13538. Flang: [8]uint8{'u', 'z'},
  13539. },
  13540. 48: {
  13541. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13542. Flanguage_id: uint16(m_TT_MAC_LANGID_KAZAKH),
  13543. Flang: [8]uint8{'k', 'k'},
  13544. },
  13545. 49: {
  13546. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13547. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI),
  13548. Flang: [8]uint8{'a', 'z'},
  13549. },
  13550. 50: {
  13551. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13552. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT),
  13553. Flang: [8]uint8{'a', 'z'},
  13554. },
  13555. 51: {
  13556. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13557. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT),
  13558. Flang: [8]uint8{'a', 'r'},
  13559. },
  13560. 52: {
  13561. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13562. Flanguage_id: uint16(m_TT_MAC_LANGID_ARMENIAN),
  13563. Flang: [8]uint8{'h', 'y'},
  13564. },
  13565. 53: {
  13566. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13567. Flanguage_id: uint16(m_TT_MAC_LANGID_GEORGIAN),
  13568. Flang: [8]uint8{'k', 'a'},
  13569. },
  13570. 54: {
  13571. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13572. Flanguage_id: uint16(m_TT_MAC_LANGID_MOLDAVIAN),
  13573. Flang: [8]uint8{'m', 'o'},
  13574. },
  13575. 55: {
  13576. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13577. Flanguage_id: uint16(m_TT_MAC_LANGID_KIRGHIZ),
  13578. Flang: [8]uint8{'k', 'y'},
  13579. },
  13580. 56: {
  13581. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13582. Flanguage_id: uint16(m_TT_MAC_LANGID_TAJIKI),
  13583. Flang: [8]uint8{'t', 'g'},
  13584. },
  13585. 57: {
  13586. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13587. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKMEN),
  13588. Flang: [8]uint8{'t', 'k'},
  13589. },
  13590. 58: {
  13591. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13592. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN),
  13593. Flang: [8]uint8{'m', 'o'},
  13594. },
  13595. 59: {
  13596. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13597. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT),
  13598. Flang: [8]uint8{'m', 'o'},
  13599. },
  13600. 60: {
  13601. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13602. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT),
  13603. Flang: [8]uint8{'m', 'o'},
  13604. },
  13605. 61: {
  13606. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13607. Flanguage_id: uint16(m_TT_MAC_LANGID_PASHTO),
  13608. Flang: [8]uint8{'p', 's'},
  13609. },
  13610. 62: {
  13611. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13612. Flanguage_id: uint16(m_TT_MAC_LANGID_KURDISH),
  13613. Flang: [8]uint8{'k', 'u'},
  13614. },
  13615. 63: {
  13616. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13617. Flanguage_id: uint16(m_TT_MAC_LANGID_KASHMIRI),
  13618. Flang: [8]uint8{'k', 's'},
  13619. },
  13620. 64: {
  13621. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13622. Flanguage_id: uint16(m_TT_MAC_LANGID_SINDHI),
  13623. Flang: [8]uint8{'s', 'd'},
  13624. },
  13625. 65: {
  13626. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13627. Flanguage_id: uint16(m_TT_MAC_LANGID_TIBETAN),
  13628. Flang: [8]uint8{'b', 'o'},
  13629. },
  13630. 66: {
  13631. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13632. Flanguage_id: uint16(m_TT_MAC_LANGID_NEPALI),
  13633. Flang: [8]uint8{'n', 'e'},
  13634. },
  13635. 67: {
  13636. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13637. Flanguage_id: uint16(m_TT_MAC_LANGID_SANSKRIT),
  13638. Flang: [8]uint8{'s', 'a'},
  13639. },
  13640. 68: {
  13641. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13642. Flanguage_id: uint16(m_TT_MAC_LANGID_MARATHI),
  13643. Flang: [8]uint8{'m', 'r'},
  13644. },
  13645. 69: {
  13646. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13647. Flanguage_id: uint16(m_TT_MAC_LANGID_BENGALI),
  13648. Flang: [8]uint8{'b', 'n'},
  13649. },
  13650. 70: {
  13651. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13652. Flanguage_id: uint16(m_TT_MAC_LANGID_ASSAMESE),
  13653. Flang: [8]uint8{'a', 's'},
  13654. },
  13655. 71: {
  13656. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13657. Flanguage_id: uint16(m_TT_MAC_LANGID_GUJARATI),
  13658. Flang: [8]uint8{'g', 'u'},
  13659. },
  13660. 72: {
  13661. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13662. Flanguage_id: uint16(m_TT_MAC_LANGID_PUNJABI),
  13663. Flang: [8]uint8{'p', 'a'},
  13664. },
  13665. 73: {
  13666. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13667. Flanguage_id: uint16(m_TT_MAC_LANGID_ORIYA),
  13668. Flang: [8]uint8{'o', 'r'},
  13669. },
  13670. 74: {
  13671. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13672. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAYALAM),
  13673. Flang: [8]uint8{'m', 'l'},
  13674. },
  13675. 75: {
  13676. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13677. Flanguage_id: uint16(m_TT_MAC_LANGID_KANNADA),
  13678. Flang: [8]uint8{'k', 'n'},
  13679. },
  13680. 76: {
  13681. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13682. Flanguage_id: uint16(m_TT_MAC_LANGID_TAMIL),
  13683. Flang: [8]uint8{'t', 'a'},
  13684. },
  13685. 77: {
  13686. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13687. Flanguage_id: uint16(m_TT_MAC_LANGID_TELUGU),
  13688. Flang: [8]uint8{'t', 'e'},
  13689. },
  13690. 78: {
  13691. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13692. Flanguage_id: uint16(m_TT_MAC_LANGID_SINHALESE),
  13693. Flang: [8]uint8{'s', 'i'},
  13694. },
  13695. 79: {
  13696. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13697. Flanguage_id: uint16(m_TT_MAC_LANGID_BURMESE),
  13698. Flang: [8]uint8{'m', 'y'},
  13699. },
  13700. 80: {
  13701. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13702. Flanguage_id: uint16(m_TT_MAC_LANGID_KHMER),
  13703. Flang: [8]uint8{'k', 'm'},
  13704. },
  13705. 81: {
  13706. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13707. Flanguage_id: uint16(m_TT_MAC_LANGID_LAO),
  13708. Flang: [8]uint8{'l', 'o'},
  13709. },
  13710. 82: {
  13711. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13712. Flanguage_id: uint16(m_TT_MAC_LANGID_VIETNAMESE),
  13713. Flang: [8]uint8{'v', 'i'},
  13714. },
  13715. 83: {
  13716. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13717. Flanguage_id: uint16(m_TT_MAC_LANGID_INDONESIAN),
  13718. Flang: [8]uint8{'i', 'd'},
  13719. },
  13720. 84: {
  13721. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13722. Flanguage_id: uint16(m_TT_MAC_LANGID_TAGALOG),
  13723. Flang: [8]uint8{'t', 'l'},
  13724. },
  13725. 85: {
  13726. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13727. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT),
  13728. Flang: [8]uint8{'m', 's'},
  13729. },
  13730. 86: {
  13731. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13732. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT),
  13733. Flang: [8]uint8{'m', 's'},
  13734. },
  13735. 87: {
  13736. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13737. Flanguage_id: uint16(m_TT_MAC_LANGID_AMHARIC),
  13738. Flang: [8]uint8{'a', 'm'},
  13739. },
  13740. 88: {
  13741. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13742. Flanguage_id: uint16(m_TT_MAC_LANGID_TIGRINYA),
  13743. Flang: [8]uint8{'t', 'i'},
  13744. },
  13745. 89: {
  13746. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13747. Flanguage_id: uint16(m_TT_MAC_LANGID_GALLA),
  13748. Flang: [8]uint8{'o', 'm'},
  13749. },
  13750. 90: {
  13751. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13752. Flanguage_id: uint16(m_TT_MAC_LANGID_SOMALI),
  13753. Flang: [8]uint8{'s', 'o'},
  13754. },
  13755. 91: {
  13756. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13757. Flanguage_id: uint16(m_TT_MAC_LANGID_SWAHILI),
  13758. Flang: [8]uint8{'s', 'w'},
  13759. },
  13760. 92: {
  13761. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13762. Flanguage_id: uint16(m_TT_MAC_LANGID_RUANDA),
  13763. Flang: [8]uint8{'r', 'w'},
  13764. },
  13765. 93: {
  13766. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13767. Flanguage_id: uint16(m_TT_MAC_LANGID_RUNDI),
  13768. Flang: [8]uint8{'r', 'n'},
  13769. },
  13770. 94: {
  13771. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13772. Flanguage_id: uint16(m_TT_MAC_LANGID_CHEWA),
  13773. Flang: [8]uint8{'n', 'y'},
  13774. },
  13775. 95: {
  13776. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13777. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAGASY),
  13778. Flang: [8]uint8{'m', 'g'},
  13779. },
  13780. 96: {
  13781. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13782. Flanguage_id: uint16(m_TT_MAC_LANGID_ESPERANTO),
  13783. Flang: [8]uint8{'e', 'o'},
  13784. },
  13785. 97: {
  13786. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13787. Flanguage_id: uint16(m_TT_MAC_LANGID_WELSH),
  13788. Flang: [8]uint8{'c', 'y'},
  13789. },
  13790. 98: {
  13791. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13792. Flanguage_id: uint16(m_TT_MAC_LANGID_BASQUE),
  13793. Flang: [8]uint8{'e', 'u'},
  13794. },
  13795. 99: {
  13796. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13797. Flanguage_id: uint16(m_TT_MAC_LANGID_CATALAN),
  13798. Flang: [8]uint8{'c', 'a'},
  13799. },
  13800. 100: {
  13801. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13802. Flanguage_id: uint16(m_TT_MAC_LANGID_LATIN),
  13803. Flang: [8]uint8{'l', 'a'},
  13804. },
  13805. 101: {
  13806. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13807. Flanguage_id: uint16(m_TT_MAC_LANGID_QUECHUA),
  13808. Flang: [8]uint8{'q', 'u'},
  13809. },
  13810. 102: {
  13811. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13812. Flanguage_id: uint16(m_TT_MAC_LANGID_GUARANI),
  13813. Flang: [8]uint8{'g', 'n'},
  13814. },
  13815. 103: {
  13816. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13817. Flanguage_id: uint16(m_TT_MAC_LANGID_AYMARA),
  13818. Flang: [8]uint8{'a', 'y'},
  13819. },
  13820. 104: {
  13821. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13822. Flanguage_id: uint16(m_TT_MAC_LANGID_TATAR),
  13823. Flang: [8]uint8{'t', 't'},
  13824. },
  13825. 105: {
  13826. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13827. Flanguage_id: uint16(m_TT_MAC_LANGID_UIGHUR),
  13828. Flang: [8]uint8{'u', 'g'},
  13829. },
  13830. 106: {
  13831. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13832. Flanguage_id: uint16(m_TT_MAC_LANGID_DZONGKHA),
  13833. Flang: [8]uint8{'d', 'z'},
  13834. },
  13835. 107: {
  13836. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13837. Flanguage_id: uint16(m_TT_MAC_LANGID_JAVANESE),
  13838. Flang: [8]uint8{'j', 'w'},
  13839. },
  13840. 108: {
  13841. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13842. Flanguage_id: uint16(m_TT_MAC_LANGID_SUNDANESE),
  13843. Flang: [8]uint8{'s', 'u'},
  13844. },
  13845. 109: {
  13846. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13847. Flanguage_id: uint16(m_TT_MAC_LANGID_GALICIAN),
  13848. Flang: [8]uint8{'g', 'l'},
  13849. },
  13850. 110: {
  13851. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13852. Flanguage_id: uint16(m_TT_MAC_LANGID_AFRIKAANS),
  13853. Flang: [8]uint8{'a', 'f'},
  13854. },
  13855. 111: {
  13856. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13857. Flanguage_id: uint16(m_TT_MAC_LANGID_BRETON),
  13858. Flang: [8]uint8{'b', 'r'},
  13859. },
  13860. 112: {
  13861. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13862. Flanguage_id: uint16(m_TT_MAC_LANGID_INUKTITUT),
  13863. Flang: [8]uint8{'i', 'u'},
  13864. },
  13865. 113: {
  13866. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13867. Flanguage_id: uint16(m_TT_MAC_LANGID_SCOTTISH_GAELIC),
  13868. Flang: [8]uint8{'g', 'd'},
  13869. },
  13870. 114: {
  13871. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13872. Flanguage_id: uint16(m_TT_MAC_LANGID_MANX_GAELIC),
  13873. Flang: [8]uint8{'g', 'v'},
  13874. },
  13875. 115: {
  13876. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13877. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH_GAELIC),
  13878. Flang: [8]uint8{'g', 'a'},
  13879. },
  13880. 116: {
  13881. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13882. Flanguage_id: uint16(m_TT_MAC_LANGID_TONGAN),
  13883. Flang: [8]uint8{'t', 'o'},
  13884. },
  13885. 117: {
  13886. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13887. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK_POLYTONIC),
  13888. Flang: [8]uint8{'e', 'l'},
  13889. },
  13890. 118: {
  13891. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13892. Flanguage_id: uint16(m_TT_MAC_LANGID_GREELANDIC),
  13893. Flang: [8]uint8{'i', 'k'},
  13894. },
  13895. 119: {
  13896. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13897. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT),
  13898. Flang: [8]uint8{'a', 'z'},
  13899. },
  13900. 120: {
  13901. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13902. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA),
  13903. Flang: [8]uint8{'a', 'r'},
  13904. },
  13905. 121: {
  13906. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13907. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_IRAQ),
  13908. Flang: [8]uint8{'a', 'r'},
  13909. },
  13910. 122: {
  13911. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13912. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_EGYPT),
  13913. Flang: [8]uint8{'a', 'r'},
  13914. },
  13915. 123: {
  13916. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13917. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LIBYA),
  13918. Flang: [8]uint8{'a', 'r'},
  13919. },
  13920. 124: {
  13921. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13922. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_ALGERIA),
  13923. Flang: [8]uint8{'a', 'r'},
  13924. },
  13925. 125: {
  13926. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13927. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_MOROCCO),
  13928. Flang: [8]uint8{'a', 'r'},
  13929. },
  13930. 126: {
  13931. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13932. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_TUNISIA),
  13933. Flang: [8]uint8{'a', 'r'},
  13934. },
  13935. 127: {
  13936. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13937. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_OMAN),
  13938. Flang: [8]uint8{'a', 'r'},
  13939. },
  13940. 128: {
  13941. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13942. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_YEMEN),
  13943. Flang: [8]uint8{'a', 'r'},
  13944. },
  13945. 129: {
  13946. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13947. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SYRIA),
  13948. Flang: [8]uint8{'a', 'r'},
  13949. },
  13950. 130: {
  13951. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13952. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_JORDAN),
  13953. Flang: [8]uint8{'a', 'r'},
  13954. },
  13955. 131: {
  13956. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13957. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LEBANON),
  13958. Flang: [8]uint8{'a', 'r'},
  13959. },
  13960. 132: {
  13961. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13962. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_KUWAIT),
  13963. Flang: [8]uint8{'a', 'r'},
  13964. },
  13965. 133: {
  13966. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13967. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_UAE),
  13968. Flang: [8]uint8{'a', 'r'},
  13969. },
  13970. 134: {
  13971. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13972. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_BAHRAIN),
  13973. Flang: [8]uint8{'a', 'r'},
  13974. },
  13975. 135: {
  13976. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13977. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_QATAR),
  13978. Flang: [8]uint8{'a', 'r'},
  13979. },
  13980. 136: {
  13981. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13982. Flanguage_id: uint16(m_TT_MS_LANGID_BULGARIAN_BULGARIA),
  13983. Flang: [8]uint8{'b', 'g'},
  13984. },
  13985. 137: {
  13986. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13987. Flanguage_id: uint16(m_TT_MS_LANGID_CATALAN_CATALAN),
  13988. Flang: [8]uint8{'c', 'a'},
  13989. },
  13990. 138: {
  13991. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13992. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_TAIWAN),
  13993. Flang: [8]uint8{'z', 'h', '-', 't', 'w'},
  13994. },
  13995. 139: {
  13996. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13997. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_PRC),
  13998. Flang: [8]uint8{'z', 'h', '-', 'c', 'n'},
  13999. },
  14000. 140: {
  14001. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14002. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_HONG_KONG),
  14003. Flang: [8]uint8{'z', 'h', '-', 'h', 'k'},
  14004. },
  14005. 141: {
  14006. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14007. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_SINGAPORE),
  14008. Flang: [8]uint8{'z', 'h', '-', 's', 'g'},
  14009. },
  14010. 142: {
  14011. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14012. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_MACAO),
  14013. Flang: [8]uint8{'z', 'h', '-', 'm', 'o'},
  14014. },
  14015. 143: {
  14016. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14017. Flanguage_id: uint16(m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC),
  14018. Flang: [8]uint8{'c', 's'},
  14019. },
  14020. 144: {
  14021. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14022. Flanguage_id: uint16(m_TT_MS_LANGID_DANISH_DENMARK),
  14023. Flang: [8]uint8{'d', 'a'},
  14024. },
  14025. 145: {
  14026. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14027. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_GERMANY),
  14028. Flang: [8]uint8{'d', 'e'},
  14029. },
  14030. 146: {
  14031. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14032. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_SWITZERLAND),
  14033. Flang: [8]uint8{'d', 'e'},
  14034. },
  14035. 147: {
  14036. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14037. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_AUSTRIA),
  14038. Flang: [8]uint8{'d', 'e'},
  14039. },
  14040. 148: {
  14041. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14042. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LUXEMBOURG),
  14043. Flang: [8]uint8{'d', 'e'},
  14044. },
  14045. 149: {
  14046. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14047. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN),
  14048. Flang: [8]uint8{'d', 'e'},
  14049. },
  14050. 150: {
  14051. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14052. Flanguage_id: uint16(m_TT_MS_LANGID_GREEK_GREECE),
  14053. Flang: [8]uint8{'e', 'l'},
  14054. },
  14055. 151: {
  14056. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14057. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  14058. Flang: [8]uint8{'e', 'n'},
  14059. },
  14060. 152: {
  14061. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14062. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM),
  14063. Flang: [8]uint8{'e', 'n'},
  14064. },
  14065. 153: {
  14066. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14067. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_AUSTRALIA),
  14068. Flang: [8]uint8{'e', 'n'},
  14069. },
  14070. 154: {
  14071. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14072. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CANADA),
  14073. Flang: [8]uint8{'e', 'n'},
  14074. },
  14075. 155: {
  14076. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14077. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND),
  14078. Flang: [8]uint8{'e', 'n'},
  14079. },
  14080. 156: {
  14081. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14082. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_IRELAND),
  14083. Flang: [8]uint8{'e', 'n'},
  14084. },
  14085. 157: {
  14086. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14087. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA),
  14088. Flang: [8]uint8{'e', 'n'},
  14089. },
  14090. 158: {
  14091. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14092. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_JAMAICA),
  14093. Flang: [8]uint8{'e', 'n'},
  14094. },
  14095. 159: {
  14096. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14097. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CARIBBEAN),
  14098. Flang: [8]uint8{'e', 'n'},
  14099. },
  14100. 160: {
  14101. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14102. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_BELIZE),
  14103. Flang: [8]uint8{'e', 'n'},
  14104. },
  14105. 161: {
  14106. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14107. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_TRINIDAD),
  14108. Flang: [8]uint8{'e', 'n'},
  14109. },
  14110. 162: {
  14111. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14112. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_ZIMBABWE),
  14113. Flang: [8]uint8{'e', 'n'},
  14114. },
  14115. 163: {
  14116. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14117. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_PHILIPPINES),
  14118. Flang: [8]uint8{'e', 'n'},
  14119. },
  14120. 164: {
  14121. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14122. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT),
  14123. Flang: [8]uint8{'e', 's'},
  14124. },
  14125. 165: {
  14126. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14127. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_MEXICO),
  14128. Flang: [8]uint8{'e', 's'},
  14129. },
  14130. 166: {
  14131. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14132. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT),
  14133. Flang: [8]uint8{'e', 's'},
  14134. },
  14135. 167: {
  14136. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14137. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_GUATEMALA),
  14138. Flang: [8]uint8{'e', 's'},
  14139. },
  14140. 168: {
  14141. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14142. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COSTA_RICA),
  14143. Flang: [8]uint8{'e', 's'},
  14144. },
  14145. 169: {
  14146. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14147. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PANAMA),
  14148. Flang: [8]uint8{'e', 's'},
  14149. },
  14150. 170: {
  14151. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14152. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC),
  14153. Flang: [8]uint8{'e', 's'},
  14154. },
  14155. 171: {
  14156. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14157. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_VENEZUELA),
  14158. Flang: [8]uint8{'e', 's'},
  14159. },
  14160. 172: {
  14161. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14162. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COLOMBIA),
  14163. Flang: [8]uint8{'e', 's'},
  14164. },
  14165. 173: {
  14166. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14167. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PERU),
  14168. Flang: [8]uint8{'e', 's'},
  14169. },
  14170. 174: {
  14171. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14172. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ARGENTINA),
  14173. Flang: [8]uint8{'e', 's'},
  14174. },
  14175. 175: {
  14176. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14177. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ECUADOR),
  14178. Flang: [8]uint8{'e', 's'},
  14179. },
  14180. 176: {
  14181. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14182. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_CHILE),
  14183. Flang: [8]uint8{'e', 's'},
  14184. },
  14185. 177: {
  14186. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14187. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_URUGUAY),
  14188. Flang: [8]uint8{'e', 's'},
  14189. },
  14190. 178: {
  14191. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14192. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PARAGUAY),
  14193. Flang: [8]uint8{'e', 's'},
  14194. },
  14195. 179: {
  14196. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14197. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_BOLIVIA),
  14198. Flang: [8]uint8{'e', 's'},
  14199. },
  14200. 180: {
  14201. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14202. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_EL_SALVADOR),
  14203. Flang: [8]uint8{'e', 's'},
  14204. },
  14205. 181: {
  14206. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14207. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_HONDURAS),
  14208. Flang: [8]uint8{'e', 's'},
  14209. },
  14210. 182: {
  14211. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14212. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_NICARAGUA),
  14213. Flang: [8]uint8{'e', 's'},
  14214. },
  14215. 183: {
  14216. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14217. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PUERTO_RICO),
  14218. Flang: [8]uint8{'e', 's'},
  14219. },
  14220. 184: {
  14221. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14222. Flanguage_id: uint16(m_TT_MS_LANGID_FINNISH_FINLAND),
  14223. Flang: [8]uint8{'f', 'i'},
  14224. },
  14225. 185: {
  14226. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14227. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_FRANCE),
  14228. Flang: [8]uint8{'f', 'r'},
  14229. },
  14230. 186: {
  14231. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14232. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_BELGIUM),
  14233. Flang: [8]uint8{'f', 'r'},
  14234. },
  14235. 187: {
  14236. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14237. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CANADA),
  14238. Flang: [8]uint8{'f', 'r'},
  14239. },
  14240. 188: {
  14241. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14242. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SWITZERLAND),
  14243. Flang: [8]uint8{'f', 'r'},
  14244. },
  14245. 189: {
  14246. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14247. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_LUXEMBOURG),
  14248. Flang: [8]uint8{'f', 'r'},
  14249. },
  14250. 190: {
  14251. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14252. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MONACO),
  14253. Flang: [8]uint8{'f', 'r'},
  14254. },
  14255. 191: {
  14256. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14257. Flanguage_id: uint16(m_TT_MS_LANGID_HEBREW_ISRAEL),
  14258. Flang: [8]uint8{'h', 'e'},
  14259. },
  14260. 192: {
  14261. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14262. Flanguage_id: uint16(m_TT_MS_LANGID_HUNGARIAN_HUNGARY),
  14263. Flang: [8]uint8{'h', 'u'},
  14264. },
  14265. 193: {
  14266. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14267. Flanguage_id: uint16(m_TT_MS_LANGID_ICELANDIC_ICELAND),
  14268. Flang: [8]uint8{'i', 's'},
  14269. },
  14270. 194: {
  14271. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14272. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_ITALY),
  14273. Flang: [8]uint8{'i', 't'},
  14274. },
  14275. 195: {
  14276. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14277. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_SWITZERLAND),
  14278. Flang: [8]uint8{'i', 't'},
  14279. },
  14280. 196: {
  14281. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14282. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  14283. Flang: [8]uint8{'j', 'a'},
  14284. },
  14285. 197: {
  14286. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14287. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_KOREA),
  14288. Flang: [8]uint8{'k', 'o'},
  14289. },
  14290. 198: {
  14291. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14292. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_JOHAB_KOREA),
  14293. Flang: [8]uint8{'k', 'o'},
  14294. },
  14295. 199: {
  14296. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14297. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_NETHERLANDS),
  14298. Flang: [8]uint8{'n', 'l'},
  14299. },
  14300. 200: {
  14301. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14302. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_BELGIUM),
  14303. Flang: [8]uint8{'n', 'l'},
  14304. },
  14305. 201: {
  14306. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14307. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL),
  14308. Flang: [8]uint8{'n', 'o'},
  14309. },
  14310. 202: {
  14311. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14312. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK),
  14313. Flang: [8]uint8{'n', 'n'},
  14314. },
  14315. 203: {
  14316. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14317. Flanguage_id: uint16(m_TT_MS_LANGID_POLISH_POLAND),
  14318. Flang: [8]uint8{'p', 'l'},
  14319. },
  14320. 204: {
  14321. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14322. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_BRAZIL),
  14323. Flang: [8]uint8{'p', 't'},
  14324. },
  14325. 205: {
  14326. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14327. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_PORTUGAL),
  14328. Flang: [8]uint8{'p', 't'},
  14329. },
  14330. 206: {
  14331. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14332. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANSH_SWITZERLAND),
  14333. Flang: [8]uint8{'r', 'm'},
  14334. },
  14335. 207: {
  14336. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14337. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANIAN_ROMANIA),
  14338. Flang: [8]uint8{'r', 'o'},
  14339. },
  14340. 208: {
  14341. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14342. Flanguage_id: uint16(m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA),
  14343. Flang: [8]uint8{'m', 'o'},
  14344. },
  14345. 209: {
  14346. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14347. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_RUSSIA),
  14348. Flang: [8]uint8{'r', 'u'},
  14349. },
  14350. 210: {
  14351. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14352. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_MOLDAVIA),
  14353. Flang: [8]uint8{'r', 'u'},
  14354. },
  14355. 211: {
  14356. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14357. Flanguage_id: uint16(m_TT_MS_LANGID_CROATIAN_CROATIA),
  14358. Flang: [8]uint8{'h', 'r'},
  14359. },
  14360. 212: {
  14361. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14362. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN),
  14363. Flang: [8]uint8{'s', 'r'},
  14364. },
  14365. 213: {
  14366. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14367. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC),
  14368. Flang: [8]uint8{'s', 'r'},
  14369. },
  14370. 214: {
  14371. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14372. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVAK_SLOVAKIA),
  14373. Flang: [8]uint8{'s', 'k'},
  14374. },
  14375. 215: {
  14376. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14377. Flanguage_id: uint16(m_TT_MS_LANGID_ALBANIAN_ALBANIA),
  14378. Flang: [8]uint8{'s', 'q'},
  14379. },
  14380. 216: {
  14381. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14382. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_SWEDEN),
  14383. Flang: [8]uint8{'s', 'v'},
  14384. },
  14385. 217: {
  14386. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14387. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_FINLAND),
  14388. Flang: [8]uint8{'s', 'v'},
  14389. },
  14390. 218: {
  14391. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14392. Flanguage_id: uint16(m_TT_MS_LANGID_THAI_THAILAND),
  14393. Flang: [8]uint8{'t', 'h'},
  14394. },
  14395. 219: {
  14396. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14397. Flanguage_id: uint16(m_TT_MS_LANGID_TURKISH_TURKEY),
  14398. Flang: [8]uint8{'t', 'r'},
  14399. },
  14400. 220: {
  14401. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14402. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_PAKISTAN),
  14403. Flang: [8]uint8{'u', 'r'},
  14404. },
  14405. 221: {
  14406. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14407. Flanguage_id: uint16(m_TT_MS_LANGID_INDONESIAN_INDONESIA),
  14408. Flang: [8]uint8{'i', 'd'},
  14409. },
  14410. 222: {
  14411. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14412. Flanguage_id: uint16(m_TT_MS_LANGID_UKRAINIAN_UKRAINE),
  14413. Flang: [8]uint8{'u', 'k'},
  14414. },
  14415. 223: {
  14416. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14417. Flanguage_id: uint16(m_TT_MS_LANGID_BELARUSIAN_BELARUS),
  14418. Flang: [8]uint8{'b', 'e'},
  14419. },
  14420. 224: {
  14421. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14422. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVENIAN_SLOVENIA),
  14423. Flang: [8]uint8{'s', 'l'},
  14424. },
  14425. 225: {
  14426. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14427. Flanguage_id: uint16(m_TT_MS_LANGID_ESTONIAN_ESTONIA),
  14428. Flang: [8]uint8{'e', 't'},
  14429. },
  14430. 226: {
  14431. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14432. Flanguage_id: uint16(m_TT_MS_LANGID_LATVIAN_LATVIA),
  14433. Flang: [8]uint8{'l', 'v'},
  14434. },
  14435. 227: {
  14436. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14437. Flanguage_id: uint16(m_TT_MS_LANGID_LITHUANIAN_LITHUANIA),
  14438. Flang: [8]uint8{'l', 't'},
  14439. },
  14440. 228: {
  14441. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14442. Flanguage_id: uint16(m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA),
  14443. Flang: [8]uint8{'l', 't'},
  14444. },
  14445. 229: {
  14446. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14447. Flanguage_id: uint16(m_TT_MS_LANGID_MAORI_NEW_ZEALAND),
  14448. Flang: [8]uint8{'m', 'i'},
  14449. },
  14450. 230: {
  14451. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14452. Flanguage_id: uint16(m_TT_MS_LANGID_FARSI_IRAN),
  14453. Flang: [8]uint8{'f', 'a'},
  14454. },
  14455. 231: {
  14456. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14457. Flanguage_id: uint16(m_TT_MS_LANGID_VIETNAMESE_VIET_NAM),
  14458. Flang: [8]uint8{'v', 'i'},
  14459. },
  14460. 232: {
  14461. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14462. Flanguage_id: uint16(m_TT_MS_LANGID_ARMENIAN_ARMENIA),
  14463. Flang: [8]uint8{'h', 'y'},
  14464. },
  14465. 233: {
  14466. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14467. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN),
  14468. Flang: [8]uint8{'a', 'z'},
  14469. },
  14470. 234: {
  14471. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14472. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC),
  14473. Flang: [8]uint8{'a', 'z'},
  14474. },
  14475. 235: {
  14476. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14477. Flanguage_id: uint16(m_TT_MS_LANGID_BASQUE_BASQUE),
  14478. Flang: [8]uint8{'e', 'u'},
  14479. },
  14480. 236: {
  14481. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14482. Flanguage_id: uint16(m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY),
  14483. Flang: [8]uint8{'w', 'e', 'n'},
  14484. },
  14485. 237: {
  14486. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14487. Flanguage_id: uint16(m_TT_MS_LANGID_MACEDONIAN_MACEDONIA),
  14488. Flang: [8]uint8{'m', 'k'},
  14489. },
  14490. 238: {
  14491. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14492. Flanguage_id: uint16(m_TT_MS_LANGID_SUTU_SOUTH_AFRICA),
  14493. Flang: [8]uint8{'s', 't'},
  14494. },
  14495. 239: {
  14496. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14497. Flanguage_id: uint16(m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA),
  14498. Flang: [8]uint8{'t', 's'},
  14499. },
  14500. 240: {
  14501. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14502. Flanguage_id: uint16(m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA),
  14503. Flang: [8]uint8{'t', 'n'},
  14504. },
  14505. 241: {
  14506. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14507. Flanguage_id: uint16(m_TT_MS_LANGID_VENDA_SOUTH_AFRICA),
  14508. Flang: [8]uint8{'v', 'e', 'n'},
  14509. },
  14510. 242: {
  14511. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14512. Flanguage_id: uint16(m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA),
  14513. Flang: [8]uint8{'x', 'h'},
  14514. },
  14515. 243: {
  14516. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14517. Flanguage_id: uint16(m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA),
  14518. Flang: [8]uint8{'z', 'u'},
  14519. },
  14520. 244: {
  14521. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14522. Flanguage_id: uint16(m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA),
  14523. Flang: [8]uint8{'a', 'f'},
  14524. },
  14525. 245: {
  14526. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14527. Flanguage_id: uint16(m_TT_MS_LANGID_GEORGIAN_GEORGIA),
  14528. Flang: [8]uint8{'k', 'a'},
  14529. },
  14530. 246: {
  14531. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14532. Flanguage_id: uint16(m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS),
  14533. Flang: [8]uint8{'f', 'o'},
  14534. },
  14535. 247: {
  14536. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14537. Flanguage_id: uint16(m_TT_MS_LANGID_HINDI_INDIA),
  14538. Flang: [8]uint8{'h', 'i'},
  14539. },
  14540. 248: {
  14541. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14542. Flanguage_id: uint16(m_TT_MS_LANGID_MALTESE_MALTA),
  14543. Flang: [8]uint8{'m', 't'},
  14544. },
  14545. 249: {
  14546. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14547. Flanguage_id: uint16(m_TT_MS_LANGID_SAAMI_LAPONIA),
  14548. Flang: [8]uint8{'s', 'e'},
  14549. },
  14550. 250: {
  14551. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14552. Flanguage_id: uint16(m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM),
  14553. Flang: [8]uint8{'g', 'd'},
  14554. },
  14555. 251: {
  14556. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14557. Flanguage_id: uint16(m_TT_MS_LANGID_IRISH_GAELIC_IRELAND),
  14558. Flang: [8]uint8{'g', 'a'},
  14559. },
  14560. 252: {
  14561. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14562. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_MALAYSIA),
  14563. Flang: [8]uint8{'m', 's'},
  14564. },
  14565. 253: {
  14566. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14567. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM),
  14568. Flang: [8]uint8{'m', 's'},
  14569. },
  14570. 254: {
  14571. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14572. Flanguage_id: uint16(m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN),
  14573. Flang: [8]uint8{'k', 'k'},
  14574. },
  14575. 255: {
  14576. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14577. Flanguage_id: uint16(m_TT_MS_LANGID_KISWAHILI_KENYA),
  14578. Flang: [8]uint8{'s', 'w'},
  14579. },
  14580. 256: {
  14581. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14582. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN),
  14583. Flang: [8]uint8{'u', 'z'},
  14584. },
  14585. 257: {
  14586. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14587. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC),
  14588. Flang: [8]uint8{'u', 'z'},
  14589. },
  14590. 258: {
  14591. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14592. Flanguage_id: uint16(m_TT_MS_LANGID_TATAR_RUSSIA),
  14593. Flang: [8]uint8{'t', 't'},
  14594. },
  14595. 259: {
  14596. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14597. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_INDIA),
  14598. Flang: [8]uint8{'b', 'n'},
  14599. },
  14600. 260: {
  14601. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14602. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_INDIA),
  14603. Flang: [8]uint8{'p', 'a'},
  14604. },
  14605. 261: {
  14606. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14607. Flanguage_id: uint16(m_TT_MS_LANGID_GUJARATI_INDIA),
  14608. Flang: [8]uint8{'g', 'u'},
  14609. },
  14610. 262: {
  14611. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14612. Flanguage_id: uint16(m_TT_MS_LANGID_ODIA_INDIA),
  14613. Flang: [8]uint8{'o', 'r'},
  14614. },
  14615. 263: {
  14616. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14617. Flanguage_id: uint16(m_TT_MS_LANGID_TAMIL_INDIA),
  14618. Flang: [8]uint8{'t', 'a'},
  14619. },
  14620. 264: {
  14621. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14622. Flanguage_id: uint16(m_TT_MS_LANGID_TELUGU_INDIA),
  14623. Flang: [8]uint8{'t', 'e'},
  14624. },
  14625. 265: {
  14626. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14627. Flanguage_id: uint16(m_TT_MS_LANGID_KANNADA_INDIA),
  14628. Flang: [8]uint8{'k', 'n'},
  14629. },
  14630. 266: {
  14631. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14632. Flanguage_id: uint16(m_TT_MS_LANGID_MALAYALAM_INDIA),
  14633. Flang: [8]uint8{'m', 'l'},
  14634. },
  14635. 267: {
  14636. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14637. Flanguage_id: uint16(m_TT_MS_LANGID_ASSAMESE_INDIA),
  14638. Flang: [8]uint8{'a', 's'},
  14639. },
  14640. 268: {
  14641. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14642. Flanguage_id: uint16(m_TT_MS_LANGID_MARATHI_INDIA),
  14643. Flang: [8]uint8{'m', 'r'},
  14644. },
  14645. 269: {
  14646. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14647. Flanguage_id: uint16(m_TT_MS_LANGID_SANSKRIT_INDIA),
  14648. Flang: [8]uint8{'s', 'a'},
  14649. },
  14650. 270: {
  14651. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14652. Flanguage_id: uint16(m_TT_MS_LANGID_KONKANI_INDIA),
  14653. Flang: [8]uint8{'k', 'o', 'k'},
  14654. },
  14655. 271: {
  14656. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14657. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_GENERAL),
  14658. Flang: [8]uint8{'a', 'r'},
  14659. },
  14660. 272: {
  14661. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14662. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_GENERAL),
  14663. Flang: [8]uint8{'z', 'h'},
  14664. },
  14665. 273: {
  14666. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14667. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_GENERAL),
  14668. Flang: [8]uint8{'e', 'n'},
  14669. },
  14670. 274: {
  14671. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14672. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_WEST_INDIES),
  14673. Flang: [8]uint8{'f', 'r'},
  14674. },
  14675. 275: {
  14676. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14677. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_REUNION),
  14678. Flang: [8]uint8{'f', 'r'},
  14679. },
  14680. 276: {
  14681. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14682. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CONGO),
  14683. Flang: [8]uint8{'f', 'r'},
  14684. },
  14685. 277: {
  14686. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14687. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SENEGAL),
  14688. Flang: [8]uint8{'f', 'r'},
  14689. },
  14690. 278: {
  14691. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14692. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CAMEROON),
  14693. Flang: [8]uint8{'f', 'r'},
  14694. },
  14695. 279: {
  14696. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14697. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE),
  14698. Flang: [8]uint8{'f', 'r'},
  14699. },
  14700. 280: {
  14701. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14702. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MALI),
  14703. Flang: [8]uint8{'f', 'r'},
  14704. },
  14705. 281: {
  14706. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14707. Flanguage_id: uint16(m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA),
  14708. Flang: [8]uint8{'b', 's'},
  14709. },
  14710. 282: {
  14711. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14712. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_INDIA),
  14713. Flang: [8]uint8{'u', 'r'},
  14714. },
  14715. 283: {
  14716. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14717. Flanguage_id: uint16(m_TT_MS_LANGID_TAJIK_TAJIKISTAN),
  14718. Flang: [8]uint8{'t', 'g'},
  14719. },
  14720. 284: {
  14721. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14722. Flanguage_id: uint16(m_TT_MS_LANGID_YIDDISH_GERMANY),
  14723. Flang: [8]uint8{'y', 'i'},
  14724. },
  14725. 285: {
  14726. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14727. Flanguage_id: uint16(m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN),
  14728. Flang: [8]uint8{'k', 'y'},
  14729. },
  14730. 286: {
  14731. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14732. Flanguage_id: uint16(m_TT_MS_LANGID_TURKMEN_TURKMENISTAN),
  14733. Flang: [8]uint8{'t', 'k'},
  14734. },
  14735. 287: {
  14736. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14737. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_MONGOLIA),
  14738. Flang: [8]uint8{'m', 'n'},
  14739. },
  14740. 288: {
  14741. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14742. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  14743. Flang: [8]uint8{'b', 'o'},
  14744. },
  14745. 289: {
  14746. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14747. Flanguage_id: uint16(m_TT_MS_LANGID_TIBETAN_PRC),
  14748. Flang: [8]uint8{'b', 'o'},
  14749. },
  14750. 290: {
  14751. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14752. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  14753. Flang: [8]uint8{'d', 'z'},
  14754. },
  14755. 291: {
  14756. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14757. Flanguage_id: uint16(m_TT_MS_LANGID_WELSH_UNITED_KINGDOM),
  14758. Flang: [8]uint8{'c', 'y'},
  14759. },
  14760. 292: {
  14761. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14762. Flanguage_id: uint16(m_TT_MS_LANGID_KHMER_CAMBODIA),
  14763. Flang: [8]uint8{'k', 'm'},
  14764. },
  14765. 293: {
  14766. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14767. Flanguage_id: uint16(m_TT_MS_LANGID_LAO_LAOS),
  14768. Flang: [8]uint8{'l', 'o'},
  14769. },
  14770. 294: {
  14771. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14772. Flanguage_id: uint16(m_TT_MS_LANGID_BURMESE_MYANMAR),
  14773. Flang: [8]uint8{'m', 'y'},
  14774. },
  14775. 295: {
  14776. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14777. Flanguage_id: uint16(m_TT_MS_LANGID_GALICIAN_GALICIAN),
  14778. Flang: [8]uint8{'g', 'l'},
  14779. },
  14780. 296: {
  14781. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14782. Flanguage_id: uint16(m_TT_MS_LANGID_MANIPURI_INDIA),
  14783. Flang: [8]uint8{'m', 'n', 'i'},
  14784. },
  14785. 297: {
  14786. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14787. Flanguage_id: uint16(m_TT_MS_LANGID_SINDHI_INDIA),
  14788. Flang: [8]uint8{'s', 'd'},
  14789. },
  14790. 298: {
  14791. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14792. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_PAKISTAN),
  14793. Flang: [8]uint8{'k', 's'},
  14794. },
  14795. 299: {
  14796. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14797. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_SASIA),
  14798. Flang: [8]uint8{'k', 's'},
  14799. },
  14800. 300: {
  14801. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14802. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_NEPAL),
  14803. Flang: [8]uint8{'n', 'e'},
  14804. },
  14805. 301: {
  14806. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14807. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_INDIA),
  14808. Flang: [8]uint8{'n', 'e'},
  14809. },
  14810. 302: {
  14811. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14812. Flanguage_id: uint16(m_TT_MS_LANGID_FRISIAN_NETHERLANDS),
  14813. Flang: [8]uint8{'f', 'y'},
  14814. },
  14815. 303: {
  14816. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14817. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_HONG_KONG),
  14818. Flang: [8]uint8{'e', 'n'},
  14819. },
  14820. 304: {
  14821. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14822. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_INDIA),
  14823. Flang: [8]uint8{'e', 'n'},
  14824. },
  14825. 305: {
  14826. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14827. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_MALAYSIA),
  14828. Flang: [8]uint8{'e', 'n'},
  14829. },
  14830. 306: {
  14831. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14832. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SINGAPORE),
  14833. Flang: [8]uint8{'e', 'n'},
  14834. },
  14835. 307: {
  14836. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14837. Flanguage_id: uint16(m_TT_MS_LANGID_SYRIAC_SYRIA),
  14838. Flang: [8]uint8{'s', 'y', 'r'},
  14839. },
  14840. 308: {
  14841. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14842. Flanguage_id: uint16(m_TT_MS_LANGID_SINHALA_SRI_LANKA),
  14843. Flang: [8]uint8{'s', 'i'},
  14844. },
  14845. 309: {
  14846. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14847. Flanguage_id: uint16(m_TT_MS_LANGID_CHEROKEE_UNITED_STATES),
  14848. Flang: [8]uint8{'c', 'h', 'r'},
  14849. },
  14850. 310: {
  14851. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14852. Flanguage_id: uint16(m_TT_MS_LANGID_INUKTITUT_CANADA),
  14853. Flang: [8]uint8{'i', 'u'},
  14854. },
  14855. 311: {
  14856. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14857. Flanguage_id: uint16(m_TT_MS_LANGID_AMHARIC_ETHIOPIA),
  14858. Flang: [8]uint8{'a', 'm'},
  14859. },
  14860. 312: {
  14861. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14862. Flanguage_id: uint16(m_TT_MS_LANGID_PASHTO_AFGHANISTAN),
  14863. Flang: [8]uint8{'p', 's'},
  14864. },
  14865. 313: {
  14866. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14867. Flanguage_id: uint16(m_TT_MS_LANGID_FILIPINO_PHILIPPINES),
  14868. Flang: [8]uint8{'p', 'h', 'i'},
  14869. },
  14870. 314: {
  14871. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14872. Flanguage_id: uint16(m_TT_MS_LANGID_DHIVEHI_MALDIVES),
  14873. Flang: [8]uint8{'d', 'i', 'v'},
  14874. },
  14875. 315: {
  14876. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14877. Flanguage_id: uint16(m_TT_MS_LANGID_OROMO_ETHIOPIA),
  14878. Flang: [8]uint8{'o', 'm'},
  14879. },
  14880. 316: {
  14881. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14882. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA),
  14883. Flang: [8]uint8{'t', 'i'},
  14884. },
  14885. 317: {
  14886. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14887. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ERYTHREA),
  14888. Flang: [8]uint8{'t', 'i'},
  14889. },
  14890. 318: {
  14891. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14892. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_UNITED_STATES),
  14893. Flang: [8]uint8{'e', 's'},
  14894. },
  14895. 319: {
  14896. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14897. Flanguage_id: uint16(0xE40A),
  14898. Flang: [8]uint8{'e', 's'},
  14899. },
  14900. 320: {
  14901. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14902. Flanguage_id: uint16(0xE40C),
  14903. Flang: [8]uint8{'f', 'r'},
  14904. },
  14905. 321: {
  14906. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14907. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MOROCCO),
  14908. Flang: [8]uint8{'f', 'r'},
  14909. },
  14910. 322: {
  14911. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14912. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_HAITI),
  14913. Flang: [8]uint8{'f', 'r'},
  14914. },
  14915. 323: {
  14916. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14917. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_BANGLADESH),
  14918. Flang: [8]uint8{'b', 'n'},
  14919. },
  14920. 324: {
  14921. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14922. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN),
  14923. Flang: [8]uint8{'a', 'r'},
  14924. },
  14925. 325: {
  14926. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14927. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_PRC),
  14928. Flang: [8]uint8{'m', 'n'},
  14929. },
  14930. 326: {
  14931. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14932. Flanguage_id: uint16(m_TT_MS_LANGID_HAUSA_NIGERIA),
  14933. Flang: [8]uint8{'h', 'a'},
  14934. },
  14935. 327: {
  14936. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14937. Flanguage_id: uint16(m_TT_MS_LANGID_YORUBA_NIGERIA),
  14938. Flang: [8]uint8{'y', 'o'},
  14939. },
  14940. 328: {
  14941. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14942. Flanguage_id: uint16(m_TT_MS_LANGID_IGBO_NIGERIA),
  14943. Flang: [8]uint8{'i', 'b', 'o'},
  14944. },
  14945. 329: {
  14946. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14947. Flanguage_id: uint16(m_TT_MS_LANGID_KANURI_NIGERIA),
  14948. Flang: [8]uint8{'k', 'a', 'u'},
  14949. },
  14950. 330: {
  14951. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14952. Flanguage_id: uint16(m_TT_MS_LANGID_GUARANI_PARAGUAY),
  14953. Flang: [8]uint8{'g', 'n'},
  14954. },
  14955. 331: {
  14956. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14957. Flanguage_id: uint16(m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES),
  14958. Flang: [8]uint8{'h', 'a', 'w'},
  14959. },
  14960. 332: {
  14961. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14962. Flanguage_id: uint16(m_TT_MS_LANGID_LATIN),
  14963. Flang: [8]uint8{'l', 'a'},
  14964. },
  14965. 333: {
  14966. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14967. Flanguage_id: uint16(m_TT_MS_LANGID_SOMALI_SOMALIA),
  14968. Flang: [8]uint8{'s', 'o'},
  14969. },
  14970. 334: {
  14971. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14972. Flanguage_id: uint16(m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES),
  14973. Flang: [8]uint8{'p', 'a', 'p'},
  14974. },
  14975. }
  14976. type TFcMacRomanFake = struct {
  14977. Flanguage_id TFT_UShort
  14978. Ffromcode [12]uint8
  14979. }
  14980. var _fcMacRomanFake = [2]TFcMacRomanFake{
  14981. 0: {
  14982. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  14983. Ffromcode: [12]uint8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  14984. },
  14985. 1: {
  14986. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  14987. Ffromcode: [12]uint8{'A', 'S', 'C', 'I', 'I'},
  14988. },
  14989. }
  14990. // C documentation
  14991. //
  14992. // /* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
  14993. var _fcMacRomanNonASCIIToUnicode = [128]TFcChar16{
  14994. 0: uint16(0x00C4),
  14995. 1: uint16(0x00C5),
  14996. 2: uint16(0x00C7),
  14997. 3: uint16(0x00C9),
  14998. 4: uint16(0x00D1),
  14999. 5: uint16(0x00D6),
  15000. 6: uint16(0x00DC),
  15001. 7: uint16(0x00E1),
  15002. 8: uint16(0x00E0),
  15003. 9: uint16(0x00E2),
  15004. 10: uint16(0x00E4),
  15005. 11: uint16(0x00E3),
  15006. 12: uint16(0x00E5),
  15007. 13: uint16(0x00E7),
  15008. 14: uint16(0x00E9),
  15009. 15: uint16(0x00E8),
  15010. 16: uint16(0x00EA),
  15011. 17: uint16(0x00EB),
  15012. 18: uint16(0x00ED),
  15013. 19: uint16(0x00EC),
  15014. 20: uint16(0x00EE),
  15015. 21: uint16(0x00EF),
  15016. 22: uint16(0x00F1),
  15017. 23: uint16(0x00F3),
  15018. 24: uint16(0x00F2),
  15019. 25: uint16(0x00F4),
  15020. 26: uint16(0x00F6),
  15021. 27: uint16(0x00F5),
  15022. 28: uint16(0x00FA),
  15023. 29: uint16(0x00F9),
  15024. 30: uint16(0x00FB),
  15025. 31: uint16(0x00FC),
  15026. 32: uint16(0x2020),
  15027. 33: uint16(0x00B0),
  15028. 34: uint16(0x00A2),
  15029. 35: uint16(0x00A3),
  15030. 36: uint16(0x00A7),
  15031. 37: uint16(0x2022),
  15032. 38: uint16(0x00B6),
  15033. 39: uint16(0x00DF),
  15034. 40: uint16(0x00AE),
  15035. 41: uint16(0x00A9),
  15036. 42: uint16(0x2122),
  15037. 43: uint16(0x00B4),
  15038. 44: uint16(0x00A8),
  15039. 45: uint16(0x2260),
  15040. 46: uint16(0x00C6),
  15041. 47: uint16(0x00D8),
  15042. 48: uint16(0x221E),
  15043. 49: uint16(0x00B1),
  15044. 50: uint16(0x2264),
  15045. 51: uint16(0x2265),
  15046. 52: uint16(0x00A5),
  15047. 53: uint16(0x00B5),
  15048. 54: uint16(0x2202),
  15049. 55: uint16(0x2211),
  15050. 56: uint16(0x220F),
  15051. 57: uint16(0x03C0),
  15052. 58: uint16(0x222B),
  15053. 59: uint16(0x00AA),
  15054. 60: uint16(0x00BA),
  15055. 61: uint16(0x03A9),
  15056. 62: uint16(0x00E6),
  15057. 63: uint16(0x00F8),
  15058. 64: uint16(0x00BF),
  15059. 65: uint16(0x00A1),
  15060. 66: uint16(0x00AC),
  15061. 67: uint16(0x221A),
  15062. 68: uint16(0x0192),
  15063. 69: uint16(0x2248),
  15064. 70: uint16(0x2206),
  15065. 71: uint16(0x00AB),
  15066. 72: uint16(0x00BB),
  15067. 73: uint16(0x2026),
  15068. 74: uint16(0x00A0),
  15069. 75: uint16(0x00C0),
  15070. 76: uint16(0x00C3),
  15071. 77: uint16(0x00D5),
  15072. 78: uint16(0x0152),
  15073. 79: uint16(0x0153),
  15074. 80: uint16(0x2013),
  15075. 81: uint16(0x2014),
  15076. 82: uint16(0x201C),
  15077. 83: uint16(0x201D),
  15078. 84: uint16(0x2018),
  15079. 85: uint16(0x2019),
  15080. 86: uint16(0x00F7),
  15081. 87: uint16(0x25CA),
  15082. 88: uint16(0x00FF),
  15083. 89: uint16(0x0178),
  15084. 90: uint16(0x2044),
  15085. 91: uint16(0x20AC),
  15086. 92: uint16(0x2039),
  15087. 93: uint16(0x203A),
  15088. 94: uint16(0xFB01),
  15089. 95: uint16(0xFB02),
  15090. 96: uint16(0x2021),
  15091. 97: uint16(0x00B7),
  15092. 98: uint16(0x201A),
  15093. 99: uint16(0x201E),
  15094. 100: uint16(0x2030),
  15095. 101: uint16(0x00C2),
  15096. 102: uint16(0x00CA),
  15097. 103: uint16(0x00C1),
  15098. 104: uint16(0x00CB),
  15099. 105: uint16(0x00C8),
  15100. 106: uint16(0x00CD),
  15101. 107: uint16(0x00CE),
  15102. 108: uint16(0x00CF),
  15103. 109: uint16(0x00CC),
  15104. 110: uint16(0x00D3),
  15105. 111: uint16(0x00D4),
  15106. 112: uint16(0xF8FF),
  15107. 113: uint16(0x00D2),
  15108. 114: uint16(0x00DA),
  15109. 115: uint16(0x00DB),
  15110. 116: uint16(0x00D9),
  15111. 117: uint16(0x0131),
  15112. 118: uint16(0x02C6),
  15113. 119: uint16(0x02DC),
  15114. 120: uint16(0x00AF),
  15115. 121: uint16(0x02D8),
  15116. 122: uint16(0x02D9),
  15117. 123: uint16(0x02DA),
  15118. 124: uint16(0x00B8),
  15119. 125: uint16(0x02DD),
  15120. 126: uint16(0x02DB),
  15121. 127: uint16(0x02C7),
  15122. }
  15123. // C documentation
  15124. //
  15125. // /*
  15126. // * A shift-JIS will have many high bits turned on
  15127. // */
  15128. func _FcLooksLikeSJIS(tls *libc.TLS, string1 uintptr, len1 int32) (r TFcBool) {
  15129. var nhigh, nlow, v1 int32
  15130. var v2 uintptr
  15131. _, _, _, _ = nhigh, nlow, v1, v2
  15132. nhigh = 0
  15133. nlow = 0
  15134. for {
  15135. v1 = len1
  15136. len1--
  15137. if !(v1 > 0) {
  15138. break
  15139. }
  15140. v2 = string1
  15141. string1++
  15142. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))&int32(0x80) != 0 {
  15143. nhigh++
  15144. } else {
  15145. nlow++
  15146. }
  15147. }
  15148. /*
  15149. * Heuristic -- if more than 1/3 of the bytes have the high-bit set,
  15150. * this is likely to be SJIS and not ROMAN
  15151. */
  15152. if nhigh*int32(2) > nlow {
  15153. return int32(m_FcTrue)
  15154. }
  15155. return m_FcFalse
  15156. }
  15157. func _FcSfntNameTranscode(tls *libc.TLS, sname uintptr) (r uintptr) {
  15158. bp := tls.Alloc(16)
  15159. defer tls.Free(16)
  15160. var f, i, ilen, olen, olen1, olen2, src_len, src_len1, src_len2, v3 int32
  15161. var fromcode, src, src1, src2, u8, u81, u82, utf8, v4, v5 uintptr
  15162. var ucs41, ucs42 TFcChar32
  15163. var _ /* len at bp+0 */ int32
  15164. var _ /* ucs4 at bp+8 */ TFcChar32
  15165. var _ /* wchar at bp+4 */ int32
  15166. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = f, fromcode, i, ilen, olen, olen1, olen2, src, src1, src2, src_len, src_len1, src_len2, u8, u81, u82, ucs41, ucs42, utf8, v3, v4, v5
  15167. i = 0
  15168. for {
  15169. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16))) {
  15170. break
  15171. }
  15172. if libc.Int32FromUint16(_fcFtEncoding[i].Fplatform_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (libc.Int32FromUint16(_fcFtEncoding[i].Fencoding_id) == int32(m_TT_ENCODING_DONT_CARE) || libc.Int32FromUint16(_fcFtEncoding[i].Fencoding_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id)) {
  15173. break
  15174. }
  15175. goto _1
  15176. _1:
  15177. ;
  15178. i++
  15179. }
  15180. if i == libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16)) {
  15181. return uintptr(0)
  15182. }
  15183. fromcode = uintptr(unsafe.Pointer(&_fcFtEncoding)) + uintptr(i)*16 + 4
  15184. /*
  15185. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  15186. * in various ways. Kludge around them.
  15187. */
  15188. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3250) != 0) {
  15189. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) == m_TT_MAC_LANGID_ENGLISH && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  15190. fromcode = __ccgo_ts + 3260
  15191. } else {
  15192. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) >= int32(0x100) {
  15193. fromcode = libc.UintptrFromInt32(0)
  15194. f = 0
  15195. for {
  15196. if !(f < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(14))) {
  15197. break
  15198. }
  15199. if libc.Int32FromUint16(_fcMacRomanFake[f].Flanguage_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) {
  15200. fromcode = uintptr(unsafe.Pointer(&_fcMacRomanFake)) + uintptr(f)*14 + 2
  15201. break
  15202. }
  15203. goto _2
  15204. _2:
  15205. ;
  15206. f++
  15207. }
  15208. if !(fromcode != 0) {
  15209. return uintptr(0)
  15210. }
  15211. }
  15212. }
  15213. }
  15214. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3265) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3273) != 0) {
  15215. src = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  15216. src_len = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  15217. /*
  15218. * Convert Utf16 to Utf8
  15219. */
  15220. if !(XIA__FcUtf16Len(tls, src, int32(_FcEndianBig), src_len, bp, bp+4) != 0) {
  15221. return uintptr(0)
  15222. }
  15223. /*
  15224. * Allocate plenty of space. Freed below
  15225. */
  15226. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp))*int32(m_FC_UTF8_MAX_LEN)+int32(1)))
  15227. if !(utf8 != 0) {
  15228. return uintptr(0)
  15229. }
  15230. u8 = utf8
  15231. for {
  15232. v3 = XIA__FcUtf16ToUcs4(tls, src, int32(_FcEndianBig), bp+8, src_len)
  15233. ilen = v3
  15234. if !(v3 > 0) {
  15235. break
  15236. }
  15237. src_len -= ilen
  15238. src += uintptr(ilen)
  15239. olen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp + 8)), u8)
  15240. u8 += uintptr(olen)
  15241. }
  15242. *(*TFcChar8)(unsafe.Pointer(u8)) = uint8('\000')
  15243. goto done
  15244. }
  15245. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3282) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3288) != 0) {
  15246. src1 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  15247. src_len1 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  15248. /*
  15249. * Convert Latin1 to Utf8. Freed below
  15250. */
  15251. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len1*int32(2)+int32(1)))
  15252. if !(utf8 != 0) {
  15253. return uintptr(0)
  15254. }
  15255. u81 = utf8
  15256. for src_len1 > 0 {
  15257. v4 = src1
  15258. src1++
  15259. ucs41 = uint32(*(*TFcChar8)(unsafe.Pointer(v4)))
  15260. src_len1--
  15261. olen1 = XIA__FcUcs4ToUtf8(tls, ucs41, u81)
  15262. u81 += uintptr(olen1)
  15263. }
  15264. *(*TFcChar8)(unsafe.Pointer(u81)) = uint8('\000')
  15265. goto done
  15266. }
  15267. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3250) != 0) {
  15268. src2 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  15269. src_len2 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  15270. /*
  15271. * Convert Latin1 to Utf8. Freed below
  15272. */
  15273. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len2*int32(3)+int32(1)))
  15274. if !(utf8 != 0) {
  15275. return uintptr(0)
  15276. }
  15277. u82 = utf8
  15278. for src_len2 > 0 {
  15279. v5 = src2
  15280. src2++
  15281. ucs42 = uint32(*(*TFcChar8)(unsafe.Pointer(v5)))
  15282. if ucs42 >= uint32(128) {
  15283. ucs42 = uint32(_fcMacRomanNonASCIIToUnicode[ucs42-uint32(128)])
  15284. }
  15285. src_len2--
  15286. olen2 = XIA__FcUcs4ToUtf8(tls, ucs42, u82)
  15287. u82 += uintptr(olen2)
  15288. }
  15289. *(*TFcChar8)(unsafe.Pointer(u82)) = uint8('\000')
  15290. goto done
  15291. }
  15292. return uintptr(0)
  15293. goto done
  15294. done:
  15295. ;
  15296. if XFcStrCmpIgnoreBlanksAndCase(tls, utf8, __ccgo_ts+1316) == 0 {
  15297. libc.Xfree(tls, utf8)
  15298. return uintptr(0)
  15299. }
  15300. return utf8
  15301. }
  15302. func _FcSfntNameLanguage(tls *libc.TLS, sname uintptr) (r uintptr) {
  15303. var i int32
  15304. var language_id, platform_id TFT_UShort
  15305. _, _, _ = i, language_id, platform_id
  15306. platform_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id
  15307. language_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id
  15308. /*
  15309. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  15310. * in various ways. Kludge around them.
  15311. */
  15312. if libc.Int32FromUint16(platform_id) == int32(m_TT_PLATFORM_MACINTOSH) && libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id) == m_TT_MAC_ID_ROMAN && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  15313. language_id = uint16(m_TT_MAC_LANGID_JAPANESE)
  15314. }
  15315. i = 0
  15316. for {
  15317. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(4020)/libc.Uint64FromInt64(12))) {
  15318. break
  15319. }
  15320. if libc.Int32FromUint16(_fcFtLanguage[i].Fplatform_id) == libc.Int32FromUint16(platform_id) && (libc.Int32FromUint16(_fcFtLanguage[i].Flanguage_id) == int32(m_TT_LANGUAGE_DONT_CARE) || libc.Int32FromUint16(_fcFtLanguage[i].Flanguage_id) == libc.Int32FromUint16(language_id)) {
  15321. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4))) == int32('\000') {
  15322. return libc.UintptrFromInt32(0)
  15323. } else {
  15324. return uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4
  15325. }
  15326. }
  15327. goto _1
  15328. _1:
  15329. ;
  15330. i++
  15331. }
  15332. return uintptr(0)
  15333. }
  15334. /* Order is significant. For example, some B&H fonts are hinted by
  15335. URW++, and both strings appear in the notice. */
  15336. var _FcNoticeFoundries = [18][2]uintptr{
  15337. 0: {
  15338. 0: __ccgo_ts + 3299,
  15339. 1: __ccgo_ts + 3305,
  15340. },
  15341. 1: {
  15342. 0: __ccgo_ts + 3311,
  15343. 1: __ccgo_ts + 3319,
  15344. },
  15345. 2: {
  15346. 0: __ccgo_ts + 3323,
  15347. 1: __ccgo_ts + 3333,
  15348. },
  15349. 3: {
  15350. 0: __ccgo_ts + 3343,
  15351. 1: __ccgo_ts + 3348,
  15352. },
  15353. 4: {
  15354. 0: __ccgo_ts + 3355,
  15355. 1: __ccgo_ts + 3348,
  15356. },
  15357. 5: {
  15358. 0: __ccgo_ts + 3361,
  15359. 1: __ccgo_ts + 3376,
  15360. },
  15361. 6: {
  15362. 0: __ccgo_ts + 3384,
  15363. 1: __ccgo_ts + 3391,
  15364. },
  15365. 7: {
  15366. 0: __ccgo_ts + 3396,
  15367. 1: __ccgo_ts + 3400,
  15368. },
  15369. 8: {
  15370. 0: __ccgo_ts + 3404,
  15371. 1: __ccgo_ts + 3439,
  15372. },
  15373. 9: {
  15374. 0: __ccgo_ts + 3443,
  15375. 1: __ccgo_ts + 3452,
  15376. },
  15377. 10: {
  15378. 0: __ccgo_ts + 3461,
  15379. 1: __ccgo_ts + 3452,
  15380. },
  15381. 11: {
  15382. 0: __ccgo_ts + 3475,
  15383. 1: __ccgo_ts + 3485,
  15384. },
  15385. 12: {
  15386. 0: __ccgo_ts + 3495,
  15387. 1: __ccgo_ts + 3504,
  15388. },
  15389. 13: {
  15390. 0: __ccgo_ts + 3513,
  15391. 1: __ccgo_ts + 3519,
  15392. },
  15393. 14: {
  15394. 0: __ccgo_ts + 3525,
  15395. 1: __ccgo_ts + 3540,
  15396. },
  15397. 15: {
  15398. 0: __ccgo_ts + 3545,
  15399. 1: __ccgo_ts + 3549,
  15400. },
  15401. 16: {
  15402. 0: __ccgo_ts + 3553,
  15403. 1: __ccgo_ts + 3561,
  15404. },
  15405. 17: {
  15406. 0: __ccgo_ts + 3569,
  15407. 1: __ccgo_ts + 3574,
  15408. },
  15409. }
  15410. func _FcNoticeFoundry(tls *libc.TLS, notice uintptr) (r uintptr) {
  15411. var f, n uintptr
  15412. var i int32
  15413. _, _, _ = f, i, n
  15414. if notice != 0 {
  15415. i = 0
  15416. for {
  15417. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(288)/libc.Uint64FromInt64(16))) {
  15418. break
  15419. }
  15420. n = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16))
  15421. f = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16 + 1*8))
  15422. if libc.Xstrstr(tls, notice, n) != 0 {
  15423. return f
  15424. }
  15425. goto _1
  15426. _1:
  15427. ;
  15428. i++
  15429. }
  15430. }
  15431. return uintptr(0)
  15432. }
  15433. type TFcStringConst = struct {
  15434. Fname uintptr
  15435. Fvalue int32
  15436. }
  15437. type T_FcStringConst = TFcStringConst
  15438. func _FcStringIsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  15439. var i int32
  15440. _ = i
  15441. i = 0
  15442. for {
  15443. if !(i < nc) {
  15444. break
  15445. }
  15446. if XFcStrCmpIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) == 0 {
  15447. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  15448. }
  15449. goto _1
  15450. _1:
  15451. ;
  15452. i++
  15453. }
  15454. return -int32(1)
  15455. }
  15456. func _FcStringContainsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  15457. var i int32
  15458. _ = i
  15459. i = 0
  15460. for {
  15461. if !(i < nc) {
  15462. break
  15463. }
  15464. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname))) == int32('<') {
  15465. if XFcStrContainsWord(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname+uintptr(1)) != 0 {
  15466. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  15467. }
  15468. } else {
  15469. if XFcStrContainsIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) != 0 {
  15470. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  15471. }
  15472. }
  15473. goto _1
  15474. _1:
  15475. ;
  15476. i++
  15477. }
  15478. return -int32(1)
  15479. }
  15480. type TFC8 = uintptr
  15481. var _weightConsts = [23]TFcStringConst{
  15482. 0: {
  15483. Fname: __ccgo_ts + 3579,
  15484. },
  15485. 1: {
  15486. Fname: __ccgo_ts + 3584,
  15487. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  15488. },
  15489. 2: {
  15490. Fname: __ccgo_ts + 3595,
  15491. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  15492. },
  15493. 3: {
  15494. Fname: __ccgo_ts + 3606,
  15495. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  15496. },
  15497. 4: {
  15498. Fname: __ccgo_ts + 3616,
  15499. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  15500. },
  15501. 5: {
  15502. Fname: __ccgo_ts + 3626,
  15503. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  15504. },
  15505. 6: {
  15506. Fname: __ccgo_ts + 3632,
  15507. Fvalue: int32(m_FC_WEIGHT_BOOK),
  15508. },
  15509. 7: {
  15510. Fname: __ccgo_ts + 3637,
  15511. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  15512. },
  15513. 8: {
  15514. Fname: __ccgo_ts + 3645,
  15515. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  15516. },
  15517. 9: {
  15518. Fname: __ccgo_ts + 3652,
  15519. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  15520. },
  15521. 10: {
  15522. Fname: __ccgo_ts + 3659,
  15523. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  15524. },
  15525. 11: {
  15526. Fname: __ccgo_ts + 3668,
  15527. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  15528. },
  15529. 12: {
  15530. Fname: __ccgo_ts + 3673,
  15531. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  15532. },
  15533. 13: {
  15534. Fname: __ccgo_ts + 3682,
  15535. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  15536. },
  15537. 14: {
  15538. Fname: __ccgo_ts + 3692,
  15539. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  15540. },
  15541. 15: {
  15542. Fname: __ccgo_ts + 3702,
  15543. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  15544. },
  15545. 16: {
  15546. Fname: __ccgo_ts + 3712,
  15547. Fvalue: int32(m_FC_WEIGHT_BOLD),
  15548. },
  15549. 17: {
  15550. Fname: __ccgo_ts + 3717,
  15551. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  15552. },
  15553. 18: {
  15554. Fname: __ccgo_ts + 3728,
  15555. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  15556. },
  15557. 19: {
  15558. Fname: __ccgo_ts + 3739,
  15559. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  15560. },
  15561. 20: {
  15562. Fname: __ccgo_ts + 3750,
  15563. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  15564. },
  15565. 21: {
  15566. Fname: __ccgo_ts + 3757,
  15567. Fvalue: int32(m_FC_WEIGHT_BLACK),
  15568. },
  15569. 22: {
  15570. Fname: __ccgo_ts + 3763,
  15571. Fvalue: int32(m_FC_WEIGHT_BLACK),
  15572. },
  15573. }
  15574. var _widthConsts = [10]TFcStringConst{
  15575. 0: {
  15576. Fname: __ccgo_ts + 3769,
  15577. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  15578. },
  15579. 1: {
  15580. Fname: __ccgo_ts + 3784,
  15581. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  15582. },
  15583. 2: {
  15584. Fname: __ccgo_ts + 3799,
  15585. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  15586. },
  15587. 3: {
  15588. Fname: __ccgo_ts + 3813,
  15589. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  15590. },
  15591. 4: {
  15592. Fname: __ccgo_ts + 3645,
  15593. Fvalue: int32(m_FC_WIDTH_NORMAL),
  15594. },
  15595. 5: {
  15596. Fname: __ccgo_ts + 3823,
  15597. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  15598. },
  15599. 6: {
  15600. Fname: __ccgo_ts + 3836,
  15601. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  15602. },
  15603. 7: {
  15604. Fname: __ccgo_ts + 3850,
  15605. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  15606. },
  15607. 8: {
  15608. Fname: __ccgo_ts + 3864,
  15609. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  15610. },
  15611. 9: {
  15612. Fname: __ccgo_ts + 3873,
  15613. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  15614. },
  15615. }
  15616. var _slantConsts = [3]TFcStringConst{
  15617. 0: {
  15618. Fname: __ccgo_ts + 3882,
  15619. Fvalue: int32(m_FC_SLANT_ITALIC),
  15620. },
  15621. 1: {
  15622. Fname: __ccgo_ts + 3889,
  15623. Fvalue: int32(m_FC_SLANT_ITALIC),
  15624. },
  15625. 2: {
  15626. Fname: __ccgo_ts + 3896,
  15627. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  15628. },
  15629. }
  15630. var _decorativeConsts = [6]TFcStringConst{
  15631. 0: {
  15632. Fname: __ccgo_ts + 3904,
  15633. Fvalue: int32(m_FcTrue),
  15634. },
  15635. 1: {
  15636. Fname: __ccgo_ts + 3911,
  15637. Fvalue: int32(m_FcTrue),
  15638. },
  15639. 2: {
  15640. Fname: __ccgo_ts + 3916,
  15641. Fvalue: int32(m_FcTrue),
  15642. },
  15643. 3: {
  15644. Fname: __ccgo_ts + 3924,
  15645. Fvalue: int32(m_FcTrue),
  15646. },
  15647. 4: {
  15648. Fname: __ccgo_ts + 3932,
  15649. Fvalue: int32(m_FcTrue),
  15650. },
  15651. 5: {
  15652. Fname: __ccgo_ts + 3940,
  15653. Fvalue: int32(m_FcTrue),
  15654. },
  15655. }
  15656. func _FcGetPixelSize(tls *libc.TLS, face TFT_Face, i int32) (r float64) {
  15657. bp := tls.Alloc(16)
  15658. defer tls.Free(16)
  15659. var rc int32
  15660. var _ /* prop at bp+0 */ TBDF_PropertyRec
  15661. _ = rc
  15662. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes == int32(1) {
  15663. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+3948, bp)
  15664. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  15665. return float64(*(*TFT_Int32)(unsafe.Pointer(bp + 8)))
  15666. }
  15667. }
  15668. return float64((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fy_ppem) / float64(64)
  15669. }
  15670. func _FcStringInPatternElement(tls *libc.TLS, pat uintptr, elt uintptr, string1 uintptr) (r TFcBool) {
  15671. bp := tls.Alloc(16)
  15672. defer tls.Free(16)
  15673. var e int32
  15674. var _ /* old at bp+0 */ uintptr
  15675. _ = e
  15676. e = 0
  15677. for {
  15678. if !(XIA__FcPatternGetString(tls, pat, elt, e, bp) == int32(_FcResultMatch)) {
  15679. break
  15680. }
  15681. if !(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp)), string1) != 0) {
  15682. return int32(m_FcTrue)
  15683. }
  15684. goto _1
  15685. _1:
  15686. ;
  15687. e++
  15688. }
  15689. return m_FcFalse
  15690. }
  15691. var _platform_order = [4]TFT_UShort{
  15692. 0: uint16(m_TT_PLATFORM_MICROSOFT),
  15693. 2: uint16(m_TT_PLATFORM_MACINTOSH),
  15694. 3: uint16(m_TT_PLATFORM_ISO),
  15695. }
  15696. var _nameid_order = [10]TFT_UShort{
  15697. 0: uint16(m_TT_NAME_ID_WWS_FAMILY),
  15698. 1: uint16(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY),
  15699. 2: uint16(m_TT_NAME_ID_FONT_FAMILY),
  15700. 3: uint16(m_TT_NAME_ID_MAC_FULL_NAME),
  15701. 4: uint16(m_TT_NAME_ID_FULL_NAME),
  15702. 5: uint16(m_TT_NAME_ID_WWS_SUBFAMILY),
  15703. 6: uint16(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY),
  15704. 7: uint16(m_TT_NAME_ID_FONT_SUBFAMILY),
  15705. 8: uint16(m_TT_NAME_ID_TRADEMARK),
  15706. 9: uint16(m_TT_NAME_ID_MANUFACTURER),
  15707. }
  15708. type TFcNameMapping = struct {
  15709. Fplatform_id uint32
  15710. Fname_id uint32
  15711. Fencoding_id uint32
  15712. Flanguage_id uint32
  15713. Fidx uint32
  15714. }
  15715. func _name_mapping_cmp(tls *libc.TLS, pa uintptr, pb uintptr) (r int32) {
  15716. var a, b uintptr
  15717. _, _ = a, b
  15718. a = pa
  15719. b = pb
  15720. if (*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id {
  15721. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id)
  15722. }
  15723. if (*TFcNameMapping)(unsafe.Pointer(a)).Fname_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fname_id {
  15724. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fname_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fname_id)
  15725. }
  15726. if (*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id {
  15727. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id)
  15728. }
  15729. if (*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id != (*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id {
  15730. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)
  15731. }
  15732. if (*TFcNameMapping)(unsafe.Pointer(a)).Fidx != (*TFcNameMapping)(unsafe.Pointer(b)).Fidx {
  15733. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fidx) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fidx)
  15734. }
  15735. return 0
  15736. }
  15737. func _FcFreeTypeGetFirstName(tls *libc.TLS, face TFT_Face, platform uint32, nameid uint32, mapping uintptr, count uint32, sname uintptr) (r int32) {
  15738. var max, mid, min int32
  15739. _, _, _ = max, mid, min
  15740. min = 0
  15741. max = libc.Int32FromUint32(count) - int32(1)
  15742. for min <= max {
  15743. mid = (min + max) / int32(2)
  15744. if libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid)*20))).Fidx, sname) != 0 {
  15745. return m_FcFalse
  15746. }
  15747. if platform < uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) || platform == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (nameid < uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) || nameid == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) && (mid != 0 && platform == (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid-int32(1))*20))).Fplatform_id && nameid == (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid-int32(1))*20))).Fname_id)) {
  15748. max = mid - int32(1)
  15749. } else {
  15750. if platform > uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) || platform == uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && nameid > uint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fname_id) {
  15751. min = mid + int32(1)
  15752. } else {
  15753. return mid
  15754. }
  15755. }
  15756. }
  15757. return -int32(1)
  15758. }
  15759. func _FcFreeTypeQueryFaceInternal(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, cs_share uintptr, ls_share uintptr, nm_share uintptr) (r2 uintptr) {
  15760. bp := tls.Alloc(480)
  15761. defer tls.Free(480)
  15762. var bit, has_color, has_outline, i2, i5, lookupid, n1, name_count, nameid, nameidx, platform, rc, slant, spacing, st, v11, v12 int32
  15763. var bits TFT_ULong
  15764. var complex_, cs, elt, elt1, eltlang, end, exclusiveLang, family, font_format, foundry, foundry_, head, instance, lang, ls, name_mapping, nlangp, np, os2, p1, pat, pp, r, r1, start, tmp, utf8, utf81, v16 uintptr
  15765. var decorative, symbol, variable, variable_size, variable_weight, variable_width TFcBool
  15766. var def_value, default_value, lower_size, max_value, min_value, mult, upper_size, value, weight, weight_mult, width, width_mult, v3 float64
  15767. var i, i1, i3, i4, n, p, v5, v6, v7, v8 uint32
  15768. var len1, len11 Tsize_t
  15769. var value1 TFT_Int32
  15770. var v17 bool
  15771. var _ /* family at bp+416 */ uintptr
  15772. var _ /* familylang at bp+424 */ uintptr
  15773. var _ /* master at bp+0 */ uintptr
  15774. var _ /* nfamily at bp+80 */ int32
  15775. var _ /* nfamily_lang at bp+84 */ int32
  15776. var _ /* nfullname at bp+96 */ int32
  15777. var _ /* nfullname_lang at bp+100 */ int32
  15778. var _ /* nstyle at bp+88 */ int32
  15779. var _ /* nstyle_lang at bp+92 */ int32
  15780. var _ /* prop at bp+64 */ TBDF_PropertyRec
  15781. var _ /* psfontinfo at bp+8 */ TPS_FontInfoRec
  15782. var _ /* psname at bp+160 */ [256]uint8
  15783. var _ /* sname at bp+112 */ TFT_SfntName
  15784. var _ /* sname at bp+136 */ TFT_SfntName
  15785. var _ /* style at bp+104 */ uintptr
  15786. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bit, bits, complex_, cs, decorative, def_value, default_value, elt, elt1, eltlang, end, exclusiveLang, family, font_format, foundry, foundry_, has_color, has_outline, head, i, i1, i2, i3, i4, i5, instance, lang, len1, len11, lookupid, lower_size, ls, max_value, min_value, mult, n, n1, name_count, name_mapping, nameid, nameidx, nlangp, np, os2, p, p1, pat, platform, pp, r, r1, rc, slant, spacing, st, start, symbol, tmp, upper_size, utf8, utf81, value, value1, variable, variable_size, variable_weight, variable_width, weight, weight_mult, width, width_mult, v11, v12, v16, v17, v3, v5, v6, v7, v8
  15787. slant = -int32(1)
  15788. weight = float64(-libc.Int32FromInt32(1))
  15789. width = float64(-libc.Int32FromInt32(1))
  15790. decorative = m_FcFalse
  15791. variable = m_FcFalse
  15792. variable_weight = m_FcFalse
  15793. variable_width = m_FcFalse
  15794. variable_size = m_FcFalse
  15795. name_mapping = libc.UintptrFromInt32(0)
  15796. foundry_ = libc.UintptrFromInt32(0)
  15797. foundry = uintptr(0)
  15798. /* Support for glyph-variation named-instances. */
  15799. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  15800. instance = libc.UintptrFromInt32(0)
  15801. weight_mult = float64(1)
  15802. width_mult = float64(1)
  15803. exclusiveLang = uintptr(0)
  15804. name_count = 0
  15805. *(*int32)(unsafe.Pointer(bp + 80)) = 0
  15806. *(*int32)(unsafe.Pointer(bp + 84)) = 0
  15807. *(*int32)(unsafe.Pointer(bp + 88)) = 0
  15808. *(*int32)(unsafe.Pointer(bp + 92)) = 0
  15809. *(*int32)(unsafe.Pointer(bp + 96)) = 0
  15810. *(*int32)(unsafe.Pointer(bp + 100)) = 0
  15811. *(*uintptr)(unsafe.Pointer(bp + 104)) = uintptr(0)
  15812. symbol = m_FcFalse
  15813. XFcInitDebug(tls) /* We might be called with no initizalization whatsoever. */
  15814. pat = XIA__FcPatternCreate(tls)
  15815. if !(pat != 0) {
  15816. goto bail0
  15817. }
  15818. has_outline = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0))
  15819. has_color = 0
  15820. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+3959, has_outline) != 0) {
  15821. goto bail1
  15822. }
  15823. has_color = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(14)) != 0))
  15824. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+3967, has_color) != 0) {
  15825. goto bail1
  15826. }
  15827. /* All color fonts are designed to be scaled, even if they only have
  15828. * bitmap strikes. Client is responsible to scale the bitmaps. This
  15829. * is in constrast to non-color strikes... */
  15830. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+3973, libc.BoolInt32(has_outline != 0 || has_color != 0)) != 0) {
  15831. goto bail1
  15832. }
  15833. if id>>int32(16) != 0 {
  15834. if libfreetype.XFT_Get_MM_Var(tls, face, bp) != 0 {
  15835. goto bail1
  15836. }
  15837. if id>>int32(16) == uint32(0x8000) {
  15838. i = uint32(0)
  15839. for {
  15840. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  15841. break
  15842. }
  15843. min_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fminimum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  15844. def_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  15845. max_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fmaximum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  15846. elt = libc.UintptrFromInt32(0)
  15847. if min_value > def_value || def_value > max_value || min_value == max_value {
  15848. goto _1
  15849. }
  15850. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Ftag {
  15851. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  15852. elt = __ccgo_ts + 3982
  15853. min_value = XIA__FcWeightFromOpenTypeDouble(tls, min_value)
  15854. max_value = XIA__FcWeightFromOpenTypeDouble(tls, max_value)
  15855. variable_weight = int32(m_FcTrue)
  15856. weight = libc.Float64FromInt32(0) /* To stop looking for weight. */
  15857. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  15858. elt = __ccgo_ts + 3989
  15859. /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
  15860. variable_width = int32(m_FcTrue)
  15861. width = libc.Float64FromInt32(0) /* To stop looking for width. */
  15862. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  15863. elt = __ccgo_ts + 3995
  15864. /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
  15865. variable_size = int32(m_FcTrue)
  15866. break
  15867. }
  15868. if elt != 0 {
  15869. r = XIA__FcRangeCreateDouble(tls, min_value, max_value)
  15870. if !(XIA__FcPatternAddRange(tls, pat, elt, r) != 0) {
  15871. XIA__FcRangeDestroy(tls, r)
  15872. goto bail1
  15873. }
  15874. XIA__FcRangeDestroy(tls, r)
  15875. variable = int32(m_FcTrue)
  15876. }
  15877. goto _1
  15878. _1:
  15879. ;
  15880. i++
  15881. }
  15882. if !(variable != 0) {
  15883. goto bail1
  15884. }
  15885. id &= uint32(0xFFFF)
  15886. } else {
  15887. if id>>int32(16)-uint32(1) < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_namedstyles {
  15888. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnamedstyle + uintptr(id>>int32(16)-uint32(1))*16
  15889. i1 = uint32(0)
  15890. for {
  15891. if !(i1 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  15892. break
  15893. }
  15894. value = float64(*(*TFT_Fixed)(unsafe.Pointer((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords + uintptr(i1)*8))) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  15895. default_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  15896. if default_value != 0 {
  15897. v3 = value / default_value
  15898. } else {
  15899. v3 = libc.Float64FromInt32(1)
  15900. }
  15901. mult = v3
  15902. //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
  15903. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Ftag {
  15904. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  15905. weight_mult = mult
  15906. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  15907. width_mult = mult
  15908. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  15909. if !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3995, value) != 0) {
  15910. goto bail1
  15911. }
  15912. break
  15913. }
  15914. goto _2
  15915. _2:
  15916. ;
  15917. i1++
  15918. }
  15919. } else {
  15920. goto bail1
  15921. }
  15922. }
  15923. }
  15924. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+4000, variable) != 0) {
  15925. goto bail1
  15926. }
  15927. /*
  15928. * Get the OS/2 table
  15929. */
  15930. os2 = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_OS2))
  15931. /*
  15932. * Look first in the OS/2 table for the foundry, if
  15933. * not found here, the various notices will be searched for
  15934. * that information, either from the sfnt name tables or
  15935. * the Postscript FontInfo dictionary. Finally, the
  15936. * BDF properties will queried.
  15937. */
  15938. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  15939. if *(*TFT_Char)(unsafe.Pointer(os2 + 80)) != 0 {
  15940. foundry_ = libc.Xmalloc(tls, libc.Uint64FromInt64(4)+libc.Uint64FromInt32(1))
  15941. libc.Xmemcpy(tls, foundry_, os2+80, uint64(4))
  15942. *(*TFcChar8)(unsafe.Pointer(foundry_ + uintptr(4))) = uint8(0)
  15943. foundry = foundry_
  15944. }
  15945. }
  15946. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  15947. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  15948. }
  15949. /*
  15950. * Grub through the name table looking for family
  15951. * and style names. FreeType makes quite a hash
  15952. * of them
  15953. */
  15954. name_count = libc.Int32FromUint32(libfreetype.XFT_Get_Sfnt_Name_Count(tls, face))
  15955. if nm_share != 0 {
  15956. name_mapping = *(*uintptr)(unsafe.Pointer(nm_share))
  15957. }
  15958. if !(name_mapping != 0) {
  15959. i2 = 0
  15960. name_mapping = libc.Xmalloc(tls, libc.Uint64FromInt32(name_count)*uint64(20))
  15961. if !(name_mapping != 0) {
  15962. name_count = 0
  15963. }
  15964. i2 = 0
  15965. for {
  15966. if !(i2 < name_count) {
  15967. break
  15968. }
  15969. p1 = name_mapping + uintptr(i2)*20
  15970. if libfreetype.XFT_Get_Sfnt_Name(tls, face, libc.Uint32FromInt32(i2), bp+112) == 0 {
  15971. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fplatform_id)
  15972. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fname_id)
  15973. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fencoding_id)
  15974. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Flanguage_id)
  15975. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = libc.Uint32FromInt32(i2)
  15976. } else {
  15977. v8 = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  15978. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = v8
  15979. v7 = v8
  15980. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = v7
  15981. v6 = v7
  15982. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = v6
  15983. v5 = v6
  15984. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = v5
  15985. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = v5
  15986. }
  15987. goto _4
  15988. _4:
  15989. ;
  15990. i2++
  15991. }
  15992. libc.Xqsort(tls, name_mapping, libc.Uint64FromInt32(name_count), uint64(20), __ccgo_fp(_name_mapping_cmp))
  15993. if nm_share != 0 {
  15994. *(*uintptr)(unsafe.Pointer(nm_share)) = name_mapping
  15995. }
  15996. }
  15997. p = uint32(0)
  15998. for {
  15999. if !(uint64(p) < libc.Uint64FromInt64(8)/libc.Uint64FromInt64(2)) {
  16000. break
  16001. }
  16002. platform = libc.Int32FromUint16(_platform_order[p])
  16003. /*
  16004. * Order nameids so preferred names appear first
  16005. * in the resulting list
  16006. */
  16007. n = uint32(0)
  16008. for {
  16009. if !(uint64(n) < libc.Uint64FromInt64(20)/libc.Uint64FromInt64(2)) {
  16010. break
  16011. }
  16012. elt1 = uintptr(0)
  16013. eltlang = uintptr(0)
  16014. np = uintptr(0)
  16015. nlangp = uintptr(0)
  16016. v11 = libc.Int32FromUint16(_nameid_order[n])
  16017. lookupid = v11
  16018. nameid = v11
  16019. if instance != 0 {
  16020. /* For named-instances, we skip regular style nameIDs,
  16021. * and treat the instance's nameid as FONT_SUBFAMILY.
  16022. * Postscript name is automatically handled by FreeType. */
  16023. if nameid == int32(m_TT_NAME_ID_WWS_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY) {
  16024. goto _10
  16025. }
  16026. if nameid == int32(m_TT_NAME_ID_FONT_SUBFAMILY) {
  16027. lookupid = libc.Int32FromUint32((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fstrid)
  16028. }
  16029. }
  16030. nameidx = _FcFreeTypeGetFirstName(tls, face, libc.Uint32FromInt32(platform), libc.Uint32FromInt32(lookupid), name_mapping, libc.Uint32FromInt32(name_count), bp+136)
  16031. if nameidx == -int32(1) {
  16032. goto _10
  16033. }
  16034. for {
  16035. switch nameid {
  16036. case int32(m_TT_NAME_ID_WWS_FAMILY):
  16037. fallthrough
  16038. case int32(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY):
  16039. fallthrough
  16040. case int32(m_TT_NAME_ID_FONT_FAMILY):
  16041. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16042. libc.Xprintf(tls, __ccgo_ts+4009, libc.VaList(bp+440, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  16043. }
  16044. elt1 = __ccgo_ts + 4049
  16045. eltlang = __ccgo_ts + 4056
  16046. np = bp + 80
  16047. nlangp = bp + 84
  16048. case int32(m_TT_NAME_ID_MAC_FULL_NAME):
  16049. fallthrough
  16050. case int32(m_TT_NAME_ID_FULL_NAME):
  16051. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16052. libc.Xprintf(tls, __ccgo_ts+4067, libc.VaList(bp+440, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  16053. }
  16054. elt1 = __ccgo_ts + 4107
  16055. eltlang = __ccgo_ts + 4116
  16056. np = bp + 96
  16057. nlangp = bp + 100
  16058. case int32(m_TT_NAME_ID_WWS_SUBFAMILY):
  16059. fallthrough
  16060. case int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY):
  16061. fallthrough
  16062. case int32(m_TT_NAME_ID_FONT_SUBFAMILY):
  16063. if variable != 0 {
  16064. break
  16065. }
  16066. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16067. libc.Xprintf(tls, __ccgo_ts+4129, libc.VaList(bp+440, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  16068. }
  16069. elt1 = __ccgo_ts + 4170
  16070. eltlang = __ccgo_ts + 4176
  16071. np = bp + 88
  16072. nlangp = bp + 92
  16073. case int32(m_TT_NAME_ID_TRADEMARK):
  16074. fallthrough
  16075. case int32(m_TT_NAME_ID_MANUFACTURER):
  16076. /* If the foundry wasn't found in the OS/2 table, look here */
  16077. if !(foundry != 0) {
  16078. utf8 = _FcSfntNameTranscode(tls, bp+136)
  16079. foundry = _FcNoticeFoundry(tls, utf8)
  16080. libc.Xfree(tls, utf8)
  16081. }
  16082. break
  16083. }
  16084. if elt1 != 0 {
  16085. utf81 = _FcSfntNameTranscode(tls, bp+136)
  16086. lang = _FcSfntNameLanguage(tls, bp+136)
  16087. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16088. libc.Xprintf(tls, __ccgo_ts+4186, libc.VaList(bp+440, utf81))
  16089. }
  16090. if !(utf81 != 0) {
  16091. goto _13
  16092. }
  16093. /* Trim surrounding whitespace. */
  16094. pp = utf81
  16095. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp))) == int32(' ') {
  16096. pp++
  16097. }
  16098. len1 = libc.Xstrlen(tls, pp)
  16099. libc.Xmemmove(tls, utf81, pp, len1+uint64(1))
  16100. pp = utf81 + uintptr(len1)
  16101. for pp > utf81 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp - libc.UintptrFromInt32(1)))) == int32(' ') {
  16102. pp--
  16103. }
  16104. *(*TFcChar8)(unsafe.Pointer(pp)) = uint8(0)
  16105. if _FcStringInPatternElement(tls, pat, elt1, utf81) != 0 {
  16106. libc.Xfree(tls, utf81)
  16107. goto _13
  16108. }
  16109. /* add new element */
  16110. if !(XIA__FcPatternAddString(tls, pat, elt1, utf81) != 0) {
  16111. libc.Xfree(tls, utf81)
  16112. goto bail1
  16113. }
  16114. libc.Xfree(tls, utf81)
  16115. if lang != 0 {
  16116. /* pad lang list with 'und' to line up with elt */
  16117. for *(*int32)(unsafe.Pointer(nlangp)) < *(*int32)(unsafe.Pointer(np)) {
  16118. if !(XIA__FcPatternAddString(tls, pat, eltlang, __ccgo_ts+1179) != 0) {
  16119. goto bail1
  16120. }
  16121. *(*int32)(unsafe.Pointer(nlangp))++
  16122. }
  16123. if !(XIA__FcPatternAddString(tls, pat, eltlang, lang) != 0) {
  16124. goto bail1
  16125. }
  16126. *(*int32)(unsafe.Pointer(nlangp))++
  16127. }
  16128. *(*int32)(unsafe.Pointer(np))++
  16129. }
  16130. goto _13
  16131. _13:
  16132. ;
  16133. nameidx++
  16134. v12 = nameidx
  16135. if !(v12 < name_count && libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(name_mapping + uintptr(nameidx)*20))).Fidx, bp+136) == 0 && platform == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id) && lookupid == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id)) {
  16136. break
  16137. }
  16138. }
  16139. goto _10
  16140. _10:
  16141. ;
  16142. n++
  16143. }
  16144. goto _9
  16145. _9:
  16146. ;
  16147. p++
  16148. }
  16149. if !(nm_share != 0) {
  16150. libc.Xfree(tls, name_mapping)
  16151. }
  16152. if !(*(*int32)(unsafe.Pointer(bp + 80)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name, __ccgo_ts+1316) != 0 {
  16153. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16154. libc.Xprintf(tls, __ccgo_ts+4190, libc.VaList(bp+440, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name))
  16155. }
  16156. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4049, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name) != 0) {
  16157. goto bail1
  16158. }
  16159. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4176, __ccgo_ts+2465) != 0) {
  16160. goto bail1
  16161. }
  16162. *(*int32)(unsafe.Pointer(bp + 80))++
  16163. }
  16164. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name, __ccgo_ts+1316) != 0 {
  16165. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16166. libc.Xprintf(tls, __ccgo_ts+4218, libc.VaList(bp+440, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name))
  16167. }
  16168. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4170, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name) != 0) {
  16169. goto bail1
  16170. }
  16171. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4176, __ccgo_ts+2465) != 0) {
  16172. goto bail1
  16173. }
  16174. *(*int32)(unsafe.Pointer(bp + 88))++
  16175. }
  16176. if !(*(*int32)(unsafe.Pointer(bp + 80)) != 0) && file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 {
  16177. start = libc.Xstrrchr(tls, file, int32('/'))
  16178. if start != 0 {
  16179. start++
  16180. } else {
  16181. start = file
  16182. }
  16183. end = libc.Xstrrchr(tls, start, int32('.'))
  16184. if !(end != 0) {
  16185. end = start + uintptr(libc.Xstrlen(tls, start))
  16186. }
  16187. /* freed below */
  16188. family = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(end)-int64(start)+int64(1)))
  16189. libc.Xstrncpy(tls, family, start, libc.Uint64FromInt64(int64(end)-int64(start)))
  16190. *(*TFcChar8)(unsafe.Pointer(family + uintptr(int64(end)-int64(start)))) = uint8('\000')
  16191. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16192. libc.Xprintf(tls, __ccgo_ts+4245, libc.VaList(bp+440, family))
  16193. }
  16194. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4049, family) != 0) {
  16195. libc.Xfree(tls, family)
  16196. goto bail1
  16197. }
  16198. libc.Xfree(tls, family)
  16199. *(*int32)(unsafe.Pointer(bp + 80))++
  16200. }
  16201. /* Add the PostScript name into the cache */
  16202. if !(variable != 0) {
  16203. tmp = libfreetype.XFT_Get_Postscript_Name(tls, face)
  16204. if !(tmp != 0) {
  16205. *(*uintptr)(unsafe.Pointer(bp + 424)) = libc.UintptrFromInt32(0)
  16206. n1 = 0
  16207. /* Workaround when FT_Get_Postscript_Name didn't give any name.
  16208. * try to find out the English family name and convert.
  16209. */
  16210. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n1, bp+424) == int32(_FcResultMatch) {
  16211. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 424)), __ccgo_ts+2465) == 0 {
  16212. break
  16213. }
  16214. n1++
  16215. *(*uintptr)(unsafe.Pointer(bp + 424)) = libc.UintptrFromInt32(0)
  16216. }
  16217. if !(*(*uintptr)(unsafe.Pointer(bp + 424)) != 0) {
  16218. n1 = 0
  16219. }
  16220. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n1, bp+416) != int32(_FcResultMatch) {
  16221. goto bail1
  16222. }
  16223. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 416)))
  16224. /* the literal name in PostScript Language is limited to 127 characters though,
  16225. * It is the architectural limit. so assuming 255 characters may works enough.
  16226. */
  16227. i3 = uint32(0)
  16228. for {
  16229. if !(uint64(i3) < len11 && i3 < uint32(255)) {
  16230. break
  16231. }
  16232. if libc.Xstrchr(tls, uintptr(unsafe.Pointer(&_exclusive_chars)), libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 416)) + uintptr(i3))))) != libc.UintptrFromInt32(0) {
  16233. (*(*[256]uint8)(unsafe.Pointer(bp + 160)))[i3] = uint8('-')
  16234. } else {
  16235. (*(*[256]uint8)(unsafe.Pointer(bp + 160)))[i3] = *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 416)) + uintptr(i3)))
  16236. }
  16237. goto _14
  16238. _14:
  16239. ;
  16240. i3++
  16241. }
  16242. (*(*[256]uint8)(unsafe.Pointer(bp + 160)))[i3] = uint8(0)
  16243. } else {
  16244. libc.Xstrncpy(tls, bp+160, tmp, uint64(255))
  16245. (*(*[256]uint8)(unsafe.Pointer(bp + 160)))[int32(255)] = uint8(0)
  16246. }
  16247. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4275, bp+160) != 0) {
  16248. goto bail1
  16249. }
  16250. }
  16251. if file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 && !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4290, file) != 0) {
  16252. goto bail1
  16253. }
  16254. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4295, libc.Int32FromUint32(id)) != 0) {
  16255. goto bail1
  16256. }
  16257. /*
  16258. * Find the font revision (if available)
  16259. */
  16260. head = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD))
  16261. if head != 0 {
  16262. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4301, int32((*TTT_Header)(unsafe.Pointer(head)).FFont_Revision)) != 0) {
  16263. goto bail1
  16264. }
  16265. } else {
  16266. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4301, 0) != 0) {
  16267. goto bail1
  16268. }
  16269. }
  16270. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16271. i4 = uint32(0)
  16272. for {
  16273. if !(i4 < libc.Uint32FromInt32(libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7)))) {
  16274. break
  16275. }
  16276. if libc.Int32FromUint8(_FcCodePageRange[i4].Fbit) < int32(32) {
  16277. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange1
  16278. bit = libc.Int32FromUint8(_FcCodePageRange[i4].Fbit)
  16279. } else {
  16280. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange2
  16281. bit = libc.Int32FromUint8(_FcCodePageRange[i4].Fbit) - int32(32)
  16282. }
  16283. if bits&uint64(libc.Uint32FromUint32(1)<<bit) != 0 {
  16284. /*
  16285. * If the font advertises support for multiple
  16286. * "exclusive" languages, then include support
  16287. * for any language found to have coverage
  16288. */
  16289. if exclusiveLang != 0 {
  16290. exclusiveLang = uintptr(0)
  16291. break
  16292. }
  16293. exclusiveLang = uintptr(unsafe.Pointer(&_FcCodePageRange)) + uintptr(i4)*7 + 1
  16294. }
  16295. goto _15
  16296. _15:
  16297. ;
  16298. i4++
  16299. }
  16300. }
  16301. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16302. weight = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass)
  16303. weight = XIA__FcWeightFromOpenTypeDouble(tls, weight*weight_mult)
  16304. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && weight != float64(-libc.Int32FromInt32(1)) {
  16305. libc.Xprintf(tls, __ccgo_ts+4313, libc.VaList(bp+440, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass), weight_mult, weight))
  16306. }
  16307. switch libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass) {
  16308. case int32(1):
  16309. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  16310. case int32(2):
  16311. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  16312. case int32(3):
  16313. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  16314. case int32(4):
  16315. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  16316. case int32(5):
  16317. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  16318. case int32(6):
  16319. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  16320. case int32(7):
  16321. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  16322. case int32(8):
  16323. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  16324. case int32(9):
  16325. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  16326. break
  16327. }
  16328. width *= width_mult
  16329. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && width != float64(-libc.Int32FromInt32(1)) {
  16330. libc.Xprintf(tls, __ccgo_ts+4367, libc.VaList(bp+440, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass), width_mult, width))
  16331. }
  16332. }
  16333. if v17 = os2 != 0; v17 {
  16334. v16 = _FcFontCapabilities(tls, face)
  16335. complex_ = v16
  16336. }
  16337. if v17 && v16 != 0 {
  16338. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4419, complex_) != 0) {
  16339. libc.Xfree(tls, complex_)
  16340. goto bail1
  16341. }
  16342. libc.Xfree(tls, complex_)
  16343. }
  16344. if !(variable_size != 0) && os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0005) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16345. /* usLowerPointSize and usUpperPointSize is actually twips */
  16346. lower_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusLowerOpticalPointSize) / libc.Float64FromFloat64(20)
  16347. upper_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusUpperOpticalPointSize) / libc.Float64FromFloat64(20)
  16348. if lower_size == upper_size {
  16349. if !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3995, lower_size) != 0) {
  16350. goto bail1
  16351. }
  16352. } else {
  16353. r1 = XIA__FcRangeCreateDouble(tls, lower_size, upper_size)
  16354. if !(XIA__FcPatternAddRange(tls, pat, __ccgo_ts+3995, r1) != 0) {
  16355. XIA__FcRangeDestroy(tls, r1)
  16356. goto bail1
  16357. }
  16358. XIA__FcRangeDestroy(tls, r1)
  16359. }
  16360. }
  16361. /*
  16362. * Type 1: Check for FontInfo dictionary information
  16363. * Code from g2@magestudios.net (Gerard Escalante)
  16364. */
  16365. if libfreetype.XFT_Get_PS_Font_Info(tls, face, bp+8) == 0 {
  16366. if weight == float64(-libc.Int32FromInt32(1)) && (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight != 0 {
  16367. weight = float64(_FcStringIsConst(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight, uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  16368. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16369. libc.Xprintf(tls, __ccgo_ts+4430, libc.VaList(bp+440, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight, weight))
  16370. }
  16371. }
  16372. if !(foundry != 0) {
  16373. foundry = _FcNoticeFoundry(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fnotice)
  16374. }
  16375. }
  16376. /*
  16377. * Finally, look for a FOUNDRY BDF property if no other
  16378. * mechanism has managed to locate a foundry
  16379. */
  16380. if !(foundry != 0) {
  16381. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4459, bp+64)
  16382. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) {
  16383. foundry = *(*uintptr)(unsafe.Pointer(bp + 64 + 8))
  16384. }
  16385. }
  16386. if width == float64(-libc.Int32FromInt32(1)) {
  16387. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4467, bp+64) == 0 && ((*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) || (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_CARDINAL)) {
  16388. if (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  16389. value1 = *(*TFT_Int32)(unsafe.Pointer(bp + 64 + 8))
  16390. } else {
  16391. value1 = libc.Int32FromUint32(*(*TFT_UInt32)(unsafe.Pointer(bp + 64 + 8)))
  16392. }
  16393. switch (value1 + libc.Int32FromInt32(5)) / libc.Int32FromInt32(10) {
  16394. case int32(1):
  16395. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  16396. case int32(2):
  16397. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  16398. case int32(3):
  16399. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  16400. case int32(4):
  16401. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  16402. case int32(5):
  16403. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  16404. case int32(6):
  16405. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  16406. case int32(7):
  16407. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  16408. case int32(8):
  16409. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  16410. case int32(9):
  16411. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  16412. break
  16413. }
  16414. }
  16415. if width == float64(-libc.Int32FromInt32(1)) && libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4485, bp+64) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) != libc.UintptrFromInt32(0) {
  16416. width = float64(_FcStringIsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  16417. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16418. libc.Xprintf(tls, __ccgo_ts+4499, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), width))
  16419. }
  16420. }
  16421. }
  16422. /*
  16423. * Look for weight, width and slant names in the style value
  16424. */
  16425. st = 0
  16426. for {
  16427. if !(XIA__FcPatternGetString(tls, pat, __ccgo_ts+4170, st, bp+104) == int32(_FcResultMatch)) {
  16428. break
  16429. }
  16430. if weight == float64(-libc.Int32FromInt32(1)) {
  16431. weight = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  16432. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16433. libc.Xprintf(tls, __ccgo_ts+4524, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 104)), weight))
  16434. }
  16435. }
  16436. if width == float64(-libc.Int32FromInt32(1)) {
  16437. width = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  16438. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16439. libc.Xprintf(tls, __ccgo_ts+4553, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 104)), width))
  16440. }
  16441. }
  16442. if slant == -int32(1) {
  16443. slant = _FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_slantConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(48)/libc.Uint64FromInt64(16)))
  16444. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16445. libc.Xprintf(tls, __ccgo_ts+4581, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 104)), slant))
  16446. }
  16447. }
  16448. if decorative == m_FcFalse {
  16449. decorative = libc.BoolInt32(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_decorativeConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) > 0)
  16450. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16451. libc.Xprintf(tls, __ccgo_ts+4609, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 104)), decorative))
  16452. }
  16453. }
  16454. goto _18
  16455. _18:
  16456. ;
  16457. st++
  16458. }
  16459. /*
  16460. * Pull default values from the FreeType flags if more
  16461. * specific values not found above
  16462. */
  16463. if slant == -int32(1) {
  16464. slant = m_FC_SLANT_ROMAN
  16465. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  16466. slant = int32(m_FC_SLANT_ITALIC)
  16467. }
  16468. }
  16469. if weight == float64(-libc.Int32FromInt32(1)) {
  16470. weight = libc.Float64FromInt32(m_FC_WEIGHT_MEDIUM)
  16471. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  16472. weight = libc.Float64FromInt32(m_FC_WEIGHT_BOLD)
  16473. }
  16474. }
  16475. if width == float64(-libc.Int32FromInt32(1)) {
  16476. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  16477. }
  16478. if foundry == uintptr(0) {
  16479. foundry = __ccgo_ts + 4642
  16480. }
  16481. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4650, slant) != 0) {
  16482. goto bail1
  16483. }
  16484. if !(variable_weight != 0) && !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3982, weight) != 0) {
  16485. goto bail1
  16486. }
  16487. if !(variable_width != 0) && !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3989, width) != 0) {
  16488. goto bail1
  16489. }
  16490. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4656, foundry) != 0) {
  16491. goto bail1
  16492. }
  16493. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+4664, decorative) != 0) {
  16494. goto bail1
  16495. }
  16496. /*
  16497. * Compute the unicode coverage for the font
  16498. */
  16499. if cs_share != 0 && *(*uintptr)(unsafe.Pointer(cs_share)) != 0 {
  16500. cs = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(cs_share)))
  16501. } else {
  16502. cs = XIA__FcFreeTypeCharSet(tls, face, libc.UintptrFromInt32(0))
  16503. if cs_share != 0 {
  16504. *(*uintptr)(unsafe.Pointer(cs_share)) = XIA__FcCharSetCopy(tls, cs)
  16505. }
  16506. }
  16507. if !(cs != 0) {
  16508. goto bail1
  16509. }
  16510. /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
  16511. symbol = libc.BoolInt32((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 && (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding == int32(_FT_ENCODING_MS_SYMBOL))
  16512. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+4675, symbol) != 0) {
  16513. goto bail1
  16514. }
  16515. spacing = _FcFreeTypeSpacing(tls, face)
  16516. /* For PCF fonts, override the computed spacing with the one from
  16517. the property */
  16518. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4682, bp+64) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) != libc.UintptrFromInt32(0) {
  16519. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4690) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4692) != 0) {
  16520. spacing = int32(m_FC_CHARCELL)
  16521. } else {
  16522. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4694) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4696) != 0) {
  16523. spacing = int32(m_FC_MONO)
  16524. } else {
  16525. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4698) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4700) != 0) {
  16526. spacing = m_FC_PROPORTIONAL
  16527. }
  16528. }
  16529. }
  16530. }
  16531. /*
  16532. * Skip over PCF fonts that have no encoded characters; they're
  16533. * usually just Unicode fonts transcoded to some legacy encoding
  16534. * FT forces us to approximate whether a font is a PCF font
  16535. * or not by whether it has any BDF properties. Try PIXEL_SIZE;
  16536. * I don't know how to get a list of BDF properties on the font. -PL
  16537. */
  16538. if XIA__FcCharSetCount(tls, cs) == uint32(0) {
  16539. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+3948, bp+64) == 0 {
  16540. goto bail2
  16541. }
  16542. }
  16543. if !(XIA__FcPatternAddCharSet(tls, pat, __ccgo_ts+4702, cs) != 0) {
  16544. goto bail2
  16545. }
  16546. if !(symbol != 0) {
  16547. if ls_share != 0 && *(*uintptr)(unsafe.Pointer(ls_share)) != 0 {
  16548. ls = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(ls_share)))
  16549. } else {
  16550. ls = XFcFreeTypeLangSet(tls, cs, exclusiveLang)
  16551. if ls_share != 0 {
  16552. *(*uintptr)(unsafe.Pointer(ls_share)) = XIA__FcLangSetCopy(tls, ls)
  16553. }
  16554. }
  16555. if !(ls != 0) {
  16556. goto bail2
  16557. }
  16558. } else {
  16559. /* Symbol fonts don't cover any language, even though they
  16560. * claim to support Latin1 range. */
  16561. ls = XIA__FcLangSetCreate(tls)
  16562. }
  16563. if !(XIA__FcPatternAddLangSet(tls, pat, __ccgo_ts+4710, ls) != 0) {
  16564. XIA__FcLangSetDestroy(tls, ls)
  16565. goto bail2
  16566. }
  16567. XIA__FcLangSetDestroy(tls, ls)
  16568. if spacing != m_FC_PROPORTIONAL {
  16569. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4715, spacing) != 0) {
  16570. goto bail2
  16571. }
  16572. }
  16573. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) {
  16574. i5 = 0
  16575. for {
  16576. if !(i5 < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  16577. break
  16578. }
  16579. if !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+4723, _FcGetPixelSize(tls, face, i5)) != 0) {
  16580. goto bail2
  16581. }
  16582. goto _19
  16583. _19:
  16584. ;
  16585. i5++
  16586. }
  16587. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+4733, m_FcFalse) != 0) {
  16588. goto bail2
  16589. }
  16590. }
  16591. /*
  16592. * Use the (not well documented or supported) X-specific function
  16593. * from FreeType to figure out the font format
  16594. */
  16595. font_format = libfreetype.XFT_Get_X11_Font_Format(tls, face)
  16596. if font_format != 0 {
  16597. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4743, font_format) != 0) {
  16598. goto bail2
  16599. }
  16600. }
  16601. /*
  16602. * Drop our reference to the charset
  16603. */
  16604. XIA__FcCharSetDestroy(tls, cs)
  16605. if foundry_ != 0 {
  16606. libc.Xfree(tls, foundry_)
  16607. }
  16608. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  16609. /* TODO: How to free master?! */
  16610. }
  16611. return pat
  16612. goto bail2
  16613. bail2:
  16614. ;
  16615. XIA__FcCharSetDestroy(tls, cs)
  16616. goto bail1
  16617. bail1:
  16618. ;
  16619. XIA__FcPatternDestroy(tls, pat)
  16620. if foundry_ != 0 {
  16621. libc.Xfree(tls, foundry_)
  16622. }
  16623. goto bail0
  16624. bail0:
  16625. ;
  16626. return libc.UintptrFromInt32(0)
  16627. return r2
  16628. }
  16629. /* those characters are not allowed to be the literal name in PostScript */
  16630. var _exclusive_chars = [16]uint8{4, '(', ')', '/', '<', '>', '[', ']', '{', '}', 9, 12, 13, 10, ' '}
  16631. func XIA__FcFreeTypeQueryFace(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, blanks uintptr) (r uintptr) {
  16632. return _FcFreeTypeQueryFaceInternal(tls, face, file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  16633. }
  16634. var XFcFreeTypeQueryFace = XIA__FcFreeTypeQueryFace
  16635. func XIA__FcFreeTypeQuery(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr) (r uintptr) {
  16636. bp := tls.Alloc(16)
  16637. defer tls.Free(16)
  16638. var pat uintptr
  16639. var _ /* face at bp+0 */ TFT_Face
  16640. var _ /* ftLibrary at bp+8 */ TFT_Library
  16641. _ = pat
  16642. pat = libc.UintptrFromInt32(0)
  16643. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  16644. return libc.UintptrFromInt32(0)
  16645. }
  16646. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(id)&int64(0x7FFFFFFFF), bp) != 0 {
  16647. goto bail
  16648. }
  16649. if count != 0 {
  16650. *(*int32)(unsafe.Pointer(count)) = int32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  16651. }
  16652. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  16653. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  16654. goto bail
  16655. bail:
  16656. ;
  16657. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  16658. return pat
  16659. }
  16660. var XFcFreeTypeQuery = XIA__FcFreeTypeQuery
  16661. func XIA__FcFreeTypeQueryAll(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr, set uintptr) (r uint32) {
  16662. bp := tls.Alloc(48)
  16663. defer tls.Free(48)
  16664. var coords, instance, pat uintptr
  16665. var err int32
  16666. var face_num, i, instance_num, num_faces, num_instances, ret, set_face_num, set_instance_num, v1, v2 uint32
  16667. var index_set, nonzero TFcBool
  16668. var _ /* cs at bp+16 */ uintptr
  16669. var _ /* face at bp+0 */ TFT_Face
  16670. var _ /* ftLibrary at bp+8 */ TFT_Library
  16671. var _ /* ls at bp+24 */ uintptr
  16672. var _ /* mm_var at bp+40 */ uintptr
  16673. var _ /* nm at bp+32 */ uintptr
  16674. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = coords, err, face_num, i, index_set, instance, instance_num, nonzero, num_faces, num_instances, pat, ret, set_face_num, set_instance_num, v1, v2
  16675. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  16676. *(*TFT_Library)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  16677. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  16678. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  16679. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  16680. *(*uintptr)(unsafe.Pointer(bp + 40)) = libc.UintptrFromInt32(0)
  16681. index_set = libc.BoolInt32(id != libc.Uint32FromInt32(-libc.Int32FromInt32(1)))
  16682. if index_set != 0 {
  16683. v1 = id & uint32(0xFFFF)
  16684. } else {
  16685. v1 = uint32(0)
  16686. }
  16687. set_face_num = v1
  16688. if index_set != 0 {
  16689. v2 = id >> int32(16)
  16690. } else {
  16691. v2 = uint32(0)
  16692. }
  16693. set_instance_num = v2
  16694. face_num = set_face_num
  16695. instance_num = set_instance_num
  16696. num_faces = uint32(0)
  16697. num_instances = uint32(0)
  16698. ret = uint32(0)
  16699. err = 0
  16700. if count != 0 {
  16701. *(*int32)(unsafe.Pointer(count)) = 0
  16702. }
  16703. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  16704. return uint32(0)
  16705. }
  16706. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  16707. goto bail
  16708. }
  16709. num_faces = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  16710. num_instances = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fstyle_flags >> int32(16))
  16711. if num_instances != 0 && (!(index_set != 0) || instance_num != 0) {
  16712. libfreetype.XFT_Get_MM_Var(tls, *(*TFT_Face)(unsafe.Pointer(bp)), bp+40)
  16713. if !(*(*uintptr)(unsafe.Pointer(bp + 40)) != 0) {
  16714. num_instances = uint32(0)
  16715. }
  16716. }
  16717. if count != 0 {
  16718. *(*int32)(unsafe.Pointer(count)) = libc.Int32FromUint32(num_faces)
  16719. }
  16720. for cond := true; cond; cond = !(err != 0) && (!(index_set != 0) || face_num == set_face_num) && face_num < num_faces {
  16721. pat = libc.UintptrFromInt32(0)
  16722. if instance_num == uint32(0x8000) || instance_num > num_instances {
  16723. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), uint32(0), libc.UintptrFromInt32(0))
  16724. } else {
  16725. if instance_num != 0 {
  16726. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnamedstyle + uintptr(instance_num-uint32(1))*16
  16727. coords = (*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords
  16728. /* Skip named-instance that coincides with base instance. */
  16729. nonzero = m_FcFalse
  16730. i = uint32(0)
  16731. for {
  16732. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis) {
  16733. break
  16734. }
  16735. if *(*TFT_Fixed)(unsafe.Pointer(coords + uintptr(i)*8)) != (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Faxis + uintptr(i)*48))).Fdef {
  16736. nonzero = int32(m_FcTrue)
  16737. break
  16738. }
  16739. goto _3
  16740. _3:
  16741. ;
  16742. i++
  16743. }
  16744. if !(nonzero != 0) {
  16745. goto skip
  16746. }
  16747. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis, coords)
  16748. }
  16749. }
  16750. id = instance_num<<int32(16) + face_num
  16751. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, bp+16, bp+24, bp+32)
  16752. if pat != 0 {
  16753. ret++
  16754. if !(set != 0) || !(XIA__FcFontSetAdd(tls, set, pat) != 0) {
  16755. XIA__FcPatternDestroy(tls, pat)
  16756. }
  16757. } else {
  16758. if instance_num != uint32(0x8000) {
  16759. err = int32(1)
  16760. }
  16761. }
  16762. goto skip
  16763. skip:
  16764. ;
  16765. if !(index_set != 0) && instance_num < num_instances {
  16766. instance_num++
  16767. } else {
  16768. if !(index_set != 0) && instance_num == num_instances {
  16769. instance_num = uint32(0x8000)
  16770. } else {
  16771. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  16772. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  16773. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  16774. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  16775. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  16776. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  16777. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  16778. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  16779. face_num++
  16780. instance_num = set_instance_num
  16781. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  16782. break
  16783. }
  16784. }
  16785. }
  16786. }
  16787. goto bail
  16788. bail:
  16789. ;
  16790. libfreetype.XFT_Done_MM_Var(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 40)))
  16791. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  16792. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  16793. if *(*TFT_Face)(unsafe.Pointer(bp)) != 0 {
  16794. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  16795. }
  16796. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  16797. return ret
  16798. }
  16799. var XFcFreeTypeQueryAll = XIA__FcFreeTypeQueryAll
  16800. var _fcFontEncodings = [2]TFT_Encoding{
  16801. 0: int32(_FT_ENCODING_UNICODE),
  16802. 1: int32(_FT_ENCODING_MS_SYMBOL),
  16803. }
  16804. /*
  16805. * Map a UCS4 glyph to a glyph index. Use all available encoding
  16806. * tables to try and find one that works. This information is expected
  16807. * to be cached by higher levels, so performance isn't critical
  16808. */
  16809. func XIA__FcFreeTypeCharIndex(tls *libc.TLS, face TFT_Face, ucs4 TFcChar32) (r TFT_UInt) {
  16810. var decode, initial, offset int32
  16811. var glyphindex TFT_UInt
  16812. _, _, _, _ = decode, glyphindex, initial, offset
  16813. initial = 0
  16814. if !(face != 0) {
  16815. return uint32(0)
  16816. }
  16817. /*
  16818. * Find the current encoding
  16819. */
  16820. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 {
  16821. for {
  16822. if !(initial < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  16823. break
  16824. }
  16825. if _fcFontEncodings[initial] == (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding {
  16826. break
  16827. }
  16828. goto _1
  16829. _1:
  16830. ;
  16831. initial++
  16832. }
  16833. if initial == libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4)) {
  16834. initial = 0
  16835. }
  16836. }
  16837. /*
  16838. * Check each encoding for the glyph, starting with the current one
  16839. */
  16840. offset = 0
  16841. for {
  16842. if !(offset < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  16843. break
  16844. }
  16845. decode = (initial + offset) % libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))
  16846. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0) || (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding != _fcFontEncodings[decode] {
  16847. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[decode]) != 0 {
  16848. goto _2
  16849. }
  16850. }
  16851. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4))
  16852. if glyphindex != 0 {
  16853. return glyphindex
  16854. }
  16855. if ucs4 < uint32(0x100) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 && (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding == int32(_FT_ENCODING_MS_SYMBOL) {
  16856. /* For symbol-encoded OpenType fonts, we duplicate the
  16857. * U+F000..F0FF range at U+0000..U+00FF. That's what
  16858. * Windows seems to do, and that's hinted about at:
  16859. * http://www.microsoft.com/typography/otspec/recom.htm
  16860. * under "Non-Standard (Symbol) Fonts".
  16861. *
  16862. * See thread with subject "Webdings and other MS symbol
  16863. * fonts don't display" on mailing list from May 2015.
  16864. */
  16865. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4)+uint64(0xF000))
  16866. if glyphindex != 0 {
  16867. return glyphindex
  16868. }
  16869. }
  16870. goto _2
  16871. _2:
  16872. ;
  16873. offset++
  16874. }
  16875. return uint32(0)
  16876. }
  16877. var XFcFreeTypeCharIndex = XIA__FcFreeTypeCharIndex
  16878. func _fc_min(tls *libc.TLS, a int32, b int32) (r int32) {
  16879. var v1 int32
  16880. _ = v1
  16881. if a <= b {
  16882. v1 = a
  16883. } else {
  16884. v1 = b
  16885. }
  16886. return v1
  16887. }
  16888. func _fc_max(tls *libc.TLS, a int32, b int32) (r int32) {
  16889. var v1 int32
  16890. _ = v1
  16891. if a >= b {
  16892. v1 = a
  16893. } else {
  16894. v1 = b
  16895. }
  16896. return v1
  16897. }
  16898. func _fc_approximately_equal(tls *libc.TLS, x int32, y int32) (r TFcBool) {
  16899. return libc.BoolInt32(libc.Xabs(tls, x-y)*int32(33) <= _fc_max(tls, libc.Xabs(tls, x), libc.Xabs(tls, y)))
  16900. }
  16901. func _FcFreeTypeSpacing(tls *libc.TLS, face TFT_Face) (r int32) {
  16902. bp := tls.Alloc(16)
  16903. defer tls.Free(16)
  16904. var advances [3]TFT_Pos
  16905. var i, load_flags, strike_index TFT_Int
  16906. var j, num_advances, v4 uint32
  16907. var o int32
  16908. var ucs4 TFcChar32
  16909. var _ /* advance at bp+8 */ TFT_Pos
  16910. var _ /* glyph at bp+0 */ TFT_UInt
  16911. _, _, _, _, _, _, _, _, _ = advances, i, j, load_flags, num_advances, o, strike_index, ucs4, v4
  16912. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  16913. advances = [3]TFT_Pos{}
  16914. num_advances = uint32(0)
  16915. /* When using scalable fonts, only report those glyphs
  16916. * which can be scaled; otherwise those fonts will
  16917. * only be available at some sizes, and never when
  16918. * transformed. Avoid this by simply reporting bitmap-only
  16919. * glyphs as missing
  16920. */
  16921. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0 {
  16922. load_flags = TFT_Int(int64(load_flags) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(3))
  16923. }
  16924. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes > 0 && libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD)) != 0 {
  16925. strike_index = 0
  16926. /* Select the face closest to 16 pixels tall */
  16927. i = int32(1)
  16928. for {
  16929. if !(i < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  16930. break
  16931. }
  16932. if libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fheight)-int32(16)) < libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(strike_index)*32))).Fheight)-int32(16)) {
  16933. strike_index = i
  16934. }
  16935. goto _1
  16936. _1:
  16937. ;
  16938. i++
  16939. }
  16940. libfreetype.XFT_Select_Size(tls, face, strike_index)
  16941. }
  16942. o = 0
  16943. for {
  16944. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  16945. break
  16946. }
  16947. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  16948. goto _2
  16949. }
  16950. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  16951. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) && num_advances < uint32(3) {
  16952. *(*TFT_Pos)(unsafe.Pointer(bp + 8)) = 0
  16953. if !(libfreetype.XFT_Get_Advance(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags, bp+8) != 0) && *(*TFT_Pos)(unsafe.Pointer(bp + 8)) != 0 {
  16954. j = uint32(0)
  16955. for {
  16956. if !(j < num_advances) {
  16957. break
  16958. }
  16959. if _fc_approximately_equal(tls, int32(*(*TFT_Pos)(unsafe.Pointer(bp + 8))), int32(advances[j])) != 0 {
  16960. break
  16961. }
  16962. goto _3
  16963. _3:
  16964. ;
  16965. j++
  16966. }
  16967. if j == num_advances {
  16968. v4 = num_advances
  16969. num_advances++
  16970. advances[v4] = *(*TFT_Pos)(unsafe.Pointer(bp + 8))
  16971. }
  16972. }
  16973. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  16974. }
  16975. break
  16976. goto _2
  16977. _2:
  16978. ;
  16979. o++
  16980. }
  16981. if num_advances <= uint32(1) {
  16982. return int32(m_FC_MONO)
  16983. } else {
  16984. if num_advances == uint32(2) && _fc_approximately_equal(tls, _fc_min(tls, int32(advances[0]), int32(advances[int32(1)]))*int32(2), _fc_max(tls, int32(advances[0]), int32(advances[int32(1)]))) != 0 {
  16985. return int32(m_FC_DUAL)
  16986. } else {
  16987. return m_FC_PROPORTIONAL
  16988. }
  16989. }
  16990. return r
  16991. }
  16992. func XIA__FcFreeTypeCharSet(tls *libc.TLS, face TFT_Face, blanks uintptr) (r uintptr) {
  16993. bp := tls.Alloc(16)
  16994. defer tls.Free(16)
  16995. var fcs, leaf uintptr
  16996. var good TFcBool
  16997. var load_flags TFT_Int
  16998. var o int32
  16999. var off, page, ucs4 TFcChar32
  17000. var _ /* glyph at bp+0 */ TFT_UInt
  17001. _, _, _, _, _, _, _, _ = fcs, good, leaf, load_flags, o, off, page, ucs4
  17002. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  17003. fcs = XIA__FcCharSetCreate(tls)
  17004. if !(fcs != 0) {
  17005. goto bail
  17006. }
  17007. o = 0
  17008. for {
  17009. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  17010. break
  17011. }
  17012. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  17013. goto _1
  17014. }
  17015. page = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  17016. leaf = libc.UintptrFromInt32(0)
  17017. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  17018. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) {
  17019. good = int32(m_FcTrue)
  17020. /* CID fonts built by Adobe used to make ASCII control chars to cid1
  17021. * (space glyph). As such, always check contour for those characters. */
  17022. if ucs4 <= uint32(0x001F) {
  17023. if libfreetype.XFT_Load_Glyph(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags) != 0 || (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Fformat == int32(_FT_GLYPH_FORMAT_OUTLINE) && int32((*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Foutline.Fn_contours) == 0 {
  17024. good = m_FcFalse
  17025. }
  17026. }
  17027. if good != 0 {
  17028. XIA__FcCharSetAddChar(tls, fcs, ucs4)
  17029. if ucs4>>libc.Int32FromInt32(8) != page {
  17030. page = ucs4 >> int32(8)
  17031. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  17032. if !(leaf != 0) {
  17033. goto bail
  17034. }
  17035. }
  17036. off = ucs4 & uint32(0xff)
  17037. *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(off>>int32(5))*4)) |= uint32(1) << (off & uint32(0x1f))
  17038. }
  17039. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  17040. }
  17041. if _fcFontEncodings[o] == int32(_FT_ENCODING_MS_SYMBOL) {
  17042. /* For symbol-encoded OpenType fonts, we duplicate the
  17043. * U+F000..F0FF range at U+0000..U+00FF. That's what
  17044. * Windows seems to do, and that's hinted about at:
  17045. * http://www.microsoft.com/typography/otspec/recom.htm
  17046. * under "Non-Standard (Symbol) Fonts".
  17047. *
  17048. * See thread with subject "Webdings and other MS symbol
  17049. * fonts don't display" on mailing list from May 2015.
  17050. */
  17051. ucs4 = uint32(0xF000)
  17052. for {
  17053. if !(ucs4 < uint32(0xF100)) {
  17054. break
  17055. }
  17056. if XIA__FcCharSetHasChar(tls, fcs, ucs4) != 0 {
  17057. XIA__FcCharSetAddChar(tls, fcs, ucs4-uint32(0xF000))
  17058. }
  17059. goto _2
  17060. _2:
  17061. ;
  17062. ucs4++
  17063. }
  17064. }
  17065. break
  17066. goto _1
  17067. _1:
  17068. ;
  17069. o++
  17070. }
  17071. return fcs
  17072. goto bail
  17073. bail:
  17074. ;
  17075. XIA__FcCharSetDestroy(tls, fcs)
  17076. return uintptr(0)
  17077. }
  17078. var XFcFreeTypeCharSet = XIA__FcFreeTypeCharSet
  17079. func XIA__FcFreeTypeCharSetAndSpacing(tls *libc.TLS, face TFT_Face, blanks uintptr, spacing uintptr) (r uintptr) {
  17080. if spacing != 0 {
  17081. *(*int32)(unsafe.Pointer(spacing)) = _FcFreeTypeSpacing(tls, face)
  17082. }
  17083. return XIA__FcFreeTypeCharSet(tls, face, blanks)
  17084. }
  17085. var XFcFreeTypeCharSetAndSpacing = XIA__FcFreeTypeCharSetAndSpacing
  17086. /* space + head + id */
  17087. /*
  17088. * This is a bit generous; the registry has only lower case and space
  17089. * except for 'DFLT'.
  17090. */
  17091. func _addtag(tls *libc.TLS, complex_ uintptr, tag TFT_ULong) {
  17092. bp := tls.Alloc(16)
  17093. defer tls.Free(16)
  17094. var _ /* tagstring at bp+0 */ [5]TFcChar8
  17095. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0] = uint8(tag >> libc.Int32FromInt32(24))
  17096. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)] = uint8(tag >> libc.Int32FromInt32(16))
  17097. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)] = uint8(tag >> libc.Int32FromInt32(8))
  17098. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)] = uint8(tag)
  17099. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(4)] = uint8('\000')
  17100. /* skip tags which aren't alphanumeric, under the assumption that
  17101. * they're probably broken
  17102. */
  17103. if !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)])) || !(int32(0141) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0172) || int32(0101) <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0132) || int32('0') <= libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32('9') || int32(040) == libc.Int32FromUint8((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)])) {
  17104. return
  17105. }
  17106. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(complex_))) != int32('\000') {
  17107. libc.Xstrcat(tls, complex_, __ccgo_ts+1665)
  17108. }
  17109. libc.Xstrcat(tls, complex_, __ccgo_ts+4754)
  17110. libc.Xstrcat(tls, complex_, bp)
  17111. }
  17112. func _compareulong(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  17113. var ua, ub uintptr
  17114. _, _ = ua, ub
  17115. ua = a
  17116. ub = b
  17117. return libc.Int32FromUint64(*(*TFT_ULong)(unsafe.Pointer(ua)) - *(*TFT_ULong)(unsafe.Pointer(ub)))
  17118. }
  17119. func _GetScriptTags(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong, stags uintptr) (r int32) {
  17120. var base_offset, cur_offset, new_offset TFT_ULong
  17121. var error1, v1 TFT_Error
  17122. var n, p TFT_UShort
  17123. var script_count int32
  17124. var stream TFT_Stream
  17125. _, _, _, _, _, _, _, _, _ = base_offset, cur_offset, error1, n, new_offset, p, script_count, stream, v1
  17126. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  17127. if !(stream != 0) {
  17128. return 0
  17129. }
  17130. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  17131. error1 = v1
  17132. if v1 != 0 {
  17133. return 0
  17134. }
  17135. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  17136. /* skip version */
  17137. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(base_offset+uint64(4))) != 0 || Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  17138. return 0
  17139. }
  17140. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  17141. new_offset = uint64(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  17142. Xftglue_stream_frame_exit(tls, stream)
  17143. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  17144. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset)) != int32(_FT_Err_Ok) {
  17145. return 0
  17146. }
  17147. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  17148. if Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  17149. return 0
  17150. }
  17151. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  17152. script_count = libc.Int32FromUint16(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  17153. Xftglue_stream_frame_exit(tls, stream)
  17154. *(*uintptr)(unsafe.Pointer(stags)) = libc.Xmalloc(tls, libc.Uint64FromInt32(script_count)*uint64(8))
  17155. if !(*(*uintptr)(unsafe.Pointer(stags)) != 0) {
  17156. return 0
  17157. }
  17158. p = uint16(0)
  17159. n = uint16(0)
  17160. for {
  17161. if !(libc.Int32FromUint16(n) < script_count) {
  17162. break
  17163. }
  17164. if Xftglue_stream_frame_enter(tls, stream, uint64(6)) != 0 {
  17165. goto Fail
  17166. }
  17167. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  17168. *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(stags)) + uintptr(p)*8)) = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  17169. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  17170. new_offset = uint64(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  17171. Xftglue_stream_frame_exit(tls, stream)
  17172. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  17173. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset))
  17174. if error1 == int32(_FT_Err_Ok) {
  17175. p++
  17176. }
  17177. Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(cur_offset))
  17178. goto _2
  17179. _2:
  17180. ;
  17181. n++
  17182. }
  17183. if !(p != 0) {
  17184. goto Fail
  17185. }
  17186. /* sort the tag list before returning it */
  17187. libc.Xqsort(tls, *(*uintptr)(unsafe.Pointer(stags)), libc.Uint64FromInt32(script_count), uint64(8), __ccgo_fp(_compareulong))
  17188. return script_count
  17189. goto Fail
  17190. Fail:
  17191. ;
  17192. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(stags)))
  17193. *(*uintptr)(unsafe.Pointer(stags)) = libc.UintptrFromInt32(0)
  17194. return 0
  17195. }
  17196. func _FcFontCapabilities(tls *libc.TLS, face TFT_Face) (r uintptr) {
  17197. bp := tls.Alloc(48)
  17198. defer tls.Free(48)
  17199. var complex_ uintptr
  17200. var err TFT_Error
  17201. var gpos_count, gsub_count TFT_UShort
  17202. var indx1, indx2, v1 int32
  17203. var issilgraphitefont TFcBool
  17204. var maxsize TFT_ULong
  17205. var _ /* gpostags at bp+16 */ uintptr
  17206. var _ /* gsubtags at bp+8 */ uintptr
  17207. var _ /* len at bp+0 */ TFT_ULong
  17208. _, _, _, _, _, _, _, _, _ = complex_, err, gpos_count, gsub_count, indx1, indx2, issilgraphitefont, maxsize, v1
  17209. issilgraphitefont = 0
  17210. *(*TFT_ULong)(unsafe.Pointer(bp)) = uint64(0)
  17211. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  17212. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  17213. gsub_count = uint16(0)
  17214. gpos_count = uint16(0)
  17215. complex_ = libc.UintptrFromInt32(0)
  17216. indx1 = 0
  17217. indx2 = 0
  17218. err = libfreetype.XFT_Load_Sfnt_Table(tls, face, uint64(uint32(libc.Uint64FromUint8('S')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('i')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('l')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('f'))), 0, uintptr(0), bp)
  17219. issilgraphitefont = libc.BoolInt32(err == int32(_FT_Err_Ok))
  17220. gpos_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint64(uint32(libc.Uint64FromUint8('G')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('P')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('O')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('S'))), bp+16))
  17221. gsub_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint64(uint32(libc.Uint64FromUint8('G')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('S')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('U')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('B'))), bp+8))
  17222. if !(issilgraphitefont != 0) && !(gsub_count != 0) && !(gpos_count != 0) {
  17223. goto bail
  17224. }
  17225. if issilgraphitefont != 0 {
  17226. v1 = int32(13)
  17227. } else {
  17228. v1 = 0
  17229. }
  17230. maxsize = (uint64(gpos_count)+uint64(gsub_count))*libc.Uint64FromInt32(libc.Int32FromInt32(1)+libc.Int32FromInt32(m_OTLAYOUT_HEAD_LEN)+libc.Int32FromInt32(m_OTLAYOUT_ID_LEN)) + libc.Uint64FromInt32(v1)
  17231. complex_ = libc.Xmalloc(tls, uint64(1)*maxsize)
  17232. if !(complex_ != 0) {
  17233. goto bail
  17234. }
  17235. *(*TFcChar8)(unsafe.Pointer(complex_)) = uint8('\000')
  17236. if issilgraphitefont != 0 {
  17237. libc.Xstrcpy(tls, complex_, __ccgo_ts+4764)
  17238. }
  17239. for indx1 < libc.Int32FromUint16(gsub_count) || indx2 < libc.Int32FromUint16(gpos_count) {
  17240. if indx1 == libc.Int32FromUint16(gsub_count) {
  17241. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  17242. indx2++
  17243. } else {
  17244. if indx2 == libc.Int32FromUint16(gpos_count) || *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)) < *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)) {
  17245. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  17246. indx1++
  17247. } else {
  17248. if *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)) == *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)) {
  17249. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  17250. indx1++
  17251. indx2++
  17252. } else {
  17253. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  17254. indx2++
  17255. }
  17256. }
  17257. }
  17258. }
  17259. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17260. libc.Xprintf(tls, __ccgo_ts+4777, libc.VaList(bp+32, complex_))
  17261. }
  17262. goto bail
  17263. bail:
  17264. ;
  17265. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  17266. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  17267. return complex_
  17268. }
  17269. func XIA__FcFontSetCreate(tls *libc.TLS) (r uintptr) {
  17270. var s uintptr
  17271. _ = s
  17272. s = libc.Xmalloc(tls, uint64(16))
  17273. if !(s != 0) {
  17274. return uintptr(0)
  17275. }
  17276. (*TFcFontSet)(unsafe.Pointer(s)).Fnfont = 0
  17277. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = 0
  17278. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = uintptr(0)
  17279. return s
  17280. }
  17281. var XFcFontSetCreate = XIA__FcFontSetCreate
  17282. func XIA__FcFontSetDestroy(tls *libc.TLS, s uintptr) {
  17283. var i int32
  17284. _ = i
  17285. i = 0
  17286. for {
  17287. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  17288. break
  17289. }
  17290. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  17291. goto _1
  17292. _1:
  17293. ;
  17294. i++
  17295. }
  17296. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  17297. libc.Xfree(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  17298. }
  17299. libc.Xfree(tls, s)
  17300. }
  17301. var XFcFontSetDestroy = XIA__FcFontSetDestroy
  17302. func XIA__FcFontSetAdd(tls *libc.TLS, s uintptr, font uintptr) (r TFcBool) {
  17303. var f, v2 uintptr
  17304. var sfont, v1 int32
  17305. _, _, _, _ = f, sfont, v1, v2
  17306. if (*TFcFontSet)(unsafe.Pointer(s)).Fnfont == (*TFcFontSet)(unsafe.Pointer(s)).Fsfont {
  17307. sfont = (*TFcFontSet)(unsafe.Pointer(s)).Fsfont + int32(32)
  17308. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  17309. f = libc.Xrealloc(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Uint64FromInt32(sfont)*uint64(8))
  17310. } else {
  17311. f = libc.Xmalloc(tls, libc.Uint64FromInt32(sfont)*uint64(8))
  17312. }
  17313. if !(f != 0) {
  17314. return m_FcFalse
  17315. }
  17316. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = sfont
  17317. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = f
  17318. }
  17319. v2 = s
  17320. v1 = *(*int32)(unsafe.Pointer(v2))
  17321. *(*int32)(unsafe.Pointer(v2))++
  17322. *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(v1)*8)) = font
  17323. return int32(m_FcTrue)
  17324. }
  17325. var XFcFontSetAdd = XIA__FcFontSetAdd
  17326. func XFcFontSetSerializeAlloc(tls *libc.TLS, serialize uintptr, s uintptr) (r TFcBool) {
  17327. var i int32
  17328. _ = i
  17329. if !(XFcSerializeAlloc(tls, serialize, s, int32(16)) != 0) {
  17330. return m_FcFalse
  17331. }
  17332. if !(XFcSerializeAlloc(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(s)).Fnfont)*uint64(8))) != 0) {
  17333. return m_FcFalse
  17334. }
  17335. i = 0
  17336. for {
  17337. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  17338. break
  17339. }
  17340. if !(XFcPatternSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8))) != 0) {
  17341. return m_FcFalse
  17342. }
  17343. goto _1
  17344. _1:
  17345. ;
  17346. i++
  17347. }
  17348. return int32(m_FcTrue)
  17349. }
  17350. func XFcFontSetSerialize(tls *libc.TLS, serialize uintptr, s uintptr) (r uintptr) {
  17351. var fonts_serialize, p_serialize, s_serialize uintptr
  17352. var i int32
  17353. _, _, _, _ = fonts_serialize, i, p_serialize, s_serialize
  17354. s_serialize = XFcSerializePtr(tls, serialize, s)
  17355. if !(s_serialize != 0) {
  17356. return libc.UintptrFromInt32(0)
  17357. }
  17358. *(*TFcFontSet)(unsafe.Pointer(s_serialize)) = *(*TFcFontSet)(unsafe.Pointer(s))
  17359. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fsfont = (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fnfont
  17360. fonts_serialize = XFcSerializePtr(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  17361. if !(fonts_serialize != 0) {
  17362. return libc.UintptrFromInt32(0)
  17363. }
  17364. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Ffonts = uintptr(int64(fonts_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  17365. i = 0
  17366. for {
  17367. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  17368. break
  17369. }
  17370. p_serialize = XFcPatternSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  17371. if !(p_serialize != 0) {
  17372. return libc.UintptrFromInt32(0)
  17373. }
  17374. *(*uintptr)(unsafe.Pointer(fonts_serialize + uintptr(i)*8)) = uintptr(int64(p_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  17375. goto _1
  17376. _1:
  17377. ;
  17378. i++
  17379. }
  17380. return s_serialize
  17381. }
  17382. func XFcFontSetDeserialize(tls *libc.TLS, set uintptr) (r uintptr) {
  17383. var i int32
  17384. var new1, v2, v3 uintptr
  17385. _, _, _, _ = i, new1, v2, v3
  17386. new1 = XIA__FcFontSetCreate(tls)
  17387. if !(new1 != 0) {
  17388. return libc.UintptrFromInt32(0)
  17389. }
  17390. i = 0
  17391. for {
  17392. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  17393. break
  17394. }
  17395. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  17396. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  17397. v3 = uintptr(int64(set) + int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  17398. } else {
  17399. v3 = (*TFcFontSet)(unsafe.Pointer(set)).Ffonts
  17400. }
  17401. v2 = uintptr(int64(set) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  17402. } else {
  17403. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  17404. }
  17405. if !(XIA__FcFontSetAdd(tls, new1, XIA__FcPatternDuplicate(tls, v2)) != 0) {
  17406. goto bail
  17407. }
  17408. goto _1
  17409. _1:
  17410. ;
  17411. i++
  17412. }
  17413. return new1
  17414. goto bail
  17415. bail:
  17416. ;
  17417. XIA__FcFontSetDestroy(tls, new1)
  17418. return libc.UintptrFromInt32(0)
  17419. }
  17420. type TFcPtrList = struct {
  17421. Fdestroy_func TFcDestroyFunc
  17422. Flist uintptr
  17423. }
  17424. type T_FcPtrList = TFcPtrList
  17425. type TFcPtrListEntry = struct {
  17426. Fnext uintptr
  17427. Fdata uintptr
  17428. }
  17429. type T_FcPtrListEntry = TFcPtrListEntry
  17430. type TFcPtrListIterPrivate = struct {
  17431. Flist uintptr
  17432. Fentry uintptr
  17433. Fprev uintptr
  17434. }
  17435. type T_FcPtrListIterPrivate = TFcPtrListIterPrivate
  17436. func XFcPtrListCreate(tls *libc.TLS, func1 TFcDestroyFunc) (r uintptr) {
  17437. var ret uintptr
  17438. _ = ret
  17439. ret = libc.Xmalloc(tls, uint64(16))
  17440. if ret != 0 {
  17441. (*TFcPtrList)(unsafe.Pointer(ret)).Fdestroy_func = func1
  17442. (*TFcPtrList)(unsafe.Pointer(ret)).Flist = libc.UintptrFromInt32(0)
  17443. }
  17444. return ret
  17445. }
  17446. func XFcPtrListDestroy(tls *libc.TLS, list uintptr) {
  17447. bp := tls.Alloc(32)
  17448. defer tls.Free(32)
  17449. var _ /* iter at bp+0 */ TFcPtrListIter
  17450. XFcPtrListIterInit(tls, list, bp)
  17451. for cond := true; cond; cond = XFcPtrListIterIsValid(tls, list, bp) != 0 {
  17452. if XFcPtrListIterGetValue(tls, list, bp) != 0 {
  17453. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcPtrList)(unsafe.Pointer(list)).Fdestroy_func})))(tls, XFcPtrListIterGetValue(tls, list, bp))
  17454. }
  17455. XFcPtrListIterRemove(tls, list, bp)
  17456. }
  17457. libc.Xfree(tls, list)
  17458. }
  17459. func XFcPtrListIterInit(tls *libc.TLS, list uintptr, iter uintptr) {
  17460. var priv uintptr
  17461. _ = priv
  17462. priv = iter
  17463. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  17464. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrList)(unsafe.Pointer(list)).Flist
  17465. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = libc.UintptrFromInt32(0)
  17466. }
  17467. func XFcPtrListIterInitAtLast(tls *libc.TLS, list uintptr, iter uintptr) {
  17468. var e, p, priv uintptr
  17469. _, _, _ = e, p, priv
  17470. priv = iter
  17471. e = list + 8
  17472. p = e
  17473. for {
  17474. if !(*(*uintptr)(unsafe.Pointer(e)) != 0) {
  17475. break
  17476. }
  17477. goto _1
  17478. _1:
  17479. ;
  17480. p = e
  17481. e = *(*uintptr)(unsafe.Pointer(e))
  17482. }
  17483. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  17484. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = *(*uintptr)(unsafe.Pointer(e))
  17485. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = *(*uintptr)(unsafe.Pointer(p))
  17486. }
  17487. func XFcPtrListIterNext(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  17488. var priv uintptr
  17489. _ = priv
  17490. priv = iter
  17491. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  17492. return m_FcFalse
  17493. }
  17494. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  17495. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  17496. return libc.BoolInt32((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != libc.UintptrFromInt32(0))
  17497. }
  17498. func XFcPtrListIterIsValid(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  17499. var priv uintptr
  17500. _ = priv
  17501. priv = iter
  17502. return libc.BoolInt32(list == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist && (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0)
  17503. }
  17504. func XFcPtrListIterGetValue(tls *libc.TLS, list uintptr, iter uintptr) (r uintptr) {
  17505. var priv uintptr
  17506. _ = priv
  17507. priv = iter
  17508. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist || !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  17509. return libc.UintptrFromInt32(0)
  17510. }
  17511. return (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fdata
  17512. }
  17513. func XFcPtrListIterAdd(tls *libc.TLS, list uintptr, iter uintptr, data uintptr) (r TFcBool) {
  17514. var e, priv uintptr
  17515. _, _ = e, priv
  17516. priv = iter
  17517. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  17518. return m_FcFalse
  17519. }
  17520. e = libc.Xmalloc(tls, uint64(16))
  17521. if !(e != 0) {
  17522. return m_FcFalse
  17523. }
  17524. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fdata = data
  17525. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0 {
  17526. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  17527. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext = e
  17528. } else {
  17529. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = libc.UintptrFromInt32(0)
  17530. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  17531. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = e
  17532. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev
  17533. } else {
  17534. (*TFcPtrList)(unsafe.Pointer(list)).Flist = e
  17535. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = e
  17536. return int32(m_FcTrue)
  17537. }
  17538. }
  17539. return XFcPtrListIterNext(tls, list, iter)
  17540. }
  17541. func XFcPtrListIterRemove(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  17542. var e, priv uintptr
  17543. _, _ = e, priv
  17544. priv = iter
  17545. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  17546. return m_FcFalse
  17547. }
  17548. if !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  17549. return int32(m_FcTrue)
  17550. }
  17551. if (*TFcPtrList)(unsafe.Pointer(list)).Flist == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry {
  17552. (*TFcPtrList)(unsafe.Pointer(list)).Flist = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrList)(unsafe.Pointer(list)).Flist)).Fnext
  17553. }
  17554. e = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  17555. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  17556. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  17557. }
  17558. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  17559. libc.Xfree(tls, e)
  17560. return int32(m_FcTrue)
  17561. }
  17562. const m_FC_HASH_SIZE = 227
  17563. type TFcHashTable = struct {
  17564. Fbuckets [227]uintptr
  17565. Fhash_func TFcHashFunc
  17566. Fcompare_func TFcCompareFunc
  17567. Fkey_copy_func TFcCopyFunc
  17568. Fvalue_copy_func TFcCopyFunc
  17569. Fkey_destroy_func TFcDestroyFunc
  17570. Fvalue_destroy_func TFcDestroyFunc
  17571. }
  17572. type T_FcHashTable = TFcHashTable
  17573. type TFcHashBucket = struct {
  17574. Fnext uintptr
  17575. Fkey uintptr
  17576. Fvalue uintptr
  17577. }
  17578. type T_FcHashBucket = TFcHashBucket
  17579. func XFcHashStrCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  17580. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  17581. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(dest)) != libc.UintptrFromInt32(0))
  17582. }
  17583. func XFcHashUuidCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  17584. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xmalloc(tls, uint64(16))
  17585. libc.Xuuid_copy(tls, *(*uintptr)(unsafe.Pointer(dest)), src)
  17586. return int32(m_FcTrue)
  17587. }
  17588. func XFcHashUuidFree(tls *libc.TLS, data uintptr) {
  17589. libc.Xfree(tls, data)
  17590. }
  17591. func XFcHashTableCreate(tls *libc.TLS, hash_func TFcHashFunc, compare_func TFcCompareFunc, key_copy_func TFcCopyFunc, value_copy_func TFcCopyFunc, key_destroy_func TFcDestroyFunc, value_destroy_func TFcDestroyFunc) (r uintptr) {
  17592. var ret uintptr
  17593. _ = ret
  17594. ret = libc.Xmalloc(tls, uint64(1864))
  17595. if ret != 0 {
  17596. libc.Xmemset(tls, ret, 0, libc.Uint64FromInt64(8)*libc.Uint64FromInt32(m_FC_HASH_SIZE))
  17597. (*TFcHashTable)(unsafe.Pointer(ret)).Fhash_func = hash_func
  17598. (*TFcHashTable)(unsafe.Pointer(ret)).Fcompare_func = compare_func
  17599. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_copy_func = key_copy_func
  17600. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_copy_func = value_copy_func
  17601. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_destroy_func = key_destroy_func
  17602. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_destroy_func = value_destroy_func
  17603. }
  17604. return ret
  17605. }
  17606. func XFcHashTableDestroy(tls *libc.TLS, table uintptr) {
  17607. var bucket, prev uintptr
  17608. var i int32
  17609. _, _, _ = bucket, i, prev
  17610. i = 0
  17611. for {
  17612. if !(i < int32(m_FC_HASH_SIZE)) {
  17613. break
  17614. }
  17615. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8))
  17616. for bucket != 0 {
  17617. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  17618. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  17619. }
  17620. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  17621. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  17622. }
  17623. prev = bucket
  17624. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  17625. libc.Xfree(tls, prev)
  17626. }
  17627. *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  17628. goto _1
  17629. _1:
  17630. ;
  17631. i++
  17632. }
  17633. libc.Xfree(tls, table)
  17634. }
  17635. func XFcHashTableFind(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  17636. var bucket uintptr
  17637. var hash TFcChar32
  17638. _, _ = bucket, hash
  17639. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  17640. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8))
  17641. for {
  17642. if !(bucket != 0) {
  17643. break
  17644. }
  17645. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey, key) != 0) {
  17646. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  17647. if !((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue, value) != 0) {
  17648. return m_FcFalse
  17649. }
  17650. } else {
  17651. *(*uintptr)(unsafe.Pointer(value)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue
  17652. }
  17653. return int32(m_FcTrue)
  17654. }
  17655. goto _1
  17656. _1:
  17657. ;
  17658. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  17659. }
  17660. return m_FcFalse
  17661. }
  17662. func _FcHashTableAddInternal(tls *libc.TLS, table uintptr, key uintptr, value uintptr, replace TFcBool) (r TFcBool) {
  17663. var b, bucket, prev, v3 uintptr
  17664. var hash TFcChar32
  17665. var ret TFcBool
  17666. var v4, v5 int32
  17667. _, _, _, _, _, _, _, _ = b, bucket, hash, prev, ret, v3, v4, v5
  17668. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  17669. ret = m_FcFalse
  17670. bucket = libc.Xmalloc(tls, uint64(24))
  17671. if !(bucket != 0) {
  17672. return m_FcFalse
  17673. }
  17674. libc.Xmemset(tls, bucket, 0, uint64(24))
  17675. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func != 0 {
  17676. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func})))(tls, key, bucket+8) != 0))
  17677. } else {
  17678. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey = key
  17679. }
  17680. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  17681. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, value, bucket+16) != 0))
  17682. } else {
  17683. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue = value
  17684. }
  17685. if !(ret != 0) {
  17686. goto _1
  17687. }
  17688. goto destroy
  17689. destroy:
  17690. ;
  17691. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  17692. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  17693. }
  17694. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  17695. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  17696. }
  17697. libc.Xfree(tls, bucket)
  17698. return libc.BoolInt32(!(ret != 0))
  17699. _1:
  17700. ;
  17701. goto retry
  17702. retry:
  17703. ;
  17704. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  17705. for {
  17706. v3 = *(*uintptr)(unsafe.Pointer(prev))
  17707. b = v3
  17708. if !(v3 != 0) {
  17709. break
  17710. }
  17711. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(b)).Fkey, key) != 0) {
  17712. if replace != 0 {
  17713. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = (*TFcHashBucket)(unsafe.Pointer(b)).Fnext
  17714. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  17715. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  17716. v4 = libc.Int32FromInt32(m_FcTrue)
  17717. } else {
  17718. v4 = m_FcFalse
  17719. }
  17720. if !(v4 != 0) {
  17721. goto retry
  17722. }
  17723. bucket = b
  17724. } else {
  17725. ret = int32(m_FcTrue)
  17726. }
  17727. goto destroy
  17728. }
  17729. goto _2
  17730. _2:
  17731. ;
  17732. prev = b
  17733. }
  17734. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = libc.UintptrFromInt32(0)
  17735. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  17736. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  17737. v5 = libc.Int32FromInt32(m_FcTrue)
  17738. } else {
  17739. v5 = m_FcFalse
  17740. }
  17741. if !(v5 != 0) {
  17742. goto retry
  17743. }
  17744. return int32(m_FcTrue)
  17745. }
  17746. func XFcHashTableAdd(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  17747. return _FcHashTableAddInternal(tls, table, key, value, m_FcFalse)
  17748. }
  17749. func XFcHashTableReplace(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  17750. return _FcHashTableAddInternal(tls, table, key, value, int32(m_FcTrue))
  17751. }
  17752. func XFcHashTableRemove(tls *libc.TLS, table uintptr, key uintptr) (r TFcBool) {
  17753. var bucket, prev, v2 uintptr
  17754. var hash TFcChar32
  17755. var ret TFcBool
  17756. var v3 int32
  17757. _, _, _, _, _, _ = bucket, hash, prev, ret, v2, v3
  17758. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  17759. ret = m_FcFalse
  17760. goto retry
  17761. retry:
  17762. ;
  17763. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  17764. for {
  17765. v2 = *(*uintptr)(unsafe.Pointer(prev))
  17766. bucket = v2
  17767. if !(v2 != 0) {
  17768. break
  17769. }
  17770. if !((*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fcompare_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey, key) != 0) {
  17771. if *(*uintptr)(unsafe.Pointer(prev)) == bucket {
  17772. *(*uintptr)(unsafe.Pointer(prev)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  17773. v3 = libc.Int32FromInt32(m_FcTrue)
  17774. } else {
  17775. v3 = m_FcFalse
  17776. }
  17777. if !(v3 != 0) {
  17778. goto retry
  17779. }
  17780. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  17781. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  17782. }
  17783. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  17784. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  17785. }
  17786. libc.Xfree(tls, bucket)
  17787. ret = int32(m_FcTrue)
  17788. break
  17789. }
  17790. goto _1
  17791. _1:
  17792. ;
  17793. prev = bucket
  17794. }
  17795. return ret
  17796. }
  17797. const m_FC_DIR_SEPARATOR_S3 = "/fontconfig"
  17798. func _FcInitFallbackConfig(tls *libc.TLS, sysroot uintptr) (r uintptr) {
  17799. var config, fallback uintptr
  17800. _, _ = config, fallback
  17801. fallback = __ccgo_ts + 4813
  17802. config = XIA__FcConfigCreate(tls)
  17803. if !(config != 0) {
  17804. goto bail0
  17805. }
  17806. XIA__FcConfigSetSysRoot(tls, config, sysroot)
  17807. if !(XIA__FcConfigParseAndLoadFromMemory(tls, config, fallback, m_FcFalse) != 0) {
  17808. goto bail1
  17809. }
  17810. return config
  17811. goto bail1
  17812. bail1:
  17813. ;
  17814. XIA__FcConfigDestroy(tls, config)
  17815. goto bail0
  17816. bail0:
  17817. ;
  17818. return uintptr(0)
  17819. return r
  17820. }
  17821. func XIA__FcGetVersion(tls *libc.TLS) (r int32) {
  17822. return libc.Int32FromInt32(m_FC_MAJOR)*libc.Int32FromInt32(10000) + libc.Int32FromInt32(m_FC_MINOR)*libc.Int32FromInt32(100) + libc.Int32FromInt32(m_FC_REVISION)
  17823. }
  17824. var XFcGetVersion = XIA__FcGetVersion
  17825. // C documentation
  17826. //
  17827. // /*
  17828. // * Load the configuration files
  17829. // */
  17830. func XFcInitLoadOwnConfig(tls *libc.TLS, config uintptr) (r uintptr) {
  17831. bp := tls.Alloc(16)
  17832. defer tls.Free(16)
  17833. var env_file, env_path, fallback, fallback1, p, prefix, sysroot, sysroot1 uintptr
  17834. var have_own TFcBool
  17835. var plen Tsize_t
  17836. _, _, _, _, _, _, _, _, _, _ = env_file, env_path, fallback, fallback1, have_own, p, plen, prefix, sysroot, sysroot1
  17837. if !(config != 0) {
  17838. config = XIA__FcConfigCreate(tls)
  17839. if !(config != 0) {
  17840. return libc.UintptrFromInt32(0)
  17841. }
  17842. }
  17843. XFcInitDebug(tls)
  17844. if !(XIA__FcConfigParseAndLoad(tls, config, uintptr(0), int32(m_FcTrue)) != 0) {
  17845. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  17846. fallback = _FcInitFallbackConfig(tls, sysroot)
  17847. XIA__FcConfigDestroy(tls, config)
  17848. return fallback
  17849. }
  17850. XFcConfigParseOnly(tls, config, __ccgo_ts+5141, m_FcFalse)
  17851. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0 && (*TFcStrSet)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)).Fnum == 0) {
  17852. goto _1
  17853. }
  17854. have_own = m_FcFalse
  17855. env_file = libc.Xgetenv(tls, __ccgo_ts+1427)
  17856. env_path = libc.Xgetenv(tls, __ccgo_ts+1319)
  17857. if env_file != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(env_file))) != 0 || env_path != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(env_path))) != 0 {
  17858. have_own = int32(m_FcTrue)
  17859. }
  17860. if !(have_own != 0) {
  17861. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5174, 0)
  17862. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5246, libc.VaList(bp+8, __ccgo_ts+5298))
  17863. }
  17864. prefix = XFcConfigXdgCacheHome(tls)
  17865. if !(prefix != 0) {
  17866. goto bail
  17867. }
  17868. plen = libc.Xstrlen(tls, prefix)
  17869. p = libc.Xrealloc(tls, prefix, plen+uint64(12))
  17870. if !(p != 0) {
  17871. goto bail
  17872. }
  17873. prefix = p
  17874. libc.Xmemcpy(tls, prefix+uintptr(plen), __ccgo_ts+5324, uint64(11))
  17875. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(11)))) = uint8(0)
  17876. if !(have_own != 0) {
  17877. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5336, 0)
  17878. }
  17879. if !(!(XFcConfigAddCacheDir(tls, config, __ccgo_ts+5298) != 0) || !(XFcConfigAddCacheDir(tls, config, prefix) != 0)) {
  17880. goto _2
  17881. }
  17882. goto bail
  17883. bail:
  17884. ;
  17885. sysroot1 = XIA__FcConfigGetSysRoot(tls, config)
  17886. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5409, 0)
  17887. if prefix != 0 {
  17888. XIA__FcStrFree(tls, prefix)
  17889. }
  17890. fallback1 = _FcInitFallbackConfig(tls, sysroot1)
  17891. XIA__FcConfigDestroy(tls, config)
  17892. return fallback1
  17893. _2:
  17894. ;
  17895. XIA__FcStrFree(tls, prefix)
  17896. _1:
  17897. ;
  17898. return config
  17899. }
  17900. func XIA__FcInitLoadConfig(tls *libc.TLS) (r uintptr) {
  17901. return XFcInitLoadOwnConfig(tls, libc.UintptrFromInt32(0))
  17902. }
  17903. var XFcInitLoadConfig = XIA__FcInitLoadConfig
  17904. // C documentation
  17905. //
  17906. // /*
  17907. // * Load the configuration files and scan for available fonts
  17908. // */
  17909. func XFcInitLoadOwnConfigAndFonts(tls *libc.TLS, config uintptr) (r uintptr) {
  17910. config = XFcInitLoadOwnConfig(tls, config)
  17911. if !(config != 0) {
  17912. return uintptr(0)
  17913. }
  17914. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  17915. XIA__FcConfigDestroy(tls, config)
  17916. return uintptr(0)
  17917. }
  17918. return config
  17919. }
  17920. func XIA__FcInitLoadConfigAndFonts(tls *libc.TLS) (r uintptr) {
  17921. return XFcInitLoadOwnConfigAndFonts(tls, libc.UintptrFromInt32(0))
  17922. }
  17923. var XFcInitLoadConfigAndFonts = XIA__FcInitLoadConfigAndFonts
  17924. // C documentation
  17925. //
  17926. // /*
  17927. // * Initialize the default library configuration
  17928. // */
  17929. func XIA__FcInit(tls *libc.TLS) (r TFcBool) {
  17930. return XFcConfigInit(tls)
  17931. }
  17932. var XFcInit = XIA__FcInit
  17933. // C documentation
  17934. //
  17935. // /*
  17936. // * Free all library-allocated data structures.
  17937. // */
  17938. func XIA__FcFini(tls *libc.TLS) {
  17939. XFcConfigFini(tls)
  17940. XFcCacheFini(tls)
  17941. XFcDefaultFini(tls)
  17942. XFcObjectFini(tls)
  17943. XFcConfigPathFini(tls)
  17944. }
  17945. var XFcFini = XIA__FcFini
  17946. // C documentation
  17947. //
  17948. // /*
  17949. // * Reread the configuration and available font lists
  17950. // */
  17951. func XIA__FcInitReinitialize(tls *libc.TLS) (r TFcBool) {
  17952. var config uintptr
  17953. var ret TFcBool
  17954. _, _ = config, ret
  17955. config = XIA__FcInitLoadConfigAndFonts(tls)
  17956. if !(config != 0) {
  17957. return m_FcFalse
  17958. }
  17959. ret = XIA__FcConfigSetCurrent(tls, config)
  17960. /* FcConfigSetCurrent() increases the refcount.
  17961. * decrease it here to avoid the memory leak.
  17962. */
  17963. XIA__FcConfigDestroy(tls, config)
  17964. return ret
  17965. }
  17966. var XFcInitReinitialize = XIA__FcInitReinitialize
  17967. func XIA__FcInitBringUptoDate(tls *libc.TLS) (r TFcBool) {
  17968. var config uintptr
  17969. var now Ttime_t
  17970. _, _ = config, now
  17971. config = XIA__FcConfigGetCurrent(tls)
  17972. if !(config != 0) {
  17973. return m_FcFalse
  17974. }
  17975. /*
  17976. * rescanInterval == 0 disables automatic up to date
  17977. */
  17978. if (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval == 0 {
  17979. return int32(m_FcTrue)
  17980. }
  17981. /*
  17982. * Check no more often than rescanInterval seconds
  17983. */
  17984. now = libc.Xtime(tls, uintptr(0))
  17985. if (*TFcConfig)(unsafe.Pointer(config)).FrescanTime+int64((*TFcConfig)(unsafe.Pointer(config)).FrescanInterval)-now > 0 {
  17986. return int32(m_FcTrue)
  17987. }
  17988. /*
  17989. * If up to date, don't reload configuration
  17990. */
  17991. if XIA__FcConfigUptoDate(tls, uintptr(0)) != 0 {
  17992. return int32(m_FcTrue)
  17993. }
  17994. return XIA__FcInitReinitialize(tls)
  17995. }
  17996. var XFcInitBringUptoDate = XIA__FcInitBringUptoDate
  17997. const m_FC_DIR_SEPARATOR_S4 = "/"
  17998. const m_FcFreeTypeCharIndex = "IA__FcFreeTypeCharIndex"
  17999. const m_FcFreeTypeCharSet = "IA__FcFreeTypeCharSet"
  18000. const m_FcFreeTypeCharSetAndSpacing = "IA__FcFreeTypeCharSetAndSpacing"
  18001. const m_FcFreeTypeQueryFace = "IA__FcFreeTypeQueryFace"
  18002. const m_NUM_COUNTRY_SET = 10
  18003. const m_NUM_LANG_CHAR_SET = 246
  18004. const m_NUM_LANG_SET_MAP = 8
  18005. type TFcLangSet = struct {
  18006. Fextra uintptr
  18007. Fmap_size TFcChar32
  18008. Fmap1 [8]TFcChar32
  18009. }
  18010. type T_FcLangSet = TFcLangSet
  18011. /* Objects MT-safe for readonly access. */
  18012. type TFcLangCharSet = struct {
  18013. Flang [16]TFcChar8
  18014. Fcharset TFcCharSet
  18015. }
  18016. type TFcLangCharSetRange = struct {
  18017. Fbegin int32
  18018. Fend int32
  18019. }
  18020. var _fcLangData = struct {
  18021. FlangCharSets [246]TFcLangCharSet
  18022. Fleaves [725]TFcCharLeaf
  18023. Fleaf_offsets [779]Tuintptr_t
  18024. Fnumbers [779]TFcChar16
  18025. FlangIndices [246]TFcChar8
  18026. FlangIndicesInv [246]TFcChar8
  18027. }{
  18028. FlangCharSets: [246]TFcLangCharSet{
  18029. 0: {
  18030. Flang: [16]TFcChar8{'a', 'a'},
  18031. Fcharset: TFcCharSet{
  18032. Fref: TFcRef{
  18033. Fcount: -libc.Int32FromInt32(1),
  18034. },
  18035. Fnum: int32(1),
  18036. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18037. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18038. },
  18039. },
  18040. 1: {
  18041. Flang: [16]TFcChar8{'a', 'b'},
  18042. Fcharset: TFcCharSet{
  18043. Fref: TFcRef{
  18044. Fcount: -libc.Int32FromInt32(1),
  18045. },
  18046. Fnum: int32(1),
  18047. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18048. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18049. },
  18050. },
  18051. 2: {
  18052. Flang: [16]TFcChar8{'a', 'f'},
  18053. Fcharset: TFcCharSet{
  18054. Fref: TFcRef{
  18055. Fcount: -libc.Int32FromInt32(1),
  18056. },
  18057. Fnum: int32(2),
  18058. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18059. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18060. },
  18061. },
  18062. 3: {
  18063. Flang: [16]TFcChar8{'a', 'k'},
  18064. Fcharset: TFcCharSet{
  18065. Fref: TFcRef{
  18066. Fcount: -libc.Int32FromInt32(1),
  18067. },
  18068. Fnum: int32(5),
  18069. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18070. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18071. },
  18072. },
  18073. 4: {
  18074. Flang: [16]TFcChar8{'a', 'm'},
  18075. Fcharset: TFcCharSet{
  18076. Fref: TFcRef{
  18077. Fcount: -libc.Int32FromInt32(1),
  18078. },
  18079. Fnum: int32(2),
  18080. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18081. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18082. },
  18083. },
  18084. 5: {
  18085. Flang: [16]TFcChar8{'a', 'n'},
  18086. Fcharset: TFcCharSet{
  18087. Fref: TFcRef{
  18088. Fcount: -libc.Int32FromInt32(1),
  18089. },
  18090. Fnum: int32(1),
  18091. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18092. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18093. },
  18094. },
  18095. 6: {
  18096. Flang: [16]TFcChar8{'a', 'r'},
  18097. Fcharset: TFcCharSet{
  18098. Fref: TFcRef{
  18099. Fcount: -libc.Int32FromInt32(1),
  18100. },
  18101. Fnum: int32(1),
  18102. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18103. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18104. },
  18105. },
  18106. 7: {
  18107. Flang: [16]TFcChar8{'a', 's'},
  18108. Fcharset: TFcCharSet{
  18109. Fref: TFcRef{
  18110. Fcount: -libc.Int32FromInt32(1),
  18111. },
  18112. Fnum: int32(1),
  18113. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18114. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18115. },
  18116. },
  18117. 8: {
  18118. Flang: [16]TFcChar8{'a', 's', 't'},
  18119. Fcharset: TFcCharSet{
  18120. Fref: TFcRef{
  18121. Fcount: -libc.Int32FromInt32(1),
  18122. },
  18123. Fnum: int32(2),
  18124. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18125. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18126. },
  18127. },
  18128. 9: {
  18129. Flang: [16]TFcChar8{'a', 'v'},
  18130. Fcharset: TFcCharSet{
  18131. Fref: TFcRef{
  18132. Fcount: -libc.Int32FromInt32(1),
  18133. },
  18134. Fnum: int32(1),
  18135. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18136. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18137. },
  18138. },
  18139. 10: {
  18140. Flang: [16]TFcChar8{'a', 'y'},
  18141. Fcharset: TFcCharSet{
  18142. Fref: TFcRef{
  18143. Fcount: -libc.Int32FromInt32(1),
  18144. },
  18145. Fnum: int32(1),
  18146. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18147. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18148. },
  18149. },
  18150. 11: {
  18151. Flang: [16]TFcChar8{'a', 'z', '-', 'a', 'z'},
  18152. Fcharset: TFcCharSet{
  18153. Fref: TFcRef{
  18154. Fcount: -libc.Int32FromInt32(1),
  18155. },
  18156. Fnum: int32(3),
  18157. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18158. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18159. },
  18160. },
  18161. 12: {
  18162. Flang: [16]TFcChar8{'a', 'z', '-', 'i', 'r'},
  18163. Fcharset: TFcCharSet{
  18164. Fref: TFcRef{
  18165. Fcount: -libc.Int32FromInt32(1),
  18166. },
  18167. Fnum: int32(1),
  18168. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18169. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18170. },
  18171. },
  18172. 13: {
  18173. Flang: [16]TFcChar8{'b', 'a'},
  18174. Fcharset: TFcCharSet{
  18175. Fref: TFcRef{
  18176. Fcount: -libc.Int32FromInt32(1),
  18177. },
  18178. Fnum: int32(1),
  18179. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18180. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18181. },
  18182. },
  18183. 14: {
  18184. Flang: [16]TFcChar8{'b', 'e'},
  18185. Fcharset: TFcCharSet{
  18186. Fref: TFcRef{
  18187. Fcount: -libc.Int32FromInt32(1),
  18188. },
  18189. Fnum: int32(1),
  18190. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18191. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18192. },
  18193. },
  18194. 15: {
  18195. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'd', 'z'},
  18196. Fcharset: TFcCharSet{
  18197. Fref: TFcRef{
  18198. Fcount: -libc.Int32FromInt32(1),
  18199. },
  18200. Fnum: int32(4),
  18201. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18202. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18203. },
  18204. },
  18205. 16: {
  18206. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'm', 'a'},
  18207. Fcharset: TFcCharSet{
  18208. Fref: TFcRef{
  18209. Fcount: -libc.Int32FromInt32(1),
  18210. },
  18211. Fnum: int32(1),
  18212. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18213. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18214. },
  18215. },
  18216. 17: {
  18217. Flang: [16]TFcChar8{'b', 'g'},
  18218. Fcharset: TFcCharSet{
  18219. Fref: TFcRef{
  18220. Fcount: -libc.Int32FromInt32(1),
  18221. },
  18222. Fnum: int32(1),
  18223. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18224. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18225. },
  18226. },
  18227. 18: {
  18228. Flang: [16]TFcChar8{'b', 'h'},
  18229. Fcharset: TFcCharSet{
  18230. Fref: TFcRef{
  18231. Fcount: -libc.Int32FromInt32(1),
  18232. },
  18233. Fnum: int32(1),
  18234. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18235. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18236. },
  18237. },
  18238. 19: {
  18239. Flang: [16]TFcChar8{'b', 'h', 'o'},
  18240. Fcharset: TFcCharSet{
  18241. Fref: TFcRef{
  18242. Fcount: -libc.Int32FromInt32(1),
  18243. },
  18244. Fnum: int32(1),
  18245. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18246. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18247. },
  18248. },
  18249. 20: {
  18250. Flang: [16]TFcChar8{'b', 'i'},
  18251. Fcharset: TFcCharSet{
  18252. Fref: TFcRef{
  18253. Fcount: -libc.Int32FromInt32(1),
  18254. },
  18255. Fnum: int32(1),
  18256. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18257. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18258. },
  18259. },
  18260. 21: {
  18261. Flang: [16]TFcChar8{'b', 'i', 'n'},
  18262. Fcharset: TFcCharSet{
  18263. Fref: TFcRef{
  18264. Fcount: -libc.Int32FromInt32(1),
  18265. },
  18266. Fnum: int32(3),
  18267. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18268. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18269. },
  18270. },
  18271. 22: {
  18272. Flang: [16]TFcChar8{'b', 'm'},
  18273. Fcharset: TFcCharSet{
  18274. Fref: TFcRef{
  18275. Fcount: -libc.Int32FromInt32(1),
  18276. },
  18277. Fnum: int32(3),
  18278. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18279. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18280. },
  18281. },
  18282. 23: {
  18283. Flang: [16]TFcChar8{'b', 'n'},
  18284. Fcharset: TFcCharSet{
  18285. Fref: TFcRef{
  18286. Fcount: -libc.Int32FromInt32(1),
  18287. },
  18288. Fnum: int32(1),
  18289. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18290. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18291. },
  18292. },
  18293. 24: {
  18294. Flang: [16]TFcChar8{'b', 'o'},
  18295. Fcharset: TFcCharSet{
  18296. Fref: TFcRef{
  18297. Fcount: -libc.Int32FromInt32(1),
  18298. },
  18299. Fnum: int32(1),
  18300. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18301. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18302. },
  18303. },
  18304. 25: {
  18305. Flang: [16]TFcChar8{'b', 'r'},
  18306. Fcharset: TFcCharSet{
  18307. Fref: TFcRef{
  18308. Fcount: -libc.Int32FromInt32(1),
  18309. },
  18310. Fnum: int32(1),
  18311. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18312. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18313. },
  18314. },
  18315. 26: {
  18316. Flang: [16]TFcChar8{'b', 'r', 'x'},
  18317. Fcharset: TFcCharSet{
  18318. Fref: TFcRef{
  18319. Fcount: -libc.Int32FromInt32(1),
  18320. },
  18321. Fnum: int32(1),
  18322. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18323. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18324. },
  18325. },
  18326. 27: {
  18327. Flang: [16]TFcChar8{'b', 's'},
  18328. Fcharset: TFcCharSet{
  18329. Fref: TFcRef{
  18330. Fcount: -libc.Int32FromInt32(1),
  18331. },
  18332. Fnum: int32(2),
  18333. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18334. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18335. },
  18336. },
  18337. 28: {
  18338. Flang: [16]TFcChar8{'b', 'u', 'a'},
  18339. Fcharset: TFcCharSet{
  18340. Fref: TFcRef{
  18341. Fcount: -libc.Int32FromInt32(1),
  18342. },
  18343. Fnum: int32(1),
  18344. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18345. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18346. },
  18347. },
  18348. 29: {
  18349. Flang: [16]TFcChar8{'b', 'y', 'n'},
  18350. Fcharset: TFcCharSet{
  18351. Fref: TFcRef{
  18352. Fcount: -libc.Int32FromInt32(1),
  18353. },
  18354. Fnum: int32(2),
  18355. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18356. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18357. },
  18358. },
  18359. 30: {
  18360. Flang: [16]TFcChar8{'c', 'a'},
  18361. Fcharset: TFcCharSet{
  18362. Fref: TFcRef{
  18363. Fcount: -libc.Int32FromInt32(1),
  18364. },
  18365. Fnum: int32(2),
  18366. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18367. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18368. },
  18369. },
  18370. 31: {
  18371. Flang: [16]TFcChar8{'c', 'e'},
  18372. Fcharset: TFcCharSet{
  18373. Fref: TFcRef{
  18374. Fcount: -libc.Int32FromInt32(1),
  18375. },
  18376. Fnum: int32(1),
  18377. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18378. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18379. },
  18380. },
  18381. 32: {
  18382. Flang: [16]TFcChar8{'c', 'h'},
  18383. Fcharset: TFcCharSet{
  18384. Fref: TFcRef{
  18385. Fcount: -libc.Int32FromInt32(1),
  18386. },
  18387. Fnum: int32(1),
  18388. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18389. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18390. },
  18391. },
  18392. 33: {
  18393. Flang: [16]TFcChar8{'c', 'h', 'm'},
  18394. Fcharset: TFcCharSet{
  18395. Fref: TFcRef{
  18396. Fcount: -libc.Int32FromInt32(1),
  18397. },
  18398. Fnum: int32(1),
  18399. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18400. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18401. },
  18402. },
  18403. 34: {
  18404. Flang: [16]TFcChar8{'c', 'h', 'r'},
  18405. Fcharset: TFcCharSet{
  18406. Fref: TFcRef{
  18407. Fcount: -libc.Int32FromInt32(1),
  18408. },
  18409. Fnum: int32(1),
  18410. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18411. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18412. },
  18413. },
  18414. 35: {
  18415. Flang: [16]TFcChar8{'c', 'o'},
  18416. Fcharset: TFcCharSet{
  18417. Fref: TFcRef{
  18418. Fcount: -libc.Int32FromInt32(1),
  18419. },
  18420. Fnum: int32(2),
  18421. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18422. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18423. },
  18424. },
  18425. 36: {
  18426. Flang: [16]TFcChar8{'c', 'r', 'h'},
  18427. Fcharset: TFcCharSet{
  18428. Fref: TFcRef{
  18429. Fcount: -libc.Int32FromInt32(1),
  18430. },
  18431. Fnum: int32(2),
  18432. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18433. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18434. },
  18435. },
  18436. 37: {
  18437. Flang: [16]TFcChar8{'c', 's'},
  18438. Fcharset: TFcCharSet{
  18439. Fref: TFcRef{
  18440. Fcount: -libc.Int32FromInt32(1),
  18441. },
  18442. Fnum: int32(2),
  18443. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18444. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18445. },
  18446. },
  18447. 38: {
  18448. Flang: [16]TFcChar8{'c', 's', 'b'},
  18449. Fcharset: TFcCharSet{
  18450. Fref: TFcRef{
  18451. Fcount: -libc.Int32FromInt32(1),
  18452. },
  18453. Fnum: int32(2),
  18454. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18455. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18456. },
  18457. },
  18458. 39: {
  18459. Flang: [16]TFcChar8{'c', 'u'},
  18460. Fcharset: TFcCharSet{
  18461. Fref: TFcRef{
  18462. Fcount: -libc.Int32FromInt32(1),
  18463. },
  18464. Fnum: int32(1),
  18465. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18466. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18467. },
  18468. },
  18469. 40: {
  18470. Flang: [16]TFcChar8{'c', 'v'},
  18471. Fcharset: TFcCharSet{
  18472. Fref: TFcRef{
  18473. Fcount: -libc.Int32FromInt32(1),
  18474. },
  18475. Fnum: int32(2),
  18476. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18477. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18478. },
  18479. },
  18480. 41: {
  18481. Flang: [16]TFcChar8{'c', 'y'},
  18482. Fcharset: TFcCharSet{
  18483. Fref: TFcRef{
  18484. Fcount: -libc.Int32FromInt32(1),
  18485. },
  18486. Fnum: int32(3),
  18487. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18488. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18489. },
  18490. },
  18491. 42: {
  18492. Flang: [16]TFcChar8{'d', 'a'},
  18493. Fcharset: TFcCharSet{
  18494. Fref: TFcRef{
  18495. Fcount: -libc.Int32FromInt32(1),
  18496. },
  18497. Fnum: int32(1),
  18498. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18499. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18500. },
  18501. },
  18502. 43: {
  18503. Flang: [16]TFcChar8{'d', 'e'},
  18504. Fcharset: TFcCharSet{
  18505. Fref: TFcRef{
  18506. Fcount: -libc.Int32FromInt32(1),
  18507. },
  18508. Fnum: int32(1),
  18509. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18510. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18511. },
  18512. },
  18513. 44: {
  18514. Flang: [16]TFcChar8{'d', 'o', 'i'},
  18515. Fcharset: TFcCharSet{
  18516. Fref: TFcRef{
  18517. Fcount: -libc.Int32FromInt32(1),
  18518. },
  18519. Fnum: int32(1),
  18520. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18521. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18522. },
  18523. },
  18524. 45: {
  18525. Flang: [16]TFcChar8{'d', 'v'},
  18526. Fcharset: TFcCharSet{
  18527. Fref: TFcRef{
  18528. Fcount: -libc.Int32FromInt32(1),
  18529. },
  18530. Fnum: int32(1),
  18531. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18532. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18533. },
  18534. },
  18535. 46: {
  18536. Flang: [16]TFcChar8{'d', 'z'},
  18537. Fcharset: TFcCharSet{
  18538. Fref: TFcRef{
  18539. Fcount: -libc.Int32FromInt32(1),
  18540. },
  18541. Fnum: int32(1),
  18542. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18543. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18544. },
  18545. },
  18546. 47: {
  18547. Flang: [16]TFcChar8{'e', 'e'},
  18548. Fcharset: TFcCharSet{
  18549. Fref: TFcRef{
  18550. Fcount: -libc.Int32FromInt32(1),
  18551. },
  18552. Fnum: int32(4),
  18553. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18554. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18555. },
  18556. },
  18557. 48: {
  18558. Flang: [16]TFcChar8{'e', 'l'},
  18559. Fcharset: TFcCharSet{
  18560. Fref: TFcRef{
  18561. Fcount: -libc.Int32FromInt32(1),
  18562. },
  18563. Fnum: int32(1),
  18564. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18565. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18566. },
  18567. },
  18568. 49: {
  18569. Flang: [16]TFcChar8{'e', 'n'},
  18570. Fcharset: TFcCharSet{
  18571. Fref: TFcRef{
  18572. Fcount: -libc.Int32FromInt32(1),
  18573. },
  18574. Fnum: int32(1),
  18575. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18576. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18577. },
  18578. },
  18579. 50: {
  18580. Flang: [16]TFcChar8{'e', 'o'},
  18581. Fcharset: TFcCharSet{
  18582. Fref: TFcRef{
  18583. Fcount: -libc.Int32FromInt32(1),
  18584. },
  18585. Fnum: int32(2),
  18586. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18587. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18588. },
  18589. },
  18590. 51: {
  18591. Flang: [16]TFcChar8{'e', 's'},
  18592. Fcharset: TFcCharSet{
  18593. Fref: TFcRef{
  18594. Fcount: -libc.Int32FromInt32(1),
  18595. },
  18596. Fnum: int32(1),
  18597. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18598. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18599. },
  18600. },
  18601. 52: {
  18602. Flang: [16]TFcChar8{'e', 't'},
  18603. Fcharset: TFcCharSet{
  18604. Fref: TFcRef{
  18605. Fcount: -libc.Int32FromInt32(1),
  18606. },
  18607. Fnum: int32(2),
  18608. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18609. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18610. },
  18611. },
  18612. 53: {
  18613. Flang: [16]TFcChar8{'e', 'u'},
  18614. Fcharset: TFcCharSet{
  18615. Fref: TFcRef{
  18616. Fcount: -libc.Int32FromInt32(1),
  18617. },
  18618. Fnum: int32(1),
  18619. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18620. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18621. },
  18622. },
  18623. 54: {
  18624. Flang: [16]TFcChar8{'f', 'a'},
  18625. Fcharset: TFcCharSet{
  18626. Fref: TFcRef{
  18627. Fcount: -libc.Int32FromInt32(1),
  18628. },
  18629. Fnum: int32(1),
  18630. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18631. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18632. },
  18633. },
  18634. 55: {
  18635. Flang: [16]TFcChar8{'f', 'a', 't'},
  18636. Fcharset: TFcCharSet{
  18637. Fref: TFcRef{
  18638. Fcount: -libc.Int32FromInt32(1),
  18639. },
  18640. Fnum: int32(5),
  18641. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18642. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18643. },
  18644. },
  18645. 56: {
  18646. Flang: [16]TFcChar8{'f', 'f'},
  18647. Fcharset: TFcCharSet{
  18648. Fref: TFcRef{
  18649. Fcount: -libc.Int32FromInt32(1),
  18650. },
  18651. Fnum: int32(3),
  18652. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18653. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18654. },
  18655. },
  18656. 57: {
  18657. Flang: [16]TFcChar8{'f', 'i'},
  18658. Fcharset: TFcCharSet{
  18659. Fref: TFcRef{
  18660. Fcount: -libc.Int32FromInt32(1),
  18661. },
  18662. Fnum: int32(2),
  18663. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18664. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18665. },
  18666. },
  18667. 58: {
  18668. Flang: [16]TFcChar8{'f', 'i', 'l'},
  18669. Fcharset: TFcCharSet{
  18670. Fref: TFcRef{
  18671. Fcount: -libc.Int32FromInt32(1),
  18672. },
  18673. Fnum: int32(1),
  18674. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18675. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18676. },
  18677. },
  18678. 59: {
  18679. Flang: [16]TFcChar8{'f', 'j'},
  18680. Fcharset: TFcCharSet{
  18681. Fref: TFcRef{
  18682. Fcount: -libc.Int32FromInt32(1),
  18683. },
  18684. Fnum: int32(1),
  18685. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18686. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18687. },
  18688. },
  18689. 60: {
  18690. Flang: [16]TFcChar8{'f', 'o'},
  18691. Fcharset: TFcCharSet{
  18692. Fref: TFcRef{
  18693. Fcount: -libc.Int32FromInt32(1),
  18694. },
  18695. Fnum: int32(1),
  18696. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18697. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18698. },
  18699. },
  18700. 61: {
  18701. Flang: [16]TFcChar8{'f', 'r'},
  18702. Fcharset: TFcCharSet{
  18703. Fref: TFcRef{
  18704. Fcount: -libc.Int32FromInt32(1),
  18705. },
  18706. Fnum: int32(2),
  18707. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18708. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18709. },
  18710. },
  18711. 62: {
  18712. Flang: [16]TFcChar8{'f', 'u', 'r'},
  18713. Fcharset: TFcCharSet{
  18714. Fref: TFcRef{
  18715. Fcount: -libc.Int32FromInt32(1),
  18716. },
  18717. Fnum: int32(1),
  18718. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18719. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18720. },
  18721. },
  18722. 63: {
  18723. Flang: [16]TFcChar8{'f', 'y'},
  18724. Fcharset: TFcCharSet{
  18725. Fref: TFcRef{
  18726. Fcount: -libc.Int32FromInt32(1),
  18727. },
  18728. Fnum: int32(1),
  18729. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18730. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18731. },
  18732. },
  18733. 64: {
  18734. Flang: [16]TFcChar8{'g', 'a'},
  18735. Fcharset: TFcCharSet{
  18736. Fref: TFcRef{
  18737. Fcount: -libc.Int32FromInt32(1),
  18738. },
  18739. Fnum: int32(3),
  18740. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18741. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18742. },
  18743. },
  18744. 65: {
  18745. Flang: [16]TFcChar8{'g', 'd'},
  18746. Fcharset: TFcCharSet{
  18747. Fref: TFcRef{
  18748. Fcount: -libc.Int32FromInt32(1),
  18749. },
  18750. Fnum: int32(1),
  18751. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18752. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18753. },
  18754. },
  18755. 66: {
  18756. Flang: [16]TFcChar8{'g', 'e', 'z'},
  18757. Fcharset: TFcCharSet{
  18758. Fref: TFcRef{
  18759. Fcount: -libc.Int32FromInt32(1),
  18760. },
  18761. Fnum: int32(2),
  18762. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18763. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18764. },
  18765. },
  18766. 67: {
  18767. Flang: [16]TFcChar8{'g', 'l'},
  18768. Fcharset: TFcCharSet{
  18769. Fref: TFcRef{
  18770. Fcount: -libc.Int32FromInt32(1),
  18771. },
  18772. Fnum: int32(1),
  18773. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18774. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18775. },
  18776. },
  18777. 68: {
  18778. Flang: [16]TFcChar8{'g', 'n'},
  18779. Fcharset: TFcCharSet{
  18780. Fref: TFcRef{
  18781. Fcount: -libc.Int32FromInt32(1),
  18782. },
  18783. Fnum: int32(3),
  18784. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18785. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18786. },
  18787. },
  18788. 69: {
  18789. Flang: [16]TFcChar8{'g', 'u'},
  18790. Fcharset: TFcCharSet{
  18791. Fref: TFcRef{
  18792. Fcount: -libc.Int32FromInt32(1),
  18793. },
  18794. Fnum: int32(1),
  18795. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18796. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18797. },
  18798. },
  18799. 70: {
  18800. Flang: [16]TFcChar8{'g', 'v'},
  18801. Fcharset: TFcCharSet{
  18802. Fref: TFcRef{
  18803. Fcount: -libc.Int32FromInt32(1),
  18804. },
  18805. Fnum: int32(1),
  18806. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18807. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18808. },
  18809. },
  18810. 71: {
  18811. Flang: [16]TFcChar8{'h', 'a'},
  18812. Fcharset: TFcCharSet{
  18813. Fref: TFcRef{
  18814. Fcount: -libc.Int32FromInt32(1),
  18815. },
  18816. Fnum: int32(3),
  18817. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18818. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18819. },
  18820. },
  18821. 72: {
  18822. Flang: [16]TFcChar8{'h', 'a', 'w'},
  18823. Fcharset: TFcCharSet{
  18824. Fref: TFcRef{
  18825. Fcount: -libc.Int32FromInt32(1),
  18826. },
  18827. Fnum: int32(3),
  18828. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18829. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18830. },
  18831. },
  18832. 73: {
  18833. Flang: [16]TFcChar8{'h', 'e'},
  18834. Fcharset: TFcCharSet{
  18835. Fref: TFcRef{
  18836. Fcount: -libc.Int32FromInt32(1),
  18837. },
  18838. Fnum: int32(1),
  18839. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18840. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18841. },
  18842. },
  18843. 74: {
  18844. Flang: [16]TFcChar8{'h', 'i'},
  18845. Fcharset: TFcCharSet{
  18846. Fref: TFcRef{
  18847. Fcount: -libc.Int32FromInt32(1),
  18848. },
  18849. Fnum: int32(1),
  18850. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18851. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18852. },
  18853. },
  18854. 75: {
  18855. Flang: [16]TFcChar8{'h', 'n', 'e'},
  18856. Fcharset: TFcCharSet{
  18857. Fref: TFcRef{
  18858. Fcount: -libc.Int32FromInt32(1),
  18859. },
  18860. Fnum: int32(1),
  18861. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18862. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18863. },
  18864. },
  18865. 76: {
  18866. Flang: [16]TFcChar8{'h', 'o'},
  18867. Fcharset: TFcCharSet{
  18868. Fref: TFcRef{
  18869. Fcount: -libc.Int32FromInt32(1),
  18870. },
  18871. Fnum: int32(1),
  18872. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18873. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18874. },
  18875. },
  18876. 77: {
  18877. Flang: [16]TFcChar8{'h', 'r'},
  18878. Fcharset: TFcCharSet{
  18879. Fref: TFcRef{
  18880. Fcount: -libc.Int32FromInt32(1),
  18881. },
  18882. Fnum: int32(2),
  18883. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18884. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18885. },
  18886. },
  18887. 78: {
  18888. Flang: [16]TFcChar8{'h', 's', 'b'},
  18889. Fcharset: TFcCharSet{
  18890. Fref: TFcRef{
  18891. Fcount: -libc.Int32FromInt32(1),
  18892. },
  18893. Fnum: int32(2),
  18894. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18895. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18896. },
  18897. },
  18898. 79: {
  18899. Flang: [16]TFcChar8{'h', 't'},
  18900. Fcharset: TFcCharSet{
  18901. Fref: TFcRef{
  18902. Fcount: -libc.Int32FromInt32(1),
  18903. },
  18904. Fnum: int32(1),
  18905. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18906. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18907. },
  18908. },
  18909. 80: {
  18910. Flang: [16]TFcChar8{'h', 'u'},
  18911. Fcharset: TFcCharSet{
  18912. Fref: TFcRef{
  18913. Fcount: -libc.Int32FromInt32(1),
  18914. },
  18915. Fnum: int32(2),
  18916. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18917. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18918. },
  18919. },
  18920. 81: {
  18921. Flang: [16]TFcChar8{'h', 'y'},
  18922. Fcharset: TFcCharSet{
  18923. Fref: TFcRef{
  18924. Fcount: -libc.Int32FromInt32(1),
  18925. },
  18926. Fnum: int32(1),
  18927. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18928. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18929. },
  18930. },
  18931. 82: {
  18932. Flang: [16]TFcChar8{'h', 'z'},
  18933. Fcharset: TFcCharSet{
  18934. Fref: TFcRef{
  18935. Fcount: -libc.Int32FromInt32(1),
  18936. },
  18937. Fnum: int32(3),
  18938. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18939. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18940. },
  18941. },
  18942. 83: {
  18943. Flang: [16]TFcChar8{'i', 'a'},
  18944. Fcharset: TFcCharSet{
  18945. Fref: TFcRef{
  18946. Fcount: -libc.Int32FromInt32(1),
  18947. },
  18948. Fnum: int32(1),
  18949. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18950. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18951. },
  18952. },
  18953. 84: {
  18954. Flang: [16]TFcChar8{'i', 'd'},
  18955. Fcharset: TFcCharSet{
  18956. Fref: TFcRef{
  18957. Fcount: -libc.Int32FromInt32(1),
  18958. },
  18959. Fnum: int32(1),
  18960. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18961. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18962. },
  18963. },
  18964. 85: {
  18965. Flang: [16]TFcChar8{'i', 'e'},
  18966. Fcharset: TFcCharSet{
  18967. Fref: TFcRef{
  18968. Fcount: -libc.Int32FromInt32(1),
  18969. },
  18970. Fnum: int32(1),
  18971. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18972. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18973. },
  18974. },
  18975. 86: {
  18976. Flang: [16]TFcChar8{'i', 'g'},
  18977. Fcharset: TFcCharSet{
  18978. Fref: TFcRef{
  18979. Fcount: -libc.Int32FromInt32(1),
  18980. },
  18981. Fnum: int32(2),
  18982. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18983. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18984. },
  18985. },
  18986. 87: {
  18987. Flang: [16]TFcChar8{'i', 'i'},
  18988. Fcharset: TFcCharSet{
  18989. Fref: TFcRef{
  18990. Fcount: -libc.Int32FromInt32(1),
  18991. },
  18992. Fnum: int32(5),
  18993. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18994. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18995. },
  18996. },
  18997. 88: {
  18998. Flang: [16]TFcChar8{'i', 'k'},
  18999. Fcharset: TFcCharSet{
  19000. Fref: TFcRef{
  19001. Fcount: -libc.Int32FromInt32(1),
  19002. },
  19003. Fnum: int32(1),
  19004. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19005. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19006. },
  19007. },
  19008. 89: {
  19009. Flang: [16]TFcChar8{'i', 'o'},
  19010. Fcharset: TFcCharSet{
  19011. Fref: TFcRef{
  19012. Fcount: -libc.Int32FromInt32(1),
  19013. },
  19014. Fnum: int32(1),
  19015. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19016. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19017. },
  19018. },
  19019. 90: {
  19020. Flang: [16]TFcChar8{'i', 's'},
  19021. Fcharset: TFcCharSet{
  19022. Fref: TFcRef{
  19023. Fcount: -libc.Int32FromInt32(1),
  19024. },
  19025. Fnum: int32(1),
  19026. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19027. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19028. },
  19029. },
  19030. 91: {
  19031. Flang: [16]TFcChar8{'i', 't'},
  19032. Fcharset: TFcCharSet{
  19033. Fref: TFcRef{
  19034. Fcount: -libc.Int32FromInt32(1),
  19035. },
  19036. Fnum: int32(1),
  19037. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19038. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19039. },
  19040. },
  19041. 92: {
  19042. Flang: [16]TFcChar8{'i', 'u'},
  19043. Fcharset: TFcCharSet{
  19044. Fref: TFcRef{
  19045. Fcount: -libc.Int32FromInt32(1),
  19046. },
  19047. Fnum: int32(3),
  19048. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19049. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19050. },
  19051. },
  19052. 93: {
  19053. Flang: [16]TFcChar8{'j', 'a'},
  19054. Fcharset: TFcCharSet{
  19055. Fref: TFcRef{
  19056. Fcount: -libc.Int32FromInt32(1),
  19057. },
  19058. Fnum: int32(83),
  19059. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19060. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19061. },
  19062. },
  19063. 94: {
  19064. Flang: [16]TFcChar8{'j', 'v'},
  19065. Fcharset: TFcCharSet{
  19066. Fref: TFcRef{
  19067. Fcount: -libc.Int32FromInt32(1),
  19068. },
  19069. Fnum: int32(1),
  19070. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19071. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19072. },
  19073. },
  19074. 95: {
  19075. Flang: [16]TFcChar8{'k', 'a'},
  19076. Fcharset: TFcCharSet{
  19077. Fref: TFcRef{
  19078. Fcount: -libc.Int32FromInt32(1),
  19079. },
  19080. Fnum: int32(1),
  19081. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19082. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19083. },
  19084. },
  19085. 96: {
  19086. Flang: [16]TFcChar8{'k', 'a', 'a'},
  19087. Fcharset: TFcCharSet{
  19088. Fref: TFcRef{
  19089. Fcount: -libc.Int32FromInt32(1),
  19090. },
  19091. Fnum: int32(1),
  19092. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19093. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19094. },
  19095. },
  19096. 97: {
  19097. Flang: [16]TFcChar8{'k', 'a', 'b'},
  19098. Fcharset: TFcCharSet{
  19099. Fref: TFcRef{
  19100. Fcount: -libc.Int32FromInt32(1),
  19101. },
  19102. Fnum: int32(4),
  19103. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19104. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19105. },
  19106. },
  19107. 98: {
  19108. Flang: [16]TFcChar8{'k', 'i'},
  19109. Fcharset: TFcCharSet{
  19110. Fref: TFcRef{
  19111. Fcount: -libc.Int32FromInt32(1),
  19112. },
  19113. Fnum: int32(2),
  19114. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19115. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19116. },
  19117. },
  19118. 99: {
  19119. Flang: [16]TFcChar8{'k', 'j'},
  19120. Fcharset: TFcCharSet{
  19121. Fref: TFcRef{
  19122. Fcount: -libc.Int32FromInt32(1),
  19123. },
  19124. Fnum: int32(1),
  19125. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19126. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19127. },
  19128. },
  19129. 100: {
  19130. Flang: [16]TFcChar8{'k', 'k'},
  19131. Fcharset: TFcCharSet{
  19132. Fref: TFcRef{
  19133. Fcount: -libc.Int32FromInt32(1),
  19134. },
  19135. Fnum: int32(1),
  19136. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19137. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19138. },
  19139. },
  19140. 101: {
  19141. Flang: [16]TFcChar8{'k', 'l'},
  19142. Fcharset: TFcCharSet{
  19143. Fref: TFcRef{
  19144. Fcount: -libc.Int32FromInt32(1),
  19145. },
  19146. Fnum: int32(2),
  19147. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19148. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19149. },
  19150. },
  19151. 102: {
  19152. Flang: [16]TFcChar8{'k', 'm'},
  19153. Fcharset: TFcCharSet{
  19154. Fref: TFcRef{
  19155. Fcount: -libc.Int32FromInt32(1),
  19156. },
  19157. Fnum: int32(1),
  19158. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19159. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19160. },
  19161. },
  19162. 103: {
  19163. Flang: [16]TFcChar8{'k', 'n'},
  19164. Fcharset: TFcCharSet{
  19165. Fref: TFcRef{
  19166. Fcount: -libc.Int32FromInt32(1),
  19167. },
  19168. Fnum: int32(1),
  19169. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19170. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19171. },
  19172. },
  19173. 104: {
  19174. Flang: [16]TFcChar8{'k', 'o'},
  19175. Fcharset: TFcCharSet{
  19176. Fref: TFcRef{
  19177. Fcount: -libc.Int32FromInt32(1),
  19178. },
  19179. Fnum: int32(45),
  19180. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19181. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19182. },
  19183. },
  19184. 105: {
  19185. Flang: [16]TFcChar8{'k', 'o', 'k'},
  19186. Fcharset: TFcCharSet{
  19187. Fref: TFcRef{
  19188. Fcount: -libc.Int32FromInt32(1),
  19189. },
  19190. Fnum: int32(1),
  19191. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19192. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19193. },
  19194. },
  19195. 106: {
  19196. Flang: [16]TFcChar8{'k', 'r'},
  19197. Fcharset: TFcCharSet{
  19198. Fref: TFcRef{
  19199. Fcount: -libc.Int32FromInt32(1),
  19200. },
  19201. Fnum: int32(3),
  19202. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19203. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19204. },
  19205. },
  19206. 107: {
  19207. Flang: [16]TFcChar8{'k', 's'},
  19208. Fcharset: TFcCharSet{
  19209. Fref: TFcRef{
  19210. Fcount: -libc.Int32FromInt32(1),
  19211. },
  19212. Fnum: int32(1),
  19213. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19214. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19215. },
  19216. },
  19217. 108: {
  19218. Flang: [16]TFcChar8{'k', 'u', '-', 'a', 'm'},
  19219. Fcharset: TFcCharSet{
  19220. Fref: TFcRef{
  19221. Fcount: -libc.Int32FromInt32(1),
  19222. },
  19223. Fnum: int32(2),
  19224. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19225. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19226. },
  19227. },
  19228. 109: {
  19229. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'q'},
  19230. Fcharset: TFcCharSet{
  19231. Fref: TFcRef{
  19232. Fcount: -libc.Int32FromInt32(1),
  19233. },
  19234. Fnum: int32(1),
  19235. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19236. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19237. },
  19238. },
  19239. 110: {
  19240. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'r'},
  19241. Fcharset: TFcCharSet{
  19242. Fref: TFcRef{
  19243. Fcount: -libc.Int32FromInt32(1),
  19244. },
  19245. Fnum: int32(1),
  19246. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19247. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19248. },
  19249. },
  19250. 111: {
  19251. Flang: [16]TFcChar8{'k', 'u', '-', 't', 'r'},
  19252. Fcharset: TFcCharSet{
  19253. Fref: TFcRef{
  19254. Fcount: -libc.Int32FromInt32(1),
  19255. },
  19256. Fnum: int32(2),
  19257. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19258. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19259. },
  19260. },
  19261. 112: {
  19262. Flang: [16]TFcChar8{'k', 'u', 'm'},
  19263. Fcharset: TFcCharSet{
  19264. Fref: TFcRef{
  19265. Fcount: -libc.Int32FromInt32(1),
  19266. },
  19267. Fnum: int32(1),
  19268. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19269. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19270. },
  19271. },
  19272. 113: {
  19273. Flang: [16]TFcChar8{'k', 'v'},
  19274. Fcharset: TFcCharSet{
  19275. Fref: TFcRef{
  19276. Fcount: -libc.Int32FromInt32(1),
  19277. },
  19278. Fnum: int32(1),
  19279. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19280. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19281. },
  19282. },
  19283. 114: {
  19284. Flang: [16]TFcChar8{'k', 'w'},
  19285. Fcharset: TFcCharSet{
  19286. Fref: TFcRef{
  19287. Fcount: -libc.Int32FromInt32(1),
  19288. },
  19289. Fnum: int32(3),
  19290. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19291. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19292. },
  19293. },
  19294. 115: {
  19295. Flang: [16]TFcChar8{'k', 'w', 'm'},
  19296. Fcharset: TFcCharSet{
  19297. Fref: TFcRef{
  19298. Fcount: -libc.Int32FromInt32(1),
  19299. },
  19300. Fnum: int32(1),
  19301. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19302. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19303. },
  19304. },
  19305. 116: {
  19306. Flang: [16]TFcChar8{'k', 'y'},
  19307. Fcharset: TFcCharSet{
  19308. Fref: TFcRef{
  19309. Fcount: -libc.Int32FromInt32(1),
  19310. },
  19311. Fnum: int32(1),
  19312. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19313. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19314. },
  19315. },
  19316. 117: {
  19317. Flang: [16]TFcChar8{'l', 'a'},
  19318. Fcharset: TFcCharSet{
  19319. Fref: TFcRef{
  19320. Fcount: -libc.Int32FromInt32(1),
  19321. },
  19322. Fnum: int32(2),
  19323. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19324. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19325. },
  19326. },
  19327. 118: {
  19328. Flang: [16]TFcChar8{'l', 'a', 'h'},
  19329. Fcharset: TFcCharSet{
  19330. Fref: TFcRef{
  19331. Fcount: -libc.Int32FromInt32(1),
  19332. },
  19333. Fnum: int32(1),
  19334. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19335. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19336. },
  19337. },
  19338. 119: {
  19339. Flang: [16]TFcChar8{'l', 'b'},
  19340. Fcharset: TFcCharSet{
  19341. Fref: TFcRef{
  19342. Fcount: -libc.Int32FromInt32(1),
  19343. },
  19344. Fnum: int32(1),
  19345. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19346. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19347. },
  19348. },
  19349. 120: {
  19350. Flang: [16]TFcChar8{'l', 'e', 'z'},
  19351. Fcharset: TFcCharSet{
  19352. Fref: TFcRef{
  19353. Fcount: -libc.Int32FromInt32(1),
  19354. },
  19355. Fnum: int32(1),
  19356. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19357. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19358. },
  19359. },
  19360. 121: {
  19361. Flang: [16]TFcChar8{'l', 'g'},
  19362. Fcharset: TFcCharSet{
  19363. Fref: TFcRef{
  19364. Fcount: -libc.Int32FromInt32(1),
  19365. },
  19366. Fnum: int32(2),
  19367. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19368. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19369. },
  19370. },
  19371. 122: {
  19372. Flang: [16]TFcChar8{'l', 'i'},
  19373. Fcharset: TFcCharSet{
  19374. Fref: TFcRef{
  19375. Fcount: -libc.Int32FromInt32(1),
  19376. },
  19377. Fnum: int32(1),
  19378. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19379. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19380. },
  19381. },
  19382. 123: {
  19383. Flang: [16]TFcChar8{'l', 'n'},
  19384. Fcharset: TFcCharSet{
  19385. Fref: TFcRef{
  19386. Fcount: -libc.Int32FromInt32(1),
  19387. },
  19388. Fnum: int32(4),
  19389. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19390. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19391. },
  19392. },
  19393. 124: {
  19394. Flang: [16]TFcChar8{'l', 'o'},
  19395. Fcharset: TFcCharSet{
  19396. Fref: TFcRef{
  19397. Fcount: -libc.Int32FromInt32(1),
  19398. },
  19399. Fnum: int32(1),
  19400. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19401. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19402. },
  19403. },
  19404. 125: {
  19405. Flang: [16]TFcChar8{'l', 't'},
  19406. Fcharset: TFcCharSet{
  19407. Fref: TFcRef{
  19408. Fcount: -libc.Int32FromInt32(1),
  19409. },
  19410. Fnum: int32(2),
  19411. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19412. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19413. },
  19414. },
  19415. 126: {
  19416. Flang: [16]TFcChar8{'l', 'v'},
  19417. Fcharset: TFcCharSet{
  19418. Fref: TFcRef{
  19419. Fcount: -libc.Int32FromInt32(1),
  19420. },
  19421. Fnum: int32(2),
  19422. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19423. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19424. },
  19425. },
  19426. 127: {
  19427. Flang: [16]TFcChar8{'m', 'a', 'i'},
  19428. Fcharset: TFcCharSet{
  19429. Fref: TFcRef{
  19430. Fcount: -libc.Int32FromInt32(1),
  19431. },
  19432. Fnum: int32(1),
  19433. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19434. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19435. },
  19436. },
  19437. 128: {
  19438. Flang: [16]TFcChar8{'m', 'g'},
  19439. Fcharset: TFcCharSet{
  19440. Fref: TFcRef{
  19441. Fcount: -libc.Int32FromInt32(1),
  19442. },
  19443. Fnum: int32(1),
  19444. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19445. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19446. },
  19447. },
  19448. 129: {
  19449. Flang: [16]TFcChar8{'m', 'h'},
  19450. Fcharset: TFcCharSet{
  19451. Fref: TFcRef{
  19452. Fcount: -libc.Int32FromInt32(1),
  19453. },
  19454. Fnum: int32(2),
  19455. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19456. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19457. },
  19458. },
  19459. 130: {
  19460. Flang: [16]TFcChar8{'m', 'i'},
  19461. Fcharset: TFcCharSet{
  19462. Fref: TFcRef{
  19463. Fcount: -libc.Int32FromInt32(1),
  19464. },
  19465. Fnum: int32(3),
  19466. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19467. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19468. },
  19469. },
  19470. 131: {
  19471. Flang: [16]TFcChar8{'m', 'k'},
  19472. Fcharset: TFcCharSet{
  19473. Fref: TFcRef{
  19474. Fcount: -libc.Int32FromInt32(1),
  19475. },
  19476. Fnum: int32(1),
  19477. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19478. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19479. },
  19480. },
  19481. 132: {
  19482. Flang: [16]TFcChar8{'m', 'l'},
  19483. Fcharset: TFcCharSet{
  19484. Fref: TFcRef{
  19485. Fcount: -libc.Int32FromInt32(1),
  19486. },
  19487. Fnum: int32(1),
  19488. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19489. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19490. },
  19491. },
  19492. 133: {
  19493. Flang: [16]TFcChar8{'m', 'n', '-', 'c', 'n'},
  19494. Fcharset: TFcCharSet{
  19495. Fref: TFcRef{
  19496. Fcount: -libc.Int32FromInt32(1),
  19497. },
  19498. Fnum: int32(1),
  19499. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19500. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19501. },
  19502. },
  19503. 134: {
  19504. Flang: [16]TFcChar8{'m', 'n', '-', 'm', 'n'},
  19505. Fcharset: TFcCharSet{
  19506. Fref: TFcRef{
  19507. Fcount: -libc.Int32FromInt32(1),
  19508. },
  19509. Fnum: int32(1),
  19510. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19511. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19512. },
  19513. },
  19514. 135: {
  19515. Flang: [16]TFcChar8{'m', 'n', 'i'},
  19516. Fcharset: TFcCharSet{
  19517. Fref: TFcRef{
  19518. Fcount: -libc.Int32FromInt32(1),
  19519. },
  19520. Fnum: int32(1),
  19521. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19522. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19523. },
  19524. },
  19525. 136: {
  19526. Flang: [16]TFcChar8{'m', 'o'},
  19527. Fcharset: TFcCharSet{
  19528. Fref: TFcRef{
  19529. Fcount: -libc.Int32FromInt32(1),
  19530. },
  19531. Fnum: int32(4),
  19532. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19533. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19534. },
  19535. },
  19536. 137: {
  19537. Flang: [16]TFcChar8{'m', 'r'},
  19538. Fcharset: TFcCharSet{
  19539. Fref: TFcRef{
  19540. Fcount: -libc.Int32FromInt32(1),
  19541. },
  19542. Fnum: int32(1),
  19543. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19544. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19545. },
  19546. },
  19547. 138: {
  19548. Flang: [16]TFcChar8{'m', 's'},
  19549. Fcharset: TFcCharSet{
  19550. Fref: TFcRef{
  19551. Fcount: -libc.Int32FromInt32(1),
  19552. },
  19553. Fnum: int32(1),
  19554. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19555. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19556. },
  19557. },
  19558. 139: {
  19559. Flang: [16]TFcChar8{'m', 't'},
  19560. Fcharset: TFcCharSet{
  19561. Fref: TFcRef{
  19562. Fcount: -libc.Int32FromInt32(1),
  19563. },
  19564. Fnum: int32(2),
  19565. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19566. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19567. },
  19568. },
  19569. 140: {
  19570. Flang: [16]TFcChar8{'m', 'y'},
  19571. Fcharset: TFcCharSet{
  19572. Fref: TFcRef{
  19573. Fcount: -libc.Int32FromInt32(1),
  19574. },
  19575. Fnum: int32(1),
  19576. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19577. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19578. },
  19579. },
  19580. 141: {
  19581. Flang: [16]TFcChar8{'n', 'a'},
  19582. Fcharset: TFcCharSet{
  19583. Fref: TFcRef{
  19584. Fcount: -libc.Int32FromInt32(1),
  19585. },
  19586. Fnum: int32(2),
  19587. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19588. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19589. },
  19590. },
  19591. 142: {
  19592. Flang: [16]TFcChar8{'n', 'b'},
  19593. Fcharset: TFcCharSet{
  19594. Fref: TFcRef{
  19595. Fcount: -libc.Int32FromInt32(1),
  19596. },
  19597. Fnum: int32(1),
  19598. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19599. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19600. },
  19601. },
  19602. 143: {
  19603. Flang: [16]TFcChar8{'n', 'd', 's'},
  19604. Fcharset: TFcCharSet{
  19605. Fref: TFcRef{
  19606. Fcount: -libc.Int32FromInt32(1),
  19607. },
  19608. Fnum: int32(1),
  19609. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19610. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19611. },
  19612. },
  19613. 144: {
  19614. Flang: [16]TFcChar8{'n', 'e'},
  19615. Fcharset: TFcCharSet{
  19616. Fref: TFcRef{
  19617. Fcount: -libc.Int32FromInt32(1),
  19618. },
  19619. Fnum: int32(1),
  19620. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19621. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19622. },
  19623. },
  19624. 145: {
  19625. Flang: [16]TFcChar8{'n', 'g'},
  19626. Fcharset: TFcCharSet{
  19627. Fref: TFcRef{
  19628. Fcount: -libc.Int32FromInt32(1),
  19629. },
  19630. Fnum: int32(1),
  19631. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19632. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19633. },
  19634. },
  19635. 146: {
  19636. Flang: [16]TFcChar8{'n', 'l'},
  19637. Fcharset: TFcCharSet{
  19638. Fref: TFcRef{
  19639. Fcount: -libc.Int32FromInt32(1),
  19640. },
  19641. Fnum: int32(1),
  19642. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19643. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19644. },
  19645. },
  19646. 147: {
  19647. Flang: [16]TFcChar8{'n', 'n'},
  19648. Fcharset: TFcCharSet{
  19649. Fref: TFcRef{
  19650. Fcount: -libc.Int32FromInt32(1),
  19651. },
  19652. Fnum: int32(1),
  19653. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19654. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19655. },
  19656. },
  19657. 148: {
  19658. Flang: [16]TFcChar8{'n', 'o'},
  19659. Fcharset: TFcCharSet{
  19660. Fref: TFcRef{
  19661. Fcount: -libc.Int32FromInt32(1),
  19662. },
  19663. Fnum: int32(1),
  19664. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19665. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19666. },
  19667. },
  19668. 149: {
  19669. Flang: [16]TFcChar8{'n', 'q', 'o'},
  19670. Fcharset: TFcCharSet{
  19671. Fref: TFcRef{
  19672. Fcount: -libc.Int32FromInt32(1),
  19673. },
  19674. Fnum: int32(1),
  19675. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19676. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19677. },
  19678. },
  19679. 150: {
  19680. Flang: [16]TFcChar8{'n', 'r'},
  19681. Fcharset: TFcCharSet{
  19682. Fref: TFcRef{
  19683. Fcount: -libc.Int32FromInt32(1),
  19684. },
  19685. Fnum: int32(1),
  19686. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19687. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19688. },
  19689. },
  19690. 151: {
  19691. Flang: [16]TFcChar8{'n', 's', 'o'},
  19692. Fcharset: TFcCharSet{
  19693. Fref: TFcRef{
  19694. Fcount: -libc.Int32FromInt32(1),
  19695. },
  19696. Fnum: int32(2),
  19697. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19698. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19699. },
  19700. },
  19701. 152: {
  19702. Flang: [16]TFcChar8{'n', 'v'},
  19703. Fcharset: TFcCharSet{
  19704. Fref: TFcRef{
  19705. Fcount: -libc.Int32FromInt32(1),
  19706. },
  19707. Fnum: int32(4),
  19708. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19709. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19710. },
  19711. },
  19712. 153: {
  19713. Flang: [16]TFcChar8{'n', 'y'},
  19714. Fcharset: TFcCharSet{
  19715. Fref: TFcRef{
  19716. Fcount: -libc.Int32FromInt32(1),
  19717. },
  19718. Fnum: int32(2),
  19719. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19720. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19721. },
  19722. },
  19723. 154: {
  19724. Flang: [16]TFcChar8{'o', 'c'},
  19725. Fcharset: TFcCharSet{
  19726. Fref: TFcRef{
  19727. Fcount: -libc.Int32FromInt32(1),
  19728. },
  19729. Fnum: int32(1),
  19730. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19731. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19732. },
  19733. },
  19734. 155: {
  19735. Flang: [16]TFcChar8{'o', 'm'},
  19736. Fcharset: TFcCharSet{
  19737. Fref: TFcRef{
  19738. Fcount: -libc.Int32FromInt32(1),
  19739. },
  19740. Fnum: int32(1),
  19741. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19742. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19743. },
  19744. },
  19745. 156: {
  19746. Flang: [16]TFcChar8{'o', 'r'},
  19747. Fcharset: TFcCharSet{
  19748. Fref: TFcRef{
  19749. Fcount: -libc.Int32FromInt32(1),
  19750. },
  19751. Fnum: int32(1),
  19752. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19753. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19754. },
  19755. },
  19756. 157: {
  19757. Flang: [16]TFcChar8{'o', 's'},
  19758. Fcharset: TFcCharSet{
  19759. Fref: TFcRef{
  19760. Fcount: -libc.Int32FromInt32(1),
  19761. },
  19762. Fnum: int32(1),
  19763. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19764. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19765. },
  19766. },
  19767. 158: {
  19768. Flang: [16]TFcChar8{'o', 't', 'a'},
  19769. Fcharset: TFcCharSet{
  19770. Fref: TFcRef{
  19771. Fcount: -libc.Int32FromInt32(1),
  19772. },
  19773. Fnum: int32(1),
  19774. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19775. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19776. },
  19777. },
  19778. 159: {
  19779. Flang: [16]TFcChar8{'p', 'a'},
  19780. Fcharset: TFcCharSet{
  19781. Fref: TFcRef{
  19782. Fcount: -libc.Int32FromInt32(1),
  19783. },
  19784. Fnum: int32(1),
  19785. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19786. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19787. },
  19788. },
  19789. 160: {
  19790. Flang: [16]TFcChar8{'p', 'a', '-', 'p', 'k'},
  19791. Fcharset: TFcCharSet{
  19792. Fref: TFcRef{
  19793. Fcount: -libc.Int32FromInt32(1),
  19794. },
  19795. Fnum: int32(1),
  19796. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19797. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19798. },
  19799. },
  19800. 161: {
  19801. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'n'},
  19802. Fcharset: TFcCharSet{
  19803. Fref: TFcRef{
  19804. Fcount: -libc.Int32FromInt32(1),
  19805. },
  19806. Fnum: int32(1),
  19807. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19808. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19809. },
  19810. },
  19811. 162: {
  19812. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'w'},
  19813. Fcharset: TFcCharSet{
  19814. Fref: TFcRef{
  19815. Fcount: -libc.Int32FromInt32(1),
  19816. },
  19817. Fnum: int32(1),
  19818. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19819. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19820. },
  19821. },
  19822. 163: {
  19823. Flang: [16]TFcChar8{'p', 'l'},
  19824. Fcharset: TFcCharSet{
  19825. Fref: TFcRef{
  19826. Fcount: -libc.Int32FromInt32(1),
  19827. },
  19828. Fnum: int32(2),
  19829. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19830. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19831. },
  19832. },
  19833. 164: {
  19834. Flang: [16]TFcChar8{'p', 's', '-', 'a', 'f'},
  19835. Fcharset: TFcCharSet{
  19836. Fref: TFcRef{
  19837. Fcount: -libc.Int32FromInt32(1),
  19838. },
  19839. Fnum: int32(1),
  19840. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19841. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19842. },
  19843. },
  19844. 165: {
  19845. Flang: [16]TFcChar8{'p', 's', '-', 'p', 'k'},
  19846. Fcharset: TFcCharSet{
  19847. Fref: TFcRef{
  19848. Fcount: -libc.Int32FromInt32(1),
  19849. },
  19850. Fnum: int32(1),
  19851. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19852. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19853. },
  19854. },
  19855. 166: {
  19856. Flang: [16]TFcChar8{'p', 't'},
  19857. Fcharset: TFcCharSet{
  19858. Fref: TFcRef{
  19859. Fcount: -libc.Int32FromInt32(1),
  19860. },
  19861. Fnum: int32(1),
  19862. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19863. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19864. },
  19865. },
  19866. 167: {
  19867. Flang: [16]TFcChar8{'q', 'u'},
  19868. Fcharset: TFcCharSet{
  19869. Fref: TFcRef{
  19870. Fcount: -libc.Int32FromInt32(1),
  19871. },
  19872. Fnum: int32(2),
  19873. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19874. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19875. },
  19876. },
  19877. 168: {
  19878. Flang: [16]TFcChar8{'q', 'u', 'z'},
  19879. Fcharset: TFcCharSet{
  19880. Fref: TFcRef{
  19881. Fcount: -libc.Int32FromInt32(1),
  19882. },
  19883. Fnum: int32(2),
  19884. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19885. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19886. },
  19887. },
  19888. 169: {
  19889. Flang: [16]TFcChar8{'r', 'm'},
  19890. Fcharset: TFcCharSet{
  19891. Fref: TFcRef{
  19892. Fcount: -libc.Int32FromInt32(1),
  19893. },
  19894. Fnum: int32(1),
  19895. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19896. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19897. },
  19898. },
  19899. 170: {
  19900. Flang: [16]TFcChar8{'r', 'n'},
  19901. Fcharset: TFcCharSet{
  19902. Fref: TFcRef{
  19903. Fcount: -libc.Int32FromInt32(1),
  19904. },
  19905. Fnum: int32(1),
  19906. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19907. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19908. },
  19909. },
  19910. 171: {
  19911. Flang: [16]TFcChar8{'r', 'o'},
  19912. Fcharset: TFcCharSet{
  19913. Fref: TFcRef{
  19914. Fcount: -libc.Int32FromInt32(1),
  19915. },
  19916. Fnum: int32(3),
  19917. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19918. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19919. },
  19920. },
  19921. 172: {
  19922. Flang: [16]TFcChar8{'r', 'u'},
  19923. Fcharset: TFcCharSet{
  19924. Fref: TFcRef{
  19925. Fcount: -libc.Int32FromInt32(1),
  19926. },
  19927. Fnum: int32(1),
  19928. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19929. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19930. },
  19931. },
  19932. 173: {
  19933. Flang: [16]TFcChar8{'r', 'w'},
  19934. Fcharset: TFcCharSet{
  19935. Fref: TFcRef{
  19936. Fcount: -libc.Int32FromInt32(1),
  19937. },
  19938. Fnum: int32(1),
  19939. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19940. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19941. },
  19942. },
  19943. 174: {
  19944. Flang: [16]TFcChar8{'s', 'a'},
  19945. Fcharset: TFcCharSet{
  19946. Fref: TFcRef{
  19947. Fcount: -libc.Int32FromInt32(1),
  19948. },
  19949. Fnum: int32(1),
  19950. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19951. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19952. },
  19953. },
  19954. 175: {
  19955. Flang: [16]TFcChar8{'s', 'a', 'h'},
  19956. Fcharset: TFcCharSet{
  19957. Fref: TFcRef{
  19958. Fcount: -libc.Int32FromInt32(1),
  19959. },
  19960. Fnum: int32(1),
  19961. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19962. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19963. },
  19964. },
  19965. 176: {
  19966. Flang: [16]TFcChar8{'s', 'a', 't'},
  19967. Fcharset: TFcCharSet{
  19968. Fref: TFcRef{
  19969. Fcount: -libc.Int32FromInt32(1),
  19970. },
  19971. Fnum: int32(1),
  19972. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19973. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19974. },
  19975. },
  19976. 177: {
  19977. Flang: [16]TFcChar8{'s', 'c'},
  19978. Fcharset: TFcCharSet{
  19979. Fref: TFcRef{
  19980. Fcount: -libc.Int32FromInt32(1),
  19981. },
  19982. Fnum: int32(1),
  19983. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19984. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19985. },
  19986. },
  19987. 178: {
  19988. Flang: [16]TFcChar8{'s', 'c', 'o'},
  19989. Fcharset: TFcCharSet{
  19990. Fref: TFcRef{
  19991. Fcount: -libc.Int32FromInt32(1),
  19992. },
  19993. Fnum: int32(3),
  19994. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19995. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19996. },
  19997. },
  19998. 179: {
  19999. Flang: [16]TFcChar8{'s', 'd'},
  20000. Fcharset: TFcCharSet{
  20001. Fref: TFcRef{
  20002. Fcount: -libc.Int32FromInt32(1),
  20003. },
  20004. Fnum: int32(1),
  20005. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20006. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20007. },
  20008. },
  20009. 180: {
  20010. Flang: [16]TFcChar8{'s', 'e'},
  20011. Fcharset: TFcCharSet{
  20012. Fref: TFcRef{
  20013. Fcount: -libc.Int32FromInt32(1),
  20014. },
  20015. Fnum: int32(2),
  20016. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20017. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20018. },
  20019. },
  20020. 181: {
  20021. Flang: [16]TFcChar8{'s', 'e', 'l'},
  20022. Fcharset: TFcCharSet{
  20023. Fref: TFcRef{
  20024. Fcount: -libc.Int32FromInt32(1),
  20025. },
  20026. Fnum: int32(1),
  20027. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20028. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20029. },
  20030. },
  20031. 182: {
  20032. Flang: [16]TFcChar8{'s', 'g'},
  20033. Fcharset: TFcCharSet{
  20034. Fref: TFcRef{
  20035. Fcount: -libc.Int32FromInt32(1),
  20036. },
  20037. Fnum: int32(1),
  20038. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20039. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20040. },
  20041. },
  20042. 183: {
  20043. Flang: [16]TFcChar8{'s', 'h'},
  20044. Fcharset: TFcCharSet{
  20045. Fref: TFcRef{
  20046. Fcount: -libc.Int32FromInt32(1),
  20047. },
  20048. Fnum: int32(3),
  20049. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20050. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20051. },
  20052. },
  20053. 184: {
  20054. Flang: [16]TFcChar8{'s', 'h', 's'},
  20055. Fcharset: TFcCharSet{
  20056. Fref: TFcRef{
  20057. Fcount: -libc.Int32FromInt32(1),
  20058. },
  20059. Fnum: int32(2),
  20060. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20061. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20062. },
  20063. },
  20064. 185: {
  20065. Flang: [16]TFcChar8{'s', 'i'},
  20066. Fcharset: TFcCharSet{
  20067. Fref: TFcRef{
  20068. Fcount: -libc.Int32FromInt32(1),
  20069. },
  20070. Fnum: int32(1),
  20071. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20072. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20073. },
  20074. },
  20075. 186: {
  20076. Flang: [16]TFcChar8{'s', 'i', 'd'},
  20077. Fcharset: TFcCharSet{
  20078. Fref: TFcRef{
  20079. Fcount: -libc.Int32FromInt32(1),
  20080. },
  20081. Fnum: int32(2),
  20082. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20083. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20084. },
  20085. },
  20086. 187: {
  20087. Flang: [16]TFcChar8{'s', 'k'},
  20088. Fcharset: TFcCharSet{
  20089. Fref: TFcRef{
  20090. Fcount: -libc.Int32FromInt32(1),
  20091. },
  20092. Fnum: int32(2),
  20093. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20094. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20095. },
  20096. },
  20097. 188: {
  20098. Flang: [16]TFcChar8{'s', 'l'},
  20099. Fcharset: TFcCharSet{
  20100. Fref: TFcRef{
  20101. Fcount: -libc.Int32FromInt32(1),
  20102. },
  20103. Fnum: int32(2),
  20104. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20105. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20106. },
  20107. },
  20108. 189: {
  20109. Flang: [16]TFcChar8{'s', 'm'},
  20110. Fcharset: TFcCharSet{
  20111. Fref: TFcRef{
  20112. Fcount: -libc.Int32FromInt32(1),
  20113. },
  20114. Fnum: int32(2),
  20115. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20116. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20117. },
  20118. },
  20119. 190: {
  20120. Flang: [16]TFcChar8{'s', 'm', 'a'},
  20121. Fcharset: TFcCharSet{
  20122. Fref: TFcRef{
  20123. Fcount: -libc.Int32FromInt32(1),
  20124. },
  20125. Fnum: int32(1),
  20126. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20127. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20128. },
  20129. },
  20130. 191: {
  20131. Flang: [16]TFcChar8{'s', 'm', 'j'},
  20132. Fcharset: TFcCharSet{
  20133. Fref: TFcRef{
  20134. Fcount: -libc.Int32FromInt32(1),
  20135. },
  20136. Fnum: int32(1),
  20137. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20138. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20139. },
  20140. },
  20141. 192: {
  20142. Flang: [16]TFcChar8{'s', 'm', 'n'},
  20143. Fcharset: TFcCharSet{
  20144. Fref: TFcRef{
  20145. Fcount: -libc.Int32FromInt32(1),
  20146. },
  20147. Fnum: int32(2),
  20148. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20149. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20150. },
  20151. },
  20152. 193: {
  20153. Flang: [16]TFcChar8{'s', 'm', 's'},
  20154. Fcharset: TFcCharSet{
  20155. Fref: TFcRef{
  20156. Fcount: -libc.Int32FromInt32(1),
  20157. },
  20158. Fnum: int32(3),
  20159. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20160. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20161. },
  20162. },
  20163. 194: {
  20164. Flang: [16]TFcChar8{'s', 'n'},
  20165. Fcharset: TFcCharSet{
  20166. Fref: TFcRef{
  20167. Fcount: -libc.Int32FromInt32(1),
  20168. },
  20169. Fnum: int32(1),
  20170. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20171. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20172. },
  20173. },
  20174. 195: {
  20175. Flang: [16]TFcChar8{'s', 'o'},
  20176. Fcharset: TFcCharSet{
  20177. Fref: TFcRef{
  20178. Fcount: -libc.Int32FromInt32(1),
  20179. },
  20180. Fnum: int32(1),
  20181. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20182. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20183. },
  20184. },
  20185. 196: {
  20186. Flang: [16]TFcChar8{'s', 'q'},
  20187. Fcharset: TFcCharSet{
  20188. Fref: TFcRef{
  20189. Fcount: -libc.Int32FromInt32(1),
  20190. },
  20191. Fnum: int32(1),
  20192. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20193. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20194. },
  20195. },
  20196. 197: {
  20197. Flang: [16]TFcChar8{'s', 'r'},
  20198. Fcharset: TFcCharSet{
  20199. Fref: TFcRef{
  20200. Fcount: -libc.Int32FromInt32(1),
  20201. },
  20202. Fnum: int32(1),
  20203. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20204. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20205. },
  20206. },
  20207. 198: {
  20208. Flang: [16]TFcChar8{'s', 's'},
  20209. Fcharset: TFcCharSet{
  20210. Fref: TFcRef{
  20211. Fcount: -libc.Int32FromInt32(1),
  20212. },
  20213. Fnum: int32(1),
  20214. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20215. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20216. },
  20217. },
  20218. 199: {
  20219. Flang: [16]TFcChar8{'s', 't'},
  20220. Fcharset: TFcCharSet{
  20221. Fref: TFcRef{
  20222. Fcount: -libc.Int32FromInt32(1),
  20223. },
  20224. Fnum: int32(1),
  20225. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20226. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20227. },
  20228. },
  20229. 200: {
  20230. Flang: [16]TFcChar8{'s', 'u'},
  20231. Fcharset: TFcCharSet{
  20232. Fref: TFcRef{
  20233. Fcount: -libc.Int32FromInt32(1),
  20234. },
  20235. Fnum: int32(1),
  20236. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20237. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20238. },
  20239. },
  20240. 201: {
  20241. Flang: [16]TFcChar8{'s', 'v'},
  20242. Fcharset: TFcCharSet{
  20243. Fref: TFcRef{
  20244. Fcount: -libc.Int32FromInt32(1),
  20245. },
  20246. Fnum: int32(1),
  20247. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20248. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20249. },
  20250. },
  20251. 202: {
  20252. Flang: [16]TFcChar8{'s', 'w'},
  20253. Fcharset: TFcCharSet{
  20254. Fref: TFcRef{
  20255. Fcount: -libc.Int32FromInt32(1),
  20256. },
  20257. Fnum: int32(1),
  20258. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20259. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20260. },
  20261. },
  20262. 203: {
  20263. Flang: [16]TFcChar8{'s', 'y', 'r'},
  20264. Fcharset: TFcCharSet{
  20265. Fref: TFcRef{
  20266. Fcount: -libc.Int32FromInt32(1),
  20267. },
  20268. Fnum: int32(1),
  20269. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20270. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20271. },
  20272. },
  20273. 204: {
  20274. Flang: [16]TFcChar8{'t', 'a'},
  20275. Fcharset: TFcCharSet{
  20276. Fref: TFcRef{
  20277. Fcount: -libc.Int32FromInt32(1),
  20278. },
  20279. Fnum: int32(1),
  20280. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20281. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20282. },
  20283. },
  20284. 205: {
  20285. Flang: [16]TFcChar8{'t', 'e'},
  20286. Fcharset: TFcCharSet{
  20287. Fref: TFcRef{
  20288. Fcount: -libc.Int32FromInt32(1),
  20289. },
  20290. Fnum: int32(1),
  20291. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20292. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20293. },
  20294. },
  20295. 206: {
  20296. Flang: [16]TFcChar8{'t', 'g'},
  20297. Fcharset: TFcCharSet{
  20298. Fref: TFcRef{
  20299. Fcount: -libc.Int32FromInt32(1),
  20300. },
  20301. Fnum: int32(1),
  20302. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20303. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20304. },
  20305. },
  20306. 207: {
  20307. Flang: [16]TFcChar8{'t', 'h'},
  20308. Fcharset: TFcCharSet{
  20309. Fref: TFcRef{
  20310. Fcount: -libc.Int32FromInt32(1),
  20311. },
  20312. Fnum: int32(1),
  20313. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20314. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20315. },
  20316. },
  20317. 208: {
  20318. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 'r'},
  20319. Fcharset: TFcCharSet{
  20320. Fref: TFcRef{
  20321. Fcount: -libc.Int32FromInt32(1),
  20322. },
  20323. Fnum: int32(2),
  20324. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20325. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20326. },
  20327. },
  20328. 209: {
  20329. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 't'},
  20330. Fcharset: TFcCharSet{
  20331. Fref: TFcRef{
  20332. Fcount: -libc.Int32FromInt32(1),
  20333. },
  20334. Fnum: int32(2),
  20335. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20336. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20337. },
  20338. },
  20339. 210: {
  20340. Flang: [16]TFcChar8{'t', 'i', 'g'},
  20341. Fcharset: TFcCharSet{
  20342. Fref: TFcRef{
  20343. Fcount: -libc.Int32FromInt32(1),
  20344. },
  20345. Fnum: int32(2),
  20346. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20347. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20348. },
  20349. },
  20350. 211: {
  20351. Flang: [16]TFcChar8{'t', 'k'},
  20352. Fcharset: TFcCharSet{
  20353. Fref: TFcRef{
  20354. Fcount: -libc.Int32FromInt32(1),
  20355. },
  20356. Fnum: int32(2),
  20357. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20358. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20359. },
  20360. },
  20361. 212: {
  20362. Flang: [16]TFcChar8{'t', 'l'},
  20363. Fcharset: TFcCharSet{
  20364. Fref: TFcRef{
  20365. Fcount: -libc.Int32FromInt32(1),
  20366. },
  20367. Fnum: int32(1),
  20368. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20369. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20370. },
  20371. },
  20372. 213: {
  20373. Flang: [16]TFcChar8{'t', 'n'},
  20374. Fcharset: TFcCharSet{
  20375. Fref: TFcRef{
  20376. Fcount: -libc.Int32FromInt32(1),
  20377. },
  20378. Fnum: int32(2),
  20379. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20380. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20381. },
  20382. },
  20383. 214: {
  20384. Flang: [16]TFcChar8{'t', 'o'},
  20385. Fcharset: TFcCharSet{
  20386. Fref: TFcRef{
  20387. Fcount: -libc.Int32FromInt32(1),
  20388. },
  20389. Fnum: int32(2),
  20390. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20391. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20392. },
  20393. },
  20394. 215: {
  20395. Flang: [16]TFcChar8{'t', 'r'},
  20396. Fcharset: TFcCharSet{
  20397. Fref: TFcRef{
  20398. Fcount: -libc.Int32FromInt32(1),
  20399. },
  20400. Fnum: int32(2),
  20401. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20402. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20403. },
  20404. },
  20405. 216: {
  20406. Flang: [16]TFcChar8{'t', 's'},
  20407. Fcharset: TFcCharSet{
  20408. Fref: TFcRef{
  20409. Fcount: -libc.Int32FromInt32(1),
  20410. },
  20411. Fnum: int32(1),
  20412. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20413. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20414. },
  20415. },
  20416. 217: {
  20417. Flang: [16]TFcChar8{'t', 't'},
  20418. Fcharset: TFcCharSet{
  20419. Fref: TFcRef{
  20420. Fcount: -libc.Int32FromInt32(1),
  20421. },
  20422. Fnum: int32(1),
  20423. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20424. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20425. },
  20426. },
  20427. 218: {
  20428. Flang: [16]TFcChar8{'t', 'w'},
  20429. Fcharset: TFcCharSet{
  20430. Fref: TFcRef{
  20431. Fcount: -libc.Int32FromInt32(1),
  20432. },
  20433. Fnum: int32(5),
  20434. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20435. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20436. },
  20437. },
  20438. 219: {
  20439. Flang: [16]TFcChar8{'t', 'y'},
  20440. Fcharset: TFcCharSet{
  20441. Fref: TFcRef{
  20442. Fcount: -libc.Int32FromInt32(1),
  20443. },
  20444. Fnum: int32(3),
  20445. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20446. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20447. },
  20448. },
  20449. 220: {
  20450. Flang: [16]TFcChar8{'t', 'y', 'v'},
  20451. Fcharset: TFcCharSet{
  20452. Fref: TFcRef{
  20453. Fcount: -libc.Int32FromInt32(1),
  20454. },
  20455. Fnum: int32(1),
  20456. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20457. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20458. },
  20459. },
  20460. 221: {
  20461. Flang: [16]TFcChar8{'u', 'g'},
  20462. Fcharset: TFcCharSet{
  20463. Fref: TFcRef{
  20464. Fcount: -libc.Int32FromInt32(1),
  20465. },
  20466. Fnum: int32(1),
  20467. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20468. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20469. },
  20470. },
  20471. 222: {
  20472. Flang: [16]TFcChar8{'u', 'k'},
  20473. Fcharset: TFcCharSet{
  20474. Fref: TFcRef{
  20475. Fcount: -libc.Int32FromInt32(1),
  20476. },
  20477. Fnum: int32(1),
  20478. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20479. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20480. },
  20481. },
  20482. 223: {
  20483. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 'm', 't', 'h'},
  20484. Fcharset: TFcCharSet{
  20485. Fref: TFcRef{
  20486. Fcount: -libc.Int32FromInt32(1),
  20487. },
  20488. Fnum: int32(12),
  20489. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20490. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20491. },
  20492. },
  20493. 224: {
  20494. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 's', 'y', 'e'},
  20495. Fcharset: TFcCharSet{
  20496. Fref: TFcRef{
  20497. Fcount: -libc.Int32FromInt32(1),
  20498. },
  20499. Fnum: int32(12),
  20500. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20501. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20502. },
  20503. },
  20504. 225: {
  20505. Flang: [16]TFcChar8{'u', 'r'},
  20506. Fcharset: TFcCharSet{
  20507. Fref: TFcRef{
  20508. Fcount: -libc.Int32FromInt32(1),
  20509. },
  20510. Fnum: int32(1),
  20511. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20512. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20513. },
  20514. },
  20515. 226: {
  20516. Flang: [16]TFcChar8{'u', 'z'},
  20517. Fcharset: TFcCharSet{
  20518. Fref: TFcRef{
  20519. Fcount: -libc.Int32FromInt32(1),
  20520. },
  20521. Fnum: int32(1),
  20522. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20523. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20524. },
  20525. },
  20526. 227: {
  20527. Flang: [16]TFcChar8{'v', 'e'},
  20528. Fcharset: TFcCharSet{
  20529. Fref: TFcRef{
  20530. Fcount: -libc.Int32FromInt32(1),
  20531. },
  20532. Fnum: int32(2),
  20533. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20534. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20535. },
  20536. },
  20537. 228: {
  20538. Flang: [16]TFcChar8{'v', 'i'},
  20539. Fcharset: TFcCharSet{
  20540. Fref: TFcRef{
  20541. Fcount: -libc.Int32FromInt32(1),
  20542. },
  20543. Fnum: int32(4),
  20544. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20545. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20546. },
  20547. },
  20548. 229: {
  20549. Flang: [16]TFcChar8{'v', 'o'},
  20550. Fcharset: TFcCharSet{
  20551. Fref: TFcRef{
  20552. Fcount: -libc.Int32FromInt32(1),
  20553. },
  20554. Fnum: int32(1),
  20555. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20556. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20557. },
  20558. },
  20559. 230: {
  20560. Flang: [16]TFcChar8{'v', 'o', 't'},
  20561. Fcharset: TFcCharSet{
  20562. Fref: TFcRef{
  20563. Fcount: -libc.Int32FromInt32(1),
  20564. },
  20565. Fnum: int32(2),
  20566. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20567. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20568. },
  20569. },
  20570. 231: {
  20571. Flang: [16]TFcChar8{'w', 'a'},
  20572. Fcharset: TFcCharSet{
  20573. Fref: TFcRef{
  20574. Fcount: -libc.Int32FromInt32(1),
  20575. },
  20576. Fnum: int32(1),
  20577. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20578. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20579. },
  20580. },
  20581. 232: {
  20582. Flang: [16]TFcChar8{'w', 'a', 'l'},
  20583. Fcharset: TFcCharSet{
  20584. Fref: TFcRef{
  20585. Fcount: -libc.Int32FromInt32(1),
  20586. },
  20587. Fnum: int32(2),
  20588. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20589. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20590. },
  20591. },
  20592. 233: {
  20593. Flang: [16]TFcChar8{'w', 'e', 'n'},
  20594. Fcharset: TFcCharSet{
  20595. Fref: TFcRef{
  20596. Fcount: -libc.Int32FromInt32(1),
  20597. },
  20598. Fnum: int32(2),
  20599. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20600. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20601. },
  20602. },
  20603. 234: {
  20604. Flang: [16]TFcChar8{'w', 'o'},
  20605. Fcharset: TFcCharSet{
  20606. Fref: TFcRef{
  20607. Fcount: -libc.Int32FromInt32(1),
  20608. },
  20609. Fnum: int32(2),
  20610. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20611. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20612. },
  20613. },
  20614. 235: {
  20615. Flang: [16]TFcChar8{'x', 'h'},
  20616. Fcharset: TFcCharSet{
  20617. Fref: TFcRef{
  20618. Fcount: -libc.Int32FromInt32(1),
  20619. },
  20620. Fnum: int32(1),
  20621. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20622. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20623. },
  20624. },
  20625. 236: {
  20626. Flang: [16]TFcChar8{'y', 'a', 'p'},
  20627. Fcharset: TFcCharSet{
  20628. Fref: TFcRef{
  20629. Fcount: -libc.Int32FromInt32(1),
  20630. },
  20631. Fnum: int32(1),
  20632. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20633. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20634. },
  20635. },
  20636. 237: {
  20637. Flang: [16]TFcChar8{'y', 'i'},
  20638. Fcharset: TFcCharSet{
  20639. Fref: TFcRef{
  20640. Fcount: -libc.Int32FromInt32(1),
  20641. },
  20642. Fnum: int32(1),
  20643. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20644. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20645. },
  20646. },
  20647. 238: {
  20648. Flang: [16]TFcChar8{'y', 'o'},
  20649. Fcharset: TFcCharSet{
  20650. Fref: TFcRef{
  20651. Fcount: -libc.Int32FromInt32(1),
  20652. },
  20653. Fnum: int32(4),
  20654. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20655. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20656. },
  20657. },
  20658. 239: {
  20659. Flang: [16]TFcChar8{'z', 'a'},
  20660. Fcharset: TFcCharSet{
  20661. Fref: TFcRef{
  20662. Fcount: -libc.Int32FromInt32(1),
  20663. },
  20664. Fnum: int32(1),
  20665. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20666. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20667. },
  20668. },
  20669. 240: {
  20670. Flang: [16]TFcChar8{'z', 'h', '-', 'c', 'n'},
  20671. Fcharset: TFcCharSet{
  20672. Fref: TFcRef{
  20673. Fcount: -libc.Int32FromInt32(1),
  20674. },
  20675. Fnum: int32(82),
  20676. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20677. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20678. },
  20679. },
  20680. 241: {
  20681. Flang: [16]TFcChar8{'z', 'h', '-', 'h', 'k'},
  20682. Fcharset: TFcCharSet{
  20683. Fref: TFcRef{
  20684. Fcount: -libc.Int32FromInt32(1),
  20685. },
  20686. Fnum: int32(171),
  20687. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20688. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20689. },
  20690. },
  20691. 242: {
  20692. Flang: [16]TFcChar8{'z', 'h', '-', 'm', 'o'},
  20693. Fcharset: TFcCharSet{
  20694. Fref: TFcRef{
  20695. Fcount: -libc.Int32FromInt32(1),
  20696. },
  20697. Fnum: int32(171),
  20698. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20699. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20700. },
  20701. },
  20702. 243: {
  20703. Flang: [16]TFcChar8{'z', 'h', '-', 's', 'g'},
  20704. Fcharset: TFcCharSet{
  20705. Fref: TFcRef{
  20706. Fcount: -libc.Int32FromInt32(1),
  20707. },
  20708. Fnum: int32(82),
  20709. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20710. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20711. },
  20712. },
  20713. 244: {
  20714. Flang: [16]TFcChar8{'z', 'h', '-', 't', 'w'},
  20715. Fcharset: TFcCharSet{
  20716. Fref: TFcRef{
  20717. Fcount: -libc.Int32FromInt32(1),
  20718. },
  20719. Fnum: int32(83),
  20720. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20721. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20722. },
  20723. },
  20724. 245: {
  20725. Flang: [16]TFcChar8{'z', 'u'},
  20726. Fcharset: TFcCharSet{
  20727. Fref: TFcRef{
  20728. Fcount: -libc.Int32FromInt32(1),
  20729. },
  20730. Fnum: int32(1),
  20731. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20732. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20733. },
  20734. },
  20735. },
  20736. Fleaves: [725]TFcCharLeaf{
  20737. 0: {
  20738. Fmap1: [8]TFcChar32{
  20739. 2: uint32(0x07fffffe),
  20740. 3: uint32(0x07fffffe),
  20741. 6: uint32(0x08104404),
  20742. 7: uint32(0x08104404),
  20743. },
  20744. },
  20745. 1: {
  20746. Fmap1: [8]TFcChar32{
  20747. 0: uint32(0xffff8002),
  20748. 1: uint32(0xffffffff),
  20749. 2: uint32(0x8002ffff),
  20750. 4: uint32(0xc0000000),
  20751. 5: uint32(0xf0fc33c0),
  20752. 6: uint32(0x03000000),
  20753. 7: uint32(0x00000003),
  20754. },
  20755. },
  20756. 2: {
  20757. Fmap1: [8]TFcChar32{
  20758. 2: uint32(0x07fffffe),
  20759. 3: uint32(0x07fffffe),
  20760. 6: uint32(0x0810cf00),
  20761. 7: uint32(0x0810cf00),
  20762. },
  20763. },
  20764. 3: {
  20765. Fmap1: [8]TFcChar32{
  20766. 2: uint32(0x00000200),
  20767. },
  20768. },
  20769. 4: {
  20770. Fmap1: [8]TFcChar32{
  20771. 2: uint32(0x07fffffe),
  20772. 3: uint32(0x07fffffe),
  20773. 6: uint32(0x00220008),
  20774. 7: uint32(0x00220008),
  20775. },
  20776. },
  20777. 5: {
  20778. Fmap1: [8]TFcChar32{
  20779. 1: uint32(0x00000300),
  20780. 3: uint32(0x00000300),
  20781. 4: uint32(0x00010040),
  20782. },
  20783. },
  20784. 6: {
  20785. Fmap1: [8]TFcChar32{
  20786. 2: uint32(0x08100000),
  20787. },
  20788. },
  20789. 7: {
  20790. Fmap1: [8]TFcChar32{
  20791. 0: uint32(0x00000048),
  20792. 1: uint32(0x00000200),
  20793. },
  20794. },
  20795. 8: {
  20796. Fmap1: [8]TFcChar32{
  20797. 5: uint32(0x30000000),
  20798. 7: uint32(0x03000000),
  20799. },
  20800. },
  20801. 9: {
  20802. Fmap1: [8]TFcChar32{
  20803. 0: uint32(0xff7fff7f),
  20804. 1: uint32(0xff01ff7f),
  20805. 2: uint32(0x00003d7f),
  20806. 3: uint32(0xffff7fff),
  20807. 4: uint32(0xffff3d7f),
  20808. 5: uint32(0x003d7fff),
  20809. 6: uint32(0xff7f7f00),
  20810. 7: uint32(0x00ff7fff),
  20811. },
  20812. },
  20813. 10: {
  20814. Fmap1: [8]TFcChar32{
  20815. 0: uint32(0x003d7fff),
  20816. 1: uint32(0xffffffff),
  20817. 2: uint32(0x007fff7f),
  20818. },
  20819. },
  20820. 11: {
  20821. Fmap1: [8]TFcChar32{
  20822. 2: uint32(0x07fffffe),
  20823. 3: uint32(0x07fffffe),
  20824. 6: uint32(0x140a2202),
  20825. 7: uint32(0x140a2202),
  20826. },
  20827. },
  20828. 12: {
  20829. Fmap1: [8]TFcChar32{
  20830. 1: uint32(0x07fffffe),
  20831. 2: uint32(0x000007fe),
  20832. },
  20833. },
  20834. 13: {
  20835. Fmap1: [8]TFcChar32{
  20836. 4: uint32(0xfff99fee),
  20837. 5: uint32(0xd3c4fdff),
  20838. 6: uint32(0xb000399f),
  20839. 7: uint32(0x00030000),
  20840. },
  20841. },
  20842. 14: {
  20843. Fmap1: [8]TFcChar32{
  20844. 1: uint32(0x00c00030),
  20845. },
  20846. },
  20847. 15: {
  20848. Fmap1: [8]TFcChar32{
  20849. 0: uint32(0xffff0042),
  20850. 1: uint32(0xffffffff),
  20851. 2: uint32(0x0002ffff),
  20852. },
  20853. },
  20854. 16: {
  20855. Fmap1: [8]TFcChar32{
  20856. 2: uint32(0x07fffffe),
  20857. 3: uint32(0x07fffffe),
  20858. 6: uint32(0x10028010),
  20859. 7: uint32(0x10028010),
  20860. },
  20861. },
  20862. 17: {
  20863. Fmap1: [8]TFcChar32{
  20864. 2: uint32(0x07fffffe),
  20865. 3: uint32(0x07fffffe),
  20866. 6: uint32(0x10400080),
  20867. 7: uint32(0x10400080),
  20868. },
  20869. },
  20870. 18: {
  20871. Fmap1: [8]TFcChar32{
  20872. 0: uint32(0xc0000000),
  20873. 1: uint32(0x00030000),
  20874. 2: uint32(0xc0000000),
  20875. 4: uint32(0x00008000),
  20876. },
  20877. },
  20878. 19: {
  20879. Fmap1: [8]TFcChar32{
  20880. 2: uint32(0x02000000),
  20881. },
  20882. },
  20883. 20: {
  20884. Fmap1: [8]TFcChar32{
  20885. 1: uint32(0x07ffffde),
  20886. 2: uint32(0x001009f6),
  20887. 3: uint32(0x40000000),
  20888. 4: uint32(0x01000040),
  20889. 5: uint32(0x00008200),
  20890. 6: uint32(0x00001000),
  20891. },
  20892. },
  20893. 21: {
  20894. Fmap1: [8]TFcChar32{
  20895. 0: uint32(0xffff0000),
  20896. 1: uint32(0xffffffff),
  20897. 2: uint32(0x0000ffff),
  20898. 4: uint32(0x030c0000),
  20899. 5: uint32(0x0c00cc0f),
  20900. 6: uint32(0x03000000),
  20901. 7: uint32(0x00000300),
  20902. },
  20903. },
  20904. 22: {
  20905. Fmap1: [8]TFcChar32{
  20906. 0: uint32(0xffff4040),
  20907. 1: uint32(0xffffffff),
  20908. 2: uint32(0x4040ffff),
  20909. },
  20910. },
  20911. 23: {
  20912. Fmap1: [8]TFcChar32{
  20913. 2: uint32(0x07fffffe),
  20914. 3: uint32(0x07fffffe),
  20915. },
  20916. },
  20917. 24: {
  20918. Fmap1: [8]TFcChar32{
  20919. 0: uint32(0x00003000),
  20920. 4: uint32(0x00110000),
  20921. 7: uint32(0x000000c0),
  20922. },
  20923. },
  20924. 25: {
  20925. Fmap1: [8]TFcChar32{
  20926. 2: uint32(0x08000000),
  20927. 3: uint32(0x00000008),
  20928. },
  20929. },
  20930. 26: {
  20931. Fmap1: [8]TFcChar32{
  20932. 0: uint32(0x00003000),
  20933. 1: uint32(0x00000030),
  20934. 3: uint32(0x0000300c),
  20935. 4: uint32(0x000c0000),
  20936. },
  20937. },
  20938. 27: {
  20939. Fmap1: [8]TFcChar32{
  20940. 1: uint32(0x3a8b0000),
  20941. 2: uint32(0x9e78e6b9),
  20942. 3: uint32(0x0000802e),
  20943. },
  20944. },
  20945. 28: {
  20946. Fmap1: [8]TFcChar32{
  20947. 0: uint32(0xffff0000),
  20948. 1: uint32(0xffffd7ff),
  20949. 2: uint32(0x0000d7ff),
  20950. },
  20951. },
  20952. 29: {
  20953. Fmap1: [8]TFcChar32{
  20954. 0: uint32(0xffffffe0),
  20955. 1: uint32(0x83ffffff),
  20956. 2: uint32(0x00003fff),
  20957. },
  20958. },
  20959. 30: {
  20960. Fmap1: [8]TFcChar32{
  20961. 2: uint32(0x07fffffe),
  20962. 3: uint32(0x07fffffe),
  20963. 6: uint32(0x10008200),
  20964. 7: uint32(0x10008200),
  20965. },
  20966. },
  20967. 31: {
  20968. Fmap1: [8]TFcChar32{
  20969. 2: uint32(0x07fffffe),
  20970. 3: uint32(0x07fffffe),
  20971. 6: uint32(0x060c3303),
  20972. 7: uint32(0x060c3303),
  20973. },
  20974. },
  20975. 32: {
  20976. Fmap1: [8]TFcChar32{
  20977. 0: uint32(0x00000003),
  20978. },
  20979. },
  20980. 33: {
  20981. Fmap1: [8]TFcChar32{
  20982. 5: uint32(0x03000000),
  20983. 6: uint32(0x00003000),
  20984. },
  20985. },
  20986. 34: {
  20987. Fmap1: [8]TFcChar32{
  20988. 2: uint32(0x00000c00),
  20989. 4: uint32(0x20010040),
  20990. },
  20991. },
  20992. 35: {
  20993. Fmap1: [8]TFcChar32{
  20994. 2: uint32(0x08100000),
  20995. 3: uint32(0x00040000),
  20996. },
  20997. },
  20998. 36: {
  20999. Fmap1: [8]TFcChar32{
  21000. 4: uint32(0xfff99fee),
  21001. 5: uint32(0xd3c5fdff),
  21002. 6: uint32(0xb000399f),
  21003. },
  21004. },
  21005. 37: {
  21006. Fmap1: [8]TFcChar32{
  21007. 2: uint32(0xfffffeff),
  21008. 3: uint32(0x3d7e03ff),
  21009. 4: uint32(0xfeff0003),
  21010. 5: uint32(0x03ffffff),
  21011. },
  21012. },
  21013. 38: {
  21014. Fmap1: [8]TFcChar32{
  21015. 2: uint32(0x07fffffe),
  21016. 3: uint32(0x07fffffe),
  21017. 6: uint32(0x12120404),
  21018. 7: uint32(0x12120404),
  21019. },
  21020. },
  21021. 39: {
  21022. Fmap1: [8]TFcChar32{
  21023. 0: uint32(0xfff99fee),
  21024. 1: uint32(0xf3e5fdff),
  21025. 2: uint32(0x0007399f),
  21026. 3: uint32(0x0001ffff),
  21027. },
  21028. },
  21029. 40: {
  21030. Fmap1: [8]TFcChar32{
  21031. 0: uint32(0x000330c0),
  21032. 3: uint32(0x60000003),
  21033. },
  21034. },
  21035. 41: {
  21036. Fmap1: [8]TFcChar32{
  21037. 0: uint32(0xffff0002),
  21038. 1: uint32(0xffffffff),
  21039. 2: uint32(0x0002ffff),
  21040. 5: uint32(0x0c00c000),
  21041. },
  21042. },
  21043. 42: {
  21044. Fmap1: [8]TFcChar32{
  21045. 0: uint32(0xff7fff7f),
  21046. 1: uint32(0xff01ff00),
  21047. 2: uint32(0x3d7f3d7f),
  21048. 3: uint32(0xffff7fff),
  21049. 4: uint32(0xffff0000),
  21050. 5: uint32(0x003d7fff),
  21051. 6: uint32(0xff7f7f3d),
  21052. 7: uint32(0x00ff7fff),
  21053. },
  21054. },
  21055. 43: {
  21056. Fmap1: [8]TFcChar32{
  21057. 0: uint32(0x003d7fff),
  21058. 1: uint32(0xffffffff),
  21059. 2: uint32(0x007fff00),
  21060. },
  21061. },
  21062. 44: {
  21063. Fmap1: [8]TFcChar32{
  21064. 2: uint32(0x07fffffe),
  21065. 3: uint32(0x07fffffe),
  21066. 6: uint32(0x140ca381),
  21067. 7: uint32(0x140ca381),
  21068. },
  21069. },
  21070. 45: {
  21071. Fmap1: [8]TFcChar32{
  21072. 1: uint32(0x80000000),
  21073. 2: uint32(0x00000001),
  21074. },
  21075. },
  21076. 46: {
  21077. Fmap1: [8]TFcChar32{
  21078. 2: uint32(0x07fffffe),
  21079. 3: uint32(0x07fffffe),
  21080. 6: uint32(0x10020004),
  21081. 7: uint32(0x10020004),
  21082. },
  21083. },
  21084. 47: {
  21085. Fmap1: [8]TFcChar32{
  21086. 0: uint32(0xffff0002),
  21087. 1: uint32(0xffffffff),
  21088. 2: uint32(0x0002ffff),
  21089. 5: uint32(0x00000030),
  21090. 6: uint32(0x000c0000),
  21091. 7: uint32(0x030300c0),
  21092. },
  21093. },
  21094. 48: {
  21095. Fmap1: [8]TFcChar32{
  21096. 5: uint32(0xffffffff),
  21097. 6: uint32(0xffffffff),
  21098. 7: uint32(0x001fffff),
  21099. },
  21100. },
  21101. 49: {
  21102. Fmap1: [8]TFcChar32{
  21103. 2: uint32(0x07fffffe),
  21104. 3: uint32(0x07fffffe),
  21105. 6: uint32(0x1a10cfc5),
  21106. 7: uint32(0x9a10cfc5),
  21107. },
  21108. },
  21109. 50: {
  21110. Fmap1: [8]TFcChar32{
  21111. 2: uint32(0x000c0000),
  21112. 3: uint32(0x01000000),
  21113. },
  21114. },
  21115. 51: {
  21116. Fmap1: [8]TFcChar32{
  21117. 2: uint32(0x07fffffe),
  21118. 3: uint32(0x07fffffe),
  21119. 6: uint32(0x10420084),
  21120. 7: uint32(0x10420084),
  21121. },
  21122. },
  21123. 52: {
  21124. Fmap1: [8]TFcChar32{
  21125. 0: uint32(0xc0000000),
  21126. 1: uint32(0x00030000),
  21127. 2: uint32(0xc0000000),
  21128. },
  21129. },
  21130. 53: {
  21131. Fmap1: [8]TFcChar32{
  21132. 2: uint32(0x07fffffe),
  21133. 3: uint32(0x07fffffe),
  21134. 6: uint32(0x24082202),
  21135. 7: uint32(0x24082202),
  21136. },
  21137. },
  21138. 54: {
  21139. Fmap1: [8]TFcChar32{
  21140. 0: uint32(0x0c00f000),
  21141. 2: uint32(0x03000180),
  21142. 3: uint32(0x6000c033),
  21143. },
  21144. },
  21145. 55: {
  21146. Fmap1: [8]TFcChar32{
  21147. 2: uint32(0x07fffffe),
  21148. 3: uint32(0x07fffffe),
  21149. 6: uint32(0x021c0a08),
  21150. 7: uint32(0x021c0a08),
  21151. },
  21152. },
  21153. 56: {
  21154. Fmap1: [8]TFcChar32{
  21155. 0: uint32(0x00000030),
  21156. 2: uint32(0x0000001e),
  21157. 3: uint32(0x18000000),
  21158. },
  21159. },
  21160. 57: {
  21161. Fmap1: [8]TFcChar32{
  21162. 0: uint32(0xfdffa966),
  21163. 1: uint32(0xffffdfff),
  21164. 2: uint32(0xa965dfff),
  21165. 3: uint32(0x03ffffff),
  21166. },
  21167. },
  21168. 58: {
  21169. Fmap1: [8]TFcChar32{
  21170. 0: uint32(0x0000000c),
  21171. },
  21172. },
  21173. 59: {
  21174. Fmap1: [8]TFcChar32{
  21175. 0: uint32(0xffff0002),
  21176. 1: uint32(0xffffffff),
  21177. 2: uint32(0x0002ffff),
  21178. 5: uint32(0x00000c00),
  21179. 6: uint32(0x00c00000),
  21180. 7: uint32(0x000c0000),
  21181. },
  21182. },
  21183. 60: {
  21184. Fmap1: [8]TFcChar32{
  21185. 2: uint32(0x07fffffe),
  21186. 3: uint32(0x07fffffe),
  21187. 6: uint32(0x0010c604),
  21188. 7: uint32(0x8010c604),
  21189. },
  21190. },
  21191. 61: {
  21192. Fmap1: [8]TFcChar32{
  21193. 3: uint32(0x01f00000),
  21194. },
  21195. },
  21196. 62: {
  21197. Fmap1: [8]TFcChar32{
  21198. 4: uint32(0x0000003f),
  21199. 7: uint32(0x000c0000),
  21200. },
  21201. },
  21202. 63: {
  21203. Fmap1: [8]TFcChar32{
  21204. 2: uint32(0x07fffffe),
  21205. 3: uint32(0x07fffffe),
  21206. 6: uint32(0x25082262),
  21207. 7: uint32(0x25082262),
  21208. },
  21209. },
  21210. 64: {
  21211. Fmap1: [8]TFcChar32{
  21212. 2: uint32(0x07fffffe),
  21213. 3: uint32(0x07fffffe),
  21214. 6: uint32(0x90400010),
  21215. 7: uint32(0x10400010),
  21216. },
  21217. },
  21218. 65: {
  21219. Fmap1: [8]TFcChar32{
  21220. 0: uint32(0xfff99fec),
  21221. 1: uint32(0xf3e5fdff),
  21222. 2: uint32(0xf807399f),
  21223. 3: uint32(0x0000ffff),
  21224. },
  21225. },
  21226. 66: {
  21227. Fmap1: [8]TFcChar32{
  21228. 4: uint32(0xffffffff),
  21229. 5: uint32(0x0001ffff),
  21230. },
  21231. },
  21232. 67: {
  21233. Fmap1: [8]TFcChar32{
  21234. 0: uint32(0x0c000000),
  21235. 2: uint32(0x00000c00),
  21236. 4: uint32(0x00170240),
  21237. 5: uint32(0x00040000),
  21238. 6: uint32(0x001fe000),
  21239. },
  21240. },
  21241. 68: {
  21242. Fmap1: [8]TFcChar32{
  21243. 2: uint32(0x08500000),
  21244. 3: uint32(0x00000008),
  21245. 4: uint32(0x00000800),
  21246. },
  21247. },
  21248. 69: {
  21249. Fmap1: [8]TFcChar32{
  21250. 0: uint32(0x00001003),
  21251. },
  21252. },
  21253. 70: {
  21254. Fmap1: [8]TFcChar32{
  21255. 4: uint32(0xffffd740),
  21256. 5: uint32(0xfffffffb),
  21257. 6: uint32(0x00007fff),
  21258. },
  21259. },
  21260. 71: {
  21261. Fmap1: [8]TFcChar32{
  21262. 2: uint32(0x07fffffe),
  21263. 3: uint32(0x07fffffe),
  21264. 6: uint32(0x00528f81),
  21265. 7: uint32(0x00528f81),
  21266. },
  21267. },
  21268. 72: {
  21269. Fmap1: [8]TFcChar32{
  21270. 0: uint32(0x30000300),
  21271. 1: uint32(0x00300030),
  21272. 2: uint32(0x30000000),
  21273. 3: uint32(0x00003000),
  21274. },
  21275. },
  21276. 73: {
  21277. Fmap1: [8]TFcChar32{
  21278. 2: uint32(0x07fffffe),
  21279. 3: uint32(0x07fffffe),
  21280. 6: uint32(0x10600010),
  21281. 7: uint32(0x10600010),
  21282. },
  21283. },
  21284. 74: {
  21285. Fmap1: [8]TFcChar32{
  21286. 3: uint32(0x60000003),
  21287. },
  21288. },
  21289. 75: {
  21290. Fmap1: [8]TFcChar32{
  21291. 2: uint32(0x07fffffe),
  21292. 3: uint32(0x07fffffe),
  21293. 6: uint32(0x10020000),
  21294. 7: uint32(0x10020000),
  21295. },
  21296. },
  21297. 76: {
  21298. Fmap1: [8]TFcChar32{
  21299. 2: uint32(0x00000c00),
  21300. 4: uint32(0x20000402),
  21301. 5: uint32(0x00180000),
  21302. },
  21303. },
  21304. 77: {
  21305. Fmap1: [8]TFcChar32{
  21306. 2: uint32(0x00880000),
  21307. 3: uint32(0x00040000),
  21308. },
  21309. },
  21310. 78: {
  21311. Fmap1: [8]TFcChar32{
  21312. 2: uint32(0x07fffffe),
  21313. 3: uint32(0x07fffffe),
  21314. 6: uint32(0x00400030),
  21315. 7: uint32(0x00400030),
  21316. },
  21317. },
  21318. 79: {
  21319. Fmap1: [8]TFcChar32{
  21320. 2: uint32(0x07fffffe),
  21321. 3: uint32(0x07fffffe),
  21322. 6: uint32(0x0e1e7707),
  21323. 7: uint32(0x0e1e7707),
  21324. },
  21325. },
  21326. 80: {
  21327. Fmap1: [8]TFcChar32{
  21328. 2: uint32(0x07fffffe),
  21329. 3: uint32(0x07fffffe),
  21330. 6: uint32(0x25092042),
  21331. 7: uint32(0x25092042),
  21332. },
  21333. },
  21334. 81: {
  21335. Fmap1: [8]TFcChar32{
  21336. 2: uint32(0x07fffffe),
  21337. 3: uint32(0x07fffffe),
  21338. 6: uint32(0x02041107),
  21339. 7: uint32(0x02041107),
  21340. },
  21341. },
  21342. 82: {
  21343. Fmap1: [8]TFcChar32{
  21344. 2: uint32(0x07fffffe),
  21345. 3: uint32(0x07fffffe),
  21346. 6: uint32(0x9c508e14),
  21347. 7: uint32(0x1c508e14),
  21348. },
  21349. },
  21350. 83: {
  21351. Fmap1: [8]TFcChar32{
  21352. 2: uint32(0x07fffffe),
  21353. 3: uint32(0x07fffffe),
  21354. 6: uint32(0x04082202),
  21355. 7: uint32(0x04082202),
  21356. },
  21357. },
  21358. 84: {
  21359. Fmap1: [8]TFcChar32{
  21360. 0: uint32(0x00000c00),
  21361. 1: uint32(0x00000003),
  21362. },
  21363. },
  21364. 85: {
  21365. Fmap1: [8]TFcChar32{
  21366. 0: uint32(0xc0000c0c),
  21367. 2: uint32(0x00c00003),
  21368. 3: uint32(0x00000c03),
  21369. },
  21370. },
  21371. 86: {
  21372. Fmap1: [8]TFcChar32{
  21373. 2: uint32(0x07fffffe),
  21374. 3: uint32(0x07fffffe),
  21375. 6: uint32(0x020c1383),
  21376. 7: uint32(0x020c1383),
  21377. },
  21378. },
  21379. 87: {
  21380. Fmap1: [8]TFcChar32{
  21381. 0: uint32(0xff7fff7f),
  21382. 1: uint32(0xff01ff7f),
  21383. 2: uint32(0x00003d7f),
  21384. 3: uint32(0x00ff00ff),
  21385. 4: uint32(0x00ff3d7f),
  21386. 5: uint32(0x003d7fff),
  21387. 6: uint32(0xff7f7f00),
  21388. 7: uint32(0x00ff7f00),
  21389. },
  21390. },
  21391. 88: {
  21392. Fmap1: [8]TFcChar32{
  21393. 0: uint32(0x003d7f00),
  21394. 1: uint32(0xffff01ff),
  21395. 2: uint32(0x007fff7f),
  21396. },
  21397. },
  21398. 89: {
  21399. Fmap1: [8]TFcChar32{
  21400. 2: uint32(0x07fffffe),
  21401. 3: uint32(0x07fffffe),
  21402. 6: uint32(0x040a2202),
  21403. 7: uint32(0x042a220a),
  21404. },
  21405. },
  21406. 90: {
  21407. Fmap1: [8]TFcChar32{
  21408. 1: uint32(0x00000200),
  21409. 3: uint32(0x00000200),
  21410. },
  21411. },
  21412. 91: {
  21413. Fmap1: [8]TFcChar32{
  21414. 5: uint32(0x20000000),
  21415. 7: uint32(0x02000000),
  21416. },
  21417. },
  21418. 92: {
  21419. Fmap1: [8]TFcChar32{
  21420. 4: uint32(0xfffbafee),
  21421. 5: uint32(0xf3edfdff),
  21422. 6: uint32(0x00013bbf),
  21423. 7: uint32(0x00000001),
  21424. },
  21425. },
  21426. 93: {
  21427. Fmap1: [8]TFcChar32{
  21428. 2: uint32(0x07fffffe),
  21429. 3: uint32(0x07fffffe),
  21430. 6: uint32(0x00000080),
  21431. 7: uint32(0x00000080),
  21432. },
  21433. },
  21434. 94: {
  21435. Fmap1: [8]TFcChar32{
  21436. 4: uint32(0x03000402),
  21437. 5: uint32(0x00180000),
  21438. },
  21439. },
  21440. 95: {
  21441. Fmap1: [8]TFcChar32{
  21442. 2: uint32(0x00880000),
  21443. },
  21444. },
  21445. 96: {
  21446. Fmap1: [8]TFcChar32{
  21447. 0: uint32(0x000c0003),
  21448. 1: uint32(0x00000c00),
  21449. 2: uint32(0x00003000),
  21450. 3: uint32(0x00000c00),
  21451. },
  21452. },
  21453. 97: {
  21454. Fmap1: [8]TFcChar32{
  21455. 5: uint32(0x08000000),
  21456. },
  21457. },
  21458. 98: {
  21459. Fmap1: [8]TFcChar32{
  21460. 6: uint32(0xffff0000),
  21461. 7: uint32(0x000007ff),
  21462. },
  21463. },
  21464. 99: {
  21465. Fmap1: [8]TFcChar32{
  21466. 2: uint32(0x07fffffe),
  21467. 3: uint32(0x07fffffe),
  21468. 6: uint32(0x00080000),
  21469. 7: uint32(0x00080000),
  21470. },
  21471. },
  21472. 100: {
  21473. Fmap1: [8]TFcChar32{
  21474. 0: uint32(0x0c0030c0),
  21475. 2: uint32(0x0300001e),
  21476. 3: uint32(0x66000003),
  21477. },
  21478. },
  21479. 101: {
  21480. Fmap1: [8]TFcChar32{
  21481. 2: uint32(0x07fffffe),
  21482. 3: uint32(0x07fffffe),
  21483. 6: uint32(0x00040100),
  21484. 7: uint32(0x00040100),
  21485. },
  21486. },
  21487. 102: {
  21488. Fmap1: [8]TFcChar32{
  21489. 2: uint32(0x07fffffe),
  21490. 3: uint32(0x07fffffe),
  21491. 6: uint32(0x14482202),
  21492. 7: uint32(0x14482202),
  21493. },
  21494. },
  21495. 103: {
  21496. Fmap1: [8]TFcChar32{
  21497. 2: uint32(0x00030000),
  21498. 3: uint32(0x00030000),
  21499. },
  21500. },
  21501. 104: {
  21502. Fmap1: [8]TFcChar32{
  21503. 1: uint32(0xfffe0000),
  21504. 2: uint32(0x007fffff),
  21505. 3: uint32(0xfffffffe),
  21506. 4: uint32(0x000000ff),
  21507. },
  21508. },
  21509. 105: {
  21510. Fmap1: [8]TFcChar32{
  21511. 1: uint32(0x00008000),
  21512. },
  21513. },
  21514. 106: {
  21515. Fmap1: [8]TFcChar32{
  21516. 0: uint32(0x000c0000),
  21517. 2: uint32(0x00000c00),
  21518. },
  21519. },
  21520. 107: {
  21521. Fmap1: [8]TFcChar32{
  21522. 2: uint32(0x07fffffe),
  21523. 3: uint32(0x07fffffe),
  21524. 6: uint32(0x00000200),
  21525. 7: uint32(0x00000200),
  21526. },
  21527. },
  21528. 108: {
  21529. Fmap1: [8]TFcChar32{
  21530. 6: uint32(0x00003c00),
  21531. 7: uint32(0x00000030),
  21532. },
  21533. },
  21534. 109: {
  21535. Fmap1: [8]TFcChar32{
  21536. 0: uint32(0xffffffff),
  21537. 1: uint32(0xffffffff),
  21538. 2: uint32(0xffffffff),
  21539. 3: uint32(0xffffffff),
  21540. 4: uint32(0xffffffff),
  21541. 5: uint32(0xffffffff),
  21542. 6: uint32(0xffffffff),
  21543. 7: uint32(0xffffffff),
  21544. },
  21545. },
  21546. 110: {
  21547. Fmap1: [8]TFcChar32{
  21548. 0: uint32(0xffffffff),
  21549. 1: uint32(0xffffffff),
  21550. 2: uint32(0xffffffff),
  21551. 3: uint32(0xffffffff),
  21552. 4: uint32(0x00001fff),
  21553. },
  21554. },
  21555. 111: {
  21556. Fmap1: [8]TFcChar32{
  21557. 0: uint32(0xffff4002),
  21558. 1: uint32(0xffffffff),
  21559. 2: uint32(0x4002ffff),
  21560. },
  21561. },
  21562. 112: {
  21563. Fmap1: [8]TFcChar32{
  21564. 2: uint32(0x07fffffe),
  21565. 3: uint32(0x07fffffe),
  21566. 6: uint32(0x64092242),
  21567. 7: uint32(0x64092242),
  21568. },
  21569. },
  21570. 113: {
  21571. Fmap1: [8]TFcChar32{
  21572. 2: uint32(0x07fffffe),
  21573. 3: uint32(0x07fffffe),
  21574. 6: uint32(0x060cb301),
  21575. 7: uint32(0x060cb301),
  21576. },
  21577. },
  21578. 114: {
  21579. Fmap1: [8]TFcChar32{
  21580. 0: uint32(0x00000c7e),
  21581. 1: uint32(0x031f8000),
  21582. 2: uint32(0x0063f200),
  21583. 3: uint32(0x000df840),
  21584. 4: uint32(0x00037e08),
  21585. 5: uint32(0x08000dfa),
  21586. 6: uint32(0x0df901bf),
  21587. 7: uint32(0x5437e400),
  21588. },
  21589. },
  21590. 115: {
  21591. Fmap1: [8]TFcChar32{
  21592. 0: uint32(0x00000025),
  21593. 1: uint32(0x40006fc0),
  21594. 2: uint32(0x27f91be4),
  21595. 3: uint32(0xdee00000),
  21596. 4: uint32(0x007ff83f),
  21597. 5: uint32(0x00007f7f),
  21598. },
  21599. },
  21600. 116: {
  21601. Fmap1: [8]TFcChar32{
  21602. 3: uint32(0x007f8000),
  21603. },
  21604. },
  21605. 117: {
  21606. Fmap1: [8]TFcChar32{
  21607. 0: uint32(0x000000a7),
  21608. 2: uint32(0xfffffffe),
  21609. 3: uint32(0xffffffff),
  21610. 4: uint32(0x780fffff),
  21611. 5: uint32(0xfffffffe),
  21612. 6: uint32(0xffffffff),
  21613. 7: uint32(0x787fffff),
  21614. },
  21615. },
  21616. 118: {
  21617. Fmap1: [8]TFcChar32{
  21618. 0: uint32(0x03506f8b),
  21619. 1: uint32(0x1b042042),
  21620. 2: uint32(0x62808020),
  21621. 3: uint32(0x400a0000),
  21622. 4: uint32(0x10341b41),
  21623. 5: uint32(0x04003812),
  21624. 6: uint32(0x03608c02),
  21625. 7: uint32(0x08454038),
  21626. },
  21627. },
  21628. 119: {
  21629. Fmap1: [8]TFcChar32{
  21630. 0: uint32(0x2403c002),
  21631. 1: uint32(0x15108000),
  21632. 2: uint32(0x1229e040),
  21633. 3: uint32(0x80280000),
  21634. 4: uint32(0x28002800),
  21635. 5: uint32(0x8060c002),
  21636. 6: uint32(0x2080040c),
  21637. 7: uint32(0x05284002),
  21638. },
  21639. },
  21640. 120: {
  21641. Fmap1: [8]TFcChar32{
  21642. 0: uint32(0x82042a00),
  21643. 1: uint32(0x02000818),
  21644. 2: uint32(0x10008200),
  21645. 3: uint32(0x20700020),
  21646. 4: uint32(0x03022000),
  21647. 5: uint32(0x40a41000),
  21648. 6: uint32(0x0420a020),
  21649. 7: uint32(0x00000080),
  21650. },
  21651. },
  21652. 121: {
  21653. Fmap1: [8]TFcChar32{
  21654. 0: uint32(0x80040011),
  21655. 1: uint32(0x00000400),
  21656. 2: uint32(0x04012b78),
  21657. 3: uint32(0x11a23920),
  21658. 4: uint32(0x02842460),
  21659. 5: uint32(0x00c01021),
  21660. 6: uint32(0x20002050),
  21661. 7: uint32(0x07400042),
  21662. },
  21663. },
  21664. 122: {
  21665. Fmap1: [8]TFcChar32{
  21666. 0: uint32(0x208205c9),
  21667. 1: uint32(0x0fc10230),
  21668. 2: uint32(0x08402480),
  21669. 3: uint32(0x00258018),
  21670. 4: uint32(0x88000080),
  21671. 5: uint32(0x42120609),
  21672. 6: uint32(0xa32002a8),
  21673. 7: uint32(0x40040094),
  21674. },
  21675. },
  21676. 123: {
  21677. Fmap1: [8]TFcChar32{
  21678. 0: uint32(0x00c00024),
  21679. 1: uint32(0x8e000001),
  21680. 2: uint32(0x059e058a),
  21681. 3: uint32(0x013b0001),
  21682. 4: uint32(0x85000010),
  21683. 5: uint32(0x08080000),
  21684. 6: uint32(0x02d07d04),
  21685. 7: uint32(0x018d9838),
  21686. },
  21687. },
  21688. 124: {
  21689. Fmap1: [8]TFcChar32{
  21690. 0: uint32(0x8803f310),
  21691. 1: uint32(0x03000840),
  21692. 2: uint32(0x00000704),
  21693. 3: uint32(0x30080500),
  21694. 4: uint32(0x00001000),
  21695. 5: uint32(0x20040000),
  21696. 6: uint32(0x00000003),
  21697. 7: uint32(0x04040002),
  21698. },
  21699. },
  21700. 125: {
  21701. Fmap1: [8]TFcChar32{
  21702. 0: uint32(0x000100d0),
  21703. 1: uint32(0x40028000),
  21704. 2: uint32(0x00088040),
  21705. 4: uint32(0x34000210),
  21706. 5: uint32(0x00400e00),
  21707. 6: uint32(0x00000020),
  21708. 7: uint32(0x00000008),
  21709. },
  21710. },
  21711. 126: {
  21712. Fmap1: [8]TFcChar32{
  21713. 0: uint32(0x00000040),
  21714. 1: uint32(0x00060000),
  21715. 3: uint32(0x00100100),
  21716. 4: uint32(0x00000080),
  21717. 6: uint32(0x4c000000),
  21718. 7: uint32(0x240d0009),
  21719. },
  21720. },
  21721. 127: {
  21722. Fmap1: [8]TFcChar32{
  21723. 0: uint32(0x80048000),
  21724. 1: uint32(0x00010180),
  21725. 2: uint32(0x00020484),
  21726. 3: uint32(0x00000400),
  21727. 4: uint32(0x00000804),
  21728. 5: uint32(0x00000008),
  21729. 6: uint32(0x80004800),
  21730. 7: uint32(0x16800000),
  21731. },
  21732. },
  21733. 128: {
  21734. Fmap1: [8]TFcChar32{
  21735. 0: uint32(0x00200065),
  21736. 1: uint32(0x00120410),
  21737. 2: uint32(0x44920403),
  21738. 3: uint32(0x40000200),
  21739. 4: uint32(0x10880008),
  21740. 5: uint32(0x40080100),
  21741. 6: uint32(0x00001482),
  21742. 7: uint32(0x00074800),
  21743. },
  21744. },
  21745. 129: {
  21746. Fmap1: [8]TFcChar32{
  21747. 0: uint32(0x14608200),
  21748. 1: uint32(0x00024e84),
  21749. 2: uint32(0x00128380),
  21750. 3: uint32(0x20184520),
  21751. 4: uint32(0x0240041c),
  21752. 5: uint32(0x0a001120),
  21753. 6: uint32(0x00180a00),
  21754. 7: uint32(0x88000800),
  21755. },
  21756. },
  21757. 130: {
  21758. Fmap1: [8]TFcChar32{
  21759. 0: uint32(0x01000002),
  21760. 1: uint32(0x00008001),
  21761. 2: uint32(0x04000040),
  21762. 3: uint32(0x80000040),
  21763. 4: uint32(0x08040000),
  21764. 6: uint32(0x00001202),
  21765. 7: uint32(0x00000002),
  21766. },
  21767. },
  21768. 131: {
  21769. Fmap1: [8]TFcChar32{
  21770. 1: uint32(0x00000004),
  21771. 2: uint32(0x21910000),
  21772. 3: uint32(0x00000858),
  21773. 4: uint32(0xbf8013a0),
  21774. 5: uint32(0x8279401c),
  21775. 6: uint32(0xa8041054),
  21776. 7: uint32(0xc5004282),
  21777. },
  21778. },
  21779. 132: {
  21780. Fmap1: [8]TFcChar32{
  21781. 0: uint32(0x0402ce56),
  21782. 1: uint32(0xfc020000),
  21783. 2: uint32(0x40200d21),
  21784. 3: uint32(0x00028030),
  21785. 4: uint32(0x00010000),
  21786. 5: uint32(0x01081202),
  21787. 7: uint32(0x00410003),
  21788. },
  21789. },
  21790. 133: {
  21791. Fmap1: [8]TFcChar32{
  21792. 0: uint32(0x00404080),
  21793. 1: uint32(0x00000200),
  21794. 2: uint32(0x00010000),
  21795. 6: uint32(0x60000000),
  21796. 7: uint32(0x480241ea),
  21797. },
  21798. },
  21799. 134: {
  21800. Fmap1: [8]TFcChar32{
  21801. 0: uint32(0x2000104c),
  21802. 1: uint32(0x2109a820),
  21803. 2: uint32(0x00200020),
  21804. 3: uint32(0x7b1c0008),
  21805. 4: uint32(0x10a0840a),
  21806. 5: uint32(0x01c028c0),
  21807. 6: uint32(0x00000608),
  21808. 7: uint32(0x04c00000),
  21809. },
  21810. },
  21811. 135: {
  21812. Fmap1: [8]TFcChar32{
  21813. 0: uint32(0x80398412),
  21814. 1: uint32(0x40a200e0),
  21815. 2: uint32(0x02080000),
  21816. 3: uint32(0x12030a04),
  21817. 4: uint32(0x008d1833),
  21818. 5: uint32(0x02184602),
  21819. 6: uint32(0x13803028),
  21820. 7: uint32(0x00200801),
  21821. },
  21822. },
  21823. 136: {
  21824. Fmap1: [8]TFcChar32{
  21825. 0: uint32(0x20440000),
  21826. 1: uint32(0x000005a1),
  21827. 2: uint32(0x00050800),
  21828. 3: uint32(0x0020a328),
  21829. 4: uint32(0x80100000),
  21830. 5: uint32(0x10040649),
  21831. 6: uint32(0x10020020),
  21832. 7: uint32(0x00090180),
  21833. },
  21834. },
  21835. 137: {
  21836. Fmap1: [8]TFcChar32{
  21837. 0: uint32(0x8c008202),
  21838. 2: uint32(0x00205910),
  21839. 3: uint32(0x0041410c),
  21840. 4: uint32(0x00004004),
  21841. 5: uint32(0x40441290),
  21842. 6: uint32(0x00010080),
  21843. 7: uint32(0x01040000),
  21844. },
  21845. },
  21846. 138: {
  21847. Fmap1: [8]TFcChar32{
  21848. 0: uint32(0x04070000),
  21849. 1: uint32(0x89108040),
  21850. 2: uint32(0x00282a81),
  21851. 3: uint32(0x82420000),
  21852. 4: uint32(0x51a20411),
  21853. 5: uint32(0x32220800),
  21854. 6: uint32(0x2b0d2220),
  21855. 7: uint32(0x40c83003),
  21856. },
  21857. },
  21858. 139: {
  21859. Fmap1: [8]TFcChar32{
  21860. 0: uint32(0x82020082),
  21861. 1: uint32(0x80008900),
  21862. 2: uint32(0x10a00200),
  21863. 3: uint32(0x08004100),
  21864. 4: uint32(0x09041108),
  21865. 5: uint32(0x000405a6),
  21866. 6: uint32(0x0c018000),
  21867. 7: uint32(0x04104002),
  21868. },
  21869. },
  21870. 140: {
  21871. Fmap1: [8]TFcChar32{
  21872. 0: uint32(0x00002000),
  21873. 1: uint32(0x44003000),
  21874. 2: uint32(0x01000004),
  21875. 3: uint32(0x00008200),
  21876. 4: uint32(0x00000008),
  21877. 5: uint32(0x00044010),
  21878. 6: uint32(0x00002002),
  21879. 7: uint32(0x00001040),
  21880. },
  21881. },
  21882. 141: {
  21883. Fmap1: [8]TFcChar32{
  21884. 1: uint32(0xca008000),
  21885. 2: uint32(0x02828020),
  21886. 3: uint32(0x00b1100c),
  21887. 4: uint32(0x12824280),
  21888. 5: uint32(0x22013030),
  21889. 6: uint32(0x00808820),
  21890. 7: uint32(0x040013e4),
  21891. },
  21892. },
  21893. 142: {
  21894. Fmap1: [8]TFcChar32{
  21895. 0: uint32(0x801840c0),
  21896. 1: uint32(0x1000a1a1),
  21897. 2: uint32(0x00000004),
  21898. 3: uint32(0x0050c200),
  21899. 4: uint32(0x00c20082),
  21900. 5: uint32(0x00104840),
  21901. 6: uint32(0x10400080),
  21902. 7: uint32(0xa3140000),
  21903. },
  21904. },
  21905. 143: {
  21906. Fmap1: [8]TFcChar32{
  21907. 0: uint32(0xa8a02301),
  21908. 1: uint32(0x24123d00),
  21909. 2: uint32(0x80030200),
  21910. 3: uint32(0xc0028022),
  21911. 4: uint32(0x34a10000),
  21912. 5: uint32(0x00408005),
  21913. 6: uint32(0x00190010),
  21914. 7: uint32(0x882a0000),
  21915. },
  21916. },
  21917. 144: {
  21918. Fmap1: [8]TFcChar32{
  21919. 0: uint32(0x00080018),
  21920. 1: uint32(0x33000402),
  21921. 2: uint32(0x9002010a),
  21922. 4: uint32(0x00800020),
  21923. 5: uint32(0x00010100),
  21924. 6: uint32(0x84040810),
  21925. 7: uint32(0x04004000),
  21926. },
  21927. },
  21928. 145: {
  21929. Fmap1: [8]TFcChar32{
  21930. 0: uint32(0x10006020),
  21931. 3: uint32(0x30a02000),
  21932. 4: uint32(0x00000004),
  21933. 6: uint32(0x01000800),
  21934. 7: uint32(0x20000000),
  21935. },
  21936. },
  21937. 146: {
  21938. Fmap1: [8]TFcChar32{
  21939. 0: uint32(0x02000000),
  21940. 1: uint32(0x02000602),
  21941. 2: uint32(0x80000800),
  21942. },
  21943. },
  21944. 147: {
  21945. Fmap1: [8]TFcChar32{
  21946. 0: uint32(0x00000010),
  21947. 1: uint32(0x44040083),
  21948. 2: uint32(0x00081000),
  21949. 3: uint32(0x0818824c),
  21950. 4: uint32(0x00400e00),
  21951. 5: uint32(0x8c300000),
  21952. 6: uint32(0x08146001),
  21953. },
  21954. },
  21955. 148: {
  21956. Fmap1: [8]TFcChar32{
  21957. 0: uint32(0x00828000),
  21958. 1: uint32(0x41900000),
  21959. 2: uint32(0x84804006),
  21960. 3: uint32(0x24010001),
  21961. 4: uint32(0x02400108),
  21962. 5: uint32(0x9b080006),
  21963. 6: uint32(0x00201602),
  21964. 7: uint32(0x0009012e),
  21965. },
  21966. },
  21967. 149: {
  21968. Fmap1: [8]TFcChar32{
  21969. 0: uint32(0x40800800),
  21970. 1: uint32(0x48000420),
  21971. 2: uint32(0x10000032),
  21972. 3: uint32(0x01904440),
  21973. 4: uint32(0x02000100),
  21974. 5: uint32(0x10048000),
  21975. 6: uint32(0x00020000),
  21976. 7: uint32(0x08820802),
  21977. },
  21978. },
  21979. 150: {
  21980. Fmap1: [8]TFcChar32{
  21981. 0: uint32(0x08080ba0),
  21982. 1: uint32(0x00009242),
  21983. 2: uint32(0x00400000),
  21984. 3: uint32(0xc0008080),
  21985. 4: uint32(0x20410001),
  21986. 5: uint32(0x04400000),
  21987. 6: uint32(0x60020820),
  21988. 7: uint32(0x00100000),
  21989. },
  21990. },
  21991. 151: {
  21992. Fmap1: [8]TFcChar32{
  21993. 0: uint32(0x00108046),
  21994. 1: uint32(0x01001805),
  21995. 2: uint32(0x90100000),
  21996. 3: uint32(0x00014010),
  21997. 4: uint32(0x00000010),
  21998. 6: uint32(0x0000000b),
  21999. 7: uint32(0x00008800),
  22000. },
  22001. },
  22002. 152: {
  22003. Fmap1: [8]TFcChar32{
  22004. 1: uint32(0x00001000),
  22005. 3: uint32(0x20018800),
  22006. 4: uint32(0x00004600),
  22007. 5: uint32(0x06002000),
  22008. 6: uint32(0x00000100),
  22009. },
  22010. },
  22011. 153: {
  22012. Fmap1: [8]TFcChar32{
  22013. 1: uint32(0x10400042),
  22014. 2: uint32(0x02004000),
  22015. 3: uint32(0x00004280),
  22016. 4: uint32(0x80000400),
  22017. 5: uint32(0x00020000),
  22018. 6: uint32(0x00000008),
  22019. 7: uint32(0x00000020),
  22020. },
  22021. },
  22022. 154: {
  22023. Fmap1: [8]TFcChar32{
  22024. 0: uint32(0x00000040),
  22025. 1: uint32(0x20600400),
  22026. 2: uint32(0x0a000180),
  22027. 3: uint32(0x02040280),
  22028. 5: uint32(0x00409001),
  22029. 6: uint32(0x02000004),
  22030. 7: uint32(0x00003200),
  22031. },
  22032. },
  22033. 155: {
  22034. Fmap1: [8]TFcChar32{
  22035. 0: uint32(0x88000000),
  22036. 1: uint32(0x80404800),
  22037. 2: uint32(0x00000010),
  22038. 3: uint32(0x00040008),
  22039. 4: uint32(0x00000a90),
  22040. 5: uint32(0x00000200),
  22041. 6: uint32(0x00002000),
  22042. 7: uint32(0x40002001),
  22043. },
  22044. },
  22045. 156: {
  22046. Fmap1: [8]TFcChar32{
  22047. 0: uint32(0x00000048),
  22048. 1: uint32(0x00100000),
  22049. 3: uint32(0x00000001),
  22050. 4: uint32(0x00000008),
  22051. 5: uint32(0x20010080),
  22052. 7: uint32(0x00400040),
  22053. },
  22054. },
  22055. 157: {
  22056. Fmap1: [8]TFcChar32{
  22057. 0: uint32(0x85000000),
  22058. 1: uint32(0x0c8f0108),
  22059. 2: uint32(0x32129000),
  22060. 3: uint32(0x80090420),
  22061. 4: uint32(0x00024000),
  22062. 5: uint32(0x40040800),
  22063. 6: uint32(0x092000a0),
  22064. 7: uint32(0x00100204),
  22065. },
  22066. },
  22067. 158: {
  22068. Fmap1: [8]TFcChar32{
  22069. 0: uint32(0x00002000),
  22070. 2: uint32(0x00440004),
  22071. 3: uint32(0x6c000000),
  22072. 4: uint32(0x000000d0),
  22073. 5: uint32(0x80004000),
  22074. 6: uint32(0x88800440),
  22075. 7: uint32(0x41144018),
  22076. },
  22077. },
  22078. 159: {
  22079. Fmap1: [8]TFcChar32{
  22080. 0: uint32(0x80001a02),
  22081. 1: uint32(0x14000001),
  22082. 2: uint32(0x00000001),
  22083. 3: uint32(0x0000004a),
  22084. 5: uint32(0x00083000),
  22085. 6: uint32(0x08000000),
  22086. 7: uint32(0x0008a024),
  22087. },
  22088. },
  22089. 160: {
  22090. Fmap1: [8]TFcChar32{
  22091. 0: uint32(0x00300004),
  22092. 1: uint32(0x00140000),
  22093. 2: uint32(0x20000000),
  22094. 3: uint32(0x00001800),
  22095. 4: uint32(0x00020002),
  22096. 5: uint32(0x04000000),
  22097. 6: uint32(0x00000002),
  22098. 7: uint32(0x00000100),
  22099. },
  22100. },
  22101. 161: {
  22102. Fmap1: [8]TFcChar32{
  22103. 0: uint32(0x00004002),
  22104. 1: uint32(0x54000000),
  22105. 2: uint32(0x60400300),
  22106. 3: uint32(0x00002120),
  22107. 4: uint32(0x0000a022),
  22108. 6: uint32(0x81060803),
  22109. 7: uint32(0x08010200),
  22110. },
  22111. },
  22112. 162: {
  22113. Fmap1: [8]TFcChar32{
  22114. 0: uint32(0x04004800),
  22115. 1: uint32(0xb0044000),
  22116. 2: uint32(0x0000a005),
  22117. 3: uint32(0x04500800),
  22118. 4: uint32(0x800c000a),
  22119. 5: uint32(0x0000c000),
  22120. 6: uint32(0x10000800),
  22121. 7: uint32(0x02408021),
  22122. },
  22123. },
  22124. 163: {
  22125. Fmap1: [8]TFcChar32{
  22126. 0: uint32(0x08020000),
  22127. 1: uint32(0x00001040),
  22128. 2: uint32(0x00540a40),
  22129. 4: uint32(0x00800880),
  22130. 5: uint32(0x01020002),
  22131. 6: uint32(0x00000211),
  22132. 7: uint32(0x00000010),
  22133. },
  22134. },
  22135. 164: {
  22136. Fmap1: [8]TFcChar32{
  22137. 1: uint32(0x80000002),
  22138. 2: uint32(0x00002000),
  22139. 3: uint32(0x00080001),
  22140. 4: uint32(0x09840a00),
  22141. 5: uint32(0x40000080),
  22142. 6: uint32(0x00400000),
  22143. 7: uint32(0x49000080),
  22144. },
  22145. },
  22146. 165: {
  22147. Fmap1: [8]TFcChar32{
  22148. 0: uint32(0x0e102831),
  22149. 1: uint32(0x06098807),
  22150. 2: uint32(0x40011014),
  22151. 3: uint32(0x02620042),
  22152. 4: uint32(0x06000000),
  22153. 5: uint32(0x88062000),
  22154. 6: uint32(0x04068400),
  22155. 7: uint32(0x08108301),
  22156. },
  22157. },
  22158. 166: {
  22159. Fmap1: [8]TFcChar32{
  22160. 0: uint32(0x08000012),
  22161. 1: uint32(0x40004840),
  22162. 2: uint32(0x00300402),
  22163. 3: uint32(0x00012000),
  22164. },
  22165. },
  22166. 167: {
  22167. Fmap1: [8]TFcChar32{
  22168. 1: uint32(0x00400000),
  22169. 3: uint32(0x00a54400),
  22170. 4: uint32(0x40004420),
  22171. 5: uint32(0x20000310),
  22172. 6: uint32(0x00041002),
  22173. 7: uint32(0x18000000),
  22174. },
  22175. },
  22176. 168: {
  22177. Fmap1: [8]TFcChar32{
  22178. 0: uint32(0x00a1002a),
  22179. 1: uint32(0x00080000),
  22180. 2: uint32(0x40400000),
  22181. 3: uint32(0x00900000),
  22182. 4: uint32(0x21401200),
  22183. 5: uint32(0x04048626),
  22184. 6: uint32(0x40005048),
  22185. 7: uint32(0x21100000),
  22186. },
  22187. },
  22188. 169: {
  22189. Fmap1: [8]TFcChar32{
  22190. 0: uint32(0x040005a4),
  22191. 1: uint32(0x000a0000),
  22192. 2: uint32(0x00214000),
  22193. 3: uint32(0x07010800),
  22194. 4: uint32(0x34000000),
  22195. 5: uint32(0x00080100),
  22196. 6: uint32(0x00080040),
  22197. 7: uint32(0x10182508),
  22198. },
  22199. },
  22200. 170: {
  22201. Fmap1: [8]TFcChar32{
  22202. 0: uint32(0xc0805100),
  22203. 1: uint32(0x02c01400),
  22204. 2: uint32(0x00000080),
  22205. 3: uint32(0x00448040),
  22206. 4: uint32(0x20000800),
  22207. 5: uint32(0x210a8000),
  22208. 6: uint32(0x08800000),
  22209. 7: uint32(0x00020060),
  22210. },
  22211. },
  22212. 171: {
  22213. Fmap1: [8]TFcChar32{
  22214. 0: uint32(0x00004004),
  22215. 1: uint32(0x00400100),
  22216. 2: uint32(0x01040200),
  22217. 3: uint32(0x00800000),
  22218. 6: uint32(0x10081400),
  22219. 7: uint32(0x00008000),
  22220. },
  22221. },
  22222. 172: {
  22223. Fmap1: [8]TFcChar32{
  22224. 0: uint32(0x00004000),
  22225. 1: uint32(0x20000000),
  22226. 2: uint32(0x08800200),
  22227. 3: uint32(0x00001000),
  22228. 5: uint32(0x01000000),
  22229. 6: uint32(0x00000810),
  22230. },
  22231. },
  22232. 173: {
  22233. Fmap1: [8]TFcChar32{
  22234. 0: uint32(0x00020000),
  22235. 1: uint32(0x20200000),
  22236. 4: uint32(0x00000010),
  22237. 5: uint32(0x00001c40),
  22238. 6: uint32(0x00002000),
  22239. 7: uint32(0x08000210),
  22240. },
  22241. },
  22242. 174: {
  22243. Fmap1: [8]TFcChar32{
  22244. 2: uint32(0x54014000),
  22245. 3: uint32(0x02000800),
  22246. 4: uint32(0x00200400),
  22247. 6: uint32(0x00002080),
  22248. 7: uint32(0x00004000),
  22249. },
  22250. },
  22251. 175: {
  22252. Fmap1: [8]TFcChar32{
  22253. 0: uint32(0x10000004),
  22254. 4: uint32(0x00002000),
  22255. },
  22256. },
  22257. 176: {
  22258. Fmap1: [8]TFcChar32{
  22259. 2: uint32(0x28881041),
  22260. 3: uint32(0x0081010a),
  22261. 4: uint32(0x00400800),
  22262. 5: uint32(0x00000800),
  22263. 6: uint32(0x10208026),
  22264. 7: uint32(0x61000000),
  22265. },
  22266. },
  22267. 177: {
  22268. Fmap1: [8]TFcChar32{
  22269. 0: uint32(0x00050080),
  22270. 2: uint32(0x80000000),
  22271. 3: uint32(0x80040000),
  22272. 4: uint32(0x044088c2),
  22273. 5: uint32(0x00080480),
  22274. 6: uint32(0x00040000),
  22275. 7: uint32(0x00000048),
  22276. },
  22277. },
  22278. 178: {
  22279. Fmap1: [8]TFcChar32{
  22280. 0: uint32(0x8188410d),
  22281. 1: uint32(0x141a2400),
  22282. 2: uint32(0x40310000),
  22283. 3: uint32(0x000f4249),
  22284. 4: uint32(0x41283280),
  22285. 5: uint32(0x80053011),
  22286. 6: uint32(0x00400880),
  22287. 7: uint32(0x410060c0),
  22288. },
  22289. },
  22290. 179: {
  22291. Fmap1: [8]TFcChar32{
  22292. 0: uint32(0x2a004013),
  22293. 1: uint32(0x02000002),
  22294. 2: uint32(0x11000000),
  22295. 3: uint32(0x00850040),
  22296. },
  22297. },
  22298. 180: {
  22299. Fmap1: [8]TFcChar32{
  22300. 1: uint32(0x00800000),
  22301. 2: uint32(0x04000440),
  22302. 3: uint32(0x00000402),
  22303. 4: uint32(0x60001000),
  22304. 5: uint32(0x99909f87),
  22305. 6: uint32(0x5808049d),
  22306. 7: uint32(0x10002445),
  22307. },
  22308. },
  22309. 181: {
  22310. Fmap1: [8]TFcChar32{
  22311. 0: uint32(0x00000100),
  22312. 3: uint32(0x00910050),
  22313. 4: uint32(0x00000420),
  22314. 5: uint32(0x00080008),
  22315. 6: uint32(0x20000000),
  22316. 7: uint32(0x00288002),
  22317. },
  22318. },
  22319. 182: {
  22320. Fmap1: [8]TFcChar32{
  22321. 0: uint32(0x00008400),
  22322. 1: uint32(0x00000400),
  22323. 3: uint32(0x00100000),
  22324. 4: uint32(0x00002000),
  22325. 5: uint32(0x00000800),
  22326. 6: uint32(0x80043400),
  22327. 7: uint32(0x21000004),
  22328. },
  22329. },
  22330. 183: {
  22331. Fmap1: [8]TFcChar32{
  22332. 0: uint32(0x20000208),
  22333. 1: uint32(0x01000600),
  22334. 2: uint32(0x00000010),
  22335. 4: uint32(0x48000000),
  22336. 5: uint32(0x14060008),
  22337. 6: uint32(0x00124020),
  22338. 7: uint32(0x20812800),
  22339. },
  22340. },
  22341. 184: {
  22342. Fmap1: [8]TFcChar32{
  22343. 0: uint32(0xa419804b),
  22344. 1: uint32(0x01064009),
  22345. 2: uint32(0x10386ca4),
  22346. 3: uint32(0x85a0620b),
  22347. 4: uint32(0x00000010),
  22348. 5: uint32(0x01000448),
  22349. 6: uint32(0x00004400),
  22350. 7: uint32(0x20a02102),
  22351. },
  22352. },
  22353. 185: {
  22354. Fmap1: [8]TFcChar32{
  22355. 2: uint32(0x00147000),
  22356. 3: uint32(0x01a01404),
  22357. 4: uint32(0x10040000),
  22358. 5: uint32(0x01000000),
  22359. 6: uint32(0x3002f180),
  22360. 7: uint32(0x00000008),
  22361. },
  22362. },
  22363. 186: {
  22364. Fmap1: [8]TFcChar32{
  22365. 0: uint32(0x00002000),
  22366. 1: uint32(0x00100000),
  22367. 2: uint32(0x08000010),
  22368. 3: uint32(0x00020004),
  22369. 4: uint32(0x01000029),
  22370. 5: uint32(0x00002000),
  22371. 7: uint32(0x10082000),
  22372. },
  22373. },
  22374. 187: {
  22375. Fmap1: [8]TFcChar32{
  22376. 1: uint32(0x0004d041),
  22377. 2: uint32(0x08000800),
  22378. 3: uint32(0x00200000),
  22379. 4: uint32(0x00401000),
  22380. 5: uint32(0x00004000),
  22381. 7: uint32(0x00000002),
  22382. },
  22383. },
  22384. 188: {
  22385. Fmap1: [8]TFcChar32{
  22386. 0: uint32(0x01000000),
  22387. 2: uint32(0x00020000),
  22388. },
  22389. },
  22390. 189: {
  22391. Fmap1: [8]TFcChar32{
  22392. 3: uint32(0x00800000),
  22393. 4: uint32(0x000a0a01),
  22394. 5: uint32(0x0004002c),
  22395. 6: uint32(0x01000080),
  22396. },
  22397. },
  22398. 190: {
  22399. Fmap1: [8]TFcChar32{
  22400. 0: uint32(0x10000000),
  22401. 1: uint32(0x08040400),
  22402. 2: uint32(0x08012010),
  22403. 3: uint32(0x2569043c),
  22404. 4: uint32(0x1a10c460),
  22405. 5: uint32(0x08800009),
  22406. 6: uint32(0x000210f0),
  22407. 7: uint32(0x08c5050c),
  22408. },
  22409. },
  22410. 191: {
  22411. Fmap1: [8]TFcChar32{
  22412. 0: uint32(0x10000481),
  22413. 1: uint32(0x00040080),
  22414. 2: uint32(0x42040000),
  22415. 3: uint32(0x00100204),
  22416. 6: uint32(0x00080000),
  22417. 7: uint32(0x88080000),
  22418. },
  22419. },
  22420. 192: {
  22421. Fmap1: [8]TFcChar32{
  22422. 0: uint32(0x010f016c),
  22423. 1: uint32(0x18002000),
  22424. 2: uint32(0x41307000),
  22425. 3: uint32(0x00000080),
  22426. 5: uint32(0x00000100),
  22427. 6: uint32(0x88000000),
  22428. 7: uint32(0x70048004),
  22429. },
  22430. },
  22431. 193: {
  22432. Fmap1: [8]TFcChar32{
  22433. 0: uint32(0x00081420),
  22434. 1: uint32(0x00000100),
  22435. 4: uint32(0x02400000),
  22436. 5: uint32(0x00001000),
  22437. 6: uint32(0x00050070),
  22438. },
  22439. },
  22440. 194: {
  22441. Fmap1: [8]TFcChar32{
  22442. 0: uint32(0x000c4000),
  22443. 1: uint32(0x00010000),
  22444. 2: uint32(0x04000000),
  22445. 5: uint32(0x01000100),
  22446. 6: uint32(0x01000010),
  22447. 7: uint32(0x00000400),
  22448. },
  22449. },
  22450. 195: {
  22451. Fmap1: [8]TFcChar32{
  22452. 1: uint32(0x10020000),
  22453. 2: uint32(0x04100024),
  22454. 5: uint32(0x00004000),
  22455. 7: uint32(0x00000100),
  22456. },
  22457. },
  22458. 196: {
  22459. Fmap1: [8]TFcChar32{
  22460. 7: uint32(0x00100020),
  22461. },
  22462. },
  22463. 197: {
  22464. Fmap1: [8]TFcChar32{
  22465. 4: uint32(0x00008000),
  22466. 5: uint32(0x00100000),
  22467. },
  22468. },
  22469. 198: {
  22470. Fmap1: [8]TFcChar32{
  22471. 3: uint32(0x80000000),
  22472. 4: uint32(0x00880000),
  22473. 5: uint32(0x0c000040),
  22474. 6: uint32(0x02040010),
  22475. },
  22476. },
  22477. 199: {
  22478. Fmap1: [8]TFcChar32{
  22479. 0: uint32(0x00080000),
  22480. 1: uint32(0x08000000),
  22481. 3: uint32(0x00000004),
  22482. },
  22483. },
  22484. 200: {
  22485. Fmap1: [8]TFcChar32{
  22486. 2: uint32(0x07fffffe),
  22487. 3: uint32(0x07fffffe),
  22488. 6: uint32(0x00000300),
  22489. 7: uint32(0x00000300),
  22490. },
  22491. },
  22492. 201: {
  22493. Fmap1: [8]TFcChar32{
  22494. 6: uint32(0xffff0000),
  22495. 7: uint32(0x0001ffff),
  22496. },
  22497. },
  22498. 202: {
  22499. Fmap1: [8]TFcChar32{
  22500. 0: uint32(0xffff0002),
  22501. 1: uint32(0xffffffff),
  22502. 2: uint32(0x0002ffff),
  22503. 4: uint32(0x0c0c0000),
  22504. 5: uint32(0x000cc00c),
  22505. 6: uint32(0x03000000),
  22506. },
  22507. },
  22508. 203: {
  22509. Fmap1: [8]TFcChar32{
  22510. 1: uint32(0x00000300),
  22511. 3: uint32(0x00000300),
  22512. },
  22513. },
  22514. 204: {
  22515. Fmap1: [8]TFcChar32{
  22516. 0: uint32(0xffff0000),
  22517. 1: uint32(0xffffffff),
  22518. 2: uint32(0x0040ffff),
  22519. 4: uint32(0x0c0c0000),
  22520. 5: uint32(0x0c00000c),
  22521. 6: uint32(0x03000000),
  22522. 7: uint32(0x00000300),
  22523. },
  22524. },
  22525. 205: {
  22526. Fmap1: [8]TFcChar32{
  22527. 2: uint32(0x07fffffe),
  22528. 3: uint32(0x07fffffe),
  22529. 6: uint32(0x0d10646e),
  22530. 7: uint32(0x0d10646e),
  22531. },
  22532. },
  22533. 206: {
  22534. Fmap1: [8]TFcChar32{
  22535. 1: uint32(0x01000300),
  22536. 3: uint32(0x00000300),
  22537. },
  22538. },
  22539. 207: {
  22540. Fmap1: [8]TFcChar32{
  22541. 4: uint32(0x9fffffff),
  22542. 5: uint32(0xffcffee7),
  22543. 6: uint32(0x0000003f),
  22544. },
  22545. },
  22546. 208: {
  22547. Fmap1: [8]TFcChar32{
  22548. 4: uint32(0xfffddfec),
  22549. 5: uint32(0xc3effdff),
  22550. 6: uint32(0x40603ddf),
  22551. 7: uint32(0x00000003),
  22552. },
  22553. },
  22554. 209: {
  22555. Fmap1: [8]TFcChar32{
  22556. 1: uint32(0xfffe0000),
  22557. 2: uint32(0xffffffff),
  22558. 3: uint32(0xffffffef),
  22559. 4: uint32(0x00007fff),
  22560. },
  22561. },
  22562. 210: {
  22563. Fmap1: [8]TFcChar32{
  22564. 0: uint32(0x3eff0793),
  22565. 1: uint32(0x1303b011),
  22566. 2: uint32(0x11102801),
  22567. 3: uint32(0x05930000),
  22568. 4: uint32(0xb0111e7b),
  22569. 5: uint32(0x3b019703),
  22570. 6: uint32(0x00a01112),
  22571. 7: uint32(0x306b9593),
  22572. },
  22573. },
  22574. 211: {
  22575. Fmap1: [8]TFcChar32{
  22576. 0: uint32(0x1102b051),
  22577. 1: uint32(0x11303201),
  22578. 2: uint32(0x011102b0),
  22579. 3: uint32(0xb879300a),
  22580. 4: uint32(0x30011306),
  22581. 5: uint32(0x00800010),
  22582. 6: uint32(0x100b0113),
  22583. 7: uint32(0x93000011),
  22584. },
  22585. },
  22586. 212: {
  22587. Fmap1: [8]TFcChar32{
  22588. 0: uint32(0x00102b03),
  22589. 1: uint32(0x05930000),
  22590. 2: uint32(0xb051746b),
  22591. 3: uint32(0x3b011323),
  22592. 4: uint32(0x00001030),
  22593. 5: uint32(0x70000000),
  22594. 6: uint32(0x1303b011),
  22595. 7: uint32(0x11102900),
  22596. },
  22597. },
  22598. 213: {
  22599. Fmap1: [8]TFcChar32{
  22600. 0: uint32(0x00012180),
  22601. 1: uint32(0xb0153000),
  22602. 2: uint32(0x3001030e),
  22603. 3: uint32(0x02000030),
  22604. 4: uint32(0x10230111),
  22605. 5: uint32(0x13000000),
  22606. 6: uint32(0x10106b81),
  22607. 7: uint32(0x01130300),
  22608. },
  22609. },
  22610. 214: {
  22611. Fmap1: [8]TFcChar32{
  22612. 0: uint32(0x30111013),
  22613. 1: uint32(0x00000100),
  22614. 2: uint32(0x22b85530),
  22615. 3: uint32(0x30000000),
  22616. 4: uint32(0x9702b011),
  22617. 5: uint32(0x113afb07),
  22618. 6: uint32(0x011303b0),
  22619. 7: uint32(0x00000021),
  22620. },
  22621. },
  22622. 215: {
  22623. Fmap1: [8]TFcChar32{
  22624. 0: uint32(0x3b0d1b00),
  22625. 1: uint32(0x03b01138),
  22626. 2: uint32(0x11330113),
  22627. 3: uint32(0x13000001),
  22628. 4: uint32(0x111c2b05),
  22629. 5: uint32(0x00000100),
  22630. 6: uint32(0xb0111000),
  22631. 7: uint32(0x2a011300),
  22632. },
  22633. },
  22634. 216: {
  22635. Fmap1: [8]TFcChar32{
  22636. 0: uint32(0x02b01930),
  22637. 1: uint32(0x10100001),
  22638. 2: uint32(0x11000000),
  22639. 3: uint32(0x10300301),
  22640. 4: uint32(0x07130230),
  22641. 5: uint32(0x0011146b),
  22642. 6: uint32(0x2b051300),
  22643. 7: uint32(0x8fb8f974),
  22644. },
  22645. },
  22646. 217: {
  22647. Fmap1: [8]TFcChar32{
  22648. 0: uint32(0x103b0113),
  22649. 2: uint32(0xd9700000),
  22650. 3: uint32(0x01134ab0),
  22651. 4: uint32(0x0011103b),
  22652. 5: uint32(0x00001103),
  22653. 6: uint32(0x2ab15930),
  22654. 7: uint32(0x10000111),
  22655. },
  22656. },
  22657. 218: {
  22658. Fmap1: [8]TFcChar32{
  22659. 0: uint32(0x11010000),
  22660. 1: uint32(0x00100b01),
  22661. 2: uint32(0x01130000),
  22662. 3: uint32(0x0000102b),
  22663. 4: uint32(0x20000101),
  22664. 5: uint32(0x02a01110),
  22665. 6: uint32(0x30210111),
  22666. 7: uint32(0x0102b059),
  22667. },
  22668. },
  22669. 219: {
  22670. Fmap1: [8]TFcChar32{
  22671. 0: uint32(0x19300000),
  22672. 1: uint32(0x011307b0),
  22673. 2: uint32(0xb011383b),
  22674. 3: uint32(0x00000003),
  22675. 5: uint32(0x383b0d13),
  22676. 6: uint32(0x0103b011),
  22677. 7: uint32(0x00001000),
  22678. },
  22679. },
  22680. 220: {
  22681. Fmap1: [8]TFcChar32{
  22682. 0: uint32(0x01130000),
  22683. 1: uint32(0x00101020),
  22684. 2: uint32(0x00000100),
  22685. 3: uint32(0x00000110),
  22686. 4: uint32(0x30000000),
  22687. 5: uint32(0x00021811),
  22688. 6: uint32(0x00100000),
  22689. 7: uint32(0x01110000),
  22690. },
  22691. },
  22692. 221: {
  22693. Fmap1: [8]TFcChar32{
  22694. 0: uint32(0x00000023),
  22695. 1: uint32(0x0b019300),
  22696. 2: uint32(0x00301110),
  22697. 3: uint32(0x302b0111),
  22698. 4: uint32(0x13c7b011),
  22699. 5: uint32(0x01303b01),
  22700. 6: uint32(0x00000280),
  22701. 7: uint32(0xb0113000),
  22702. },
  22703. },
  22704. 222: {
  22705. Fmap1: [8]TFcChar32{
  22706. 0: uint32(0x2b011383),
  22707. 1: uint32(0x03b01130),
  22708. 2: uint32(0x300a0011),
  22709. 3: uint32(0x1102b011),
  22710. 4: uint32(0x00002000),
  22711. 5: uint32(0x01110100),
  22712. 6: uint32(0xa011102b),
  22713. 7: uint32(0x2b011302),
  22714. },
  22715. },
  22716. 223: {
  22717. Fmap1: [8]TFcChar32{
  22718. 0: uint32(0x01000010),
  22719. 1: uint32(0x30000001),
  22720. 2: uint32(0x13029011),
  22721. 3: uint32(0x11302b01),
  22722. 4: uint32(0x000066b0),
  22723. 5: uint32(0xb0113000),
  22724. 6: uint32(0x6b07d302),
  22725. 7: uint32(0x07b0113a),
  22726. },
  22727. },
  22728. 224: {
  22729. Fmap1: [8]TFcChar32{
  22730. 0: uint32(0x00200103),
  22731. 1: uint32(0x13000000),
  22732. 2: uint32(0x11386b05),
  22733. 3: uint32(0x011303b0),
  22734. 4: uint32(0x000010b8),
  22735. 5: uint32(0x2b051b00),
  22736. 6: uint32(0x03000110),
  22737. 7: uint32(0x10000000),
  22738. },
  22739. },
  22740. 225: {
  22741. Fmap1: [8]TFcChar32{
  22742. 0: uint32(0x1102a011),
  22743. 1: uint32(0x79700a01),
  22744. 2: uint32(0x0111a2b0),
  22745. 3: uint32(0x0000100a),
  22746. 4: uint32(0x00011100),
  22747. 5: uint32(0x00901110),
  22748. 6: uint32(0x00090111),
  22749. 7: uint32(0x93000000),
  22750. },
  22751. },
  22752. 226: {
  22753. Fmap1: [8]TFcChar32{
  22754. 0: uint32(0xf9f2bb05),
  22755. 1: uint32(0x011322b0),
  22756. 2: uint32(0x2001323b),
  22757. 4: uint32(0x06b05930),
  22758. 5: uint32(0x303b0193),
  22759. 6: uint32(0x1123a011),
  22760. 7: uint32(0x11700000),
  22761. },
  22762. },
  22763. 227: {
  22764. Fmap1: [8]TFcChar32{
  22765. 0: uint32(0x001102b0),
  22766. 1: uint32(0x00001010),
  22767. 2: uint32(0x03011301),
  22768. 3: uint32(0x00000110),
  22769. 4: uint32(0x162b0793),
  22770. 5: uint32(0x01010010),
  22771. 6: uint32(0x11300000),
  22772. 7: uint32(0x01110200),
  22773. },
  22774. },
  22775. 228: {
  22776. Fmap1: [8]TFcChar32{
  22777. 0: uint32(0xb0113029),
  22778. 2: uint32(0x0eb05130),
  22779. 3: uint32(0x383b0513),
  22780. 4: uint32(0x0303b011),
  22781. 5: uint32(0x00000100),
  22782. 6: uint32(0x01930000),
  22783. 7: uint32(0x00001039),
  22784. },
  22785. },
  22786. 229: {
  22787. Fmap1: [8]TFcChar32{
  22788. 0: uint32(0x3b000302),
  22789. 2: uint32(0x00230113),
  22790. 4: uint32(0x00100000),
  22791. 5: uint32(0x00010000),
  22792. 6: uint32(0x90113020),
  22793. 7: uint32(0x00000002),
  22794. },
  22795. },
  22796. 230: {
  22797. Fmap1: [8]TFcChar32{
  22798. 1: uint32(0x10000000),
  22799. 2: uint32(0x11020000),
  22800. 3: uint32(0x00000301),
  22801. 4: uint32(0x01130000),
  22802. 5: uint32(0xb079b02b),
  22803. 6: uint32(0x3b011323),
  22804. 7: uint32(0x02b01130),
  22805. },
  22806. },
  22807. 231: {
  22808. Fmap1: [8]TFcChar32{
  22809. 0: uint32(0xf0210111),
  22810. 1: uint32(0x1343b0d9),
  22811. 2: uint32(0x11303b01),
  22812. 3: uint32(0x011103b0),
  22813. 4: uint32(0xb0517020),
  22814. 5: uint32(0x20011322),
  22815. 6: uint32(0x01901110),
  22816. 7: uint32(0x300b0111),
  22817. },
  22818. },
  22819. 232: {
  22820. Fmap1: [8]TFcChar32{
  22821. 0: uint32(0x9302b011),
  22822. 1: uint32(0x0016ab01),
  22823. 2: uint32(0x01130100),
  22824. 3: uint32(0xb0113021),
  22825. 4: uint32(0x29010302),
  22826. 5: uint32(0x02b03130),
  22827. 6: uint32(0x30000000),
  22828. 7: uint32(0x1b42b819),
  22829. },
  22830. },
  22831. 233: {
  22832. Fmap1: [8]TFcChar32{
  22833. 0: uint32(0x11383301),
  22834. 1: uint32(0x00000330),
  22835. 2: uint32(0x00000020),
  22836. 3: uint32(0x33051300),
  22837. 4: uint32(0x00001110),
  22838. 6: uint32(0x93000000),
  22839. 7: uint32(0x01302305),
  22840. },
  22841. },
  22842. 234: {
  22843. Fmap1: [8]TFcChar32{
  22844. 0: uint32(0x00010100),
  22845. 1: uint32(0x30111010),
  22846. 2: uint32(0x00000100),
  22847. 3: uint32(0x02301130),
  22848. 4: uint32(0x10100001),
  22849. 5: uint32(0x11000000),
  22850. 7: uint32(0x85130200),
  22851. },
  22852. },
  22853. 235: {
  22854. Fmap1: [8]TFcChar32{
  22855. 0: uint32(0x10111003),
  22856. 1: uint32(0x2b011300),
  22857. 2: uint32(0x63b87730),
  22858. 3: uint32(0x303b0113),
  22859. 4: uint32(0x11a2b091),
  22860. 5: uint32(0x7b300201),
  22861. 6: uint32(0x011357f0),
  22862. 7: uint32(0xf0d1702b),
  22863. },
  22864. },
  22865. 236: {
  22866. Fmap1: [8]TFcChar32{
  22867. 0: uint32(0x1b0111e3),
  22868. 1: uint32(0x0ab97130),
  22869. 2: uint32(0x303b0113),
  22870. 3: uint32(0x13029001),
  22871. 4: uint32(0x11302b01),
  22872. 5: uint32(0x071302b0),
  22873. 6: uint32(0x3011302b),
  22874. 7: uint32(0x23011303),
  22875. },
  22876. },
  22877. 237: {
  22878. Fmap1: [8]TFcChar32{
  22879. 0: uint32(0x02b01130),
  22880. 1: uint32(0x30ab0113),
  22881. 2: uint32(0x11feb411),
  22882. 3: uint32(0x71300901),
  22883. 4: uint32(0x05d347b8),
  22884. 5: uint32(0xb011307b),
  22885. 6: uint32(0x21015303),
  22886. 7: uint32(0x00001110),
  22887. },
  22888. },
  22889. 238: {
  22890. Fmap1: [8]TFcChar32{
  22891. 0: uint32(0x306b0513),
  22892. 1: uint32(0x1102b011),
  22893. 2: uint32(0x00103301),
  22894. 3: uint32(0x05130000),
  22895. 4: uint32(0xa01038eb),
  22896. 5: uint32(0x30000102),
  22897. 6: uint32(0x02b01110),
  22898. 7: uint32(0x30200013),
  22899. },
  22900. },
  22901. 239: {
  22902. Fmap1: [8]TFcChar32{
  22903. 0: uint32(0x0102b071),
  22904. 1: uint32(0x00101000),
  22905. 2: uint32(0x01130000),
  22906. 3: uint32(0x1011100b),
  22907. 4: uint32(0x2b011300),
  22908. 6: uint32(0x366b0593),
  22909. 7: uint32(0x1303b095),
  22910. },
  22911. },
  22912. 240: {
  22913. Fmap1: [8]TFcChar32{
  22914. 0: uint32(0x01103b01),
  22915. 1: uint32(0x00000200),
  22916. 2: uint32(0xb0113000),
  22917. 3: uint32(0x20000103),
  22918. 4: uint32(0x01000010),
  22919. 5: uint32(0x30000000),
  22920. 6: uint32(0x030ab011),
  22921. 7: uint32(0x00101001),
  22922. },
  22923. },
  22924. 241: {
  22925. Fmap1: [8]TFcChar32{
  22926. 0: uint32(0x01110100),
  22927. 1: uint32(0x00000003),
  22928. 2: uint32(0x23011302),
  22929. 3: uint32(0x03000010),
  22930. 4: uint32(0x10000000),
  22931. 5: uint32(0x01000000),
  22932. 6: uint32(0x00100000),
  22933. 7: uint32(0x00000290),
  22934. },
  22935. },
  22936. 242: {
  22937. Fmap1: [8]TFcChar32{
  22938. 0: uint32(0x30113000),
  22939. 1: uint32(0x7b015386),
  22940. 2: uint32(0x03b01130),
  22941. 3: uint32(0x00210151),
  22942. 4: uint32(0x13000000),
  22943. 5: uint32(0x11303b01),
  22944. 6: uint32(0x001102b0),
  22945. 7: uint32(0x00011010),
  22946. },
  22947. },
  22948. 243: {
  22949. Fmap1: [8]TFcChar32{
  22950. 0: uint32(0x2b011302),
  22951. 1: uint32(0x02001110),
  22952. 2: uint32(0x10000000),
  22953. 3: uint32(0x0102b011),
  22954. 4: uint32(0x11300100),
  22955. 5: uint32(0x000102b0),
  22956. 6: uint32(0x00011010),
  22957. 7: uint32(0x2b011100),
  22958. },
  22959. },
  22960. 244: {
  22961. Fmap1: [8]TFcChar32{
  22962. 0: uint32(0x02101110),
  22963. 1: uint32(0x002b0113),
  22964. 2: uint32(0x93000000),
  22965. 3: uint32(0x11302b03),
  22966. 4: uint32(0x011302b0),
  22967. 5: uint32(0x0000303b),
  22968. 6: uint32(0x00000002),
  22969. 7: uint32(0x03b01930),
  22970. },
  22971. },
  22972. 245: {
  22973. Fmap1: [8]TFcChar32{
  22974. 0: uint32(0x102b0113),
  22975. 1: uint32(0x0103b011),
  22976. 2: uint32(0x11300000),
  22977. 3: uint32(0x011302b0),
  22978. 4: uint32(0x00001021),
  22979. 5: uint32(0x00010102),
  22980. 6: uint32(0x00000010),
  22981. 7: uint32(0x102b0113),
  22982. },
  22983. },
  22984. 246: {
  22985. Fmap1: [8]TFcChar32{
  22986. 0: uint32(0x01020011),
  22987. 1: uint32(0x11302000),
  22988. 2: uint32(0x011102b0),
  22989. 3: uint32(0x30113001),
  22990. 4: uint32(0x00000002),
  22991. 5: uint32(0x02b01130),
  22992. 6: uint32(0x303b0313),
  22993. 7: uint32(0x0103b011),
  22994. },
  22995. },
  22996. 247: {
  22997. Fmap1: [8]TFcChar32{
  22998. 0: uint32(0x00002000),
  22999. 1: uint32(0x05130000),
  23000. 2: uint32(0xb011303b),
  23001. 3: uint32(0x10001102),
  23002. 4: uint32(0x00000110),
  23003. 5: uint32(0x142b0113),
  23004. 6: uint32(0x01000001),
  23005. 7: uint32(0x01100000),
  23006. },
  23007. },
  23008. 248: {
  23009. Fmap1: [8]TFcChar32{
  23010. 0: uint32(0x00010280),
  23011. 1: uint32(0xb0113000),
  23012. 2: uint32(0x10000102),
  23013. 3: uint32(0x00000010),
  23014. 4: uint32(0x10230113),
  23015. 5: uint32(0x93021011),
  23016. 6: uint32(0x11100b05),
  23017. 7: uint32(0x01130030),
  23018. },
  23019. },
  23020. 249: {
  23021. Fmap1: [8]TFcChar32{
  23022. 0: uint32(0xb051702b),
  23023. 1: uint32(0x3b011323),
  23024. 2: uint32(0x00000030),
  23025. 3: uint32(0x30000000),
  23026. 4: uint32(0x1303b011),
  23027. 5: uint32(0x11102b01),
  23028. 6: uint32(0x01010330),
  23029. 7: uint32(0xb011300a),
  23030. },
  23031. },
  23032. 250: {
  23033. Fmap1: [8]TFcChar32{
  23034. 0: uint32(0x20000102),
  23035. 2: uint32(0x10000011),
  23036. 3: uint32(0x9300a011),
  23037. 4: uint32(0x00102b05),
  23038. 5: uint32(0x00000200),
  23039. 6: uint32(0x90111000),
  23040. 7: uint32(0x29011100),
  23041. },
  23042. },
  23043. 251: {
  23044. Fmap1: [8]TFcChar32{
  23045. 0: uint32(0x00b01110),
  23046. 1: uint32(0x30000000),
  23047. 2: uint32(0x1302b011),
  23048. 3: uint32(0x11302b21),
  23049. 4: uint32(0x000103b0),
  23050. 5: uint32(0x00000020),
  23051. 6: uint32(0x2b051300),
  23052. 7: uint32(0x02b01130),
  23053. },
  23054. },
  23055. 252: {
  23056. Fmap1: [8]TFcChar32{
  23057. 0: uint32(0x103b0113),
  23058. 1: uint32(0x13002011),
  23059. 2: uint32(0x11322b21),
  23060. 3: uint32(0x00130280),
  23061. 4: uint32(0xa0113028),
  23062. 5: uint32(0x0a011102),
  23063. 6: uint32(0x02921130),
  23064. 7: uint32(0x30210111),
  23065. },
  23066. },
  23067. 253: {
  23068. Fmap1: [8]TFcChar32{
  23069. 0: uint32(0x13020011),
  23070. 1: uint32(0x11302b01),
  23071. 2: uint32(0x03d30290),
  23072. 3: uint32(0x3011122b),
  23073. 4: uint32(0x2b011302),
  23074. },
  23075. },
  23076. 254: {
  23077. Fmap1: [8]TFcChar32{
  23078. 4: uint32(0x00004000),
  23079. 6: uint32(0x20000000),
  23080. },
  23081. },
  23082. 255: {
  23083. Fmap1: [8]TFcChar32{
  23084. 2: uint32(0x00003000),
  23085. },
  23086. },
  23087. 256: {
  23088. Fmap1: [8]TFcChar32{
  23089. 1: uint32(0x040001df),
  23090. 2: uint32(0x80800176),
  23091. 3: uint32(0x420c0000),
  23092. 4: uint32(0x01020140),
  23093. 5: uint32(0x44008200),
  23094. 6: uint32(0x00041018),
  23095. },
  23096. },
  23097. 257: {
  23098. Fmap1: [8]TFcChar32{
  23099. 0: uint32(0xffff0000),
  23100. 1: uint32(0xffff27bf),
  23101. 2: uint32(0x000027bf),
  23102. 5: uint32(0x0c000000),
  23103. 6: uint32(0x03000000),
  23104. 7: uint32(0x000000c0),
  23105. },
  23106. },
  23107. 258: {
  23108. Fmap1: [8]TFcChar32{
  23109. 0: uint32(0x3c000000),
  23110. },
  23111. },
  23112. 259: {
  23113. Fmap1: [8]TFcChar32{
  23114. 1: uint32(0x061ef5c0),
  23115. 2: uint32(0x000001f6),
  23116. 3: uint32(0x40000000),
  23117. 4: uint32(0x01040040),
  23118. 5: uint32(0x00208210),
  23119. 6: uint32(0x00005040),
  23120. },
  23121. },
  23122. 260: {
  23123. Fmap1: [8]TFcChar32{
  23124. 2: uint32(0x07fffffe),
  23125. 3: uint32(0x07fffffe),
  23126. 6: uint32(0x08004480),
  23127. 7: uint32(0x08004480),
  23128. },
  23129. },
  23130. 261: {
  23131. Fmap1: [8]TFcChar32{
  23132. 2: uint32(0xc0000000),
  23133. },
  23134. },
  23135. 262: {
  23136. Fmap1: [8]TFcChar32{
  23137. 0: uint32(0xffff0002),
  23138. 1: uint32(0xffffffff),
  23139. 2: uint32(0x0002ffff),
  23140. },
  23141. },
  23142. 263: {
  23143. Fmap1: [8]TFcChar32{
  23144. 0: uint32(0xffff0042),
  23145. 1: uint32(0xffffffff),
  23146. 2: uint32(0x0042ffff),
  23147. 7: uint32(0x000000c0),
  23148. },
  23149. },
  23150. 264: {
  23151. Fmap1: [8]TFcChar32{
  23152. 1: uint32(0x000c0000),
  23153. },
  23154. },
  23155. 265: {
  23156. Fmap1: [8]TFcChar32{
  23157. 0: uint32(0xffff0002),
  23158. 1: uint32(0xffffffff),
  23159. 2: uint32(0x0002ffff),
  23160. 5: uint32(0x0000c00c),
  23161. },
  23162. },
  23163. 266: {
  23164. Fmap1: [8]TFcChar32{
  23165. 0: uint32(0x000c0003),
  23166. 1: uint32(0x00003c00),
  23167. 2: uint32(0x0000f000),
  23168. 3: uint32(0x00003c00),
  23169. },
  23170. },
  23171. 267: {
  23172. Fmap1: [8]TFcChar32{
  23173. 1: uint32(0x040001de),
  23174. 2: uint32(0x00000176),
  23175. 3: uint32(0x42000000),
  23176. 4: uint32(0x01020140),
  23177. 5: uint32(0x44008200),
  23178. 6: uint32(0x00041008),
  23179. },
  23180. },
  23181. 268: {
  23182. Fmap1: [8]TFcChar32{
  23183. 2: uint32(0x07fffffe),
  23184. 3: uint32(0x07fffffe),
  23185. 6: uint32(0x98504f14),
  23186. 7: uint32(0x18504f14),
  23187. },
  23188. },
  23189. 269: {
  23190. Fmap1: [8]TFcChar32{
  23191. 2: uint32(0x00000c00),
  23192. },
  23193. },
  23194. 270: {
  23195. Fmap1: [8]TFcChar32{
  23196. 2: uint32(0x07fffffe),
  23197. 3: uint32(0x07fffffe),
  23198. 6: uint32(0x00480910),
  23199. 7: uint32(0x00480910),
  23200. },
  23201. },
  23202. 271: {
  23203. Fmap1: [8]TFcChar32{
  23204. 2: uint32(0x07fffffe),
  23205. 3: uint32(0x07fffffe),
  23206. 6: uint32(0x0c186606),
  23207. 7: uint32(0x0c186606),
  23208. },
  23209. },
  23210. 272: {
  23211. Fmap1: [8]TFcChar32{
  23212. 0: uint32(0x0c000000),
  23213. 4: uint32(0x00010040),
  23214. },
  23215. },
  23216. 273: {
  23217. Fmap1: [8]TFcChar32{
  23218. 0: uint32(0x00001006),
  23219. },
  23220. },
  23221. 274: {
  23222. Fmap1: [8]TFcChar32{
  23223. 4: uint32(0xfef02596),
  23224. 5: uint32(0x3bffecae),
  23225. 6: uint32(0x30003f5f),
  23226. },
  23227. },
  23228. 275: {
  23229. Fmap1: [8]TFcChar32{
  23230. 0: uint32(0x03c03030),
  23231. 1: uint32(0x0000c000),
  23232. 3: uint32(0x600c0c03),
  23233. },
  23234. },
  23235. 276: {
  23236. Fmap1: [8]TFcChar32{
  23237. 0: uint32(0x000c3003),
  23238. 1: uint32(0x18c00c0c),
  23239. 2: uint32(0x00c03060),
  23240. 3: uint32(0x60000c03),
  23241. },
  23242. },
  23243. 277: {
  23244. Fmap1: [8]TFcChar32{
  23245. 2: uint32(0x07fffffe),
  23246. 3: uint32(0x07fffffe),
  23247. 6: uint32(0x00100002),
  23248. 7: uint32(0x00100002),
  23249. },
  23250. },
  23251. 278: {
  23252. Fmap1: [8]TFcChar32{
  23253. 0: uint32(0x00000003),
  23254. 1: uint32(0x18000000),
  23255. 2: uint32(0x00003060),
  23256. 3: uint32(0x00000c00),
  23257. },
  23258. },
  23259. 279: {
  23260. Fmap1: [8]TFcChar32{
  23261. 1: uint32(0x00300000),
  23262. },
  23263. },
  23264. 280: {
  23265. Fmap1: [8]TFcChar32{
  23266. 0: uint32(0xfdffb729),
  23267. 1: uint32(0x000001ff),
  23268. 2: uint32(0xb7290000),
  23269. },
  23270. },
  23271. 281: {
  23272. Fmap1: [8]TFcChar32{
  23273. 0: uint32(0xfffddfec),
  23274. 1: uint32(0xc3fffdff),
  23275. 2: uint32(0x00803dcf),
  23276. 3: uint32(0x00000003),
  23277. },
  23278. },
  23279. 282: {
  23280. Fmap1: [8]TFcChar32{
  23281. 1: uint32(0xffffffff),
  23282. 2: uint32(0xffffffff),
  23283. 3: uint32(0x00ffffff),
  23284. 4: uint32(0xffffffff),
  23285. 5: uint32(0x000003ff),
  23286. },
  23287. },
  23288. 283: {
  23289. Fmap1: [8]TFcChar32{
  23290. 0: uint32(0xffff0002),
  23291. 1: uint32(0xffffffff),
  23292. 2: uint32(0x0002ffff),
  23293. 5: uint32(0x0000c000),
  23294. 7: uint32(0x00000300),
  23295. },
  23296. },
  23297. 284: {
  23298. Fmap1: [8]TFcChar32{
  23299. 3: uint32(0x00000010),
  23300. 4: uint32(0xfff99fee),
  23301. 5: uint32(0xf3c5fdff),
  23302. 6: uint32(0xb000798f),
  23303. 7: uint32(0x0002ffc0),
  23304. },
  23305. },
  23306. 285: {
  23307. Fmap1: [8]TFcChar32{
  23308. 2: uint32(0x07fffffe),
  23309. 3: uint32(0x07fffffe),
  23310. 6: uint32(0x00004004),
  23311. 7: uint32(0x00004004),
  23312. },
  23313. },
  23314. 286: {
  23315. Fmap1: [8]TFcChar32{
  23316. 0: uint32(0x0f000000),
  23317. },
  23318. },
  23319. 287: {
  23320. Fmap1: [8]TFcChar32{
  23321. 2: uint32(0x07fffffe),
  23322. 3: uint32(0x07fffffe),
  23323. 6: uint32(0x02045101),
  23324. 7: uint32(0x02045101),
  23325. },
  23326. },
  23327. 288: {
  23328. Fmap1: [8]TFcChar32{
  23329. 0: uint32(0x00000c00),
  23330. 1: uint32(0x000000c3),
  23331. 3: uint32(0x18000000),
  23332. },
  23333. },
  23334. 289: {
  23335. Fmap1: [8]TFcChar32{
  23336. 0: uint32(0xffffffff),
  23337. 1: uint32(0x0007f6fb),
  23338. },
  23339. },
  23340. 290: {
  23341. Fmap1: [8]TFcChar32{
  23342. 3: uint32(0x00000300),
  23343. },
  23344. },
  23345. 291: {
  23346. Fmap1: [8]TFcChar32{
  23347. 2: uint32(0x07fffffe),
  23348. 3: uint32(0x07fffffe),
  23349. 6: uint32(0x011c0661),
  23350. 7: uint32(0x011c0661),
  23351. },
  23352. },
  23353. 292: {
  23354. Fmap1: [8]TFcChar32{
  23355. 0: uint32(0xfff98fee),
  23356. 1: uint32(0xc3e5fdff),
  23357. 2: uint32(0x0001398f),
  23358. 3: uint32(0x0001fff0),
  23359. },
  23360. },
  23361. 293: {
  23362. Fmap1: [8]TFcChar32{
  23363. 2: uint32(0x07fffffe),
  23364. 3: uint32(0x07fffffe),
  23365. 6: uint32(0x1c58af16),
  23366. 7: uint32(0x1c58af16),
  23367. },
  23368. },
  23369. 294: {
  23370. Fmap1: [8]TFcChar32{
  23371. 2: uint32(0x07fffffe),
  23372. 3: uint32(0x07fffffe),
  23373. 6: uint32(0x115c0671),
  23374. 7: uint32(0x115c0671),
  23375. },
  23376. },
  23377. 295: {
  23378. Fmap1: [8]TFcChar32{
  23379. 6: uint32(0xffffffff),
  23380. 7: uint32(0x07ffffff),
  23381. },
  23382. },
  23383. 296: {
  23384. Fmap1: [8]TFcChar32{
  23385. 2: uint32(0x07fffffe),
  23386. 3: uint32(0x07fffffe),
  23387. 6: uint32(0x00100400),
  23388. 7: uint32(0x00100400),
  23389. },
  23390. },
  23391. 297: {
  23392. Fmap1: [8]TFcChar32{
  23393. 3: uint32(0x00000003),
  23394. },
  23395. },
  23396. 298: {
  23397. Fmap1: [8]TFcChar32{
  23398. 2: uint32(0x07fffffe),
  23399. 3: uint32(0x07fffffe),
  23400. 6: uint32(0x00082202),
  23401. 7: uint32(0x00082202),
  23402. },
  23403. },
  23404. 299: {
  23405. Fmap1: [8]TFcChar32{
  23406. 0: uint32(0x03000030),
  23407. 1: uint32(0x0000c000),
  23408. 2: uint32(0x00000006),
  23409. 7: uint32(0x00000c00),
  23410. },
  23411. },
  23412. 300: {
  23413. Fmap1: [8]TFcChar32{
  23414. 5: uint32(0x10000000),
  23415. },
  23416. },
  23417. 301: {
  23418. Fmap1: [8]TFcChar32{
  23419. 0: uint32(0x00000002),
  23420. },
  23421. },
  23422. 302: {
  23423. Fmap1: [8]TFcChar32{
  23424. 3: uint32(0x00300000),
  23425. },
  23426. },
  23427. 303: {
  23428. Fmap1: [8]TFcChar32{
  23429. 2: uint32(0x07fffffe),
  23430. 3: uint32(0x07fffffe),
  23431. 6: uint32(0x040c2383),
  23432. 7: uint32(0x040c2383),
  23433. },
  23434. },
  23435. 304: {
  23436. Fmap1: [8]TFcChar32{
  23437. 0: uint32(0xfff99fee),
  23438. 1: uint32(0xf3cdfdff),
  23439. 2: uint32(0xb0c0398f),
  23440. 3: uint32(0x00000003),
  23441. },
  23442. },
  23443. 305: {
  23444. Fmap1: [8]TFcChar32{
  23445. 1: uint32(0x07ffffc6),
  23446. 2: uint32(0x000001fe),
  23447. 3: uint32(0x40000000),
  23448. 4: uint32(0x01000040),
  23449. 5: uint32(0x0000a000),
  23450. 6: uint32(0x00001000),
  23451. },
  23452. },
  23453. 306: {
  23454. Fmap1: [8]TFcChar32{
  23455. 0: uint32(0xfff987e0),
  23456. 1: uint32(0xd36dfdff),
  23457. 2: uint32(0x1e003987),
  23458. 3: uint32(0x001f0000),
  23459. },
  23460. },
  23461. 307: {
  23462. Fmap1: [8]TFcChar32{
  23463. 2: uint32(0x07fffffe),
  23464. 3: uint32(0x07fffffe),
  23465. 6: uint32(0x160e2302),
  23466. 7: uint32(0x160e2302),
  23467. },
  23468. },
  23469. 308: {
  23470. Fmap1: [8]TFcChar32{
  23471. 2: uint32(0x07fffffe),
  23472. 3: uint32(0x07fffffe),
  23473. 6: uint32(0x00020000),
  23474. 7: uint32(0x00020000),
  23475. },
  23476. },
  23477. 309: {
  23478. Fmap1: [8]TFcChar32{
  23479. 0: uint32(0x030000f0),
  23480. 2: uint32(0x0c00001e),
  23481. 3: uint32(0x1e000000),
  23482. },
  23483. },
  23484. 310: {
  23485. Fmap1: [8]TFcChar32{
  23486. 1: uint32(0x07ffffde),
  23487. 2: uint32(0x000005f6),
  23488. 3: uint32(0x50000000),
  23489. 4: uint32(0x05480262),
  23490. 5: uint32(0x10000a00),
  23491. 6: uint32(0x00013000),
  23492. },
  23493. },
  23494. 311: {
  23495. Fmap1: [8]TFcChar32{
  23496. 1: uint32(0x07ffffde),
  23497. 2: uint32(0x000005f6),
  23498. 3: uint32(0x50000000),
  23499. 4: uint32(0x05480262),
  23500. 5: uint32(0x10000a00),
  23501. 6: uint32(0x00052000),
  23502. },
  23503. },
  23504. 312: {
  23505. Fmap1: [8]TFcChar32{
  23506. 2: uint32(0x07fffffe),
  23507. 3: uint32(0x07fffffe),
  23508. 6: uint32(0x143c278f),
  23509. 7: uint32(0x143c278f),
  23510. },
  23511. },
  23512. 313: {
  23513. Fmap1: [8]TFcChar32{
  23514. 6: uint32(0x00000100),
  23515. },
  23516. },
  23517. 314: {
  23518. Fmap1: [8]TFcChar32{
  23519. 2: uint32(0x07fffffe),
  23520. 3: uint32(0x07fffffe),
  23521. 6: uint32(0x02045301),
  23522. 7: uint32(0x02045301),
  23523. },
  23524. },
  23525. 315: {
  23526. Fmap1: [8]TFcChar32{
  23527. 0: uint32(0xffff0002),
  23528. 1: uint32(0xffffffff),
  23529. 2: uint32(0x0002ffff),
  23530. 4: uint32(0x00300000),
  23531. 5: uint32(0x0c00c030),
  23532. 6: uint32(0x03000000),
  23533. },
  23534. },
  23535. 316: {
  23536. Fmap1: [8]TFcChar32{
  23537. 0: uint32(0xfff987ee),
  23538. 1: uint32(0xf325fdff),
  23539. 2: uint32(0x00013987),
  23540. 3: uint32(0x0001fff0),
  23541. },
  23542. },
  23543. 317: {
  23544. Fmap1: [8]TFcChar32{
  23545. 2: uint32(0x07fffffe),
  23546. 3: uint32(0x07fffffe),
  23547. 6: uint32(0x02041101),
  23548. 7: uint32(0x02041101),
  23549. },
  23550. },
  23551. 318: {
  23552. Fmap1: [8]TFcChar32{
  23553. 5: uint32(0x00800000),
  23554. },
  23555. },
  23556. 319: {
  23557. Fmap1: [8]TFcChar32{
  23558. 0: uint32(0x30000000),
  23559. 4: uint32(0x00040000),
  23560. },
  23561. },
  23562. 320: {
  23563. Fmap1: [8]TFcChar32{
  23564. 1: uint32(0x07fffdd6),
  23565. 2: uint32(0x000005f6),
  23566. 3: uint32(0xec000000),
  23567. 4: uint32(0x0200b4d9),
  23568. 5: uint32(0x480a8640),
  23569. },
  23570. },
  23571. 321: {
  23572. Fmap1: [8]TFcChar32{
  23573. 2: uint32(0x07fffffe),
  23574. 3: uint32(0x07fffffe),
  23575. 6: uint32(0x00000002),
  23576. 7: uint32(0x00000002),
  23577. },
  23578. },
  23579. 322: {
  23580. Fmap1: [8]TFcChar32{
  23581. 0: uint32(0x00033000),
  23582. 2: uint32(0x00000c00),
  23583. 3: uint32(0x600000c3),
  23584. },
  23585. },
  23586. 323: {
  23587. Fmap1: [8]TFcChar32{
  23588. 2: uint32(0x07fffffe),
  23589. 3: uint32(0x07fffffe),
  23590. 6: uint32(0x1850cc14),
  23591. 7: uint32(0x1850cc14),
  23592. },
  23593. },
  23594. 324: {
  23595. Fmap1: [8]TFcChar32{
  23596. 0: uint32(0xffff8f04),
  23597. 1: uint32(0xffffffff),
  23598. 2: uint32(0x8f04ffff),
  23599. 4: uint32(0x030c0000),
  23600. 5: uint32(0x0c00cc0f),
  23601. 6: uint32(0x03000000),
  23602. 7: uint32(0x00000300),
  23603. },
  23604. },
  23605. 325: {
  23606. Fmap1: [8]TFcChar32{
  23607. 1: uint32(0x00800000),
  23608. 2: uint32(0x03bffbaa),
  23609. 3: uint32(0x03bffbaa),
  23610. 6: uint32(0x00002202),
  23611. 7: uint32(0x00002202),
  23612. },
  23613. },
  23614. 326: {
  23615. Fmap1: [8]TFcChar32{
  23616. 0: uint32(0x00080000),
  23617. },
  23618. },
  23619. 327: {
  23620. Fmap1: [8]TFcChar32{
  23621. 4: uint32(0xfc7e3fec),
  23622. 5: uint32(0x2ffbffbf),
  23623. 6: uint32(0x7f5f847f),
  23624. 7: uint32(0x00040000),
  23625. },
  23626. },
  23627. 328: {
  23628. Fmap1: [8]TFcChar32{
  23629. 0: uint32(0xff7fff7f),
  23630. 1: uint32(0xff01ff7f),
  23631. 2: uint32(0x3d7f3d7f),
  23632. 3: uint32(0xffff7fff),
  23633. 4: uint32(0xffff3d7f),
  23634. 5: uint32(0x003d7fff),
  23635. 6: uint32(0xff7f7f3d),
  23636. 7: uint32(0x00ff7fff),
  23637. },
  23638. },
  23639. 329: {
  23640. Fmap1: [8]TFcChar32{
  23641. 2: uint32(0x07fffffe),
  23642. 3: uint32(0x07fffffe),
  23643. 6: uint32(0x24182212),
  23644. 7: uint32(0x24182212),
  23645. },
  23646. },
  23647. 330: {
  23648. Fmap1: [8]TFcChar32{
  23649. 0: uint32(0x0000f000),
  23650. 1: uint32(0x66000000),
  23651. 2: uint32(0x00300180),
  23652. 3: uint32(0x60000033),
  23653. },
  23654. },
  23655. 331: {
  23656. Fmap1: [8]TFcChar32{
  23657. 2: uint32(0x07fffffe),
  23658. 3: uint32(0x07fffffe),
  23659. 6: uint32(0x00408030),
  23660. 7: uint32(0x00408030),
  23661. },
  23662. },
  23663. 332: {
  23664. Fmap1: [8]TFcChar32{
  23665. 2: uint32(0x07fffffe),
  23666. 3: uint32(0x07fffffe),
  23667. 6: uint32(0x00020032),
  23668. 7: uint32(0x00020032),
  23669. },
  23670. },
  23671. 333: {
  23672. Fmap1: [8]TFcChar32{
  23673. 2: uint32(0x07fffffe),
  23674. 3: uint32(0x07fffffe),
  23675. 6: uint32(0x00000016),
  23676. 7: uint32(0x00000016),
  23677. },
  23678. },
  23679. 334: {
  23680. Fmap1: [8]TFcChar32{
  23681. 0: uint32(0x00033000),
  23682. 2: uint32(0x00000c00),
  23683. 3: uint32(0x60000003),
  23684. },
  23685. },
  23686. 335: {
  23687. Fmap1: [8]TFcChar32{
  23688. 2: uint32(0x07fffffe),
  23689. 3: uint32(0x07fffffe),
  23690. 6: uint32(0x00200034),
  23691. 7: uint32(0x00200034),
  23692. },
  23693. },
  23694. 336: {
  23695. Fmap1: [8]TFcChar32{
  23696. 0: uint32(0x00033000),
  23697. 2: uint32(0x00000c00),
  23698. 3: uint32(0x60000003),
  23699. 5: uint32(0x00800000),
  23700. 7: uint32(0x0000c3f0),
  23701. },
  23702. },
  23703. 337: {
  23704. Fmap1: [8]TFcChar32{
  23705. 4: uint32(0x00040000),
  23706. },
  23707. },
  23708. 338: {
  23709. Fmap1: [8]TFcChar32{
  23710. 2: uint32(0x07fffffe),
  23711. 3: uint32(0x07fffffe),
  23712. 6: uint32(0x00000880),
  23713. 7: uint32(0x00000880),
  23714. },
  23715. },
  23716. 339: {
  23717. Fmap1: [8]TFcChar32{
  23718. 0: uint32(0xfdff8f04),
  23719. 1: uint32(0xfdff01ff),
  23720. 2: uint32(0x8f0401ff),
  23721. },
  23722. },
  23723. 340: {
  23724. Fmap1: [8]TFcChar32{
  23725. 2: uint32(0x07fffffe),
  23726. 3: uint32(0x07fffffe),
  23727. 6: uint32(0x10400a33),
  23728. 7: uint32(0x10400a33),
  23729. },
  23730. },
  23731. 341: {
  23732. Fmap1: [8]TFcChar32{
  23733. 0: uint32(0xffff0000),
  23734. 1: uint32(0xffff1fff),
  23735. },
  23736. },
  23737. 342: {
  23738. Fmap1: [8]TFcChar32{
  23739. 4: uint32(0xd63dc7e8),
  23740. 5: uint32(0xc3bfc718),
  23741. 6: uint32(0x00803dc7),
  23742. },
  23743. },
  23744. 343: {
  23745. Fmap1: [8]TFcChar32{
  23746. 0: uint32(0xfffddfee),
  23747. 1: uint32(0xc3effdff),
  23748. 2: uint32(0x00603ddf),
  23749. 3: uint32(0x00000003),
  23750. },
  23751. },
  23752. 344: {
  23753. Fmap1: [8]TFcChar32{
  23754. 0: uint32(0xffff0002),
  23755. 1: uint32(0xffffffff),
  23756. 2: uint32(0x0002ffff),
  23757. 4: uint32(0x0c0c0000),
  23758. 5: uint32(0x00cc0000),
  23759. 7: uint32(0x0000c00c),
  23760. },
  23761. },
  23762. 345: {
  23763. Fmap1: [8]TFcChar32{
  23764. 0: uint32(0xfffffffe),
  23765. 1: uint32(0x87ffffff),
  23766. 2: uint32(0x00007fff),
  23767. },
  23768. },
  23769. 346: {
  23770. Fmap1: [8]TFcChar32{
  23771. 0: uint32(0xff7fff7f),
  23772. 1: uint32(0xff01ff00),
  23773. 2: uint32(0x00003d7f),
  23774. 3: uint32(0xffff7fff),
  23775. 4: uint32(0x00ff0000),
  23776. 5: uint32(0x003d7f7f),
  23777. 6: uint32(0xff7f7f00),
  23778. 7: uint32(0x00ff7f00),
  23779. },
  23780. },
  23781. 347: {
  23782. Fmap1: [8]TFcChar32{
  23783. 2: uint32(0x07fffffe),
  23784. 3: uint32(0x07fffffe),
  23785. 6: uint32(0x30400090),
  23786. 7: uint32(0x30400090),
  23787. },
  23788. },
  23789. 348: {
  23790. Fmap1: [8]TFcChar32{
  23791. 2: uint32(0xc0000180),
  23792. 3: uint32(0x60000000),
  23793. },
  23794. },
  23795. 349: {
  23796. Fmap1: [8]TFcChar32{
  23797. 2: uint32(0x07fffffe),
  23798. 3: uint32(0x07fffffe),
  23799. 6: uint32(0x18404084),
  23800. 7: uint32(0x18404084),
  23801. },
  23802. },
  23803. 350: {
  23804. Fmap1: [8]TFcChar32{
  23805. 0: uint32(0xffff0002),
  23806. 1: uint32(0xffffffff),
  23807. 2: uint32(0x0002ffff),
  23808. 4: uint32(0x00c00000),
  23809. 5: uint32(0x0c00c00c),
  23810. 6: uint32(0x03000000),
  23811. },
  23812. },
  23813. 351: {
  23814. Fmap1: [8]TFcChar32{
  23815. 2: uint32(0x07fffffe),
  23816. 3: uint32(0x07fffffe),
  23817. 6: uint32(0x00008000),
  23818. 7: uint32(0x00008000),
  23819. },
  23820. },
  23821. 352: {
  23822. Fmap1: [8]TFcChar32{
  23823. 1: uint32(0x041ed5c0),
  23824. 2: uint32(0x0000077e),
  23825. 3: uint32(0x40000000),
  23826. 4: uint32(0x01000040),
  23827. 5: uint32(0x4000a000),
  23828. 6: uint32(0x002109c0),
  23829. },
  23830. },
  23831. 353: {
  23832. Fmap1: [8]TFcChar32{
  23833. 0: uint32(0xffff00d0),
  23834. 1: uint32(0xffffffff),
  23835. 2: uint32(0x00d0ffff),
  23836. 4: uint32(0x00030000),
  23837. },
  23838. },
  23839. 354: {
  23840. Fmap1: [8]TFcChar32{
  23841. 1: uint32(0xffffff7b),
  23842. 2: uint32(0x7fffffff),
  23843. 3: uint32(0x7ffffffe),
  23844. 5: uint32(0x80e310fe),
  23845. 6: uint32(0x00800000),
  23846. 7: uint32(0x00800000),
  23847. },
  23848. },
  23849. 355: {
  23850. Fmap1: [8]TFcChar32{
  23851. 1: uint32(0x00020000),
  23852. },
  23853. },
  23854. 356: {
  23855. Fmap1: [8]TFcChar32{
  23856. 0: uint32(0x00001500),
  23857. 1: uint32(0x01000000),
  23858. 4: uint32(0xfffe0000),
  23859. 5: uint32(0xfffe03db),
  23860. 6: uint32(0x006003fb),
  23861. 7: uint32(0x00030000),
  23862. },
  23863. },
  23864. 357: {
  23865. Fmap1: [8]TFcChar32{
  23866. 0: uint32(0x00400000),
  23867. 1: uint32(0x00000047),
  23868. 2: uint32(0x00800010),
  23869. 7: uint32(0x00000002),
  23870. },
  23871. },
  23872. 358: {
  23873. Fmap1: [8]TFcChar32{
  23874. 0: uint32(0x3f2fc004),
  23875. 1: uint32(0x00000010),
  23876. },
  23877. },
  23878. 359: {
  23879. Fmap1: [8]TFcChar32{
  23880. 0: uint32(0xe3ffbfff),
  23881. 1: uint32(0xfff007ff),
  23882. 2: uint32(0x00000001),
  23883. 4: uint32(0xfffff000),
  23884. 5: uint32(0x0000003f),
  23885. 6: uint32(0x0000e10f),
  23886. },
  23887. },
  23888. 360: {
  23889. Fmap1: [8]TFcChar32{
  23890. 0: uint32(0x00000f00),
  23891. 1: uint32(0x0000000c),
  23892. },
  23893. },
  23894. 361: {
  23895. Fmap1: [8]TFcChar32{
  23896. 5: uint32(0x00000003),
  23897. },
  23898. },
  23899. 362: {
  23900. Fmap1: [8]TFcChar32{
  23901. 7: uint32(0x000003c0),
  23902. },
  23903. },
  23904. 363: {
  23905. Fmap1: [8]TFcChar32{
  23906. 0: uint32(0xffffffff),
  23907. 1: uint32(0xffffffff),
  23908. 2: uint32(0xffdfffff),
  23909. 3: uint32(0xffffffff),
  23910. 4: uint32(0xdfffffff),
  23911. 5: uint32(0x00001e64),
  23912. },
  23913. },
  23914. 364: {
  23915. Fmap1: [8]TFcChar32{
  23916. 1: uint32(0x78000000),
  23917. 2: uint32(0x0001fc5f),
  23918. },
  23919. },
  23920. 365: {
  23921. Fmap1: [8]TFcChar32{
  23922. 5: uint32(0x00000030),
  23923. },
  23924. },
  23925. 366: {
  23926. Fmap1: [8]TFcChar32{
  23927. 0: uint32(0x0c000000),
  23928. 7: uint32(0x00091e00),
  23929. },
  23930. },
  23931. 367: {
  23932. Fmap1: [8]TFcChar32{
  23933. 7: uint32(0x60000000),
  23934. },
  23935. },
  23936. 368: {
  23937. Fmap1: [8]TFcChar32{
  23938. 0: uint32(0x00300000),
  23939. 2: uint32(0x000fff00),
  23940. 3: uint32(0x80000000),
  23941. 4: uint32(0x00080000),
  23942. 5: uint32(0x60000c02),
  23943. 6: uint32(0x00104030),
  23944. 7: uint32(0x242c0400),
  23945. },
  23946. },
  23947. 369: {
  23948. Fmap1: [8]TFcChar32{
  23949. 0: uint32(0x00000c20),
  23950. 1: uint32(0x00000100),
  23951. 2: uint32(0x00b85000),
  23952. 4: uint32(0x00e00000),
  23953. 5: uint32(0x80010000),
  23954. },
  23955. },
  23956. 370: {
  23957. Fmap1: [8]TFcChar32{
  23958. 0: uint32(0x18000000),
  23959. 2: uint32(0x00210000),
  23960. },
  23961. },
  23962. 371: {
  23963. Fmap1: [8]TFcChar32{
  23964. 0: uint32(0x00000010),
  23965. 6: uint32(0x00008000),
  23966. },
  23967. },
  23968. 372: {
  23969. Fmap1: [8]TFcChar32{
  23970. 4: uint32(0x07fe4000),
  23971. 7: uint32(0xffffffc0),
  23972. },
  23973. },
  23974. 373: {
  23975. Fmap1: [8]TFcChar32{
  23976. 0: uint32(0x04000002),
  23977. 1: uint32(0x077c8000),
  23978. 2: uint32(0x00030000),
  23979. },
  23980. },
  23981. 374: {
  23982. Fmap1: [8]TFcChar32{
  23983. 0: uint32(0xffffffff),
  23984. 1: uint32(0xffbf0001),
  23985. 2: uint32(0xffffffff),
  23986. 3: uint32(0x1fffffff),
  23987. 4: uint32(0x000fffff),
  23988. 5: uint32(0xffffffff),
  23989. 6: uint32(0x000007df),
  23990. 7: uint32(0x0001ffff),
  23991. },
  23992. },
  23993. 375: {
  23994. Fmap1: [8]TFcChar32{
  23995. 2: uint32(0xfffffffd),
  23996. 3: uint32(0xffffffff),
  23997. 4: uint32(0xffffffff),
  23998. 5: uint32(0xffffffff),
  23999. 6: uint32(0xffffffff),
  24000. 7: uint32(0x1effffff),
  24001. },
  24002. },
  24003. 376: {
  24004. Fmap1: [8]TFcChar32{
  24005. 0: uint32(0xffffffff),
  24006. 1: uint32(0x3fffffff),
  24007. 2: uint32(0xffff0000),
  24008. 3: uint32(0x000000ff),
  24009. 7: uint32(0xf8000000),
  24010. },
  24011. },
  24012. 377: {
  24013. Fmap1: [8]TFcChar32{
  24014. 0: uint32(0x755dfffe),
  24015. 1: uint32(0xffef2f3f),
  24016. 2: uint32(0x0000ffe1),
  24017. },
  24018. },
  24019. 378: {
  24020. Fmap1: [8]TFcChar32{
  24021. 0: uint32(0x000c0000),
  24022. 1: uint32(0x30000000),
  24023. 2: uint32(0x00000c30),
  24024. 3: uint32(0x00030000),
  24025. },
  24026. },
  24027. 379: {
  24028. Fmap1: [8]TFcChar32{
  24029. 2: uint32(0x07fffffe),
  24030. 3: uint32(0x07fffffe),
  24031. 6: uint32(0x263c370f),
  24032. 7: uint32(0x263c370f),
  24033. },
  24034. },
  24035. 380: {
  24036. Fmap1: [8]TFcChar32{
  24037. 0: uint32(0x0003000c),
  24038. 1: uint32(0x00000300),
  24039. 3: uint32(0x00000300),
  24040. 5: uint32(0x00018003),
  24041. },
  24042. },
  24043. 381: {
  24044. Fmap1: [8]TFcChar32{
  24045. 0: uint32(0x0800024f),
  24046. 1: uint32(0x00000008),
  24047. },
  24048. },
  24049. 382: {
  24050. Fmap1: [8]TFcChar32{
  24051. 5: uint32(0xffffffff),
  24052. 6: uint32(0xffffffff),
  24053. 7: uint32(0x03ffffff),
  24054. },
  24055. },
  24056. 383: {
  24057. Fmap1: [8]TFcChar32{
  24058. 2: uint32(0x077dfffe),
  24059. 3: uint32(0x077dfffe),
  24060. 6: uint32(0x10400010),
  24061. 7: uint32(0x10400010),
  24062. },
  24063. },
  24064. 384: {
  24065. Fmap1: [8]TFcChar32{
  24066. 2: uint32(0x07fffffe),
  24067. 3: uint32(0x07fffffe),
  24068. 6: uint32(0x10400010),
  24069. 7: uint32(0x10400010),
  24070. },
  24071. },
  24072. 385: {
  24073. Fmap1: [8]TFcChar32{
  24074. 2: uint32(0x07fffffe),
  24075. 3: uint32(0x07fffffe),
  24076. 6: uint32(0x081047a4),
  24077. 7: uint32(0x081047a4),
  24078. },
  24079. },
  24080. 386: {
  24081. Fmap1: [8]TFcChar32{
  24082. 0: uint32(0x0c0030c0),
  24083. 2: uint32(0x0f30001e),
  24084. 3: uint32(0x66000003),
  24085. },
  24086. },
  24087. 387: {
  24088. Fmap1: [8]TFcChar32{
  24089. 2: uint32(0x07fffffe),
  24090. 3: uint32(0x07fffffe),
  24091. 6: uint32(0x000a0a09),
  24092. 7: uint32(0x000a0a09),
  24093. },
  24094. },
  24095. 388: {
  24096. Fmap1: [8]TFcChar32{
  24097. 2: uint32(0x07fffffe),
  24098. 3: uint32(0x07fffffe),
  24099. 6: uint32(0x00400810),
  24100. 7: uint32(0x00400810),
  24101. },
  24102. },
  24103. 389: {
  24104. Fmap1: [8]TFcChar32{
  24105. 2: uint32(0x07fffffe),
  24106. 3: uint32(0x07fffffe),
  24107. 6: uint32(0x0e3c770f),
  24108. 7: uint32(0x0e3c770f),
  24109. },
  24110. },
  24111. 390: {
  24112. Fmap1: [8]TFcChar32{
  24113. 0: uint32(0x0c000000),
  24114. 1: uint32(0x00000300),
  24115. 2: uint32(0x00000018),
  24116. 3: uint32(0x00000300),
  24117. 6: uint32(0x001fe000),
  24118. 7: uint32(0x03000000),
  24119. },
  24120. },
  24121. 391: {
  24122. Fmap1: [8]TFcChar32{
  24123. 0: uint32(0x0000100f),
  24124. },
  24125. },
  24126. 392: {
  24127. Fmap1: [8]TFcChar32{
  24128. 1: uint32(0xc0000000),
  24129. 3: uint32(0x0000000c),
  24130. 5: uint32(0x33000000),
  24131. 6: uint32(0x00003000),
  24132. },
  24133. },
  24134. 393: {
  24135. Fmap1: [8]TFcChar32{
  24136. 6: uint32(0x00000280),
  24137. },
  24138. },
  24139. 394: {
  24140. Fmap1: [8]TFcChar32{
  24141. 0: uint32(0x7f7b7f8b),
  24142. 1: uint32(0xef553db4),
  24143. 2: uint32(0xf35dfba8),
  24144. 3: uint32(0x400b0243),
  24145. 4: uint32(0x8d3efb40),
  24146. 5: uint32(0x8c2c7bf7),
  24147. 6: uint32(0xe3fa6eff),
  24148. 7: uint32(0xa8ed1d3a),
  24149. },
  24150. },
  24151. 395: {
  24152. Fmap1: [8]TFcChar32{
  24153. 0: uint32(0xcf83e602),
  24154. 1: uint32(0x35558cf5),
  24155. 2: uint32(0xffabe048),
  24156. 3: uint32(0xd85992b9),
  24157. 4: uint32(0x2892ab18),
  24158. 5: uint32(0x8020d7e9),
  24159. 6: uint32(0xf583c438),
  24160. 7: uint32(0x450ae74a),
  24161. },
  24162. },
  24163. 396: {
  24164. Fmap1: [8]TFcChar32{
  24165. 0: uint32(0x9714b000),
  24166. 1: uint32(0x54007762),
  24167. 2: uint32(0x1420d188),
  24168. 3: uint32(0xc8c01020),
  24169. 4: uint32(0x00002121),
  24170. 5: uint32(0x0c0413a8),
  24171. 6: uint32(0x04408000),
  24172. 7: uint32(0x082870c0),
  24173. },
  24174. },
  24175. 397: {
  24176. Fmap1: [8]TFcChar32{
  24177. 0: uint32(0x000408c0),
  24178. 1: uint32(0x80000002),
  24179. 2: uint32(0x14722b7b),
  24180. 3: uint32(0x3bfb7924),
  24181. 4: uint32(0x1ae43327),
  24182. 5: uint32(0x38ef9835),
  24183. 6: uint32(0x28029ad1),
  24184. 7: uint32(0xbf69a813),
  24185. },
  24186. },
  24187. 398: {
  24188. Fmap1: [8]TFcChar32{
  24189. 0: uint32(0x2fc665cf),
  24190. 1: uint32(0xafc96b11),
  24191. 2: uint32(0x5053340f),
  24192. 3: uint32(0xa00486a2),
  24193. 4: uint32(0xe8090106),
  24194. 5: uint32(0xc00e3f0f),
  24195. 6: uint32(0x81450a88),
  24196. 7: uint32(0xc6010010),
  24197. },
  24198. },
  24199. 399: {
  24200. Fmap1: [8]TFcChar32{
  24201. 0: uint32(0x26e1a161),
  24202. 1: uint32(0xce00444b),
  24203. 2: uint32(0xd4eec7aa),
  24204. 3: uint32(0x85bbcadf),
  24205. 4: uint32(0xa5203a74),
  24206. 5: uint32(0x8840436c),
  24207. 6: uint32(0x8bd23f06),
  24208. 7: uint32(0x3befff79),
  24209. },
  24210. },
  24211. 400: {
  24212. Fmap1: [8]TFcChar32{
  24213. 0: uint32(0xe8eff75a),
  24214. 1: uint32(0x5b36fbcb),
  24215. 2: uint32(0x1bfd0d49),
  24216. 3: uint32(0x39ee0154),
  24217. 4: uint32(0x2e75d855),
  24218. 5: uint32(0xa91abfd8),
  24219. 6: uint32(0xf6bff3d7),
  24220. 7: uint32(0xb40c67e0),
  24221. },
  24222. },
  24223. 401: {
  24224. Fmap1: [8]TFcChar32{
  24225. 0: uint32(0x081382c2),
  24226. 1: uint32(0xd08bd49d),
  24227. 2: uint32(0x1061065a),
  24228. 3: uint32(0x59e074f2),
  24229. 4: uint32(0xb3128f9f),
  24230. 5: uint32(0x6aaa0080),
  24231. 6: uint32(0xb05e3230),
  24232. 7: uint32(0x60ac9d7a),
  24233. },
  24234. },
  24235. 402: {
  24236. Fmap1: [8]TFcChar32{
  24237. 0: uint32(0xc900d303),
  24238. 1: uint32(0x8a563098),
  24239. 2: uint32(0x13907000),
  24240. 3: uint32(0x18421f14),
  24241. 4: uint32(0x0008c060),
  24242. 5: uint32(0x10808008),
  24243. 6: uint32(0xec900400),
  24244. 7: uint32(0xe6332817),
  24245. },
  24246. },
  24247. 403: {
  24248. Fmap1: [8]TFcChar32{
  24249. 0: uint32(0x90000758),
  24250. 1: uint32(0x4e09f708),
  24251. 2: uint32(0xfc83f485),
  24252. 3: uint32(0x18c8af53),
  24253. 4: uint32(0x080c187c),
  24254. 5: uint32(0x01146adf),
  24255. 6: uint32(0xa734c80c),
  24256. 7: uint32(0x2710a011),
  24257. },
  24258. },
  24259. 404: {
  24260. Fmap1: [8]TFcChar32{
  24261. 0: uint32(0x422228c5),
  24262. 1: uint32(0x00210413),
  24263. 2: uint32(0x41123010),
  24264. 3: uint32(0x40001820),
  24265. 4: uint32(0xc60c022b),
  24266. 5: uint32(0x10000300),
  24267. 6: uint32(0x00220022),
  24268. 7: uint32(0x02495810),
  24269. },
  24270. },
  24271. 405: {
  24272. Fmap1: [8]TFcChar32{
  24273. 0: uint32(0x9670a094),
  24274. 1: uint32(0x1792eeb0),
  24275. 2: uint32(0x05f2cb96),
  24276. 3: uint32(0x23580025),
  24277. 4: uint32(0x42cc25de),
  24278. 5: uint32(0x4a04cf38),
  24279. 6: uint32(0x359f0c40),
  24280. 7: uint32(0x8a001128),
  24281. },
  24282. },
  24283. 406: {
  24284. Fmap1: [8]TFcChar32{
  24285. 0: uint32(0x910a13fa),
  24286. 1: uint32(0x10560229),
  24287. 2: uint32(0x04200641),
  24288. 3: uint32(0x84f00484),
  24289. 4: uint32(0x0c040000),
  24290. 5: uint32(0x412c0400),
  24291. 6: uint32(0x11541206),
  24292. 7: uint32(0x00020a4b),
  24293. },
  24294. },
  24295. 407: {
  24296. Fmap1: [8]TFcChar32{
  24297. 0: uint32(0x00c00200),
  24298. 1: uint32(0x00940000),
  24299. 2: uint32(0xbfbb0001),
  24300. 3: uint32(0x242b167c),
  24301. 4: uint32(0x7fa89bbb),
  24302. 5: uint32(0xe3790c7f),
  24303. 6: uint32(0xe00d10f4),
  24304. 7: uint32(0x9f014132),
  24305. },
  24306. },
  24307. 408: {
  24308. Fmap1: [8]TFcChar32{
  24309. 0: uint32(0x35728652),
  24310. 1: uint32(0xff1210b4),
  24311. 2: uint32(0x4223cf27),
  24312. 3: uint32(0x8602c06b),
  24313. 4: uint32(0x1fd33106),
  24314. 5: uint32(0xa1aa3a0c),
  24315. 6: uint32(0x02040812),
  24316. 7: uint32(0x08012572),
  24317. },
  24318. },
  24319. 409: {
  24320. Fmap1: [8]TFcChar32{
  24321. 0: uint32(0x485040cc),
  24322. 1: uint32(0x601062d0),
  24323. 2: uint32(0x29001c80),
  24324. 3: uint32(0x00109a00),
  24325. 4: uint32(0x22000004),
  24326. 5: uint32(0x00800000),
  24327. 6: uint32(0x68002020),
  24328. 7: uint32(0x609ecbe6),
  24329. },
  24330. },
  24331. 410: {
  24332. Fmap1: [8]TFcChar32{
  24333. 0: uint32(0x3f73916e),
  24334. 1: uint32(0x398260c0),
  24335. 2: uint32(0x48301034),
  24336. 3: uint32(0xbd5c0006),
  24337. 4: uint32(0xd6fb8cd1),
  24338. 5: uint32(0x43e820e1),
  24339. 6: uint32(0x084e0600),
  24340. 7: uint32(0xc4d00500),
  24341. },
  24342. },
  24343. 411: {
  24344. Fmap1: [8]TFcChar32{
  24345. 0: uint32(0x89aa8d1f),
  24346. 1: uint32(0x1602a6e1),
  24347. 2: uint32(0x21ed0001),
  24348. 3: uint32(0x1a8b3656),
  24349. 4: uint32(0x13a51fb7),
  24350. 5: uint32(0x30a06502),
  24351. 6: uint32(0x23c7b278),
  24352. 7: uint32(0xe9226c93),
  24353. },
  24354. },
  24355. 412: {
  24356. Fmap1: [8]TFcChar32{
  24357. 0: uint32(0x3a74e47f),
  24358. 1: uint32(0x98208fe3),
  24359. 2: uint32(0x2625280e),
  24360. 3: uint32(0xbf49bf9c),
  24361. 4: uint32(0xac543218),
  24362. 5: uint32(0x1916b949),
  24363. 6: uint32(0xb5220c60),
  24364. 7: uint32(0x0659fbc1),
  24365. },
  24366. },
  24367. 413: {
  24368. Fmap1: [8]TFcChar32{
  24369. 0: uint32(0x8420e343),
  24370. 1: uint32(0x800008d9),
  24371. 2: uint32(0x20225500),
  24372. 3: uint32(0x00a10184),
  24373. 4: uint32(0x20104800),
  24374. 5: uint32(0x40801380),
  24375. 6: uint32(0x00160d04),
  24376. 7: uint32(0x80200040),
  24377. },
  24378. },
  24379. 414: {
  24380. Fmap1: [8]TFcChar32{
  24381. 0: uint32(0x8de7fd40),
  24382. 1: uint32(0xe0985436),
  24383. 2: uint32(0x091e7b8b),
  24384. 3: uint32(0xd249fec8),
  24385. 4: uint32(0x8dee0611),
  24386. 5: uint32(0xba221937),
  24387. 6: uint32(0x9fdd77f4),
  24388. 7: uint32(0xf0daf3ec),
  24389. },
  24390. },
  24391. 415: {
  24392. Fmap1: [8]TFcChar32{
  24393. 0: uint32(0xec424386),
  24394. 1: uint32(0x26048d3f),
  24395. 2: uint32(0xc021fa6c),
  24396. 3: uint32(0x0cc2628e),
  24397. 4: uint32(0x0145d785),
  24398. 5: uint32(0x559977ad),
  24399. 6: uint32(0x4045e250),
  24400. 7: uint32(0xa154260b),
  24401. },
  24402. },
  24403. 416: {
  24404. Fmap1: [8]TFcChar32{
  24405. 0: uint32(0x58199827),
  24406. 1: uint32(0xa4103443),
  24407. 2: uint32(0x411405f2),
  24408. 3: uint32(0x07002280),
  24409. 4: uint32(0x426600b4),
  24410. 5: uint32(0x15a17210),
  24411. 6: uint32(0x41856025),
  24412. 7: uint32(0x00000054),
  24413. },
  24414. },
  24415. 417: {
  24416. Fmap1: [8]TFcChar32{
  24417. 0: uint32(0x01040201),
  24418. 1: uint32(0xcb70c820),
  24419. 2: uint32(0x6a629320),
  24420. 3: uint32(0x0095184c),
  24421. 4: uint32(0x9a8b1880),
  24422. 5: uint32(0x3201aab2),
  24423. 6: uint32(0x00c4d87a),
  24424. 7: uint32(0x04c3f3e5),
  24425. },
  24426. },
  24427. 418: {
  24428. Fmap1: [8]TFcChar32{
  24429. 0: uint32(0xa238d44d),
  24430. 1: uint32(0x5072a1a1),
  24431. 2: uint32(0x84fc980a),
  24432. 3: uint32(0x44d1c152),
  24433. 4: uint32(0x20c21094),
  24434. 5: uint32(0x42104180),
  24435. 6: uint32(0x3a000000),
  24436. 7: uint32(0xd29d0240),
  24437. },
  24438. },
  24439. 419: {
  24440. Fmap1: [8]TFcChar32{
  24441. 0: uint32(0xa8b12f01),
  24442. 1: uint32(0x2432bd40),
  24443. 2: uint32(0xd04bd34d),
  24444. 3: uint32(0xd0ada723),
  24445. 4: uint32(0x75a10a92),
  24446. 5: uint32(0x01e9adac),
  24447. 6: uint32(0x771f801a),
  24448. 7: uint32(0xa01b9225),
  24449. },
  24450. },
  24451. 420: {
  24452. Fmap1: [8]TFcChar32{
  24453. 0: uint32(0x20cadfa1),
  24454. 1: uint32(0x738c0602),
  24455. 2: uint32(0x003b577f),
  24456. 3: uint32(0x00d00bff),
  24457. 4: uint32(0x0088806a),
  24458. 5: uint32(0x0029a1c4),
  24459. 6: uint32(0x05242a05),
  24460. 7: uint32(0x16234009),
  24461. },
  24462. },
  24463. 421: {
  24464. Fmap1: [8]TFcChar32{
  24465. 0: uint32(0x80056822),
  24466. 1: uint32(0xa2112011),
  24467. 2: uint32(0x64900004),
  24468. 3: uint32(0x13824849),
  24469. 4: uint32(0x193023d5),
  24470. 5: uint32(0x08922980),
  24471. 6: uint32(0x88115402),
  24472. 7: uint32(0xa0042001),
  24473. },
  24474. },
  24475. 422: {
  24476. Fmap1: [8]TFcChar32{
  24477. 0: uint32(0x81800400),
  24478. 1: uint32(0x60228502),
  24479. 2: uint32(0x0b010090),
  24480. 3: uint32(0x12020022),
  24481. 4: uint32(0x00834011),
  24482. 5: uint32(0x00001a01),
  24483. },
  24484. },
  24485. 423: {
  24486. Fmap1: [8]TFcChar32{
  24487. 1: uint32(0x4684009f),
  24488. 2: uint32(0x020012c8),
  24489. 3: uint32(0x1a0004fc),
  24490. 4: uint32(0x0c4c2ede),
  24491. 5: uint32(0x80b80402),
  24492. 6: uint32(0x0afca826),
  24493. 7: uint32(0x22288c02),
  24494. },
  24495. },
  24496. 424: {
  24497. Fmap1: [8]TFcChar32{
  24498. 0: uint32(0x8f7ba0e0),
  24499. 1: uint32(0x2135c7d6),
  24500. 2: uint32(0xf8b106c7),
  24501. 3: uint32(0x62550713),
  24502. 4: uint32(0x8a19936e),
  24503. 5: uint32(0xfb0e6efa),
  24504. 6: uint32(0x48f91630),
  24505. 7: uint32(0x7debcd2f),
  24506. },
  24507. },
  24508. 425: {
  24509. Fmap1: [8]TFcChar32{
  24510. 0: uint32(0x4e845892),
  24511. 1: uint32(0x7a2e4ca0),
  24512. 2: uint32(0x561eedea),
  24513. 3: uint32(0x1190c649),
  24514. 4: uint32(0xe83a5324),
  24515. 5: uint32(0x8124cfdb),
  24516. 6: uint32(0x634218f1),
  24517. 7: uint32(0x1a8a5853),
  24518. },
  24519. },
  24520. 426: {
  24521. Fmap1: [8]TFcChar32{
  24522. 0: uint32(0x24d37420),
  24523. 1: uint32(0x0514aa3b),
  24524. 2: uint32(0x89586018),
  24525. 3: uint32(0xc0004800),
  24526. 4: uint32(0x91018268),
  24527. 5: uint32(0x2cd684a4),
  24528. 6: uint32(0xc4ba8886),
  24529. 7: uint32(0x02100377),
  24530. },
  24531. },
  24532. 427: {
  24533. Fmap1: [8]TFcChar32{
  24534. 0: uint32(0x00388244),
  24535. 1: uint32(0x404aae11),
  24536. 2: uint32(0x510028c0),
  24537. 3: uint32(0x15146044),
  24538. 4: uint32(0x10007310),
  24539. 5: uint32(0x02480082),
  24540. 6: uint32(0x40060205),
  24541. 7: uint32(0x0000c003),
  24542. },
  24543. },
  24544. 428: {
  24545. Fmap1: [8]TFcChar32{
  24546. 0: uint32(0x0c020000),
  24547. 1: uint32(0x02200008),
  24548. 2: uint32(0x40009000),
  24549. 3: uint32(0xd161b800),
  24550. 4: uint32(0x32744621),
  24551. 5: uint32(0x3b8af800),
  24552. 6: uint32(0x8b00050f),
  24553. 7: uint32(0x2280bbd0),
  24554. },
  24555. },
  24556. 429: {
  24557. Fmap1: [8]TFcChar32{
  24558. 0: uint32(0x07690600),
  24559. 1: uint32(0x00438040),
  24560. 2: uint32(0x50005420),
  24561. 3: uint32(0x250c41d0),
  24562. 4: uint32(0x83108410),
  24563. 5: uint32(0x02281101),
  24564. 6: uint32(0x00304008),
  24565. 7: uint32(0x020040a1),
  24566. },
  24567. },
  24568. 430: {
  24569. Fmap1: [8]TFcChar32{
  24570. 0: uint32(0x20000040),
  24571. 1: uint32(0xabe31500),
  24572. 2: uint32(0xaa443180),
  24573. 3: uint32(0xc624c2c6),
  24574. 4: uint32(0x8004ac13),
  24575. 5: uint32(0x03d1b000),
  24576. 6: uint32(0x4285611e),
  24577. 7: uint32(0x1d9ff303),
  24578. },
  24579. },
  24580. 431: {
  24581. Fmap1: [8]TFcChar32{
  24582. 0: uint32(0x78e8440a),
  24583. 1: uint32(0xc3925e26),
  24584. 2: uint32(0x00852000),
  24585. 3: uint32(0x4000b001),
  24586. 4: uint32(0x88424a90),
  24587. 5: uint32(0x0c8dca04),
  24588. 6: uint32(0x4203a705),
  24589. 7: uint32(0x000422a1),
  24590. },
  24591. },
  24592. 432: {
  24593. Fmap1: [8]TFcChar32{
  24594. 0: uint32(0x0c018668),
  24595. 1: uint32(0x10795564),
  24596. 2: uint32(0xdea00002),
  24597. 3: uint32(0x40c12000),
  24598. 4: uint32(0x5001488b),
  24599. 5: uint32(0x04000380),
  24600. 6: uint32(0x50040000),
  24601. 7: uint32(0x80d0c05d),
  24602. },
  24603. },
  24604. 433: {
  24605. Fmap1: [8]TFcChar32{
  24606. 0: uint32(0x970aa010),
  24607. 1: uint32(0x4dafbb20),
  24608. 2: uint32(0x1e10d921),
  24609. 3: uint32(0x83140460),
  24610. 4: uint32(0xa6d68848),
  24611. 5: uint32(0x733fd83b),
  24612. 6: uint32(0x497427bc),
  24613. 7: uint32(0x92130ddc),
  24614. },
  24615. },
  24616. 434: {
  24617. Fmap1: [8]TFcChar32{
  24618. 0: uint32(0x8ba1142b),
  24619. 1: uint32(0xd1392e75),
  24620. 2: uint32(0x50503009),
  24621. 3: uint32(0x69008808),
  24622. 4: uint32(0x024a49d4),
  24623. 5: uint32(0x80164010),
  24624. 6: uint32(0x89d7e564),
  24625. 7: uint32(0x5316c020),
  24626. },
  24627. },
  24628. 435: {
  24629. Fmap1: [8]TFcChar32{
  24630. 0: uint32(0x86002b92),
  24631. 1: uint32(0x15e0a345),
  24632. 2: uint32(0x0c03008b),
  24633. 3: uint32(0xe200196e),
  24634. 4: uint32(0x80067031),
  24635. 5: uint32(0xa82916a5),
  24636. 6: uint32(0x18802000),
  24637. 7: uint32(0xe1487aac),
  24638. },
  24639. },
  24640. 436: {
  24641. Fmap1: [8]TFcChar32{
  24642. 0: uint32(0xb5d63207),
  24643. 1: uint32(0x5f9132e8),
  24644. 2: uint32(0x20e550a1),
  24645. 3: uint32(0x10807c00),
  24646. 4: uint32(0x9d8a7280),
  24647. 5: uint32(0x421f00aa),
  24648. 6: uint32(0x02310e22),
  24649. 7: uint32(0x04941100),
  24650. },
  24651. },
  24652. 437: {
  24653. Fmap1: [8]TFcChar32{
  24654. 0: uint32(0x40080022),
  24655. 1: uint32(0x5c100010),
  24656. 2: uint32(0xfcc80343),
  24657. 3: uint32(0x0580a1a5),
  24658. 4: uint32(0x04008433),
  24659. 5: uint32(0x6e080080),
  24660. 6: uint32(0x81262a4b),
  24661. 7: uint32(0x2901aad8),
  24662. },
  24663. },
  24664. 438: {
  24665. Fmap1: [8]TFcChar32{
  24666. 0: uint32(0x4490684d),
  24667. 1: uint32(0xba880009),
  24668. 2: uint32(0x00820040),
  24669. 3: uint32(0x87d10000),
  24670. 4: uint32(0xb1e6215b),
  24671. 5: uint32(0x80083161),
  24672. 6: uint32(0xc2400800),
  24673. 7: uint32(0xa600a069),
  24674. },
  24675. },
  24676. 439: {
  24677. Fmap1: [8]TFcChar32{
  24678. 0: uint32(0x4a328d58),
  24679. 1: uint32(0x550a5d71),
  24680. 2: uint32(0x2d579aa0),
  24681. 3: uint32(0x4aa64005),
  24682. 4: uint32(0x30b12021),
  24683. 5: uint32(0x01123fc6),
  24684. 6: uint32(0x260a10c2),
  24685. 7: uint32(0x50824462),
  24686. },
  24687. },
  24688. 440: {
  24689. Fmap1: [8]TFcChar32{
  24690. 0: uint32(0x80409880),
  24691. 1: uint32(0x810004c0),
  24692. 2: uint32(0x00002003),
  24693. 3: uint32(0x38180000),
  24694. 4: uint32(0xf1a60200),
  24695. 5: uint32(0x720e4434),
  24696. 6: uint32(0x92e035a2),
  24697. 7: uint32(0x09008101),
  24698. },
  24699. },
  24700. 441: {
  24701. Fmap1: [8]TFcChar32{
  24702. 0: uint32(0x00000400),
  24703. 1: uint32(0x00008885),
  24704. 3: uint32(0x00804000),
  24705. 5: uint32(0x00004040),
  24706. },
  24707. },
  24708. 442: {
  24709. Fmap1: [8]TFcChar32{
  24710. 1: uint32(0x08000000),
  24711. 2: uint32(0x00000082),
  24712. 4: uint32(0x88000004),
  24713. 5: uint32(0xe7efbfff),
  24714. 6: uint32(0xffbfffff),
  24715. 7: uint32(0xfdffefef),
  24716. },
  24717. },
  24718. 443: {
  24719. Fmap1: [8]TFcChar32{
  24720. 0: uint32(0xbffefbff),
  24721. 1: uint32(0x057fffff),
  24722. 2: uint32(0x85b30034),
  24723. 3: uint32(0x42164706),
  24724. 4: uint32(0xe4105402),
  24725. 5: uint32(0xb3058092),
  24726. 6: uint32(0x81305422),
  24727. 7: uint32(0x180b4263),
  24728. },
  24729. },
  24730. 444: {
  24731. Fmap1: [8]TFcChar32{
  24732. 0: uint32(0x13f5387b),
  24733. 1: uint32(0xa9ea07e5),
  24734. 2: uint32(0x05143c4c),
  24735. 3: uint32(0x80020600),
  24736. 4: uint32(0xbd481ad9),
  24737. 5: uint32(0xf496ee37),
  24738. 6: uint32(0x7ec0705f),
  24739. 7: uint32(0x355fbfb2),
  24740. },
  24741. },
  24742. 445: {
  24743. Fmap1: [8]TFcChar32{
  24744. 0: uint32(0x455fe644),
  24745. 1: uint32(0x41469000),
  24746. 2: uint32(0x063b1d40),
  24747. 3: uint32(0xfe1362a1),
  24748. 4: uint32(0x39028505),
  24749. 5: uint32(0x0c080548),
  24750. 6: uint32(0x0000144f),
  24751. 7: uint32(0x58183488),
  24752. },
  24753. },
  24754. 446: {
  24755. Fmap1: [8]TFcChar32{
  24756. 0: uint32(0xd8153077),
  24757. 1: uint32(0x4bfbbd0e),
  24758. 2: uint32(0x85008a90),
  24759. 3: uint32(0xe61dc100),
  24760. 4: uint32(0xb386ed14),
  24761. 5: uint32(0x639bff72),
  24762. 6: uint32(0xd9befd92),
  24763. 7: uint32(0x0a92887b),
  24764. },
  24765. },
  24766. 447: {
  24767. Fmap1: [8]TFcChar32{
  24768. 0: uint32(0x1cb2d3fe),
  24769. 1: uint32(0x177ab980),
  24770. 2: uint32(0xdc1782c9),
  24771. 3: uint32(0x3980fffb),
  24772. 4: uint32(0x590c4260),
  24773. 5: uint32(0x37df0f01),
  24774. 6: uint32(0xb15094a3),
  24775. 7: uint32(0x23070623),
  24776. },
  24777. },
  24778. 448: {
  24779. Fmap1: [8]TFcChar32{
  24780. 0: uint32(0x3102f85a),
  24781. 1: uint32(0x310201f0),
  24782. 2: uint32(0x1e820040),
  24783. 3: uint32(0x056a3a0a),
  24784. 4: uint32(0x12805b84),
  24785. 5: uint32(0xa7148002),
  24786. 6: uint32(0xa04b2612),
  24787. 7: uint32(0x90011069),
  24788. },
  24789. },
  24790. 449: {
  24791. Fmap1: [8]TFcChar32{
  24792. 0: uint32(0x848a1000),
  24793. 1: uint32(0x3f801802),
  24794. 2: uint32(0x42400708),
  24795. 3: uint32(0x4e140110),
  24796. 4: uint32(0x180080b0),
  24797. 5: uint32(0x0281c510),
  24798. 6: uint32(0x10298202),
  24799. 7: uint32(0x88000210),
  24800. },
  24801. },
  24802. 450: {
  24803. Fmap1: [8]TFcChar32{
  24804. 0: uint32(0x00420020),
  24805. 1: uint32(0x11000280),
  24806. 2: uint32(0x4413e000),
  24807. 3: uint32(0xfe025804),
  24808. 4: uint32(0x30283c07),
  24809. 5: uint32(0x04739798),
  24810. 6: uint32(0xcb13ced1),
  24811. 7: uint32(0x431f6210),
  24812. },
  24813. },
  24814. 451: {
  24815. Fmap1: [8]TFcChar32{
  24816. 0: uint32(0x55ac278d),
  24817. 1: uint32(0xc892422e),
  24818. 2: uint32(0x02885380),
  24819. 3: uint32(0x78514039),
  24820. 4: uint32(0x8088292c),
  24821. 5: uint32(0x2428b900),
  24822. 6: uint32(0x080e0c41),
  24823. 7: uint32(0x42004421),
  24824. },
  24825. },
  24826. 452: {
  24827. Fmap1: [8]TFcChar32{
  24828. 0: uint32(0x08680408),
  24829. 1: uint32(0x12040006),
  24830. 2: uint32(0x02903031),
  24831. 3: uint32(0xe0855b3e),
  24832. 4: uint32(0x10442936),
  24833. 5: uint32(0x10822814),
  24834. 6: uint32(0x83344266),
  24835. 7: uint32(0x531b013c),
  24836. },
  24837. },
  24838. 453: {
  24839. Fmap1: [8]TFcChar32{
  24840. 0: uint32(0x0e0d0404),
  24841. 1: uint32(0x00510c22),
  24842. 2: uint32(0xc0000012),
  24843. 3: uint32(0x88000040),
  24844. 4: uint32(0x0000004a),
  24845. 6: uint32(0x5447dff6),
  24846. 7: uint32(0x00088868),
  24847. },
  24848. },
  24849. 454: {
  24850. Fmap1: [8]TFcChar32{
  24851. 0: uint32(0x00000081),
  24852. 1: uint32(0x40000000),
  24853. 2: uint32(0x00000100),
  24854. 3: uint32(0x02000000),
  24855. 4: uint32(0x00080600),
  24856. },
  24857. },
  24858. 455: {
  24859. Fmap1: [8]TFcChar32{
  24860. 0: uint32(0x00000080),
  24861. 1: uint32(0x00000040),
  24862. 3: uint32(0x00001040),
  24863. 5: uint32(0xf7fdefff),
  24864. 6: uint32(0xfffeff7f),
  24865. 7: uint32(0xfffffbff),
  24866. },
  24867. },
  24868. 456: {
  24869. Fmap1: [8]TFcChar32{
  24870. 0: uint32(0xbffffdff),
  24871. 1: uint32(0x00ffffff),
  24872. 2: uint32(0x042012c2),
  24873. 3: uint32(0x07080c06),
  24874. 4: uint32(0x01101624),
  24875. },
  24876. },
  24877. 457: {
  24878. Fmap1: [8]TFcChar32{
  24879. 0: uint32(0xe0000000),
  24880. 1: uint32(0xfffffffe),
  24881. 2: uint32(0x7f79ffff),
  24882. 3: uint32(0x00f928df),
  24883. 4: uint32(0x80120c32),
  24884. 5: uint32(0xd53a0008),
  24885. 6: uint32(0xecc2d858),
  24886. 7: uint32(0x2fa89d18),
  24887. },
  24888. },
  24889. 458: {
  24890. Fmap1: [8]TFcChar32{
  24891. 0: uint32(0xe0109620),
  24892. 1: uint32(0x2622d60c),
  24893. 2: uint32(0x02060f97),
  24894. 3: uint32(0x9055b240),
  24895. 4: uint32(0x501180a2),
  24896. 5: uint32(0x04049800),
  24897. 6: uint32(0x00004000),
  24898. },
  24899. },
  24900. 459: {
  24901. Fmap1: [8]TFcChar32{
  24902. 3: uint32(0xfffffbc0),
  24903. 4: uint32(0xdffbeffe),
  24904. 5: uint32(0x62430b08),
  24905. 6: uint32(0xfb3b41b6),
  24906. 7: uint32(0x23896f74),
  24907. },
  24908. },
  24909. 460: {
  24910. Fmap1: [8]TFcChar32{
  24911. 0: uint32(0xecd7ae7f),
  24912. 1: uint32(0x5960e047),
  24913. 2: uint32(0x098fa096),
  24914. 3: uint32(0xa030612c),
  24915. 4: uint32(0x2aaa090d),
  24916. 5: uint32(0x4f7bd44e),
  24917. 6: uint32(0x388bc4b2),
  24918. 7: uint32(0x6110a9c6),
  24919. },
  24920. },
  24921. 461: {
  24922. Fmap1: [8]TFcChar32{
  24923. 0: uint32(0x42000014),
  24924. 1: uint32(0x0202800c),
  24925. 2: uint32(0x6485fe48),
  24926. 3: uint32(0xe3f7d63e),
  24927. 4: uint32(0x0c073aa0),
  24928. 5: uint32(0x0430e40c),
  24929. 6: uint32(0x1002f680),
  24930. },
  24931. },
  24932. 462: {
  24933. Fmap1: [8]TFcChar32{
  24934. 3: uint32(0x00100000),
  24935. 4: uint32(0x00004000),
  24936. 5: uint32(0x00004000),
  24937. 6: uint32(0x00000100),
  24938. },
  24939. },
  24940. 463: {
  24941. Fmap1: [8]TFcChar32{
  24942. 1: uint32(0x40000000),
  24943. 3: uint32(0x00000400),
  24944. 4: uint32(0x00008000),
  24945. 6: uint32(0x00400400),
  24946. },
  24947. },
  24948. 464: {
  24949. Fmap1: [8]TFcChar32{
  24950. 1: uint32(0x40000000),
  24951. 3: uint32(0x00000800),
  24952. 4: uint32(0xfebdffe0),
  24953. 5: uint32(0xffffffff),
  24954. 6: uint32(0xfbe77f7f),
  24955. 7: uint32(0xf7ffffbf),
  24956. },
  24957. },
  24958. 465: {
  24959. Fmap1: [8]TFcChar32{
  24960. 0: uint32(0xefffffff),
  24961. 1: uint32(0xdff7ff7e),
  24962. 2: uint32(0xfbdff6f7),
  24963. 3: uint32(0x804fbffe),
  24964. 7: uint32(0x7fffef00),
  24965. },
  24966. },
  24967. 466: {
  24968. Fmap1: [8]TFcChar32{
  24969. 0: uint32(0xb6f7ff7f),
  24970. 1: uint32(0xb87e4406),
  24971. 2: uint32(0x88313bf5),
  24972. 3: uint32(0x00f41796),
  24973. 4: uint32(0x1391a960),
  24974. 5: uint32(0x72490080),
  24975. 6: uint32(0x0024f2f3),
  24976. 7: uint32(0x42c88701),
  24977. },
  24978. },
  24979. 467: {
  24980. Fmap1: [8]TFcChar32{
  24981. 0: uint32(0x5048e3d3),
  24982. 1: uint32(0x43052400),
  24983. 2: uint32(0x4a4c0000),
  24984. 3: uint32(0x10580227),
  24985. 4: uint32(0x01162820),
  24986. 5: uint32(0x0014a809),
  24987. 7: uint32(0x00683ec0),
  24988. },
  24989. },
  24990. 468: {
  24991. Fmap1: [8]TFcChar32{
  24992. 3: uint32(0xffe00000),
  24993. 4: uint32(0xfddbb7ff),
  24994. 5: uint32(0x000000f7),
  24995. 6: uint32(0xc72e4000),
  24996. 7: uint32(0x00000180),
  24997. },
  24998. },
  24999. 469: {
  25000. Fmap1: [8]TFcChar32{
  25001. 0: uint32(0x00012000),
  25002. 1: uint32(0x00004000),
  25003. 2: uint32(0x00300000),
  25004. 3: uint32(0xb4f7ffa8),
  25005. 4: uint32(0x03ffadf3),
  25006. 5: uint32(0x00000120),
  25007. },
  25008. },
  25009. 470: {
  25010. Fmap1: [8]TFcChar32{
  25011. 3: uint32(0xfffbf000),
  25012. 4: uint32(0xfdcf9df7),
  25013. 5: uint32(0x15c301bf),
  25014. 6: uint32(0x810a1827),
  25015. 7: uint32(0x0a00a842),
  25016. },
  25017. },
  25018. 471: {
  25019. Fmap1: [8]TFcChar32{
  25020. 0: uint32(0x80088108),
  25021. 1: uint32(0x18048008),
  25022. 2: uint32(0x0012a3be),
  25023. },
  25024. },
  25025. 472: {
  25026. Fmap1: [8]TFcChar32{
  25027. 3: uint32(0x90000000),
  25028. 4: uint32(0xdc3769e6),
  25029. 5: uint32(0x3dff6bff),
  25030. 6: uint32(0xf3f9fcf8),
  25031. 7: uint32(0x00000004),
  25032. },
  25033. },
  25034. 473: {
  25035. Fmap1: [8]TFcChar32{
  25036. 0: uint32(0x80000000),
  25037. 1: uint32(0xe7eebf6f),
  25038. 2: uint32(0x5da2dffe),
  25039. 3: uint32(0xc00b3fd8),
  25040. 4: uint32(0xa00c0984),
  25041. 5: uint32(0x69100040),
  25042. 6: uint32(0xb912e210),
  25043. 7: uint32(0x5a0086a5),
  25044. },
  25045. },
  25046. 474: {
  25047. Fmap1: [8]TFcChar32{
  25048. 0: uint32(0x02896800),
  25049. 1: uint32(0x6a809005),
  25050. 2: uint32(0x00030010),
  25051. 3: uint32(0x80000000),
  25052. 4: uint32(0x8e001ff9),
  25053. 5: uint32(0x00000001),
  25054. },
  25055. },
  25056. 475: {
  25057. Fmap1: [8]TFcChar32{
  25058. 0: uint32(0x00000080),
  25059. },
  25060. },
  25061. 476: {
  25062. Fmap1: [8]TFcChar32{
  25063. 2: uint32(0x00001000),
  25064. 3: uint32(0x64080010),
  25065. 4: uint32(0x00480000),
  25066. 5: uint32(0x10000020),
  25067. 6: uint32(0x80000102),
  25068. 7: uint32(0x08000010),
  25069. },
  25070. },
  25071. 477: {
  25072. Fmap1: [8]TFcChar32{
  25073. 0: uint32(0x00000040),
  25074. 1: uint32(0x40000000),
  25075. 2: uint32(0x00020000),
  25076. 3: uint32(0x01852002),
  25077. 4: uint32(0x00800010),
  25078. 5: uint32(0x80002022),
  25079. 6: uint32(0x084444a2),
  25080. 7: uint32(0x480e0000),
  25081. },
  25082. },
  25083. 478: {
  25084. Fmap1: [8]TFcChar32{
  25085. 0: uint32(0x04000200),
  25086. 1: uint32(0x02202008),
  25087. 2: uint32(0x80004380),
  25088. 3: uint32(0x04000000),
  25089. 4: uint32(0x00000002),
  25090. 5: uint32(0x12231420),
  25091. 6: uint32(0x2058003a),
  25092. 7: uint32(0x00200060),
  25093. },
  25094. },
  25095. 479: {
  25096. Fmap1: [8]TFcChar32{
  25097. 0: uint32(0x10002508),
  25098. 1: uint32(0x040d0028),
  25099. 2: uint32(0x00000009),
  25100. 3: uint32(0x00008004),
  25101. 4: uint32(0x00800000),
  25102. 5: uint32(0x42000001),
  25103. 7: uint32(0x09040000),
  25104. },
  25105. },
  25106. 480: {
  25107. Fmap1: [8]TFcChar32{
  25108. 0: uint32(0x02008000),
  25109. 1: uint32(0x01402001),
  25110. 3: uint32(0x00000008),
  25111. 5: uint32(0x00000001),
  25112. 6: uint32(0x00021008),
  25113. 7: uint32(0x04000000),
  25114. },
  25115. },
  25116. 481: {
  25117. Fmap1: [8]TFcChar32{
  25118. 0: uint32(0x00100100),
  25119. 1: uint32(0x80040080),
  25120. 2: uint32(0x00002000),
  25121. 3: uint32(0x00000008),
  25122. 4: uint32(0x08040601),
  25123. 5: uint32(0x01000012),
  25124. 6: uint32(0x10000000),
  25125. 7: uint32(0x49001024),
  25126. },
  25127. },
  25128. 482: {
  25129. Fmap1: [8]TFcChar32{
  25130. 0: uint32(0x0180004a),
  25131. 1: uint32(0x00100600),
  25132. 2: uint32(0x50840800),
  25133. 3: uint32(0x000000c0),
  25134. 4: uint32(0x00800000),
  25135. 5: uint32(0x20000800),
  25136. 6: uint32(0x40000000),
  25137. 7: uint32(0x08050000),
  25138. },
  25139. },
  25140. 483: {
  25141. Fmap1: [8]TFcChar32{
  25142. 0: uint32(0x02004000),
  25143. 1: uint32(0x02000804),
  25144. 2: uint32(0x01000004),
  25145. 3: uint32(0x18060001),
  25146. 4: uint32(0x02400001),
  25147. 5: uint32(0x40000002),
  25148. 6: uint32(0x20800014),
  25149. 7: uint32(0x000c1000),
  25150. },
  25151. },
  25152. 484: {
  25153. Fmap1: [8]TFcChar32{
  25154. 0: uint32(0x00222000),
  25155. 2: uint32(0x00100000),
  25156. 6: uint32(0x10422800),
  25157. 7: uint32(0x00000800),
  25158. },
  25159. },
  25160. 485: {
  25161. Fmap1: [8]TFcChar32{
  25162. 0: uint32(0x20080000),
  25163. 1: uint32(0x00040000),
  25164. 2: uint32(0x80025040),
  25165. 3: uint32(0x20208604),
  25166. 4: uint32(0x00028020),
  25167. 5: uint32(0x80102020),
  25168. 6: uint32(0x080820c0),
  25169. 7: uint32(0x10880800),
  25170. },
  25171. },
  25172. 486: {
  25173. Fmap1: [8]TFcChar32{
  25174. 2: uint32(0x00200109),
  25175. 3: uint32(0x00100000),
  25176. 5: uint32(0x81022700),
  25177. 6: uint32(0x40c21404),
  25178. 7: uint32(0x84010882),
  25179. },
  25180. },
  25181. 487: {
  25182. Fmap1: [8]TFcChar32{
  25183. 0: uint32(0x00004010),
  25184. 2: uint32(0x03000000),
  25185. 3: uint32(0x00000008),
  25186. 4: uint32(0x00080000),
  25187. 6: uint32(0x10800001),
  25188. 7: uint32(0x06002020),
  25189. },
  25190. },
  25191. 488: {
  25192. Fmap1: [8]TFcChar32{
  25193. 0: uint32(0x00000010),
  25194. 1: uint32(0x02000000),
  25195. 2: uint32(0x00880020),
  25196. 3: uint32(0x00008424),
  25197. 5: uint32(0x88000000),
  25198. 6: uint32(0x81000100),
  25199. 7: uint32(0x04000000),
  25200. },
  25201. },
  25202. 489: {
  25203. Fmap1: [8]TFcChar32{
  25204. 0: uint32(0x00004218),
  25205. 1: uint32(0x00040000),
  25206. 3: uint32(0x80005080),
  25207. 4: uint32(0x00010000),
  25208. 5: uint32(0x00040000),
  25209. 6: uint32(0x08008000),
  25210. 7: uint32(0x02008000),
  25211. },
  25212. },
  25213. 490: {
  25214. Fmap1: [8]TFcChar32{
  25215. 0: uint32(0x00020000),
  25216. 2: uint32(0x00000001),
  25217. 3: uint32(0x04000401),
  25218. 4: uint32(0x00100000),
  25219. 5: uint32(0x12200004),
  25220. 7: uint32(0x18100000),
  25221. },
  25222. },
  25223. 491: {
  25224. Fmap1: [8]TFcChar32{
  25225. 1: uint32(0x00000800),
  25226. 3: uint32(0x00004000),
  25227. 4: uint32(0x00800000),
  25228. 5: uint32(0x04000000),
  25229. 6: uint32(0x82000002),
  25230. 7: uint32(0x00042000),
  25231. },
  25232. },
  25233. 492: {
  25234. Fmap1: [8]TFcChar32{
  25235. 0: uint32(0x00080006),
  25236. 3: uint32(0x04000000),
  25237. 4: uint32(0x80008000),
  25238. 5: uint32(0x00810001),
  25239. 6: uint32(0xa0000000),
  25240. 7: uint32(0x00100410),
  25241. },
  25242. },
  25243. 493: {
  25244. Fmap1: [8]TFcChar32{
  25245. 0: uint32(0x00400218),
  25246. 1: uint32(0x88084080),
  25247. 2: uint32(0x00260008),
  25248. 3: uint32(0x00800404),
  25249. 4: uint32(0x00000020),
  25250. 7: uint32(0x00000200),
  25251. },
  25252. },
  25253. 494: {
  25254. Fmap1: [8]TFcChar32{
  25255. 0: uint32(0x00a08048),
  25256. 2: uint32(0x08000000),
  25257. 3: uint32(0x04000000),
  25258. 6: uint32(0x00018000),
  25259. 7: uint32(0x00200000),
  25260. },
  25261. },
  25262. 495: {
  25263. Fmap1: [8]TFcChar32{
  25264. 0: uint32(0x01000000),
  25265. 3: uint32(0x10000000),
  25266. 6: uint32(0x00200000),
  25267. 7: uint32(0x00102000),
  25268. },
  25269. },
  25270. 496: {
  25271. Fmap1: [8]TFcChar32{
  25272. 0: uint32(0x00000801),
  25273. 3: uint32(0x00020000),
  25274. 4: uint32(0x08000000),
  25275. 5: uint32(0x00002000),
  25276. 6: uint32(0x20010000),
  25277. 7: uint32(0x04002000),
  25278. },
  25279. },
  25280. 497: {
  25281. Fmap1: [8]TFcChar32{
  25282. 0: uint32(0x40000040),
  25283. 1: uint32(0x50202400),
  25284. 2: uint32(0x000a0020),
  25285. 3: uint32(0x00040420),
  25286. 4: uint32(0x00000200),
  25287. 5: uint32(0x00000080),
  25288. 6: uint32(0x80000000),
  25289. 7: uint32(0x00000020),
  25290. },
  25291. },
  25292. 498: {
  25293. Fmap1: [8]TFcChar32{
  25294. 0: uint32(0x20008000),
  25295. 1: uint32(0x00200010),
  25296. 4: uint32(0x00400000),
  25297. 5: uint32(0x01100000),
  25298. 6: uint32(0x00020000),
  25299. 7: uint32(0x80000010),
  25300. },
  25301. },
  25302. 499: {
  25303. Fmap1: [8]TFcChar32{
  25304. 0: uint32(0x02000000),
  25305. 1: uint32(0x00801000),
  25306. 3: uint32(0x48058000),
  25307. 4: uint32(0x20c94000),
  25308. 5: uint32(0x60000000),
  25309. 6: uint32(0x00000001),
  25310. },
  25311. },
  25312. 500: {
  25313. Fmap1: [8]TFcChar32{
  25314. 0: uint32(0x00004090),
  25315. 1: uint32(0x48000000),
  25316. 2: uint32(0x08000000),
  25317. 3: uint32(0x28802000),
  25318. 4: uint32(0x00000002),
  25319. 5: uint32(0x00014000),
  25320. 6: uint32(0x00002000),
  25321. 7: uint32(0x00002002),
  25322. },
  25323. },
  25324. 501: {
  25325. Fmap1: [8]TFcChar32{
  25326. 0: uint32(0x00010200),
  25327. 1: uint32(0x00100000),
  25328. 3: uint32(0x00800000),
  25329. 4: uint32(0x10020000),
  25330. },
  25331. },
  25332. 502: {
  25333. Fmap1: [8]TFcChar32{
  25334. 0: uint32(0x00000010),
  25335. 1: uint32(0x00000402),
  25336. 2: uint32(0x0c000000),
  25337. 3: uint32(0x01000400),
  25338. 4: uint32(0x01000021),
  25339. 6: uint32(0x00004000),
  25340. 7: uint32(0x00004000),
  25341. },
  25342. },
  25343. 503: {
  25344. Fmap1: [8]TFcChar32{
  25345. 1: uint32(0x00800000),
  25346. 7: uint32(0x02000020),
  25347. },
  25348. },
  25349. 504: {
  25350. Fmap1: [8]TFcChar32{
  25351. 0: uint32(0x00000100),
  25352. 1: uint32(0x08000000),
  25353. 6: uint32(0x00002000),
  25354. },
  25355. },
  25356. 505: {
  25357. Fmap1: [8]TFcChar32{
  25358. 0: uint32(0x00006000),
  25359. 3: uint32(0x00000400),
  25360. 4: uint32(0x04000040),
  25361. 5: uint32(0x003c0180),
  25362. 6: uint32(0x00000200),
  25363. 7: uint32(0x00102000),
  25364. },
  25365. },
  25366. 506: {
  25367. Fmap1: [8]TFcChar32{
  25368. 0: uint32(0x00000800),
  25369. 1: uint32(0x101000c0),
  25370. 2: uint32(0x00800000),
  25371. 4: uint32(0x00008000),
  25372. 5: uint32(0x02200000),
  25373. 6: uint32(0x00020020),
  25374. },
  25375. },
  25376. 507: {
  25377. Fmap1: [8]TFcChar32{
  25378. 1: uint32(0x01000000),
  25379. 3: uint32(0x20100000),
  25380. 4: uint32(0x00080000),
  25381. 5: uint32(0x00000141),
  25382. 6: uint32(0x02001002),
  25383. 7: uint32(0x40400001),
  25384. },
  25385. },
  25386. 508: {
  25387. Fmap1: [8]TFcChar32{
  25388. 0: uint32(0x00580000),
  25389. 1: uint32(0x00000002),
  25390. 2: uint32(0x00003000),
  25391. 3: uint32(0x00002400),
  25392. 4: uint32(0x00988000),
  25393. 5: uint32(0x00040010),
  25394. 6: uint32(0x00002800),
  25395. 7: uint32(0x00000008),
  25396. },
  25397. },
  25398. 509: {
  25399. Fmap1: [8]TFcChar32{
  25400. 0: uint32(0x40080004),
  25401. 1: uint32(0x00000020),
  25402. 2: uint32(0x20080000),
  25403. 3: uint32(0x02060a00),
  25404. 4: uint32(0x00010040),
  25405. 5: uint32(0x14010200),
  25406. 6: uint32(0x40800000),
  25407. 7: uint32(0x08031000),
  25408. },
  25409. },
  25410. 510: {
  25411. Fmap1: [8]TFcChar32{
  25412. 0: uint32(0x40020020),
  25413. 1: uint32(0x0000202c),
  25414. 2: uint32(0x2014a008),
  25415. 4: uint32(0x80040200),
  25416. 5: uint32(0x82020012),
  25417. 6: uint32(0x00400000),
  25418. 7: uint32(0x20000000),
  25419. },
  25420. },
  25421. 511: {
  25422. Fmap1: [8]TFcChar32{
  25423. 2: uint32(0x00000004),
  25424. 3: uint32(0x04000000),
  25425. 6: uint32(0x40800100),
  25426. },
  25427. },
  25428. 512: {
  25429. Fmap1: [8]TFcChar32{
  25430. 0: uint32(0x00000008),
  25431. 1: uint32(0x04000040),
  25432. 2: uint32(0x00000001),
  25433. 3: uint32(0x000c0200),
  25434. 5: uint32(0x08000400),
  25435. 7: uint32(0x080c0001),
  25436. },
  25437. },
  25438. 513: {
  25439. Fmap1: [8]TFcChar32{
  25440. 0: uint32(0x00000400),
  25441. 3: uint32(0x00200000),
  25442. 4: uint32(0x80000000),
  25443. 5: uint32(0x00001000),
  25444. 6: uint32(0x00000200),
  25445. 7: uint32(0x01000800),
  25446. },
  25447. },
  25448. 514: {
  25449. Fmap1: [8]TFcChar32{
  25450. 1: uint32(0x00000800),
  25451. 3: uint32(0x40000000),
  25452. 7: uint32(0x04040000),
  25453. },
  25454. },
  25455. 515: {
  25456. Fmap1: [8]TFcChar32{
  25457. 2: uint32(0x00000040),
  25458. 3: uint32(0x00002000),
  25459. 4: uint32(0xa0000000),
  25460. 6: uint32(0x08000008),
  25461. 7: uint32(0x00080000),
  25462. },
  25463. },
  25464. 516: {
  25465. Fmap1: [8]TFcChar32{
  25466. 0: uint32(0x00000020),
  25467. 2: uint32(0x40000400),
  25468. 7: uint32(0x00008000),
  25469. },
  25470. },
  25471. 517: {
  25472. Fmap1: [8]TFcChar32{
  25473. 4: uint32(0x00000800),
  25474. 7: uint32(0x00200000),
  25475. },
  25476. },
  25477. 518: {
  25478. Fmap1: [8]TFcChar32{
  25479. 3: uint32(0x04000000),
  25480. 4: uint32(0x00000008),
  25481. 6: uint32(0x00010000),
  25482. 7: uint32(0x1b000000),
  25483. },
  25484. },
  25485. 519: {
  25486. Fmap1: [8]TFcChar32{
  25487. 0: uint32(0x00007000),
  25488. 2: uint32(0x10000000),
  25489. 5: uint32(0x00000080),
  25490. 6: uint32(0x80000000),
  25491. },
  25492. },
  25493. 520: {
  25494. Fmap1: [8]TFcChar32{
  25495. 1: uint32(0x00020000),
  25496. 3: uint32(0x00200000),
  25497. 4: uint32(0x40000000),
  25498. 5: uint32(0x00000010),
  25499. 6: uint32(0x00800000),
  25500. 7: uint32(0x00000008),
  25501. },
  25502. },
  25503. 521: {
  25504. Fmap1: [8]TFcChar32{
  25505. 2: uint32(0x02000000),
  25506. 3: uint32(0x20000010),
  25507. 4: uint32(0x00000080),
  25508. 6: uint32(0x00010000),
  25509. },
  25510. },
  25511. 522: {
  25512. Fmap1: [8]TFcChar32{
  25513. 1: uint32(0x02000000),
  25514. 4: uint32(0x20000000),
  25515. 5: uint32(0x00000040),
  25516. 6: uint32(0x00200028),
  25517. },
  25518. },
  25519. 523: {
  25520. Fmap1: [8]TFcChar32{
  25521. 1: uint32(0x00020000),
  25522. 3: uint32(0x02000000),
  25523. 5: uint32(0x02000000),
  25524. 6: uint32(0x40020000),
  25525. 7: uint32(0x51000040),
  25526. },
  25527. },
  25528. 524: {
  25529. Fmap1: [8]TFcChar32{
  25530. 0: uint32(0x00000080),
  25531. 1: uint32(0x04040000),
  25532. 3: uint32(0x10000000),
  25533. 4: uint32(0x00022000),
  25534. 5: uint32(0x00100000),
  25535. 6: uint32(0x20000000),
  25536. 7: uint32(0x00000082),
  25537. },
  25538. },
  25539. 525: {
  25540. Fmap1: [8]TFcChar32{
  25541. 0: uint32(0x40000000),
  25542. 1: uint32(0x00010000),
  25543. 2: uint32(0x00002000),
  25544. 4: uint32(0x00000240),
  25545. 7: uint32(0x00000008),
  25546. },
  25547. },
  25548. 526: {
  25549. Fmap1: [8]TFcChar32{
  25550. 1: uint32(0x00010000),
  25551. 2: uint32(0x00000810),
  25552. 3: uint32(0x00080880),
  25553. 4: uint32(0x00004000),
  25554. 7: uint32(0x00020000),
  25555. },
  25556. },
  25557. 527: {
  25558. Fmap1: [8]TFcChar32{
  25559. 1: uint32(0x00400020),
  25560. 3: uint32(0x00000082),
  25561. 5: uint32(0x00020001),
  25562. },
  25563. },
  25564. 528: {
  25565. Fmap1: [8]TFcChar32{
  25566. 0: uint32(0x40000018),
  25567. 1: uint32(0x00000004),
  25568. 4: uint32(0x01000000),
  25569. 5: uint32(0x00400000),
  25570. },
  25571. },
  25572. 529: {
  25573. Fmap1: [8]TFcChar32{
  25574. 0: uint32(0x00000001),
  25575. 1: uint32(0x00400000),
  25576. 3: uint32(0x00080002),
  25577. 4: uint32(0x00000400),
  25578. 5: uint32(0x00040000),
  25579. },
  25580. },
  25581. 530: {
  25582. Fmap1: [8]TFcChar32{
  25583. 0: uint32(0x00000800),
  25584. 1: uint32(0x00000800),
  25585. 6: uint32(0x00000100),
  25586. },
  25587. },
  25588. 531: {
  25589. Fmap1: [8]TFcChar32{
  25590. 1: uint32(0x00200000),
  25591. 3: uint32(0x04108000),
  25592. 7: uint32(0x00000002),
  25593. },
  25594. },
  25595. 532: {
  25596. Fmap1: [8]TFcChar32{
  25597. 1: uint32(0x02800000),
  25598. 2: uint32(0x04000000),
  25599. 5: uint32(0x00000004),
  25600. 7: uint32(0x00000400),
  25601. },
  25602. },
  25603. 533: {
  25604. Fmap1: [8]TFcChar32{
  25605. 2: uint32(0x10000000),
  25606. 3: uint32(0x00040000),
  25607. 4: uint32(0x00400000),
  25608. },
  25609. },
  25610. 534: {
  25611. Fmap1: [8]TFcChar32{
  25612. 0: uint32(0x00200000),
  25613. 1: uint32(0x00000200),
  25614. 3: uint32(0x10000000),
  25615. 6: uint32(0x2a000000),
  25616. },
  25617. },
  25618. 535: {
  25619. Fmap1: [8]TFcChar32{
  25620. 0: uint32(0x00400000),
  25621. 2: uint32(0x00400000),
  25622. 4: uint32(0x00000002),
  25623. 5: uint32(0x40000000),
  25624. 7: uint32(0x00400000),
  25625. },
  25626. },
  25627. 536: {
  25628. Fmap1: [8]TFcChar32{
  25629. 0: uint32(0x40000000),
  25630. 1: uint32(0x00001000),
  25631. 4: uint32(0x00000202),
  25632. 5: uint32(0x02000000),
  25633. 6: uint32(0x80000000),
  25634. 7: uint32(0x00020000),
  25635. },
  25636. },
  25637. 537: {
  25638. Fmap1: [8]TFcChar32{
  25639. 0: uint32(0x00000020),
  25640. 1: uint32(0x00000800),
  25641. 2: uint32(0x00020421),
  25642. 3: uint32(0x00020000),
  25643. 7: uint32(0x00400000),
  25644. },
  25645. },
  25646. 538: {
  25647. Fmap1: [8]TFcChar32{
  25648. 0: uint32(0x00200000),
  25649. 2: uint32(0x00000001),
  25650. 4: uint32(0x00000084),
  25651. },
  25652. },
  25653. 539: {
  25654. Fmap1: [8]TFcChar32{
  25655. 1: uint32(0x00004400),
  25656. 2: uint32(0x00000002),
  25657. 3: uint32(0x00100000),
  25658. 6: uint32(0x00008200),
  25659. },
  25660. },
  25661. 540: {
  25662. Fmap1: [8]TFcChar32{
  25663. 1: uint32(0x12000000),
  25664. 2: uint32(0x00000100),
  25665. 3: uint32(0x00000001),
  25666. },
  25667. },
  25668. 541: {
  25669. Fmap1: [8]TFcChar32{
  25670. 0: uint32(0x00000020),
  25671. 1: uint32(0x08100000),
  25672. 2: uint32(0x000a0400),
  25673. 3: uint32(0x00000081),
  25674. 4: uint32(0x00006000),
  25675. 5: uint32(0x00120000),
  25676. },
  25677. },
  25678. 542: {
  25679. Fmap1: [8]TFcChar32{
  25680. 0: uint32(0x00000004),
  25681. 1: uint32(0x08000000),
  25682. 2: uint32(0x00004000),
  25683. 3: uint32(0x044000c0),
  25684. },
  25685. },
  25686. 543: {
  25687. Fmap1: [8]TFcChar32{
  25688. 0: uint32(0x40001000),
  25689. 2: uint32(0x01000001),
  25690. 3: uint32(0x05000000),
  25691. 4: uint32(0x00080000),
  25692. 5: uint32(0x02000000),
  25693. 6: uint32(0x00000800),
  25694. },
  25695. },
  25696. 544: {
  25697. Fmap1: [8]TFcChar32{
  25698. 0: uint32(0x00000100),
  25699. 4: uint32(0x00002002),
  25700. 5: uint32(0x01020000),
  25701. 6: uint32(0x00800000),
  25702. },
  25703. },
  25704. 545: {
  25705. Fmap1: [8]TFcChar32{
  25706. 0: uint32(0x00000040),
  25707. 1: uint32(0x00004000),
  25708. 2: uint32(0x01000000),
  25709. 3: uint32(0x00000004),
  25710. 4: uint32(0x00020000),
  25711. 6: uint32(0x00000010),
  25712. },
  25713. },
  25714. 546: {
  25715. Fmap1: [8]TFcChar32{
  25716. 4: uint32(0x00080000),
  25717. 5: uint32(0x00010000),
  25718. 6: uint32(0x30000300),
  25719. 7: uint32(0x00000400),
  25720. },
  25721. },
  25722. 547: {
  25723. Fmap1: [8]TFcChar32{
  25724. 0: uint32(0x00000800),
  25725. 1: uint32(0x02000000),
  25726. 3: uint32(0x00008000),
  25727. },
  25728. },
  25729. 548: {
  25730. Fmap1: [8]TFcChar32{
  25731. 0: uint32(0x00200000),
  25732. 5: uint32(0x000040c0),
  25733. 6: uint32(0x00002200),
  25734. 7: uint32(0x12002000),
  25735. },
  25736. },
  25737. 549: {
  25738. Fmap1: [8]TFcChar32{
  25739. 1: uint32(0x00000020),
  25740. 2: uint32(0x20000000),
  25741. 4: uint32(0x00000200),
  25742. 5: uint32(0x00080800),
  25743. 6: uint32(0x1000a000),
  25744. },
  25745. },
  25746. 550: {
  25747. Fmap1: [8]TFcChar32{
  25748. 3: uint32(0x00004000),
  25749. },
  25750. },
  25751. 551: {
  25752. Fmap1: [8]TFcChar32{
  25753. 2: uint32(0x00004280),
  25754. 3: uint32(0x01000000),
  25755. 4: uint32(0x00800000),
  25756. 5: uint32(0x00000008),
  25757. },
  25758. },
  25759. 552: {
  25760. Fmap1: [8]TFcChar32{
  25761. 3: uint32(0x00000002),
  25762. 5: uint32(0x20400000),
  25763. 6: uint32(0x00000040),
  25764. },
  25765. },
  25766. 553: {
  25767. Fmap1: [8]TFcChar32{
  25768. 0: uint32(0x00800080),
  25769. 1: uint32(0x00800000),
  25770. 5: uint32(0x00400020),
  25771. 7: uint32(0x00008000),
  25772. },
  25773. },
  25774. 554: {
  25775. Fmap1: [8]TFcChar32{
  25776. 0: uint32(0x01000000),
  25777. 1: uint32(0x00000040),
  25778. 3: uint32(0x00400000),
  25779. 5: uint32(0x00000440),
  25780. 7: uint32(0x00800000),
  25781. },
  25782. },
  25783. 555: {
  25784. Fmap1: [8]TFcChar32{
  25785. 0: uint32(0x01000000),
  25786. 6: uint32(0x00080000),
  25787. },
  25788. },
  25789. 556: {
  25790. Fmap1: [8]TFcChar32{
  25791. 0: uint32(0x01000000),
  25792. 1: uint32(0x00000001),
  25793. 3: uint32(0x00020000),
  25794. 5: uint32(0x20002000),
  25795. 7: uint32(0x00000004),
  25796. },
  25797. },
  25798. 557: {
  25799. Fmap1: [8]TFcChar32{
  25800. 0: uint32(0x00000008),
  25801. 1: uint32(0x00100000),
  25802. 3: uint32(0x00010000),
  25803. },
  25804. },
  25805. 558: {
  25806. Fmap1: [8]TFcChar32{
  25807. 0: uint32(0x00000004),
  25808. 1: uint32(0x00008000),
  25809. 7: uint32(0x00008000),
  25810. },
  25811. },
  25812. 559: {
  25813. Fmap1: [8]TFcChar32{
  25814. 4: uint32(0x00000040),
  25815. 6: uint32(0x00004000),
  25816. },
  25817. },
  25818. 560: {
  25819. Fmap1: [8]TFcChar32{
  25820. 0: uint32(0x00000010),
  25821. 1: uint32(0x00002000),
  25822. 2: uint32(0x40000040),
  25823. 4: uint32(0x10000000),
  25824. 6: uint32(0x00008080),
  25825. },
  25826. },
  25827. 561: {
  25828. Fmap1: [8]TFcChar32{
  25829. 2: uint32(0x00000080),
  25830. 4: uint32(0x00100080),
  25831. 5: uint32(0x000000a0),
  25832. },
  25833. },
  25834. 562: {
  25835. Fmap1: [8]TFcChar32{
  25836. 4: uint32(0x00100000),
  25837. },
  25838. },
  25839. 563: {
  25840. Fmap1: [8]TFcChar32{
  25841. 2: uint32(0x00001000),
  25842. 4: uint32(0x0001000a),
  25843. },
  25844. },
  25845. 564: {
  25846. Fmap1: [8]TFcChar32{
  25847. 6: uint32(0x08002000),
  25848. },
  25849. },
  25850. 565: {
  25851. Fmap1: [8]TFcChar32{
  25852. 0: uint32(0x00000808),
  25853. },
  25854. },
  25855. 566: {
  25856. Fmap1: [8]TFcChar32{
  25857. 0: uint32(0x00004000),
  25858. 1: uint32(0x00002400),
  25859. 2: uint32(0x00008000),
  25860. 3: uint32(0x40000000),
  25861. 4: uint32(0x00000001),
  25862. 5: uint32(0x00002000),
  25863. 6: uint32(0x04000000),
  25864. 7: uint32(0x00040004),
  25865. },
  25866. },
  25867. 567: {
  25868. Fmap1: [8]TFcChar32{
  25869. 1: uint32(0x00002000),
  25870. 5: uint32(0x1c200000),
  25871. 7: uint32(0x02000000),
  25872. },
  25873. },
  25874. 568: {
  25875. Fmap1: [8]TFcChar32{
  25876. 1: uint32(0x00080000),
  25877. 2: uint32(0x00400000),
  25878. 3: uint32(0x00000002),
  25879. 5: uint32(0x00000100),
  25880. },
  25881. },
  25882. 569: {
  25883. Fmap1: [8]TFcChar32{
  25884. 3: uint32(0x00400000),
  25885. },
  25886. },
  25887. 570: {
  25888. Fmap1: [8]TFcChar32{
  25889. 0: uint32(0x00004100),
  25890. 1: uint32(0x00000400),
  25891. 2: uint32(0x20200010),
  25892. 3: uint32(0x00004004),
  25893. 5: uint32(0x42000000),
  25894. },
  25895. },
  25896. 571: {
  25897. Fmap1: [8]TFcChar32{
  25898. 0: uint32(0x00000080),
  25899. 2: uint32(0x00000121),
  25900. 3: uint32(0x00000200),
  25901. 4: uint32(0x000000b0),
  25902. 5: uint32(0x80002000),
  25903. 7: uint32(0x00010000),
  25904. },
  25905. },
  25906. 572: {
  25907. Fmap1: [8]TFcChar32{
  25908. 0: uint32(0x00000010),
  25909. 1: uint32(0x000000c0),
  25910. 2: uint32(0x08100000),
  25911. 3: uint32(0x00000020),
  25912. },
  25913. },
  25914. 573: {
  25915. Fmap1: [8]TFcChar32{
  25916. 4: uint32(0x02000000),
  25917. 5: uint32(0x00000404),
  25918. },
  25919. },
  25920. 574: {
  25921. Fmap1: [8]TFcChar32{
  25922. 4: uint32(0x00400000),
  25923. 5: uint32(0x00000008),
  25924. },
  25925. },
  25926. 575: {
  25927. Fmap1: [8]TFcChar32{
  25928. 1: uint32(0x00000002),
  25929. 2: uint32(0x00020000),
  25930. 3: uint32(0x00002000),
  25931. 7: uint32(0x00204000),
  25932. },
  25933. },
  25934. 576: {
  25935. Fmap1: [8]TFcChar32{
  25936. 1: uint32(0x00100000),
  25937. 5: uint32(0x00800000),
  25938. 6: uint32(0x00000100),
  25939. 7: uint32(0x00000001),
  25940. },
  25941. },
  25942. 577: {
  25943. Fmap1: [8]TFcChar32{
  25944. 0: uint32(0x10000000),
  25945. 1: uint32(0x01000000),
  25946. 2: uint32(0x00002400),
  25947. 3: uint32(0x00000004),
  25948. 6: uint32(0x00000020),
  25949. 7: uint32(0x00000002),
  25950. },
  25951. },
  25952. 578: {
  25953. Fmap1: [8]TFcChar32{
  25954. 0: uint32(0x00010000),
  25955. },
  25956. },
  25957. 579: {
  25958. Fmap1: [8]TFcChar32{
  25959. 1: uint32(0x00002400),
  25960. 4: uint32(0x00004802),
  25961. 7: uint32(0x80022000),
  25962. },
  25963. },
  25964. 580: {
  25965. Fmap1: [8]TFcChar32{
  25966. 0: uint32(0x00001004),
  25967. 1: uint32(0x04208000),
  25968. 2: uint32(0x20000020),
  25969. 3: uint32(0x00040000),
  25970. },
  25971. },
  25972. 581: {
  25973. Fmap1: [8]TFcChar32{
  25974. 1: uint32(0x00100000),
  25975. 2: uint32(0x40010000),
  25976. 4: uint32(0x00080000),
  25977. 6: uint32(0x00100211),
  25978. },
  25979. },
  25980. 582: {
  25981. Fmap1: [8]TFcChar32{
  25982. 0: uint32(0x00001400),
  25983. 4: uint32(0x00610000),
  25984. 5: uint32(0x80008c00),
  25985. },
  25986. },
  25987. 583: {
  25988. Fmap1: [8]TFcChar32{
  25989. 0: uint32(0x00000100),
  25990. 1: uint32(0x00000040),
  25991. 3: uint32(0x00000004),
  25992. 4: uint32(0x00004000),
  25993. },
  25994. },
  25995. 584: {
  25996. Fmap1: [8]TFcChar32{
  25997. 6: uint32(0x00000400),
  25998. },
  25999. },
  26000. 585: {
  26001. Fmap1: [8]TFcChar32{
  26002. 5: uint32(0x00000210),
  26003. },
  26004. },
  26005. 586: {
  26006. Fmap1: [8]TFcChar32{
  26007. 1: uint32(0x00000020),
  26008. 2: uint32(0x00000002),
  26009. },
  26010. },
  26011. 587: {
  26012. Fmap1: [8]TFcChar32{
  26013. 0: uint32(0x00004000),
  26014. 3: uint32(0x02000000),
  26015. },
  26016. },
  26017. 588: {
  26018. Fmap1: [8]TFcChar32{
  26019. 2: uint32(0x00080002),
  26020. 3: uint32(0x01000020),
  26021. 4: uint32(0x00400000),
  26022. 5: uint32(0x00200000),
  26023. 6: uint32(0x00008000),
  26024. },
  26025. },
  26026. 589: {
  26027. Fmap1: [8]TFcChar32{
  26028. 1: uint32(0x00020000),
  26029. 3: uint32(0xc0020000),
  26030. 4: uint32(0x10000000),
  26031. 5: uint32(0x00000080),
  26032. },
  26033. },
  26034. 590: {
  26035. Fmap1: [8]TFcChar32{
  26036. 0: uint32(0x00000210),
  26037. 2: uint32(0x00001000),
  26038. 3: uint32(0x04480000),
  26039. 4: uint32(0x20000000),
  26040. 5: uint32(0x00000004),
  26041. 6: uint32(0x00800000),
  26042. 7: uint32(0x02000000),
  26043. },
  26044. },
  26045. 591: {
  26046. Fmap1: [8]TFcChar32{
  26047. 1: uint32(0x08006000),
  26048. 2: uint32(0x00001000),
  26049. 5: uint32(0x00100000),
  26050. 7: uint32(0x00000400),
  26051. },
  26052. },
  26053. 592: {
  26054. Fmap1: [8]TFcChar32{
  26055. 0: uint32(0x00100000),
  26056. 2: uint32(0x10000000),
  26057. 3: uint32(0x08608000),
  26058. 6: uint32(0x00080002),
  26059. },
  26060. },
  26061. 593: {
  26062. Fmap1: [8]TFcChar32{
  26063. 1: uint32(0x20000000),
  26064. 2: uint32(0x00008020),
  26065. },
  26066. },
  26067. 594: {
  26068. Fmap1: [8]TFcChar32{
  26069. 3: uint32(0x10000000),
  26070. },
  26071. },
  26072. 595: {
  26073. Fmap1: [8]TFcChar32{
  26074. 1: uint32(0x00100000),
  26075. },
  26076. },
  26077. 596: {
  26078. Fmap1: [8]TFcChar32{
  26079. 1: uint32(0x00000400),
  26080. },
  26081. },
  26082. 597: {
  26083. Fmap1: [8]TFcChar32{
  26084. 7: uint32(0x02000000),
  26085. },
  26086. },
  26087. 598: {
  26088. Fmap1: [8]TFcChar32{
  26089. 6: uint32(0x00000080),
  26090. },
  26091. },
  26092. 599: {
  26093. Fmap1: [8]TFcChar32{
  26094. 5: uint32(0x00000002),
  26095. },
  26096. },
  26097. 600: {
  26098. Fmap1: [8]TFcChar32{
  26099. 6: uint32(0x00008000),
  26100. },
  26101. },
  26102. 601: {
  26103. Fmap1: [8]TFcChar32{
  26104. 2: uint32(0x00000008),
  26105. 6: uint32(0x00000400),
  26106. },
  26107. },
  26108. 602: {
  26109. Fmap1: [8]TFcChar32{
  26110. 2: uint32(0x00220000),
  26111. 3: uint32(0x00000004),
  26112. 5: uint32(0x00040000),
  26113. 6: uint32(0x00000004),
  26114. },
  26115. },
  26116. 603: {
  26117. Fmap1: [8]TFcChar32{
  26118. 2: uint32(0x00001000),
  26119. 3: uint32(0x00000080),
  26120. 4: uint32(0x00002000),
  26121. 7: uint32(0x00004000),
  26122. },
  26123. },
  26124. 604: {
  26125. Fmap1: [8]TFcChar32{
  26126. 3: uint32(0x00100000),
  26127. },
  26128. },
  26129. 605: {
  26130. Fmap1: [8]TFcChar32{
  26131. 4: uint32(0x00200000),
  26132. },
  26133. },
  26134. 606: {
  26135. Fmap1: [8]TFcChar32{
  26136. 5: uint32(0x04000000),
  26137. },
  26138. },
  26139. 607: {
  26140. Fmap1: [8]TFcChar32{
  26141. 4: uint32(0x00000200),
  26142. },
  26143. },
  26144. 608: {
  26145. Fmap1: [8]TFcChar32{
  26146. 4: uint32(0x00000001),
  26147. },
  26148. },
  26149. 609: {
  26150. Fmap1: [8]TFcChar32{
  26151. 6: uint32(0x00080000),
  26152. },
  26153. },
  26154. 610: {
  26155. Fmap1: [8]TFcChar32{
  26156. 5: uint32(0x01000000),
  26157. 7: uint32(0x00000400),
  26158. },
  26159. },
  26160. 611: {
  26161. Fmap1: [8]TFcChar32{
  26162. 5: uint32(0x00000080),
  26163. },
  26164. },
  26165. 612: {
  26166. Fmap1: [8]TFcChar32{
  26167. 1: uint32(0x00000800),
  26168. 2: uint32(0x00000100),
  26169. 3: uint32(0x40000000),
  26170. },
  26171. },
  26172. 613: {
  26173. Fmap1: [8]TFcChar32{
  26174. 1: uint32(0x00200000),
  26175. },
  26176. },
  26177. 614: {
  26178. Fmap1: [8]TFcChar32{
  26179. 2: uint32(0x01000000),
  26180. },
  26181. },
  26182. 615: {
  26183. Fmap1: [8]TFcChar32{
  26184. 6: uint32(0x04000000),
  26185. },
  26186. },
  26187. 616: {
  26188. Fmap1: [8]TFcChar32{
  26189. 6: uint32(0x00001000),
  26190. },
  26191. },
  26192. 617: {
  26193. Fmap1: [8]TFcChar32{
  26194. 4: uint32(0x00000400),
  26195. },
  26196. },
  26197. 618: {
  26198. Fmap1: [8]TFcChar32{
  26199. 7: uint32(0x04040000),
  26200. },
  26201. },
  26202. 619: {
  26203. Fmap1: [8]TFcChar32{
  26204. 4: uint32(0x00000020),
  26205. },
  26206. },
  26207. 620: {
  26208. Fmap1: [8]TFcChar32{
  26209. 2: uint32(0x00800000),
  26210. },
  26211. },
  26212. 621: {
  26213. Fmap1: [8]TFcChar32{
  26214. 1: uint32(0x00200000),
  26215. 2: uint32(0x40000000),
  26216. },
  26217. },
  26218. 622: {
  26219. Fmap1: [8]TFcChar32{
  26220. 4: uint32(0x20000000),
  26221. },
  26222. },
  26223. 623: {
  26224. Fmap1: [8]TFcChar32{
  26225. 3: uint32(0x04000000),
  26226. 5: uint32(0x00000001),
  26227. },
  26228. },
  26229. 624: {
  26230. Fmap1: [8]TFcChar32{
  26231. 1: uint32(0x40000000),
  26232. 2: uint32(0x02000000),
  26233. },
  26234. },
  26235. 625: {
  26236. Fmap1: [8]TFcChar32{
  26237. 3: uint32(0x00080000),
  26238. },
  26239. },
  26240. 626: {
  26241. Fmap1: [8]TFcChar32{
  26242. 1: uint32(0x00000010),
  26243. 5: uint32(0x20000000),
  26244. },
  26245. },
  26246. 627: {
  26247. Fmap1: [8]TFcChar32{
  26248. 2: uint32(0x20000000),
  26249. },
  26250. },
  26251. 628: {
  26252. Fmap1: [8]TFcChar32{
  26253. 0: uint32(0x00000080),
  26254. 7: uint32(0x00000004),
  26255. },
  26256. },
  26257. 629: {
  26258. Fmap1: [8]TFcChar32{
  26259. 3: uint32(0x00002000),
  26260. },
  26261. },
  26262. 630: {
  26263. Fmap1: [8]TFcChar32{
  26264. 6: uint32(0x10000001),
  26265. },
  26266. },
  26267. 631: {
  26268. Fmap1: [8]TFcChar32{
  26269. 0: uint32(0x00008000),
  26270. },
  26271. },
  26272. 632: {
  26273. Fmap1: [8]TFcChar32{
  26274. 2: uint32(0x00004040),
  26275. },
  26276. },
  26277. 633: {
  26278. Fmap1: [8]TFcChar32{
  26279. 6: uint32(0x00042400),
  26280. },
  26281. },
  26282. 634: {
  26283. Fmap1: [8]TFcChar32{
  26284. 4: uint32(0x02000000),
  26285. },
  26286. },
  26287. 635: {
  26288. Fmap1: [8]TFcChar32{
  26289. 7: uint32(0x00000080),
  26290. },
  26291. },
  26292. 636: {
  26293. Fmap1: [8]TFcChar32{
  26294. 7: uint32(0x00000020),
  26295. },
  26296. },
  26297. 637: {
  26298. Fmap1: [8]TFcChar32{
  26299. 1: uint32(0x00000001),
  26300. },
  26301. },
  26302. 638: {
  26303. Fmap1: [8]TFcChar32{
  26304. 6: uint32(0x00020000),
  26305. },
  26306. },
  26307. 639: {
  26308. Fmap1: [8]TFcChar32{
  26309. 2: uint32(0x00002000),
  26310. },
  26311. },
  26312. 640: {
  26313. Fmap1: [8]TFcChar32{
  26314. 4: uint32(0x01000000),
  26315. },
  26316. },
  26317. 641: {
  26318. Fmap1: [8]TFcChar32{
  26319. 1: uint32(0x00040000),
  26320. 2: uint32(0x08000000),
  26321. },
  26322. },
  26323. 642: {
  26324. Fmap1: [8]TFcChar32{
  26325. 0: uint32(0xc373ff8b),
  26326. 1: uint32(0x1b0f6840),
  26327. 2: uint32(0xf34ce9ac),
  26328. 3: uint32(0xc0080200),
  26329. 4: uint32(0xca3e795c),
  26330. 5: uint32(0x06487976),
  26331. 6: uint32(0xf7f02fdf),
  26332. 7: uint32(0xa8ff033a),
  26333. },
  26334. },
  26335. 643: {
  26336. Fmap1: [8]TFcChar32{
  26337. 0: uint32(0x233fef37),
  26338. 1: uint32(0xfd59b004),
  26339. 2: uint32(0xfffff3ca),
  26340. 3: uint32(0xfff9de9f),
  26341. 4: uint32(0x7df7abff),
  26342. 5: uint32(0x8eecc000),
  26343. 6: uint32(0xffdbeebf),
  26344. 7: uint32(0x45fad003),
  26345. },
  26346. },
  26347. 644: {
  26348. Fmap1: [8]TFcChar32{
  26349. 0: uint32(0xdffefae1),
  26350. 1: uint32(0x10abbfef),
  26351. 2: uint32(0xfcaaffeb),
  26352. 3: uint32(0x24fdef3f),
  26353. 4: uint32(0x7f7678ad),
  26354. 5: uint32(0xedfff00c),
  26355. 6: uint32(0x2cfacff6),
  26356. 7: uint32(0xeb6bf7f9),
  26357. },
  26358. },
  26359. 645: {
  26360. Fmap1: [8]TFcChar32{
  26361. 0: uint32(0x95bf1ffd),
  26362. 1: uint32(0xbfbf6677),
  26363. 2: uint32(0xfeb43bfb),
  26364. 3: uint32(0x11e27bae),
  26365. 4: uint32(0x41bea681),
  26366. 5: uint32(0x72c31435),
  26367. 6: uint32(0x71917d70),
  26368. 7: uint32(0x276b0003),
  26369. },
  26370. },
  26371. 646: {
  26372. Fmap1: [8]TFcChar32{
  26373. 0: uint32(0x70cf57cb),
  26374. 1: uint32(0x0def4732),
  26375. 2: uint32(0xfc747eda),
  26376. 3: uint32(0xbdb4fe06),
  26377. 4: uint32(0x8bca3f9f),
  26378. 5: uint32(0x58007e49),
  26379. 6: uint32(0xebec228f),
  26380. 7: uint32(0xddbb8a5c),
  26381. },
  26382. },
  26383. 647: {
  26384. Fmap1: [8]TFcChar32{
  26385. 0: uint32(0xb6e7ef60),
  26386. 1: uint32(0xf293a40f),
  26387. 2: uint32(0x549e37bb),
  26388. 3: uint32(0x9bafd04b),
  26389. 4: uint32(0xf7d4c414),
  26390. 5: uint32(0x0a1430b0),
  26391. 6: uint32(0x88d02f08),
  26392. 7: uint32(0x192fff7e),
  26393. },
  26394. },
  26395. 648: {
  26396. Fmap1: [8]TFcChar32{
  26397. 0: uint32(0xfb07ffda),
  26398. 1: uint32(0x7beb7ff1),
  26399. 2: uint32(0x0010c5ef),
  26400. 3: uint32(0xfdff99ff),
  26401. 4: uint32(0x056779d7),
  26402. 5: uint32(0xfdcbffe7),
  26403. 6: uint32(0x4040c3ff),
  26404. 7: uint32(0xbd8e6ff7),
  26405. },
  26406. },
  26407. 649: {
  26408. Fmap1: [8]TFcChar32{
  26409. 0: uint32(0x0497dffa),
  26410. 1: uint32(0x5bfff4c0),
  26411. 2: uint32(0xd0e7ed7b),
  26412. 3: uint32(0xf8e0047e),
  26413. 4: uint32(0xb73eff9f),
  26414. 5: uint32(0x882e7dfe),
  26415. 6: uint32(0xbe7ffffd),
  26416. 7: uint32(0xf6c483fe),
  26417. },
  26418. },
  26419. 650: {
  26420. Fmap1: [8]TFcChar32{
  26421. 0: uint32(0xb8fdf357),
  26422. 1: uint32(0xef7dd680),
  26423. 2: uint32(0x47885767),
  26424. 3: uint32(0xc3dfff7d),
  26425. 4: uint32(0x37a9f0ff),
  26426. 5: uint32(0x70fc7de0),
  26427. 6: uint32(0xec9a3f6f),
  26428. 7: uint32(0x86814cb3),
  26429. },
  26430. },
  26431. 651: {
  26432. Fmap1: [8]TFcChar32{
  26433. 0: uint32(0xdd5c3f9e),
  26434. 1: uint32(0x4819f70d),
  26435. 2: uint32(0x0007fea3),
  26436. 3: uint32(0x38ffaf56),
  26437. 4: uint32(0xefb8980d),
  26438. 5: uint32(0xb760403d),
  26439. 6: uint32(0x9035d8ce),
  26440. 7: uint32(0x3fff72bf),
  26441. },
  26442. },
  26443. 652: {
  26444. Fmap1: [8]TFcChar32{
  26445. 0: uint32(0x7a117ff7),
  26446. 1: uint32(0xabfff7bb),
  26447. 2: uint32(0x6fbeff00),
  26448. 3: uint32(0xfe72a93c),
  26449. 4: uint32(0xf11bcfef),
  26450. 5: uint32(0xf40adb6b),
  26451. 6: uint32(0xef7ec3e6),
  26452. 7: uint32(0xf6109b9c),
  26453. },
  26454. },
  26455. 653: {
  26456. Fmap1: [8]TFcChar32{
  26457. 0: uint32(0x16f4f048),
  26458. 1: uint32(0x5182feb5),
  26459. 2: uint32(0x15bbc7b1),
  26460. 3: uint32(0xfbdf6e87),
  26461. 4: uint32(0x63cde43f),
  26462. 5: uint32(0x7e7ec1ff),
  26463. 6: uint32(0x7d5ffdeb),
  26464. 7: uint32(0xfcfe777b),
  26465. },
  26466. },
  26467. 654: {
  26468. Fmap1: [8]TFcChar32{
  26469. 0: uint32(0xdbea960b),
  26470. 1: uint32(0x53e86229),
  26471. 2: uint32(0xfdef37df),
  26472. 3: uint32(0xbd8136f5),
  26473. 4: uint32(0xfcbddc18),
  26474. 5: uint32(0xffffd2e4),
  26475. 6: uint32(0xffe03fd7),
  26476. 7: uint32(0xabf87f6f),
  26477. },
  26478. },
  26479. 655: {
  26480. Fmap1: [8]TFcChar32{
  26481. 0: uint32(0x6ed99bae),
  26482. 1: uint32(0xf115f5fb),
  26483. 2: uint32(0xbdfb79a9),
  26484. 3: uint32(0xadaf5a3c),
  26485. 4: uint32(0x1facdbba),
  26486. 5: uint32(0x837971fc),
  26487. 6: uint32(0xc35f7cf7),
  26488. 7: uint32(0x0567dfff),
  26489. },
  26490. },
  26491. 656: {
  26492. Fmap1: [8]TFcChar32{
  26493. 0: uint32(0x8467ff9a),
  26494. 1: uint32(0xdf8b1534),
  26495. 2: uint32(0x3373f9f3),
  26496. 3: uint32(0x5e1af7bd),
  26497. 4: uint32(0xa03fbf40),
  26498. 5: uint32(0x01ebffff),
  26499. 6: uint32(0xcfdddfc0),
  26500. 7: uint32(0xabd37500),
  26501. },
  26502. },
  26503. 657: {
  26504. Fmap1: [8]TFcChar32{
  26505. 0: uint32(0xeed6f8c3),
  26506. 1: uint32(0xb7ff43fd),
  26507. 2: uint32(0x42275eaf),
  26508. 3: uint32(0xf6869bac),
  26509. 4: uint32(0xf6bc27d7),
  26510. 5: uint32(0x35b7f787),
  26511. 6: uint32(0xe176aacd),
  26512. 7: uint32(0xe29f49e7),
  26513. },
  26514. },
  26515. 658: {
  26516. Fmap1: [8]TFcChar32{
  26517. 0: uint32(0xaff2545c),
  26518. 1: uint32(0x61d82b3f),
  26519. 2: uint32(0xbbb8fc3b),
  26520. 3: uint32(0x7b7dffcf),
  26521. 4: uint32(0x1ce0bf95),
  26522. 5: uint32(0x43ff7dfd),
  26523. 6: uint32(0xfffe5ff6),
  26524. 7: uint32(0xc4ced3ef),
  26525. },
  26526. },
  26527. 659: {
  26528. Fmap1: [8]TFcChar32{
  26529. 0: uint32(0xadbc8db6),
  26530. 1: uint32(0x11eb63dc),
  26531. 2: uint32(0x23d0df59),
  26532. 3: uint32(0xf3dbbeb4),
  26533. 4: uint32(0xdbc71fe7),
  26534. 5: uint32(0xfae4ff63),
  26535. 6: uint32(0x63f7b22b),
  26536. 7: uint32(0xadbaed3b),
  26537. },
  26538. },
  26539. 660: {
  26540. Fmap1: [8]TFcChar32{
  26541. 0: uint32(0x7efffe01),
  26542. 1: uint32(0x02bcfff7),
  26543. 2: uint32(0xef3932ff),
  26544. 3: uint32(0x8005fffc),
  26545. 4: uint32(0xbcf577fb),
  26546. 5: uint32(0xfff7010d),
  26547. 6: uint32(0xbf3afffb),
  26548. 7: uint32(0xdfff0057),
  26549. },
  26550. },
  26551. 661: {
  26552. Fmap1: [8]TFcChar32{
  26553. 0: uint32(0xbd7def7b),
  26554. 1: uint32(0xc8d4db88),
  26555. 2: uint32(0xed7cfff3),
  26556. 3: uint32(0x56ff5dee),
  26557. 4: uint32(0xac5f7e0d),
  26558. 5: uint32(0xd57fff96),
  26559. 6: uint32(0xc1403fee),
  26560. 7: uint32(0xffe76ff9),
  26561. },
  26562. },
  26563. 662: {
  26564. Fmap1: [8]TFcChar32{
  26565. 0: uint32(0x8e77779b),
  26566. 1: uint32(0xe45d6ebf),
  26567. 2: uint32(0x5f1f6fcf),
  26568. 3: uint32(0xfedfe07f),
  26569. 4: uint32(0x01fed7db),
  26570. 5: uint32(0xfb7bff00),
  26571. 6: uint32(0x1fdfffd4),
  26572. 7: uint32(0xfffff800),
  26573. },
  26574. },
  26575. 663: {
  26576. Fmap1: [8]TFcChar32{
  26577. 0: uint32(0x007bfb8f),
  26578. 1: uint32(0x7f5cbf00),
  26579. 2: uint32(0x07f3ffff),
  26580. 3: uint32(0x3de7eba0),
  26581. 4: uint32(0xfbd7f7bf),
  26582. 5: uint32(0x6003ffbf),
  26583. 6: uint32(0xbfedfffd),
  26584. 7: uint32(0x027fefbb),
  26585. },
  26586. },
  26587. 664: {
  26588. Fmap1: [8]TFcChar32{
  26589. 0: uint32(0xddfdfe40),
  26590. 1: uint32(0xe2f9fdff),
  26591. 2: uint32(0xfb1f680b),
  26592. 3: uint32(0xaffdfbe3),
  26593. 4: uint32(0xf7ed9fa4),
  26594. 5: uint32(0xf80f7a7d),
  26595. 6: uint32(0x0fd5eebe),
  26596. 7: uint32(0xfd9fbb5d),
  26597. },
  26598. },
  26599. 665: {
  26600. Fmap1: [8]TFcChar32{
  26601. 0: uint32(0x3bf9f2db),
  26602. 1: uint32(0xebccfe7f),
  26603. 2: uint32(0x73fa876a),
  26604. 3: uint32(0x9ffc95fc),
  26605. 4: uint32(0xfaf7109f),
  26606. 5: uint32(0xbbcdddb7),
  26607. 6: uint32(0xeccdf87e),
  26608. 7: uint32(0x3c3ff366),
  26609. },
  26610. },
  26611. 666: {
  26612. Fmap1: [8]TFcChar32{
  26613. 0: uint32(0xb03ffffd),
  26614. 1: uint32(0x067ee9f7),
  26615. 2: uint32(0xfe0696ae),
  26616. 3: uint32(0x5fd7d576),
  26617. 4: uint32(0xa3f33fd1),
  26618. 5: uint32(0x6fb7cf07),
  26619. 6: uint32(0x7f449fd1),
  26620. 7: uint32(0xd3dd7b59),
  26621. },
  26622. },
  26623. 667: {
  26624. Fmap1: [8]TFcChar32{
  26625. 0: uint32(0xa9bdaf3b),
  26626. 1: uint32(0xff3a7dcf),
  26627. 2: uint32(0xf6ebfbe0),
  26628. 3: uint32(0xffffb401),
  26629. 4: uint32(0xb7bf7afa),
  26630. 5: uint32(0x0ffdc000),
  26631. 6: uint32(0xff1fff7f),
  26632. 7: uint32(0x95fffefc),
  26633. },
  26634. },
  26635. 668: {
  26636. Fmap1: [8]TFcChar32{
  26637. 0: uint32(0xb5dc0000),
  26638. 1: uint32(0x3f3eef63),
  26639. 2: uint32(0x001bfb7f),
  26640. 3: uint32(0xfbf6e800),
  26641. 4: uint32(0xb8df9eef),
  26642. 5: uint32(0x003fff9f),
  26643. 6: uint32(0xf5ff7bd0),
  26644. 7: uint32(0x3fffdfdb),
  26645. },
  26646. },
  26647. 669: {
  26648. Fmap1: [8]TFcChar32{
  26649. 0: uint32(0x00bffdf0),
  26650. 1: uint32(0xbbbd8420),
  26651. 2: uint32(0xffdedf37),
  26652. 3: uint32(0x0ff3ff6d),
  26653. 4: uint32(0x5efb604c),
  26654. 5: uint32(0xfafbfffb),
  26655. 6: uint32(0x0219fe5e),
  26656. 7: uint32(0xf9de79f4),
  26657. },
  26658. },
  26659. 670: {
  26660. Fmap1: [8]TFcChar32{
  26661. 0: uint32(0xebfaa7f7),
  26662. 1: uint32(0xff3401eb),
  26663. 2: uint32(0xef73ebd3),
  26664. 3: uint32(0xc040afd7),
  26665. 4: uint32(0xdcff72bb),
  26666. 5: uint32(0x2fd8f17f),
  26667. 6: uint32(0xfe0bb8ec),
  26668. 7: uint32(0x1f0bdda3),
  26669. },
  26670. },
  26671. 671: {
  26672. Fmap1: [8]TFcChar32{
  26673. 0: uint32(0x47cf8f1d),
  26674. 1: uint32(0xffdeb12b),
  26675. 2: uint32(0xda737fee),
  26676. 3: uint32(0xcbc424ff),
  26677. 4: uint32(0xcbf2f75d),
  26678. 5: uint32(0xb4edecfd),
  26679. 6: uint32(0x4dddbff9),
  26680. 7: uint32(0xfb8d99dd),
  26681. },
  26682. },
  26683. 672: {
  26684. Fmap1: [8]TFcChar32{
  26685. 0: uint32(0xaf7bbb7f),
  26686. 1: uint32(0xc959ddfb),
  26687. 2: uint32(0xfab5fc4f),
  26688. 3: uint32(0x6d5fafe3),
  26689. 4: uint32(0x3f7dffff),
  26690. 5: uint32(0xffdb7800),
  26691. 6: uint32(0x7effb6ff),
  26692. 7: uint32(0x022ffbaf),
  26693. },
  26694. },
  26695. 673: {
  26696. Fmap1: [8]TFcChar32{
  26697. 0: uint32(0xefc7ff9b),
  26698. 1: uint32(0xffffffa5),
  26699. 2: uint32(0xc7000007),
  26700. 3: uint32(0xfff1f7ff),
  26701. 4: uint32(0x01bf7ffd),
  26702. 5: uint32(0xfdbcdc00),
  26703. 6: uint32(0xffffbff5),
  26704. 7: uint32(0x3effff7f),
  26705. },
  26706. },
  26707. 674: {
  26708. Fmap1: [8]TFcChar32{
  26709. 0: uint32(0xbe000029),
  26710. 1: uint32(0xff7ff9ff),
  26711. 2: uint32(0xfd7e6efb),
  26712. 3: uint32(0x039ecbff),
  26713. 4: uint32(0xfbdde300),
  26714. 5: uint32(0xf6dfccff),
  26715. 6: uint32(0x117fffff),
  26716. 7: uint32(0xfbf6f800),
  26717. },
  26718. },
  26719. 675: {
  26720. Fmap1: [8]TFcChar32{
  26721. 0: uint32(0xd73ce7ef),
  26722. 1: uint32(0xdfeffeef),
  26723. 2: uint32(0xedbfc00b),
  26724. 3: uint32(0xfdcdfedf),
  26725. 4: uint32(0x40fd7bf5),
  26726. 5: uint32(0xb75fffff),
  26727. 6: uint32(0xf930ffdf),
  26728. 7: uint32(0xdc97fbdf),
  26729. },
  26730. },
  26731. 676: {
  26732. Fmap1: [8]TFcChar32{
  26733. 0: uint32(0xbff2fef3),
  26734. 1: uint32(0xdfbf8fdf),
  26735. 2: uint32(0xede6177f),
  26736. 3: uint32(0x35530f7f),
  26737. 4: uint32(0x877e447c),
  26738. 5: uint32(0x45bbfa12),
  26739. 6: uint32(0x779eede0),
  26740. 7: uint32(0xbfd98017),
  26741. },
  26742. },
  26743. 677: {
  26744. Fmap1: [8]TFcChar32{
  26745. 0: uint32(0xde897e55),
  26746. 1: uint32(0x0447c16f),
  26747. 2: uint32(0xf75d7ade),
  26748. 3: uint32(0x290557ff),
  26749. 4: uint32(0xfe9586f7),
  26750. 5: uint32(0xf32f97b3),
  26751. 6: uint32(0x9f75cfff),
  26752. 7: uint32(0xfb1771f7),
  26753. },
  26754. },
  26755. 678: {
  26756. Fmap1: [8]TFcChar32{
  26757. 0: uint32(0xee1934ee),
  26758. 1: uint32(0xef6137cc),
  26759. 2: uint32(0xef4c9fd6),
  26760. 3: uint32(0xfbddd68f),
  26761. 4: uint32(0x6def7b73),
  26762. 5: uint32(0xa431d7fe),
  26763. 6: uint32(0x97d75e7f),
  26764. 7: uint32(0xffd80f5b),
  26765. },
  26766. },
  26767. 679: {
  26768. Fmap1: [8]TFcChar32{
  26769. 0: uint32(0x7bce9d83),
  26770. 1: uint32(0xdcff22ec),
  26771. 2: uint32(0xef87763d),
  26772. 3: uint32(0xfdeddfe7),
  26773. 4: uint32(0xa0fc4fff),
  26774. 5: uint32(0xdbfc3b77),
  26775. 6: uint32(0x7fdc3ded),
  26776. 7: uint32(0xf5706fa9),
  26777. },
  26778. },
  26779. 680: {
  26780. Fmap1: [8]TFcChar32{
  26781. 0: uint32(0x2c403ffb),
  26782. 1: uint32(0x847fff7f),
  26783. 2: uint32(0xdeb7ec57),
  26784. 3: uint32(0xf22fe69c),
  26785. 4: uint32(0xd5b50feb),
  26786. 5: uint32(0xede7afeb),
  26787. 6: uint32(0xfff08c2f),
  26788. 7: uint32(0xe8f0537f),
  26789. },
  26790. },
  26791. 681: {
  26792. Fmap1: [8]TFcChar32{
  26793. 0: uint32(0xb5ffb99d),
  26794. 1: uint32(0xe78fff66),
  26795. 2: uint32(0xbe10d981),
  26796. 3: uint32(0xe3c19c7c),
  26797. 4: uint32(0x27339cd1),
  26798. 5: uint32(0xff6d0cbc),
  26799. 6: uint32(0xefb7fcb7),
  26800. 7: uint32(0xffffa0df),
  26801. },
  26802. },
  26803. 682: {
  26804. Fmap1: [8]TFcChar32{
  26805. 0: uint32(0xfe7bbf0b),
  26806. 1: uint32(0x353fa3ff),
  26807. 2: uint32(0x97cd13cc),
  26808. 3: uint32(0xfb277637),
  26809. 4: uint32(0x7e6ccfd6),
  26810. 5: uint32(0xed31ec50),
  26811. 6: uint32(0xfc1c677c),
  26812. 7: uint32(0x5fbff6fa),
  26813. },
  26814. },
  26815. 683: {
  26816. Fmap1: [8]TFcChar32{
  26817. 0: uint32(0xae2f0fba),
  26818. 1: uint32(0x7ffea3ad),
  26819. 2: uint32(0xde74fcf0),
  26820. 3: uint32(0xf200ffef),
  26821. 4: uint32(0xfea2fbbf),
  26822. 5: uint32(0xbcff3daf),
  26823. 6: uint32(0x5fb9f694),
  26824. 7: uint32(0x3f8ff3ad),
  26825. },
  26826. },
  26827. 684: {
  26828. Fmap1: [8]TFcChar32{
  26829. 0: uint32(0xa01ff26c),
  26830. 1: uint32(0x01bfffef),
  26831. 2: uint32(0x70057728),
  26832. 3: uint32(0xda03ff35),
  26833. 4: uint32(0xc7fad2f9),
  26834. 5: uint32(0x5c1d3fbf),
  26835. 6: uint32(0xec33ff3a),
  26836. 7: uint32(0xfe9cb7af),
  26837. },
  26838. },
  26839. 685: {
  26840. Fmap1: [8]TFcChar32{
  26841. 0: uint32(0x7a9f5236),
  26842. 1: uint32(0xe722bffa),
  26843. 2: uint32(0xfcff9ff7),
  26844. 3: uint32(0xb61d2fbb),
  26845. 4: uint32(0x1dfded06),
  26846. 5: uint32(0xefdf7dd7),
  26847. 6: uint32(0xf166eb23),
  26848. 7: uint32(0x0dc07ed9),
  26849. },
  26850. },
  26851. 686: {
  26852. Fmap1: [8]TFcChar32{
  26853. 0: uint32(0xdfbf3d3d),
  26854. 1: uint32(0xba83c945),
  26855. 2: uint32(0x9dd07dd1),
  26856. 3: uint32(0xcf737b87),
  26857. 4: uint32(0xc3f59ff3),
  26858. 5: uint32(0xc5fedf0d),
  26859. 6: uint32(0x83020cb3),
  26860. 7: uint32(0xaec0e879),
  26861. },
  26862. },
  26863. 687: {
  26864. Fmap1: [8]TFcChar32{
  26865. 0: uint32(0x6f0fc773),
  26866. 1: uint32(0x093ffd7d),
  26867. 2: uint32(0x0157fff1),
  26868. 3: uint32(0x01ff62fb),
  26869. 4: uint32(0x3bf3fdb4),
  26870. 5: uint32(0x43b2b013),
  26871. 6: uint32(0xff305ed3),
  26872. 7: uint32(0xeb9f0fff),
  26873. },
  26874. },
  26875. 688: {
  26876. Fmap1: [8]TFcChar32{
  26877. 0: uint32(0xf203feef),
  26878. 1: uint32(0xfb893fef),
  26879. 2: uint32(0x9e9937a9),
  26880. 3: uint32(0xa72cdef9),
  26881. 4: uint32(0xc1f63733),
  26882. 5: uint32(0xfe3e812e),
  26883. 6: uint32(0xf2f75d20),
  26884. 7: uint32(0x69d7d585),
  26885. },
  26886. },
  26887. 689: {
  26888. Fmap1: [8]TFcChar32{
  26889. 0: uint32(0xffffffff),
  26890. 1: uint32(0xff6fdb07),
  26891. 2: uint32(0xd97fc4ff),
  26892. 3: uint32(0xbe0fefce),
  26893. 4: uint32(0xf05ef17b),
  26894. 5: uint32(0xffb7f6cf),
  26895. 6: uint32(0xef845ef7),
  26896. 7: uint32(0x0edfd7cb),
  26897. },
  26898. },
  26899. 690: {
  26900. Fmap1: [8]TFcChar32{
  26901. 0: uint32(0xfcffff08),
  26902. 1: uint32(0xffffee3f),
  26903. 2: uint32(0xd7ff13ff),
  26904. 3: uint32(0x7ffdaf0f),
  26905. 4: uint32(0x1ffabdc7),
  26906. },
  26907. },
  26908. 691: {
  26909. Fmap1: [8]TFcChar32{
  26910. 1: uint32(0xe7400000),
  26911. 2: uint32(0xf933bd38),
  26912. 3: uint32(0xfeed7feb),
  26913. 4: uint32(0x7c767fe8),
  26914. 5: uint32(0xffefb3f7),
  26915. 6: uint32(0xd8b7feaf),
  26916. 7: uint32(0xfbbfff6f),
  26917. },
  26918. },
  26919. 692: {
  26920. Fmap1: [8]TFcChar32{
  26921. 0: uint32(0xdbf7f8fb),
  26922. 1: uint32(0xe2f91752),
  26923. 2: uint32(0x754785c8),
  26924. 3: uint32(0xe3ef9090),
  26925. 4: uint32(0x3f6d9ef4),
  26926. 5: uint32(0x0536ee2e),
  26927. 6: uint32(0x7ff3f7bc),
  26928. 7: uint32(0x7f3fa07b),
  26929. },
  26930. },
  26931. 693: {
  26932. Fmap1: [8]TFcChar32{
  26933. 0: uint32(0xeb600567),
  26934. 1: uint32(0x6601babe),
  26935. 2: uint32(0x583ffcd8),
  26936. 3: uint32(0x87dfcaf7),
  26937. 4: uint32(0xffa0bfcd),
  26938. 5: uint32(0xfebf5bcd),
  26939. 6: uint32(0xefa7b6fd),
  26940. 7: uint32(0xdf9c77ef),
  26941. },
  26942. },
  26943. 694: {
  26944. Fmap1: [8]TFcChar32{
  26945. 0: uint32(0xf8773fb7),
  26946. 1: uint32(0xb7fc9d27),
  26947. 2: uint32(0xdfefcab5),
  26948. 3: uint32(0xf1b6fb5a),
  26949. 4: uint32(0xef1fec39),
  26950. 5: uint32(0x7ffbfbbf),
  26951. 6: uint32(0xdafe000d),
  26952. 7: uint32(0x4e7fbdfb),
  26953. },
  26954. },
  26955. 695: {
  26956. Fmap1: [8]TFcChar32{
  26957. 0: uint32(0x5ac033ff),
  26958. 1: uint32(0x9ffebff5),
  26959. 2: uint32(0x005fffbf),
  26960. 3: uint32(0xfdf80000),
  26961. 4: uint32(0x6ffdffca),
  26962. 5: uint32(0xa001cffd),
  26963. 6: uint32(0xfbf2dfff),
  26964. 7: uint32(0xff7fdfbf),
  26965. },
  26966. },
  26967. 696: {
  26968. Fmap1: [8]TFcChar32{
  26969. 0: uint32(0x080ffeda),
  26970. 1: uint32(0xbfffba08),
  26971. 2: uint32(0xeed77afd),
  26972. 3: uint32(0x67f9fbeb),
  26973. 4: uint32(0xff93e044),
  26974. 5: uint32(0x9f57df97),
  26975. 6: uint32(0x08dffef7),
  26976. 7: uint32(0xfedfdf80),
  26977. },
  26978. },
  26979. 697: {
  26980. Fmap1: [8]TFcChar32{
  26981. 0: uint32(0xf7feffc5),
  26982. 1: uint32(0x6803fffb),
  26983. 2: uint32(0x6bfa67fb),
  26984. 3: uint32(0x5fe27fff),
  26985. 4: uint32(0xff73ffff),
  26986. 5: uint32(0xe7fb87df),
  26987. 6: uint32(0xf7a7ebfd),
  26988. 7: uint32(0xefc7bf7e),
  26989. },
  26990. },
  26991. 698: {
  26992. Fmap1: [8]TFcChar32{
  26993. 0: uint32(0xdf821ef3),
  26994. 1: uint32(0xdf7e76ff),
  26995. 2: uint32(0xda7d79c9),
  26996. 3: uint32(0x1e9befbe),
  26997. 4: uint32(0x77fb7ce0),
  26998. 5: uint32(0xfffb87be),
  26999. 6: uint32(0xffdb1bff),
  27000. 7: uint32(0x4fe03f5c),
  27001. },
  27002. },
  27003. 699: {
  27004. Fmap1: [8]TFcChar32{
  27005. 0: uint32(0x5f0e7fff),
  27006. 1: uint32(0xddbf77ff),
  27007. 2: uint32(0xfffff04f),
  27008. 3: uint32(0x0ff8ffff),
  27009. 4: uint32(0xfddfa3be),
  27010. 5: uint32(0xfffdfc1c),
  27011. 6: uint32(0xfb9e1f7d),
  27012. 7: uint32(0xdedcbdff),
  27013. },
  27014. },
  27015. 700: {
  27016. Fmap1: [8]TFcChar32{
  27017. 0: uint32(0xbafb3f6f),
  27018. 1: uint32(0xfbefdf7f),
  27019. 2: uint32(0x2eec7d1b),
  27020. 3: uint32(0xf2f7af8e),
  27021. 4: uint32(0xcfee7b0f),
  27022. 5: uint32(0x77c61d96),
  27023. 6: uint32(0xfff57e07),
  27024. 7: uint32(0x7fdfd982),
  27025. },
  27026. },
  27027. 701: {
  27028. Fmap1: [8]TFcChar32{
  27029. 0: uint32(0xc7ff5ee6),
  27030. 1: uint32(0x79effeee),
  27031. 2: uint32(0xffcf9a56),
  27032. 3: uint32(0xde5efe5f),
  27033. 4: uint32(0xf9e8896e),
  27034. 5: uint32(0xe6c4f45e),
  27035. 6: uint32(0xbe7c0001),
  27036. 7: uint32(0xdddf3b7f),
  27037. },
  27038. },
  27039. 702: {
  27040. Fmap1: [8]TFcChar32{
  27041. 0: uint32(0xe9efd59d),
  27042. 1: uint32(0xde5334ac),
  27043. 2: uint32(0x4bf7f573),
  27044. 3: uint32(0x9eff7b4f),
  27045. 4: uint32(0x476eb8fe),
  27046. 5: uint32(0xff450dfb),
  27047. 6: uint32(0xfbfeabfd),
  27048. 7: uint32(0xddffe9d7),
  27049. },
  27050. },
  27051. 703: {
  27052. Fmap1: [8]TFcChar32{
  27053. 0: uint32(0x7fffedf7),
  27054. 1: uint32(0x7eebddfd),
  27055. 2: uint32(0xb7ffcfe7),
  27056. 3: uint32(0xef91bde9),
  27057. 4: uint32(0xd77c5d75),
  27058. },
  27059. },
  27060. 704: {
  27061. Fmap1: [8]TFcChar32{
  27062. 1: uint32(0xfa800000),
  27063. 2: uint32(0xb4f1ffee),
  27064. 3: uint32(0x2fefbf76),
  27065. 4: uint32(0x77bfb677),
  27066. 5: uint32(0xfffd9fbf),
  27067. 6: uint32(0xf6ae95bf),
  27068. 7: uint32(0x7f3b75ff),
  27069. },
  27070. },
  27071. 705: {
  27072. Fmap1: [8]TFcChar32{
  27073. 0: uint32(0x0af9a7f5),
  27074. 3: uint32(0x2bddfbd0),
  27075. 4: uint32(0x9a7ff633),
  27076. 5: uint32(0xd6fcfdab),
  27077. 6: uint32(0xbfebf9e6),
  27078. 7: uint32(0xf41fdfdf),
  27079. },
  27080. },
  27081. 706: {
  27082. Fmap1: [8]TFcChar32{
  27083. 0: uint32(0xffffa6fd),
  27084. 1: uint32(0xf37b4aff),
  27085. 2: uint32(0xfef97fb7),
  27086. 3: uint32(0x1d5cb6ff),
  27087. 4: uint32(0xe5ff7ff6),
  27088. 5: uint32(0x24041f7b),
  27089. 6: uint32(0xf99ebe05),
  27090. 7: uint32(0xdff2dbe3),
  27091. },
  27092. },
  27093. 707: {
  27094. Fmap1: [8]TFcChar32{
  27095. 0: uint32(0xfdff6fef),
  27096. 1: uint32(0xcbfcd679),
  27097. 2: uint32(0xefffebfd),
  27098. 3: uint32(0x0000001f),
  27099. 4: uint32(0x98000000),
  27100. 5: uint32(0x8017e148),
  27101. 6: uint32(0x00fe6a74),
  27102. 7: uint32(0xfdf16d7f),
  27103. },
  27104. },
  27105. 708: {
  27106. Fmap1: [8]TFcChar32{
  27107. 0: uint32(0xfef3b87f),
  27108. 1: uint32(0xf176e01f),
  27109. 2: uint32(0x7b3fee96),
  27110. 3: uint32(0xfffdeb8d),
  27111. 4: uint32(0xcbb3adff),
  27112. 5: uint32(0xe17f84ef),
  27113. 6: uint32(0xbff04daa),
  27114. 7: uint32(0xfe3fbf3f),
  27115. },
  27116. },
  27117. 709: {
  27118. Fmap1: [8]TFcChar32{
  27119. 0: uint32(0xffd7ebff),
  27120. 1: uint32(0xcf7fffdf),
  27121. 2: uint32(0x85edfffb),
  27122. 3: uint32(0x07bcd73f),
  27123. 4: uint32(0xfe0faeff),
  27124. 5: uint32(0x76bffdaf),
  27125. 6: uint32(0x37bbfaef),
  27126. 7: uint32(0xa3ba7fdc),
  27127. },
  27128. },
  27129. 710: {
  27130. Fmap1: [8]TFcChar32{
  27131. 0: uint32(0x56f7b6ff),
  27132. 1: uint32(0xe7df60f8),
  27133. 2: uint32(0x4cdfff61),
  27134. 3: uint32(0xff45b0fb),
  27135. 4: uint32(0x3ffa7ded),
  27136. 5: uint32(0x18fc1fff),
  27137. 6: uint32(0xe3afffff),
  27138. 7: uint32(0xdf83c7d3),
  27139. },
  27140. },
  27141. 711: {
  27142. Fmap1: [8]TFcChar32{
  27143. 0: uint32(0xef7dfb57),
  27144. 1: uint32(0x1378efff),
  27145. 2: uint32(0x5ff7fec0),
  27146. 3: uint32(0x5ee334bb),
  27147. 4: uint32(0xeff6f70d),
  27148. 5: uint32(0x00bfd7fe),
  27149. 6: uint32(0xf7f7f59d),
  27150. 7: uint32(0xffe051de),
  27151. },
  27152. },
  27153. 712: {
  27154. Fmap1: [8]TFcChar32{
  27155. 0: uint32(0x037ffec9),
  27156. 1: uint32(0xbfef5f01),
  27157. 2: uint32(0x60a79ff1),
  27158. 3: uint32(0xf1ffef1d),
  27159. 4: uint32(0x0000000f),
  27160. },
  27161. },
  27162. 713: {
  27163. Fmap1: [8]TFcChar32{
  27164. 3: uint32(0x3c800000),
  27165. 4: uint32(0xd91ffb4d),
  27166. 5: uint32(0xfee37b3a),
  27167. 6: uint32(0xdc7f3fe9),
  27168. 7: uint32(0x0000003f),
  27169. },
  27170. },
  27171. 714: {
  27172. Fmap1: [8]TFcChar32{
  27173. 0: uint32(0x50000000),
  27174. 1: uint32(0xbe07f51f),
  27175. 2: uint32(0xf91bfc1d),
  27176. 3: uint32(0x71ffbc1e),
  27177. 4: uint32(0x5bbe6ff9),
  27178. 5: uint32(0x9b1b5796),
  27179. 6: uint32(0xfffc7fff),
  27180. 7: uint32(0xafe7872e),
  27181. },
  27182. },
  27183. 715: {
  27184. Fmap1: [8]TFcChar32{
  27185. 0: uint32(0xf34febf5),
  27186. 1: uint32(0xe725dffd),
  27187. 2: uint32(0x5d440bdc),
  27188. 3: uint32(0xfddd5747),
  27189. 4: uint32(0x7790ed3f),
  27190. 5: uint32(0x8ac87d7f),
  27191. 6: uint32(0xf3f9fafa),
  27192. 7: uint32(0xef4b202a),
  27193. },
  27194. },
  27195. 716: {
  27196. Fmap1: [8]TFcChar32{
  27197. 0: uint32(0x79cff5ff),
  27198. 1: uint32(0x0ba5abd3),
  27199. 2: uint32(0xfb8ff77a),
  27200. 3: uint32(0x001f8ebd),
  27201. 5: uint32(0xfd4ef300),
  27202. 6: uint32(0x88001a57),
  27203. 7: uint32(0x7654aeac),
  27204. },
  27205. },
  27206. 717: {
  27207. Fmap1: [8]TFcChar32{
  27208. 0: uint32(0xcdff17ad),
  27209. 1: uint32(0xf42fffb2),
  27210. 2: uint32(0xdbff5baa),
  27211. 3: uint32(0x00000002),
  27212. 4: uint32(0x73c00000),
  27213. 5: uint32(0x2e3ff9ea),
  27214. 6: uint32(0xbbfffa8e),
  27215. 7: uint32(0xffd376bc),
  27216. },
  27217. },
  27218. 718: {
  27219. Fmap1: [8]TFcChar32{
  27220. 0: uint32(0x7e72eefe),
  27221. 1: uint32(0xe7f77ebd),
  27222. 2: uint32(0xcefdf77f),
  27223. 3: uint32(0x00000ff5),
  27224. 5: uint32(0xdb9ba900),
  27225. 6: uint32(0x917fa4c7),
  27226. 7: uint32(0x7ecef8ca),
  27227. },
  27228. },
  27229. 719: {
  27230. Fmap1: [8]TFcChar32{
  27231. 0: uint32(0xc7e77d7a),
  27232. 1: uint32(0xdcaecbbd),
  27233. 2: uint32(0x8f76fd7e),
  27234. 3: uint32(0x7cf391d3),
  27235. 4: uint32(0x4c2f01e5),
  27236. 5: uint32(0xa360ed77),
  27237. 6: uint32(0x5ef807db),
  27238. 7: uint32(0x21811df7),
  27239. },
  27240. },
  27241. 720: {
  27242. Fmap1: [8]TFcChar32{
  27243. 0: uint32(0x309c6be0),
  27244. 1: uint32(0xfade3b3a),
  27245. 2: uint32(0xc3f57f53),
  27246. 3: uint32(0x07ba61cd),
  27247. 7: uint32(0xbefe26e0),
  27248. },
  27249. },
  27250. 721: {
  27251. Fmap1: [8]TFcChar32{
  27252. 0: uint32(0xebb503f9),
  27253. 1: uint32(0xe9cbe36d),
  27254. 2: uint32(0xbfde9c2f),
  27255. 3: uint32(0xabbf9f83),
  27256. 4: uint32(0xffd51ff7),
  27257. 5: uint32(0xdffeb7df),
  27258. 6: uint32(0xffeffdae),
  27259. 7: uint32(0xeffdfb7e),
  27260. },
  27261. },
  27262. 722: {
  27263. Fmap1: [8]TFcChar32{
  27264. 0: uint32(0x6ebfaaff),
  27265. 3: uint32(0xb6200000),
  27266. 4: uint32(0xbe9e7fcd),
  27267. 5: uint32(0x58f162b3),
  27268. 6: uint32(0xfd7bf10d),
  27269. 7: uint32(0xbefde9f1),
  27270. },
  27271. },
  27272. 723: {
  27273. Fmap1: [8]TFcChar32{
  27274. 0: uint32(0x5f6dc6c3),
  27275. 1: uint32(0x69ffff3d),
  27276. 2: uint32(0xfbf4ffcf),
  27277. 3: uint32(0x4ff7dcfb),
  27278. 4: uint32(0x11372000),
  27279. 5: uint32(0x00000015),
  27280. },
  27281. },
  27282. 724: {
  27283. Fmap1: [8]TFcChar32{
  27284. 0: uint32(0x00003000),
  27285. },
  27286. },
  27287. },
  27288. Fleaf_offsets: [779]Tuintptr_t{
  27289. 0: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(8)),
  27290. 1: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(8)),
  27291. 2: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8)),
  27292. 3: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8)),
  27293. 4: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  27294. 5: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(5)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  27295. 6: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  27296. 7: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(7)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  27297. 8: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(8)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  27298. 9: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8)),
  27299. 10: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8)),
  27300. 11: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8)),
  27301. 12: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(8)),
  27302. 13: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(8)),
  27303. 14: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8)),
  27304. 15: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8)),
  27305. 16: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(15)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8)),
  27306. 17: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(8)),
  27307. 18: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  27308. 19: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  27309. 20: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(19)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  27310. 21: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(20)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8)),
  27311. 22: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(8)),
  27312. 23: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(8)),
  27313. 24: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  27314. 25: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  27315. 26: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(25)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  27316. 27: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(26)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  27317. 28: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(27)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(8)),
  27318. 29: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(8)),
  27319. 30: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8)),
  27320. 31: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(8)),
  27321. 32: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  27322. 33: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  27323. 34: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(33)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  27324. 35: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  27325. 36: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(34)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  27326. 37: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  27327. 38: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(36)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(8)),
  27328. 39: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(37)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8)),
  27329. 40: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(8)),
  27330. 41: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(8)),
  27331. 42: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8)),
  27332. 43: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8)),
  27333. 44: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(8)),
  27334. 45: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8)),
  27335. 46: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8)),
  27336. 47: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8)),
  27337. 48: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8)),
  27338. 49: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(46)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(8)),
  27339. 50: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(8)),
  27340. 51: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(48)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(8)),
  27341. 52: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8)),
  27342. 53: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8)),
  27343. 54: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8)),
  27344. 55: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8)),
  27345. 56: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(53)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8)),
  27346. 57: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8)),
  27347. 58: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(55)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8)),
  27348. 59: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8)),
  27349. 60: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(57)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(8)),
  27350. 61: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8)),
  27351. 62: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(59)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8)),
  27352. 63: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  27353. 64: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  27354. 65: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(62)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  27355. 66: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(8)),
  27356. 67: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(64)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8)),
  27357. 68: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(65)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(8)),
  27358. 69: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(8)),
  27359. 70: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  27360. 71: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  27361. 72: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  27362. 73: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  27363. 74: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(8)),
  27364. 75: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(71)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(8)),
  27365. 76: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8)),
  27366. 77: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(72)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8)),
  27367. 78: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(73)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8)),
  27368. 79: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8)),
  27369. 80: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(8)),
  27370. 81: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  27371. 82: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  27372. 83: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(77)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  27373. 84: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8)),
  27374. 85: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8)),
  27375. 86: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(79)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8)),
  27376. 87: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8)),
  27377. 88: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(8)),
  27378. 89: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(8)),
  27379. 90: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(82)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(8)),
  27380. 91: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(83)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  27381. 92: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  27382. 93: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(85)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  27383. 94: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(8)),
  27384. 95: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8)),
  27385. 96: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8)),
  27386. 97: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  27387. 98: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  27388. 99: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  27389. 100: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(92)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(8)),
  27390. 101: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(93)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(8)),
  27391. 102: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  27392. 103: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  27393. 104: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  27394. 105: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  27395. 106: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  27396. 107: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  27397. 108: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(98)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8)),
  27398. 109: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8)),
  27399. 110: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8)),
  27400. 111: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(8)),
  27401. 112: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8)),
  27402. 113: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(103)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8)),
  27403. 114: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(104)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(8)),
  27404. 115: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  27405. 116: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  27406. 117: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(106)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  27407. 118: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(107)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8)),
  27408. 119: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8)),
  27409. 120: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8)),
  27410. 121: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(8)),
  27411. 122: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(8)),
  27412. 123: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(8)),
  27413. 124: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(8)),
  27414. 125: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(110)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(8)),
  27415. 126: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(8)),
  27416. 127: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8)),
  27417. 128: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(113)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8)),
  27418. 129: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8)),
  27419. 130: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8)),
  27420. 131: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(116)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8)),
  27421. 132: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(117)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27422. 133: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27423. 134: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27424. 135: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27425. 136: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27426. 137: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27427. 138: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(123)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27428. 139: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(124)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27429. 140: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(125)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27430. 141: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27431. 142: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27432. 143: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27433. 144: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27434. 145: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27435. 146: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(131)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27436. 147: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27437. 148: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27438. 149: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(134)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27439. 150: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(135)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27440. 151: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(136)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27441. 152: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(137)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27442. 153: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(138)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27443. 154: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(139)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27444. 155: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(140)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27445. 156: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(141)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27446. 157: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(142)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27447. 158: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(143)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27448. 159: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(144)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27449. 160: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(145)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27450. 161: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(146)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27451. 162: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(147)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27452. 163: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(148)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27453. 164: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(149)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27454. 165: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(150)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27455. 166: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(151)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27456. 167: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(152)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27457. 168: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(153)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27458. 169: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(154)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27459. 170: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(155)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27460. 171: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(156)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27461. 172: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(157)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27462. 173: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(158)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27463. 174: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(159)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27464. 175: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(160)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27465. 176: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(161)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27466. 177: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(162)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27467. 178: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(163)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27468. 179: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(164)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27469. 180: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(165)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27470. 181: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(166)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27471. 182: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(167)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27472. 183: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(168)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27473. 184: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(169)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27474. 185: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(170)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27475. 186: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(171)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27476. 187: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(172)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27477. 188: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(173)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27478. 189: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(174)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27479. 190: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(175)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27480. 191: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(176)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27481. 192: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(177)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27482. 193: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(178)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27483. 194: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(179)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27484. 195: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(180)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27485. 196: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(181)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27486. 197: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(182)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27487. 198: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(183)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27488. 199: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(184)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27489. 200: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(185)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27490. 201: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(186)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27491. 202: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(187)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27492. 203: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(188)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27493. 204: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(189)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27494. 205: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(190)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27495. 206: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(191)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27496. 207: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(192)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27497. 208: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(193)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27498. 209: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(194)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27499. 210: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(195)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27500. 211: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(196)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27501. 212: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(197)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27502. 213: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(198)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27503. 214: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(199)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8)),
  27504. 215: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(200)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(8)),
  27505. 216: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(201)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8)),
  27506. 217: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(202)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8)),
  27507. 218: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8)),
  27508. 219: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(203)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8)),
  27509. 220: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(204)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(8)),
  27510. 221: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(205)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8)),
  27511. 222: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(206)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8)),
  27512. 223: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(207)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(8)),
  27513. 224: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(208)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8)),
  27514. 225: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(209)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27515. 226: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(210)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27516. 227: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(211)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27517. 228: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(212)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27518. 229: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(213)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27519. 230: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(214)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27520. 231: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27521. 232: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27522. 233: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27523. 234: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27524. 235: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27525. 236: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27526. 237: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27527. 238: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27528. 239: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27529. 240: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27530. 241: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27531. 242: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27532. 243: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(227)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27533. 244: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(228)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27534. 245: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(229)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27535. 246: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(230)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27536. 247: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(231)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27537. 248: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(232)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27538. 249: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(233)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27539. 250: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(234)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27540. 251: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(235)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27541. 252: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(236)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27542. 253: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(237)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27543. 254: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(238)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27544. 255: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(239)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27545. 256: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(240)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27546. 257: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(241)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27547. 258: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(242)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27548. 259: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(243)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27549. 260: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(244)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27550. 261: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(245)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27551. 262: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(246)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27552. 263: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(247)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27553. 264: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(248)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27554. 265: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(249)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27555. 266: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(250)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27556. 267: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(251)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27557. 268: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(252)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27558. 269: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(253)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  27559. 270: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(8)),
  27560. 271: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(254)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(8)),
  27561. 272: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(255)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(8)),
  27562. 273: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(256)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(8)),
  27563. 274: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(257)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8)),
  27564. 275: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(258)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8)),
  27565. 276: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(259)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(8)),
  27566. 277: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(260)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8)),
  27567. 278: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(261)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8)),
  27568. 279: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8)),
  27569. 280: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(263)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8)),
  27570. 281: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8)),
  27571. 282: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8)),
  27572. 283: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(264)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8)),
  27573. 284: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(265)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(8)),
  27574. 285: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8)),
  27575. 286: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(266)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8)),
  27576. 287: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(267)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(8)),
  27577. 288: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(268)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8)),
  27578. 289: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8)),
  27579. 290: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8)),
  27580. 291: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(8)),
  27581. 292: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8)),
  27582. 293: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(272)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8)),
  27583. 294: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8)),
  27584. 295: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8)),
  27585. 296: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(8)),
  27586. 297: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8)),
  27587. 298: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8)),
  27588. 299: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(8)),
  27589. 300: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(8)),
  27590. 301: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(8)),
  27591. 302: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8)),
  27592. 303: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8)),
  27593. 304: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(8)),
  27594. 305: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(8)),
  27595. 306: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(8)),
  27596. 307: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(8)),
  27597. 308: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8)),
  27598. 309: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8)),
  27599. 310: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(283)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8)),
  27600. 311: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8)),
  27601. 312: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8)),
  27602. 313: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8)),
  27603. 314: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8)),
  27604. 315: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8)),
  27605. 316: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(8)),
  27606. 317: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(8)),
  27607. 318: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(8)),
  27608. 319: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8)),
  27609. 320: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8)),
  27610. 321: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(8)),
  27611. 322: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8)),
  27612. 323: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8)),
  27613. 324: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(294)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8)),
  27614. 325: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(295)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8)),
  27615. 326: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8)),
  27616. 327: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8)),
  27617. 328: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(8)),
  27618. 329: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(8)),
  27619. 330: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(8)),
  27620. 331: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(8)),
  27621. 332: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(8)),
  27622. 333: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(8)),
  27623. 334: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(8)),
  27624. 335: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8)),
  27625. 336: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8)),
  27626. 337: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(306)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8)),
  27627. 338: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8)),
  27628. 339: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8)),
  27629. 340: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8)),
  27630. 341: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8)),
  27631. 342: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(8)),
  27632. 343: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8)),
  27633. 344: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8)),
  27634. 345: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8)),
  27635. 346: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8)),
  27636. 347: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(314)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(8)),
  27637. 348: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8)),
  27638. 349: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8)),
  27639. 350: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8)),
  27640. 351: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(315)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(8)),
  27641. 352: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8)),
  27642. 353: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8)),
  27643. 354: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8)),
  27644. 355: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8)),
  27645. 356: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8)),
  27646. 357: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(8)),
  27647. 358: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8)),
  27648. 359: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8)),
  27649. 360: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(8)),
  27650. 361: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8)),
  27651. 362: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8)),
  27652. 363: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8)),
  27653. 364: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(8)),
  27654. 365: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(8)),
  27655. 366: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(8)),
  27656. 367: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8)),
  27657. 368: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8)),
  27658. 369: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(8)),
  27659. 370: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(330)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(8)),
  27660. 371: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(8)),
  27661. 372: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(8)),
  27662. 373: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(331)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(8)),
  27663. 374: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8)),
  27664. 375: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8)),
  27665. 376: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8)),
  27666. 377: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(8)),
  27667. 378: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(8)),
  27668. 379: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(8)),
  27669. 380: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(8)),
  27670. 381: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8)),
  27671. 382: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8)),
  27672. 383: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8)),
  27673. 384: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8)),
  27674. 385: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8)),
  27675. 386: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8)),
  27676. 387: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8)),
  27677. 388: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8)),
  27678. 389: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8)),
  27679. 390: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(8)),
  27680. 391: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(8)),
  27681. 392: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(8)),
  27682. 393: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(8)),
  27683. 394: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(350)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(8)),
  27684. 395: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8)),
  27685. 396: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8)),
  27686. 397: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8)),
  27687. 398: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(8)),
  27688. 399: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8)),
  27689. 400: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27690. 401: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27691. 402: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(356)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27692. 403: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27693. 404: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27694. 405: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27695. 406: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27696. 407: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27697. 408: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27698. 409: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(363)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27699. 410: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27700. 411: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  27701. 412: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27702. 413: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27703. 414: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27704. 415: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27705. 416: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27706. 417: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27707. 418: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27708. 419: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27709. 420: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27710. 421: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27711. 422: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27712. 423: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8)),
  27713. 424: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(8)),
  27714. 425: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(8)),
  27715. 426: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(379)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(8)),
  27716. 427: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(8)),
  27717. 428: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(8)),
  27718. 429: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(8)),
  27719. 430: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(8)),
  27720. 431: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8)),
  27721. 432: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8)),
  27722. 433: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(8)),
  27723. 434: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8)),
  27724. 435: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8)),
  27725. 436: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(8)),
  27726. 437: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(8)),
  27727. 438: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(8)),
  27728. 439: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8)),
  27729. 440: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8)),
  27730. 441: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8)),
  27731. 442: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8)),
  27732. 443: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27733. 444: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27734. 445: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27735. 446: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27736. 447: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(397)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27737. 448: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27738. 449: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27739. 450: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27740. 451: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27741. 452: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(402)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27742. 453: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(403)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27743. 454: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(404)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27744. 455: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(405)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27745. 456: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(406)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27746. 457: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(407)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27747. 458: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(408)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27748. 459: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(409)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27749. 460: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(410)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27750. 461: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(411)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27751. 462: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27752. 463: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27753. 464: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(414)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27754. 465: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(415)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27755. 466: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(416)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27756. 467: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(417)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27757. 468: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(418)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27758. 469: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(419)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27759. 470: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(420)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27760. 471: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(421)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27761. 472: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(422)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27762. 473: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(423)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27763. 474: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27764. 475: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27765. 476: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27766. 477: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27767. 478: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(428)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27768. 479: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(429)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27769. 480: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27770. 481: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27771. 482: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27772. 483: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27773. 484: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27774. 485: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27775. 486: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27776. 487: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27777. 488: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27778. 489: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27779. 490: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27780. 491: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(441)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27781. 492: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(442)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27782. 493: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27783. 494: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27784. 495: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(445)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27785. 496: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(446)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27786. 497: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(447)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27787. 498: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(448)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27788. 499: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(449)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27789. 500: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(450)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27790. 501: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(451)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27791. 502: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(452)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27792. 503: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(453)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27793. 504: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(454)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27794. 505: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(455)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27795. 506: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(456)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27796. 507: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(457)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27797. 508: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(458)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27798. 509: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(459)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27799. 510: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(460)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27800. 511: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(461)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27801. 512: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(462)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27802. 513: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(463)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27803. 514: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(464)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27804. 515: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(465)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27805. 516: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(466)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27806. 517: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(467)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27807. 518: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(468)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27808. 519: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(469)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27809. 520: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(470)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27810. 521: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(471)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27811. 522: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(472)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27812. 523: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(473)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27813. 524: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(474)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8)),
  27814. 525: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(475)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27815. 526: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(476)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27816. 527: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(477)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27817. 528: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(478)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27818. 529: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(479)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27819. 530: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(480)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27820. 531: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(481)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27821. 532: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(482)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27822. 533: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(483)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27823. 534: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(484)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27824. 535: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(485)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27825. 536: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(486)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27826. 537: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(487)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27827. 538: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(488)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27828. 539: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(489)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27829. 540: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(490)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27830. 541: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(491)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27831. 542: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(492)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27832. 543: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(493)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27833. 544: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(494)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27834. 545: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(495)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27835. 546: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(496)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27836. 547: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(497)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27837. 548: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(498)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27838. 549: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(499)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27839. 550: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(500)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27840. 551: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(501)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27841. 552: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(502)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27842. 553: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(503)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27843. 554: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(504)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27844. 555: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(505)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27845. 556: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(506)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27846. 557: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(507)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27847. 558: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(508)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27848. 559: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(509)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27849. 560: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(510)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27850. 561: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(511)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27851. 562: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(512)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27852. 563: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(513)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27853. 564: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(514)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27854. 565: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(515)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27855. 566: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(516)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27856. 567: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(517)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27857. 568: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(518)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27858. 569: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(519)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27859. 570: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(520)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27860. 571: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(521)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27861. 572: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(522)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27862. 573: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(523)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27863. 574: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(524)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27864. 575: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27865. 576: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27866. 577: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(527)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27867. 578: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(528)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27868. 579: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(529)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27869. 580: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(530)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27870. 581: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(531)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27871. 582: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(532)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27872. 583: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(533)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27873. 584: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(534)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27874. 585: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(535)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27875. 586: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(536)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27876. 587: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(537)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27877. 588: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(538)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27878. 589: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(539)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27879. 590: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(540)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27880. 591: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(541)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27881. 592: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(542)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27882. 593: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(543)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27883. 594: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(544)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27884. 595: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(545)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27885. 596: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(546)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27886. 597: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(547)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27887. 598: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(548)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27888. 599: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(549)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27889. 600: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(550)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27890. 601: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(551)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27891. 602: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(552)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27892. 603: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(553)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27893. 604: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(554)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27894. 605: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(555)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27895. 606: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(556)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27896. 607: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(557)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27897. 608: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(558)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27898. 609: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(559)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27899. 610: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(560)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27900. 611: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(561)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27901. 612: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(562)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27902. 613: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(563)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27903. 614: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(564)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27904. 615: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(565)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27905. 616: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(566)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27906. 617: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(567)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27907. 618: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(568)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27908. 619: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(569)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27909. 620: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(570)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27910. 621: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(571)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27911. 622: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(572)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27912. 623: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(573)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27913. 624: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(574)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27914. 625: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(575)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27915. 626: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(576)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27916. 627: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(577)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27917. 628: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(578)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27918. 629: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(579)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27919. 630: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(580)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27920. 631: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(581)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27921. 632: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(582)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27922. 633: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(583)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27923. 634: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(584)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27924. 635: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(585)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27925. 636: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(586)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27926. 637: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(587)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27927. 638: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(588)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27928. 639: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(589)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27929. 640: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(590)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27930. 641: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(591)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27931. 642: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(592)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27932. 643: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(593)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27933. 644: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(594)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27934. 645: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(595)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27935. 646: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(596)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27936. 647: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(597)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27937. 648: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(598)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27938. 649: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(599)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27939. 650: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(600)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27940. 651: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(601)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27941. 652: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(602)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27942. 653: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(603)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27943. 654: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27944. 655: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27945. 656: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(605)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27946. 657: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(606)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27947. 658: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27948. 659: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(607)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27949. 660: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(608)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27950. 661: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(609)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27951. 662: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(610)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27952. 663: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(611)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27953. 664: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(612)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27954. 665: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(613)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27955. 666: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27956. 667: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(614)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27957. 668: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(615)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27958. 669: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(616)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27959. 670: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(617)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27960. 671: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(618)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27961. 672: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(619)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27962. 673: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27963. 674: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(620)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27964. 675: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(621)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27965. 676: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(622)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27966. 677: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(623)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27967. 678: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(624)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27968. 679: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(625)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27969. 680: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(626)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27970. 681: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(627)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27971. 682: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(628)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27972. 683: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(629)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27973. 684: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(630)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27974. 685: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(631)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27975. 686: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(632)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27976. 687: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(633)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27977. 688: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(634)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27978. 689: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(635)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27979. 690: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(636)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27980. 691: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(637)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27981. 692: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(638)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27982. 693: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(639)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27983. 694: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(640)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27984. 695: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(641)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8)),
  27985. 696: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(642)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27986. 697: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(643)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27987. 698: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(644)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27988. 699: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(645)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27989. 700: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(646)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27990. 701: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(647)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27991. 702: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(648)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27992. 703: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(649)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27993. 704: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(650)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27994. 705: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(651)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27995. 706: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(652)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27996. 707: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(653)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27997. 708: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(654)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27998. 709: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(655)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  27999. 710: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(656)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28000. 711: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(657)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28001. 712: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(658)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28002. 713: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(659)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28003. 714: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(660)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28004. 715: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(661)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28005. 716: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(662)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28006. 717: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(663)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28007. 718: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(664)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28008. 719: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(665)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28009. 720: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(666)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28010. 721: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(667)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28011. 722: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(668)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28012. 723: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(669)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28013. 724: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(670)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28014. 725: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(671)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28015. 726: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(672)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28016. 727: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(673)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28017. 728: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(674)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28018. 729: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(675)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28019. 730: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(676)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28020. 731: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(677)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28021. 732: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(678)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28022. 733: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(679)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28023. 734: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(680)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28024. 735: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(681)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28025. 736: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(682)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28026. 737: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(683)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28027. 738: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(684)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28028. 739: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(685)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28029. 740: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(686)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28030. 741: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(687)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28031. 742: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(688)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28032. 743: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(689)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28033. 744: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(690)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28034. 745: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(691)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28035. 746: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(692)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28036. 747: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(693)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28037. 748: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(694)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28038. 749: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(695)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28039. 750: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28040. 751: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28041. 752: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(698)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28042. 753: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(699)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28043. 754: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(700)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28044. 755: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(701)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28045. 756: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(702)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28046. 757: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(703)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28047. 758: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(704)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28048. 759: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(705)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28049. 760: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(706)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28050. 761: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(707)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28051. 762: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(708)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28052. 763: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(709)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28053. 764: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(710)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28054. 765: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(711)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28055. 766: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(712)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28056. 767: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(713)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28057. 768: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(714)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28058. 769: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(715)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28059. 770: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(716)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28060. 771: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(717)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28061. 772: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(718)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28062. 773: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(719)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28063. 774: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(720)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28064. 775: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(721)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28065. 776: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(722)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28066. 777: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(723)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28067. 778: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(724)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8)),
  28068. },
  28069. Fnumbers: [779]TFcChar16{
  28070. 1: uint16(0x0004),
  28071. 3: uint16(0x0001),
  28072. 5: uint16(0x0001),
  28073. 6: uint16(0x0002),
  28074. 7: uint16(0x0003),
  28075. 8: uint16(0x001e),
  28076. 9: uint16(0x0012),
  28077. 10: uint16(0x0013),
  28078. 12: uint16(0x0006),
  28079. 13: uint16(0x0009),
  28080. 15: uint16(0x001e),
  28081. 16: uint16(0x0004),
  28082. 19: uint16(0x0001),
  28083. 20: uint16(0x0002),
  28084. 21: uint16(0x0006),
  28085. 22: uint16(0x0004),
  28086. 23: uint16(0x0004),
  28087. 25: uint16(0x0001),
  28088. 26: uint16(0x0002),
  28089. 27: uint16(0x001e),
  28090. 28: uint16(0x002d),
  28091. 29: uint16(0x0004),
  28092. 30: uint16(0x0009),
  28093. 33: uint16(0x0003),
  28094. 34: uint16(0x001e),
  28095. 36: uint16(0x0001),
  28096. 37: uint16(0x0002),
  28097. 38: uint16(0x0009),
  28098. 39: uint16(0x000f),
  28099. 41: uint16(0x0009),
  28100. 43: uint16(0x0001),
  28101. 44: uint16(0x0004),
  28102. 45: uint16(0x0012),
  28103. 46: uint16(0x0013),
  28104. 48: uint16(0x0001),
  28105. 50: uint16(0x0004),
  28106. 51: uint16(0x0013),
  28107. 53: uint16(0x0001),
  28108. 55: uint16(0x0001),
  28109. 57: uint16(0x0001),
  28110. 59: uint16(0x0001),
  28111. 60: uint16(0x0004),
  28112. 61: uint16(0x0001),
  28113. 62: uint16(0x0004),
  28114. 64: uint16(0x0001),
  28115. 65: uint16(0x001e),
  28116. 68: uint16(0x0009),
  28117. 69: uint16(0x0007),
  28118. 71: uint16(0x0001),
  28119. 72: uint16(0x0002),
  28120. 73: uint16(0x0003),
  28121. 74: uint16(0x0003),
  28122. 77: uint16(0x0001),
  28123. 79: uint16(0x0001),
  28124. 82: uint16(0x0001),
  28125. 83: uint16(0x0002),
  28126. 85: uint16(0x0001),
  28127. 92: uint16(0x0001),
  28128. 93: uint16(0x001e),
  28129. 95: uint16(0x0012),
  28130. 96: uint16(0x0013),
  28131. 98: uint16(0x0001),
  28132. 99: uint16(0x001e),
  28133. 100: uint16(0x000a),
  28134. 103: uint16(0x0001),
  28135. 104: uint16(0x0002),
  28136. 106: uint16(0x0001),
  28137. 107: uint16(0x0002),
  28138. 108: uint16(0x0005),
  28139. 110: uint16(0x0001),
  28140. 113: uint16(0x0001),
  28141. 114: uint16(0x0005),
  28142. 116: uint16(0x0003),
  28143. 117: uint16(0x001e),
  28144. 120: uint16(0x001e),
  28145. 121: uint16(0x00a0),
  28146. 122: uint16(0x00a1),
  28147. 123: uint16(0x00a2),
  28148. 124: uint16(0x00a3),
  28149. 125: uint16(0x00a4),
  28150. 126: uint16(0x0004),
  28151. 129: uint16(0x0014),
  28152. 130: uint16(0x0015),
  28153. 131: uint16(0x0016),
  28154. 132: uint16(0x0030),
  28155. 133: uint16(0x004e),
  28156. 134: uint16(0x004f),
  28157. 135: uint16(0x0050),
  28158. 136: uint16(0x0051),
  28159. 137: uint16(0x0052),
  28160. 138: uint16(0x0053),
  28161. 139: uint16(0x0054),
  28162. 140: uint16(0x0055),
  28163. 141: uint16(0x0056),
  28164. 142: uint16(0x0057),
  28165. 143: uint16(0x0058),
  28166. 144: uint16(0x0059),
  28167. 145: uint16(0x005a),
  28168. 146: uint16(0x005b),
  28169. 147: uint16(0x005c),
  28170. 148: uint16(0x005d),
  28171. 149: uint16(0x005e),
  28172. 150: uint16(0x005f),
  28173. 151: uint16(0x0060),
  28174. 152: uint16(0x0061),
  28175. 153: uint16(0x0062),
  28176. 154: uint16(0x0063),
  28177. 155: uint16(0x0064),
  28178. 156: uint16(0x0065),
  28179. 157: uint16(0x0066),
  28180. 158: uint16(0x0067),
  28181. 159: uint16(0x0068),
  28182. 160: uint16(0x0069),
  28183. 161: uint16(0x006a),
  28184. 162: uint16(0x006b),
  28185. 163: uint16(0x006c),
  28186. 164: uint16(0x006d),
  28187. 165: uint16(0x006e),
  28188. 166: uint16(0x006f),
  28189. 167: uint16(0x0070),
  28190. 168: uint16(0x0071),
  28191. 169: uint16(0x0072),
  28192. 170: uint16(0x0073),
  28193. 171: uint16(0x0074),
  28194. 172: uint16(0x0075),
  28195. 173: uint16(0x0076),
  28196. 174: uint16(0x0077),
  28197. 175: uint16(0x0078),
  28198. 176: uint16(0x0079),
  28199. 177: uint16(0x007a),
  28200. 178: uint16(0x007b),
  28201. 179: uint16(0x007c),
  28202. 180: uint16(0x007d),
  28203. 181: uint16(0x007e),
  28204. 182: uint16(0x007f),
  28205. 183: uint16(0x0080),
  28206. 184: uint16(0x0081),
  28207. 185: uint16(0x0082),
  28208. 186: uint16(0x0083),
  28209. 187: uint16(0x0084),
  28210. 188: uint16(0x0085),
  28211. 189: uint16(0x0086),
  28212. 190: uint16(0x0087),
  28213. 191: uint16(0x0088),
  28214. 192: uint16(0x0089),
  28215. 193: uint16(0x008a),
  28216. 194: uint16(0x008b),
  28217. 195: uint16(0x008c),
  28218. 196: uint16(0x008d),
  28219. 197: uint16(0x008e),
  28220. 198: uint16(0x008f),
  28221. 199: uint16(0x0090),
  28222. 200: uint16(0x0091),
  28223. 201: uint16(0x0092),
  28224. 202: uint16(0x0093),
  28225. 203: uint16(0x0094),
  28226. 204: uint16(0x0095),
  28227. 205: uint16(0x0096),
  28228. 206: uint16(0x0097),
  28229. 207: uint16(0x0098),
  28230. 208: uint16(0x0099),
  28231. 209: uint16(0x009a),
  28232. 210: uint16(0x009b),
  28233. 211: uint16(0x009c),
  28234. 212: uint16(0x009d),
  28235. 213: uint16(0x009e),
  28236. 214: uint16(0x009f),
  28237. 216: uint16(0x0010),
  28238. 217: uint16(0x0004),
  28239. 219: uint16(0x0001),
  28240. 220: uint16(0x0004),
  28241. 222: uint16(0x0001),
  28242. 223: uint16(0x0017),
  28243. 224: uint16(0x000c),
  28244. 225: uint16(0x0031),
  28245. 226: uint16(0x00ac),
  28246. 227: uint16(0x00ad),
  28247. 228: uint16(0x00ae),
  28248. 229: uint16(0x00af),
  28249. 230: uint16(0x00b0),
  28250. 231: uint16(0x00b1),
  28251. 232: uint16(0x00b2),
  28252. 233: uint16(0x00b3),
  28253. 234: uint16(0x00b4),
  28254. 235: uint16(0x00b5),
  28255. 236: uint16(0x00b6),
  28256. 237: uint16(0x00b7),
  28257. 238: uint16(0x00b8),
  28258. 239: uint16(0x00b9),
  28259. 240: uint16(0x00ba),
  28260. 241: uint16(0x00bb),
  28261. 242: uint16(0x00bc),
  28262. 243: uint16(0x00bd),
  28263. 244: uint16(0x00be),
  28264. 245: uint16(0x00bf),
  28265. 246: uint16(0x00c0),
  28266. 247: uint16(0x00c1),
  28267. 248: uint16(0x00c2),
  28268. 249: uint16(0x00c3),
  28269. 250: uint16(0x00c4),
  28270. 251: uint16(0x00c5),
  28271. 252: uint16(0x00c6),
  28272. 253: uint16(0x00c7),
  28273. 254: uint16(0x00c8),
  28274. 255: uint16(0x00c9),
  28275. 256: uint16(0x00ca),
  28276. 257: uint16(0x00cb),
  28277. 258: uint16(0x00cc),
  28278. 259: uint16(0x00cd),
  28279. 260: uint16(0x00ce),
  28280. 261: uint16(0x00cf),
  28281. 262: uint16(0x00d0),
  28282. 263: uint16(0x00d1),
  28283. 264: uint16(0x00d2),
  28284. 265: uint16(0x00d3),
  28285. 266: uint16(0x00d4),
  28286. 267: uint16(0x00d5),
  28287. 268: uint16(0x00d6),
  28288. 269: uint16(0x00d7),
  28289. 271: uint16(0x0001),
  28290. 272: uint16(0x0002),
  28291. 273: uint16(0x0006),
  28292. 274: uint16(0x0004),
  28293. 275: uint16(0x0005),
  28294. 276: uint16(0x0006),
  28295. 278: uint16(0x0001),
  28296. 279: uint16(0x0004),
  28297. 280: uint16(0x0004),
  28298. 282: uint16(0x0001),
  28299. 283: uint16(0x0002),
  28300. 284: uint16(0x0004),
  28301. 286: uint16(0x0001),
  28302. 287: uint16(0x0006),
  28303. 290: uint16(0x0001),
  28304. 293: uint16(0x0001),
  28305. 294: uint16(0x0002),
  28306. 295: uint16(0x0003),
  28307. 296: uint16(0x000e),
  28308. 298: uint16(0x0001),
  28309. 300: uint16(0x0001),
  28310. 303: uint16(0x0001),
  28311. 305: uint16(0x0001),
  28312. 306: uint16(0x001e),
  28313. 307: uint16(0x0004),
  28314. 308: uint16(0x000d),
  28315. 309: uint16(0x0018),
  28316. 310: uint16(0x0004),
  28317. 311: uint16(0x0009),
  28318. 313: uint16(0x0001),
  28319. 314: uint16(0x0002),
  28320. 315: uint16(0x0004),
  28321. 317: uint16(0x0001),
  28322. 318: uint16(0x0010),
  28323. 320: uint16(0x0001),
  28324. 322: uint16(0x0009),
  28325. 325: uint16(0x0007),
  28326. 327: uint16(0x0001),
  28327. 329: uint16(0x0001),
  28328. 330: uint16(0x0002),
  28329. 331: uint16(0x0003),
  28330. 333: uint16(0x0001),
  28331. 335: uint16(0x000b),
  28332. 336: uint16(0x0006),
  28333. 337: uint16(0x000a),
  28334. 341: uint16(0x0001),
  28335. 342: uint16(0x0006),
  28336. 343: uint16(0x0006),
  28337. 346: uint16(0x0002),
  28338. 349: uint16(0x0001),
  28339. 350: uint16(0x0002),
  28340. 351: uint16(0x0004),
  28341. 352: uint16(0x0009),
  28342. 355: uint16(0x0001),
  28343. 356: uint16(0x0002),
  28344. 357: uint16(0x0006),
  28345. 359: uint16(0x0001),
  28346. 362: uint16(0x0001),
  28347. 363: uint16(0x0004),
  28348. 365: uint16(0x0003),
  28349. 366: uint16(0x000d),
  28350. 367: uint16(0x0012),
  28351. 368: uint16(0x0013),
  28352. 370: uint16(0x0001),
  28353. 372: uint16(0x0002),
  28354. 376: uint16(0x0001),
  28355. 378: uint16(0x0001),
  28356. 379: uint16(0x0002),
  28357. 381: uint16(0x0004),
  28358. 383: uint16(0x0007),
  28359. 384: uint16(0x000b),
  28360. 385: uint16(0x000c),
  28361. 386: uint16(0x0004),
  28362. 387: uint16(0x000e),
  28363. 388: uint16(0x0012),
  28364. 389: uint16(0x0013),
  28365. 391: uint16(0x0001),
  28366. 393: uint16(0x0001),
  28367. 394: uint16(0x0004),
  28368. 396: uint16(0x0001),
  28369. 397: uint16(0x0002),
  28370. 398: uint16(0x0006),
  28371. 399: uint16(0x0004),
  28372. 401: uint16(0x0001),
  28373. 402: uint16(0x0003),
  28374. 403: uint16(0x0020),
  28375. 404: uint16(0x0021),
  28376. 405: uint16(0x0022),
  28377. 406: uint16(0x0023),
  28378. 407: uint16(0x0025),
  28379. 408: uint16(0x0027),
  28380. 409: uint16(0x01d4),
  28381. 410: uint16(0x01d5),
  28382. 411: uint16(0x01d6),
  28383. 412: uint16(0x0023),
  28384. 413: uint16(0x0025),
  28385. 414: uint16(0x0026),
  28386. 415: uint16(0x0027),
  28387. 416: uint16(0x002b),
  28388. 417: uint16(0x01f0),
  28389. 418: uint16(0x01f1),
  28390. 419: uint16(0x01f2),
  28391. 420: uint16(0x01f3),
  28392. 421: uint16(0x01f4),
  28393. 422: uint16(0x01f5),
  28394. 423: uint16(0x01f6),
  28395. 425: uint16(0x001e),
  28396. 427: uint16(0x0001),
  28397. 428: uint16(0x0003),
  28398. 429: uint16(0x001e),
  28399. 432: uint16(0x0001),
  28400. 435: uint16(0x0001),
  28401. 437: uint16(0x0001),
  28402. 440: uint16(0x0001),
  28403. 441: uint16(0x0003),
  28404. 442: uint16(0x001e),
  28405. 443: uint16(0x0002),
  28406. 444: uint16(0x004e),
  28407. 445: uint16(0x004f),
  28408. 446: uint16(0x0050),
  28409. 447: uint16(0x0051),
  28410. 448: uint16(0x0052),
  28411. 449: uint16(0x0053),
  28412. 450: uint16(0x0054),
  28413. 451: uint16(0x0055),
  28414. 452: uint16(0x0056),
  28415. 453: uint16(0x0057),
  28416. 454: uint16(0x0058),
  28417. 455: uint16(0x0059),
  28418. 456: uint16(0x005a),
  28419. 457: uint16(0x005b),
  28420. 458: uint16(0x005c),
  28421. 459: uint16(0x005d),
  28422. 460: uint16(0x005e),
  28423. 461: uint16(0x005f),
  28424. 462: uint16(0x0060),
  28425. 463: uint16(0x0061),
  28426. 464: uint16(0x0062),
  28427. 465: uint16(0x0063),
  28428. 466: uint16(0x0064),
  28429. 467: uint16(0x0065),
  28430. 468: uint16(0x0066),
  28431. 469: uint16(0x0067),
  28432. 470: uint16(0x0068),
  28433. 471: uint16(0x0069),
  28434. 472: uint16(0x006a),
  28435. 473: uint16(0x006b),
  28436. 474: uint16(0x006c),
  28437. 475: uint16(0x006d),
  28438. 476: uint16(0x006e),
  28439. 477: uint16(0x006f),
  28440. 478: uint16(0x0070),
  28441. 479: uint16(0x0071),
  28442. 480: uint16(0x0072),
  28443. 481: uint16(0x0073),
  28444. 482: uint16(0x0074),
  28445. 483: uint16(0x0075),
  28446. 484: uint16(0x0076),
  28447. 485: uint16(0x0077),
  28448. 486: uint16(0x0078),
  28449. 487: uint16(0x0079),
  28450. 488: uint16(0x007a),
  28451. 489: uint16(0x007b),
  28452. 490: uint16(0x007c),
  28453. 491: uint16(0x007d),
  28454. 492: uint16(0x007e),
  28455. 493: uint16(0x007f),
  28456. 494: uint16(0x0080),
  28457. 495: uint16(0x0081),
  28458. 496: uint16(0x0082),
  28459. 497: uint16(0x0083),
  28460. 498: uint16(0x0084),
  28461. 499: uint16(0x0085),
  28462. 500: uint16(0x0086),
  28463. 501: uint16(0x0087),
  28464. 502: uint16(0x0088),
  28465. 503: uint16(0x0089),
  28466. 504: uint16(0x008a),
  28467. 505: uint16(0x008b),
  28468. 506: uint16(0x008c),
  28469. 507: uint16(0x008d),
  28470. 508: uint16(0x008e),
  28471. 509: uint16(0x008f),
  28472. 510: uint16(0x0090),
  28473. 511: uint16(0x0091),
  28474. 512: uint16(0x0092),
  28475. 513: uint16(0x0093),
  28476. 514: uint16(0x0094),
  28477. 515: uint16(0x0095),
  28478. 516: uint16(0x0096),
  28479. 517: uint16(0x0097),
  28480. 518: uint16(0x0098),
  28481. 519: uint16(0x0099),
  28482. 520: uint16(0x009a),
  28483. 521: uint16(0x009b),
  28484. 522: uint16(0x009c),
  28485. 523: uint16(0x009e),
  28486. 524: uint16(0x009f),
  28487. 525: uint16(0x0030),
  28488. 526: uint16(0x0034),
  28489. 527: uint16(0x0035),
  28490. 528: uint16(0x0036),
  28491. 529: uint16(0x0037),
  28492. 530: uint16(0x0038),
  28493. 531: uint16(0x0039),
  28494. 532: uint16(0x003a),
  28495. 533: uint16(0x003b),
  28496. 534: uint16(0x003c),
  28497. 535: uint16(0x003d),
  28498. 536: uint16(0x003e),
  28499. 537: uint16(0x003f),
  28500. 538: uint16(0x0040),
  28501. 539: uint16(0x0041),
  28502. 540: uint16(0x0042),
  28503. 541: uint16(0x0043),
  28504. 542: uint16(0x0044),
  28505. 543: uint16(0x0045),
  28506. 544: uint16(0x0046),
  28507. 545: uint16(0x0047),
  28508. 546: uint16(0x0048),
  28509. 547: uint16(0x0049),
  28510. 548: uint16(0x004a),
  28511. 549: uint16(0x004b),
  28512. 550: uint16(0x004c),
  28513. 551: uint16(0x004d),
  28514. 552: uint16(0x004e),
  28515. 553: uint16(0x004f),
  28516. 554: uint16(0x0050),
  28517. 555: uint16(0x0051),
  28518. 556: uint16(0x0052),
  28519. 557: uint16(0x0053),
  28520. 558: uint16(0x0054),
  28521. 559: uint16(0x0055),
  28522. 560: uint16(0x0056),
  28523. 561: uint16(0x0057),
  28524. 562: uint16(0x0058),
  28525. 563: uint16(0x0059),
  28526. 564: uint16(0x005a),
  28527. 565: uint16(0x005b),
  28528. 566: uint16(0x005c),
  28529. 567: uint16(0x005d),
  28530. 568: uint16(0x005e),
  28531. 569: uint16(0x005f),
  28532. 570: uint16(0x0060),
  28533. 571: uint16(0x0061),
  28534. 572: uint16(0x0062),
  28535. 573: uint16(0x0063),
  28536. 574: uint16(0x0064),
  28537. 575: uint16(0x0065),
  28538. 576: uint16(0x0066),
  28539. 577: uint16(0x0067),
  28540. 578: uint16(0x0068),
  28541. 579: uint16(0x0069),
  28542. 580: uint16(0x006a),
  28543. 581: uint16(0x006b),
  28544. 582: uint16(0x006c),
  28545. 583: uint16(0x006d),
  28546. 584: uint16(0x006e),
  28547. 585: uint16(0x006f),
  28548. 586: uint16(0x0070),
  28549. 587: uint16(0x0071),
  28550. 588: uint16(0x0072),
  28551. 589: uint16(0x0073),
  28552. 590: uint16(0x0074),
  28553. 591: uint16(0x0075),
  28554. 592: uint16(0x0076),
  28555. 593: uint16(0x0077),
  28556. 594: uint16(0x0078),
  28557. 595: uint16(0x0079),
  28558. 596: uint16(0x007a),
  28559. 597: uint16(0x007b),
  28560. 598: uint16(0x007c),
  28561. 599: uint16(0x007d),
  28562. 600: uint16(0x007e),
  28563. 601: uint16(0x007f),
  28564. 602: uint16(0x0080),
  28565. 603: uint16(0x0081),
  28566. 604: uint16(0x0082),
  28567. 605: uint16(0x0083),
  28568. 606: uint16(0x0084),
  28569. 607: uint16(0x0085),
  28570. 608: uint16(0x0086),
  28571. 609: uint16(0x0087),
  28572. 610: uint16(0x0088),
  28573. 611: uint16(0x0089),
  28574. 612: uint16(0x008a),
  28575. 613: uint16(0x008b),
  28576. 614: uint16(0x008c),
  28577. 615: uint16(0x008d),
  28578. 616: uint16(0x008e),
  28579. 617: uint16(0x008f),
  28580. 618: uint16(0x0090),
  28581. 619: uint16(0x0091),
  28582. 620: uint16(0x0092),
  28583. 621: uint16(0x0093),
  28584. 622: uint16(0x0094),
  28585. 623: uint16(0x0095),
  28586. 624: uint16(0x0096),
  28587. 625: uint16(0x0097),
  28588. 626: uint16(0x0098),
  28589. 627: uint16(0x0099),
  28590. 628: uint16(0x009a),
  28591. 629: uint16(0x009b),
  28592. 630: uint16(0x009c),
  28593. 631: uint16(0x009d),
  28594. 632: uint16(0x009e),
  28595. 633: uint16(0x009f),
  28596. 634: uint16(0x0200),
  28597. 635: uint16(0x0201),
  28598. 636: uint16(0x0203),
  28599. 637: uint16(0x0207),
  28600. 638: uint16(0x020c),
  28601. 639: uint16(0x020d),
  28602. 640: uint16(0x020e),
  28603. 641: uint16(0x020f),
  28604. 642: uint16(0x0210),
  28605. 643: uint16(0x0211),
  28606. 644: uint16(0x0219),
  28607. 645: uint16(0x021a),
  28608. 646: uint16(0x021c),
  28609. 647: uint16(0x021d),
  28610. 648: uint16(0x0220),
  28611. 649: uint16(0x0221),
  28612. 650: uint16(0x022a),
  28613. 651: uint16(0x022b),
  28614. 652: uint16(0x022c),
  28615. 653: uint16(0x022d),
  28616. 654: uint16(0x022f),
  28617. 655: uint16(0x0232),
  28618. 656: uint16(0x0235),
  28619. 657: uint16(0x0236),
  28620. 658: uint16(0x023c),
  28621. 659: uint16(0x023e),
  28622. 660: uint16(0x023f),
  28623. 661: uint16(0x0244),
  28624. 662: uint16(0x024d),
  28625. 663: uint16(0x024e),
  28626. 664: uint16(0x0251),
  28627. 665: uint16(0x0255),
  28628. 666: uint16(0x025e),
  28629. 667: uint16(0x0262),
  28630. 668: uint16(0x0266),
  28631. 669: uint16(0x0267),
  28632. 670: uint16(0x0268),
  28633. 671: uint16(0x0269),
  28634. 672: uint16(0x0272),
  28635. 673: uint16(0x0275),
  28636. 674: uint16(0x0276),
  28637. 675: uint16(0x0277),
  28638. 676: uint16(0x0278),
  28639. 677: uint16(0x0279),
  28640. 678: uint16(0x027a),
  28641. 679: uint16(0x027d),
  28642. 680: uint16(0x0280),
  28643. 681: uint16(0x0281),
  28644. 682: uint16(0x0282),
  28645. 683: uint16(0x0283),
  28646. 684: uint16(0x0289),
  28647. 685: uint16(0x028a),
  28648. 686: uint16(0x028b),
  28649. 687: uint16(0x028c),
  28650. 688: uint16(0x028d),
  28651. 689: uint16(0x028e),
  28652. 690: uint16(0x0294),
  28653. 691: uint16(0x0297),
  28654. 692: uint16(0x0298),
  28655. 693: uint16(0x029a),
  28656. 694: uint16(0x029d),
  28657. 695: uint16(0x02a6),
  28658. 696: uint16(0x004e),
  28659. 697: uint16(0x004f),
  28660. 698: uint16(0x0050),
  28661. 699: uint16(0x0051),
  28662. 700: uint16(0x0052),
  28663. 701: uint16(0x0053),
  28664. 702: uint16(0x0054),
  28665. 703: uint16(0x0055),
  28666. 704: uint16(0x0056),
  28667. 705: uint16(0x0057),
  28668. 706: uint16(0x0058),
  28669. 707: uint16(0x0059),
  28670. 708: uint16(0x005a),
  28671. 709: uint16(0x005b),
  28672. 710: uint16(0x005c),
  28673. 711: uint16(0x005d),
  28674. 712: uint16(0x005e),
  28675. 713: uint16(0x005f),
  28676. 714: uint16(0x0060),
  28677. 715: uint16(0x0061),
  28678. 716: uint16(0x0062),
  28679. 717: uint16(0x0063),
  28680. 718: uint16(0x0064),
  28681. 719: uint16(0x0065),
  28682. 720: uint16(0x0066),
  28683. 721: uint16(0x0067),
  28684. 722: uint16(0x0068),
  28685. 723: uint16(0x0069),
  28686. 724: uint16(0x006a),
  28687. 725: uint16(0x006b),
  28688. 726: uint16(0x006c),
  28689. 727: uint16(0x006d),
  28690. 728: uint16(0x006e),
  28691. 729: uint16(0x006f),
  28692. 730: uint16(0x0070),
  28693. 731: uint16(0x0071),
  28694. 732: uint16(0x0072),
  28695. 733: uint16(0x0073),
  28696. 734: uint16(0x0074),
  28697. 735: uint16(0x0075),
  28698. 736: uint16(0x0076),
  28699. 737: uint16(0x0077),
  28700. 738: uint16(0x0078),
  28701. 739: uint16(0x0079),
  28702. 740: uint16(0x007a),
  28703. 741: uint16(0x007b),
  28704. 742: uint16(0x007c),
  28705. 743: uint16(0x007d),
  28706. 744: uint16(0x007e),
  28707. 745: uint16(0x007f),
  28708. 746: uint16(0x0080),
  28709. 747: uint16(0x0081),
  28710. 748: uint16(0x0082),
  28711. 749: uint16(0x0083),
  28712. 750: uint16(0x0084),
  28713. 751: uint16(0x0085),
  28714. 752: uint16(0x0086),
  28715. 753: uint16(0x0087),
  28716. 754: uint16(0x0088),
  28717. 755: uint16(0x0089),
  28718. 756: uint16(0x008a),
  28719. 757: uint16(0x008b),
  28720. 758: uint16(0x008c),
  28721. 759: uint16(0x008d),
  28722. 760: uint16(0x008e),
  28723. 761: uint16(0x008f),
  28724. 762: uint16(0x0090),
  28725. 763: uint16(0x0091),
  28726. 764: uint16(0x0092),
  28727. 765: uint16(0x0093),
  28728. 766: uint16(0x0094),
  28729. 767: uint16(0x0095),
  28730. 768: uint16(0x0096),
  28731. 769: uint16(0x0097),
  28732. 770: uint16(0x0098),
  28733. 771: uint16(0x0099),
  28734. 772: uint16(0x009a),
  28735. 773: uint16(0x009b),
  28736. 774: uint16(0x009c),
  28737. 775: uint16(0x009d),
  28738. 776: uint16(0x009e),
  28739. 777: uint16(0x009f),
  28740. 778: uint16(0x00fa),
  28741. },
  28742. FlangIndices: [246]TFcChar8{
  28743. 1: uint8(1),
  28744. 2: uint8(2),
  28745. 3: uint8(190),
  28746. 4: uint8(3),
  28747. 5: uint8(191),
  28748. 6: uint8(4),
  28749. 7: uint8(5),
  28750. 8: uint8(6),
  28751. 9: uint8(7),
  28752. 10: uint8(8),
  28753. 11: uint8(9),
  28754. 12: uint8(10),
  28755. 13: uint8(11),
  28756. 14: uint8(13),
  28757. 15: uint8(192),
  28758. 16: uint8(193),
  28759. 17: uint8(14),
  28760. 18: uint8(15),
  28761. 19: uint8(16),
  28762. 20: uint8(17),
  28763. 21: uint8(18),
  28764. 22: uint8(12),
  28765. 23: uint8(19),
  28766. 24: uint8(20),
  28767. 25: uint8(21),
  28768. 26: uint8(240),
  28769. 27: uint8(22),
  28770. 28: uint8(23),
  28771. 29: uint8(194),
  28772. 30: uint8(24),
  28773. 31: uint8(25),
  28774. 32: uint8(26),
  28775. 33: uint8(27),
  28776. 34: uint8(28),
  28777. 35: uint8(29),
  28778. 36: uint8(195),
  28779. 37: uint8(30),
  28780. 38: uint8(196),
  28781. 39: uint8(31),
  28782. 40: uint8(32),
  28783. 41: uint8(33),
  28784. 42: uint8(34),
  28785. 43: uint8(35),
  28786. 44: uint8(242),
  28787. 45: uint8(197),
  28788. 46: uint8(36),
  28789. 47: uint8(198),
  28790. 48: uint8(37),
  28791. 49: uint8(38),
  28792. 50: uint8(39),
  28793. 51: uint8(40),
  28794. 52: uint8(41),
  28795. 53: uint8(42),
  28796. 54: uint8(43),
  28797. 55: uint8(199),
  28798. 56: uint8(48),
  28799. 57: uint8(44),
  28800. 58: uint8(200),
  28801. 59: uint8(45),
  28802. 60: uint8(46),
  28803. 61: uint8(47),
  28804. 62: uint8(49),
  28805. 63: uint8(50),
  28806. 64: uint8(51),
  28807. 65: uint8(52),
  28808. 66: uint8(53),
  28809. 67: uint8(54),
  28810. 68: uint8(55),
  28811. 69: uint8(56),
  28812. 70: uint8(57),
  28813. 71: uint8(58),
  28814. 72: uint8(59),
  28815. 73: uint8(60),
  28816. 74: uint8(61),
  28817. 75: uint8(201),
  28818. 76: uint8(62),
  28819. 77: uint8(63),
  28820. 78: uint8(202),
  28821. 79: uint8(203),
  28822. 80: uint8(64),
  28823. 81: uint8(65),
  28824. 82: uint8(204),
  28825. 83: uint8(66),
  28826. 84: uint8(68),
  28827. 85: uint8(69),
  28828. 86: uint8(67),
  28829. 87: uint8(205),
  28830. 88: uint8(70),
  28831. 89: uint8(71),
  28832. 90: uint8(72),
  28833. 91: uint8(73),
  28834. 92: uint8(74),
  28835. 93: uint8(75),
  28836. 94: uint8(206),
  28837. 95: uint8(76),
  28838. 96: uint8(77),
  28839. 97: uint8(207),
  28840. 98: uint8(78),
  28841. 99: uint8(208),
  28842. 100: uint8(79),
  28843. 101: uint8(80),
  28844. 102: uint8(81),
  28845. 103: uint8(82),
  28846. 104: uint8(83),
  28847. 105: uint8(84),
  28848. 106: uint8(209),
  28849. 107: uint8(85),
  28850. 108: uint8(86),
  28851. 109: uint8(210),
  28852. 110: uint8(87),
  28853. 111: uint8(211),
  28854. 112: uint8(88),
  28855. 113: uint8(89),
  28856. 114: uint8(90),
  28857. 115: uint8(212),
  28858. 116: uint8(91),
  28859. 117: uint8(92),
  28860. 118: uint8(238),
  28861. 119: uint8(93),
  28862. 120: uint8(94),
  28863. 121: uint8(213),
  28864. 122: uint8(214),
  28865. 123: uint8(95),
  28866. 124: uint8(96),
  28867. 125: uint8(97),
  28868. 126: uint8(98),
  28869. 127: uint8(215),
  28870. 128: uint8(99),
  28871. 129: uint8(100),
  28872. 130: uint8(101),
  28873. 131: uint8(102),
  28874. 132: uint8(103),
  28875. 133: uint8(104),
  28876. 134: uint8(216),
  28877. 135: uint8(243),
  28878. 136: uint8(105),
  28879. 137: uint8(106),
  28880. 138: uint8(217),
  28881. 139: uint8(107),
  28882. 140: uint8(108),
  28883. 141: uint8(218),
  28884. 142: uint8(109),
  28885. 143: uint8(110),
  28886. 144: uint8(111),
  28887. 145: uint8(219),
  28888. 146: uint8(112),
  28889. 147: uint8(113),
  28890. 148: uint8(114),
  28891. 149: uint8(239),
  28892. 150: uint8(115),
  28893. 151: uint8(116),
  28894. 152: uint8(220),
  28895. 153: uint8(117),
  28896. 154: uint8(118),
  28897. 155: uint8(119),
  28898. 156: uint8(120),
  28899. 157: uint8(121),
  28900. 158: uint8(221),
  28901. 159: uint8(122),
  28902. 160: uint8(222),
  28903. 161: uint8(223),
  28904. 162: uint8(224),
  28905. 163: uint8(123),
  28906. 164: uint8(124),
  28907. 165: uint8(125),
  28908. 166: uint8(126),
  28909. 167: uint8(225),
  28910. 168: uint8(226),
  28911. 169: uint8(127),
  28912. 170: uint8(227),
  28913. 171: uint8(128),
  28914. 172: uint8(129),
  28915. 173: uint8(228),
  28916. 174: uint8(130),
  28917. 175: uint8(131),
  28918. 176: uint8(241),
  28919. 177: uint8(229),
  28920. 178: uint8(132),
  28921. 179: uint8(230),
  28922. 180: uint8(133),
  28923. 181: uint8(134),
  28924. 182: uint8(231),
  28925. 183: uint8(135),
  28926. 184: uint8(136),
  28927. 185: uint8(137),
  28928. 186: uint8(232),
  28929. 187: uint8(138),
  28930. 188: uint8(139),
  28931. 189: uint8(140),
  28932. 190: uint8(141),
  28933. 191: uint8(142),
  28934. 192: uint8(143),
  28935. 193: uint8(144),
  28936. 194: uint8(233),
  28937. 195: uint8(145),
  28938. 196: uint8(146),
  28939. 197: uint8(147),
  28940. 198: uint8(148),
  28941. 199: uint8(149),
  28942. 200: uint8(234),
  28943. 201: uint8(150),
  28944. 202: uint8(151),
  28945. 203: uint8(152),
  28946. 204: uint8(153),
  28947. 205: uint8(154),
  28948. 206: uint8(155),
  28949. 207: uint8(156),
  28950. 208: uint8(157),
  28951. 209: uint8(158),
  28952. 210: uint8(159),
  28953. 211: uint8(160),
  28954. 212: uint8(161),
  28955. 213: uint8(162),
  28956. 214: uint8(163),
  28957. 215: uint8(164),
  28958. 216: uint8(165),
  28959. 217: uint8(166),
  28960. 218: uint8(167),
  28961. 219: uint8(235),
  28962. 220: uint8(168),
  28963. 221: uint8(169),
  28964. 222: uint8(170),
  28965. 223: uint8(245),
  28966. 224: uint8(244),
  28967. 225: uint8(171),
  28968. 226: uint8(172),
  28969. 227: uint8(173),
  28970. 228: uint8(174),
  28971. 229: uint8(175),
  28972. 230: uint8(176),
  28973. 231: uint8(177),
  28974. 232: uint8(236),
  28975. 233: uint8(178),
  28976. 234: uint8(179),
  28977. 235: uint8(180),
  28978. 236: uint8(181),
  28979. 237: uint8(182),
  28980. 238: uint8(183),
  28981. 239: uint8(237),
  28982. 240: uint8(184),
  28983. 241: uint8(185),
  28984. 242: uint8(186),
  28985. 243: uint8(187),
  28986. 244: uint8(188),
  28987. 245: uint8(189),
  28988. },
  28989. FlangIndicesInv: [246]TFcChar8{
  28990. 1: uint8(1),
  28991. 2: uint8(2),
  28992. 3: uint8(4),
  28993. 4: uint8(6),
  28994. 5: uint8(7),
  28995. 6: uint8(8),
  28996. 7: uint8(9),
  28997. 8: uint8(10),
  28998. 9: uint8(11),
  28999. 10: uint8(12),
  29000. 11: uint8(13),
  29001. 12: uint8(22),
  29002. 13: uint8(14),
  29003. 14: uint8(17),
  29004. 15: uint8(18),
  29005. 16: uint8(19),
  29006. 17: uint8(20),
  29007. 18: uint8(21),
  29008. 19: uint8(23),
  29009. 20: uint8(24),
  29010. 21: uint8(25),
  29011. 22: uint8(27),
  29012. 23: uint8(28),
  29013. 24: uint8(30),
  29014. 25: uint8(31),
  29015. 26: uint8(32),
  29016. 27: uint8(33),
  29017. 28: uint8(34),
  29018. 29: uint8(35),
  29019. 30: uint8(37),
  29020. 31: uint8(39),
  29021. 32: uint8(40),
  29022. 33: uint8(41),
  29023. 34: uint8(42),
  29024. 35: uint8(43),
  29025. 36: uint8(46),
  29026. 37: uint8(48),
  29027. 38: uint8(49),
  29028. 39: uint8(50),
  29029. 40: uint8(51),
  29030. 41: uint8(52),
  29031. 42: uint8(53),
  29032. 43: uint8(54),
  29033. 44: uint8(57),
  29034. 45: uint8(59),
  29035. 46: uint8(60),
  29036. 47: uint8(61),
  29037. 48: uint8(56),
  29038. 49: uint8(62),
  29039. 50: uint8(63),
  29040. 51: uint8(64),
  29041. 52: uint8(65),
  29042. 53: uint8(66),
  29043. 54: uint8(67),
  29044. 55: uint8(68),
  29045. 56: uint8(69),
  29046. 57: uint8(70),
  29047. 58: uint8(71),
  29048. 59: uint8(72),
  29049. 60: uint8(73),
  29050. 61: uint8(74),
  29051. 62: uint8(76),
  29052. 63: uint8(77),
  29053. 64: uint8(80),
  29054. 65: uint8(81),
  29055. 66: uint8(83),
  29056. 67: uint8(86),
  29057. 68: uint8(84),
  29058. 69: uint8(85),
  29059. 70: uint8(88),
  29060. 71: uint8(89),
  29061. 72: uint8(90),
  29062. 73: uint8(91),
  29063. 74: uint8(92),
  29064. 75: uint8(93),
  29065. 76: uint8(95),
  29066. 77: uint8(96),
  29067. 78: uint8(98),
  29068. 79: uint8(100),
  29069. 80: uint8(101),
  29070. 81: uint8(102),
  29071. 82: uint8(103),
  29072. 83: uint8(104),
  29073. 84: uint8(105),
  29074. 85: uint8(107),
  29075. 86: uint8(108),
  29076. 87: uint8(110),
  29077. 88: uint8(112),
  29078. 89: uint8(113),
  29079. 90: uint8(114),
  29080. 91: uint8(116),
  29081. 92: uint8(117),
  29082. 93: uint8(119),
  29083. 94: uint8(120),
  29084. 95: uint8(123),
  29085. 96: uint8(124),
  29086. 97: uint8(125),
  29087. 98: uint8(126),
  29088. 99: uint8(128),
  29089. 100: uint8(129),
  29090. 101: uint8(130),
  29091. 102: uint8(131),
  29092. 103: uint8(132),
  29093. 104: uint8(133),
  29094. 105: uint8(136),
  29095. 106: uint8(137),
  29096. 107: uint8(139),
  29097. 108: uint8(140),
  29098. 109: uint8(142),
  29099. 110: uint8(143),
  29100. 111: uint8(144),
  29101. 112: uint8(146),
  29102. 113: uint8(147),
  29103. 114: uint8(148),
  29104. 115: uint8(150),
  29105. 116: uint8(151),
  29106. 117: uint8(153),
  29107. 118: uint8(154),
  29108. 119: uint8(155),
  29109. 120: uint8(156),
  29110. 121: uint8(157),
  29111. 122: uint8(159),
  29112. 123: uint8(163),
  29113. 124: uint8(164),
  29114. 125: uint8(165),
  29115. 126: uint8(166),
  29116. 127: uint8(169),
  29117. 128: uint8(171),
  29118. 129: uint8(172),
  29119. 130: uint8(174),
  29120. 131: uint8(175),
  29121. 132: uint8(178),
  29122. 133: uint8(180),
  29123. 134: uint8(181),
  29124. 135: uint8(183),
  29125. 136: uint8(184),
  29126. 137: uint8(185),
  29127. 138: uint8(187),
  29128. 139: uint8(188),
  29129. 140: uint8(189),
  29130. 141: uint8(190),
  29131. 142: uint8(191),
  29132. 143: uint8(192),
  29133. 144: uint8(193),
  29134. 145: uint8(195),
  29135. 146: uint8(196),
  29136. 147: uint8(197),
  29137. 148: uint8(198),
  29138. 149: uint8(199),
  29139. 150: uint8(201),
  29140. 151: uint8(202),
  29141. 152: uint8(203),
  29142. 153: uint8(204),
  29143. 154: uint8(205),
  29144. 155: uint8(206),
  29145. 156: uint8(207),
  29146. 157: uint8(208),
  29147. 158: uint8(209),
  29148. 159: uint8(210),
  29149. 160: uint8(211),
  29150. 161: uint8(212),
  29151. 162: uint8(213),
  29152. 163: uint8(214),
  29153. 164: uint8(215),
  29154. 165: uint8(216),
  29155. 166: uint8(217),
  29156. 167: uint8(218),
  29157. 168: uint8(220),
  29158. 169: uint8(221),
  29159. 170: uint8(222),
  29160. 171: uint8(225),
  29161. 172: uint8(226),
  29162. 173: uint8(227),
  29163. 174: uint8(228),
  29164. 175: uint8(229),
  29165. 176: uint8(230),
  29166. 177: uint8(231),
  29167. 178: uint8(233),
  29168. 179: uint8(234),
  29169. 180: uint8(235),
  29170. 181: uint8(236),
  29171. 182: uint8(237),
  29172. 183: uint8(238),
  29173. 184: uint8(240),
  29174. 185: uint8(241),
  29175. 186: uint8(242),
  29176. 187: uint8(243),
  29177. 188: uint8(244),
  29178. 189: uint8(245),
  29179. 190: uint8(3),
  29180. 191: uint8(5),
  29181. 192: uint8(15),
  29182. 193: uint8(16),
  29183. 194: uint8(29),
  29184. 195: uint8(36),
  29185. 196: uint8(38),
  29186. 197: uint8(45),
  29187. 198: uint8(47),
  29188. 199: uint8(55),
  29189. 200: uint8(58),
  29190. 201: uint8(75),
  29191. 202: uint8(78),
  29192. 203: uint8(79),
  29193. 204: uint8(82),
  29194. 205: uint8(87),
  29195. 206: uint8(94),
  29196. 207: uint8(97),
  29197. 208: uint8(99),
  29198. 209: uint8(106),
  29199. 210: uint8(109),
  29200. 211: uint8(111),
  29201. 212: uint8(115),
  29202. 213: uint8(121),
  29203. 214: uint8(122),
  29204. 215: uint8(127),
  29205. 216: uint8(134),
  29206. 217: uint8(138),
  29207. 218: uint8(141),
  29208. 219: uint8(145),
  29209. 220: uint8(152),
  29210. 221: uint8(158),
  29211. 222: uint8(160),
  29212. 223: uint8(161),
  29213. 224: uint8(162),
  29214. 225: uint8(167),
  29215. 226: uint8(168),
  29216. 227: uint8(170),
  29217. 228: uint8(173),
  29218. 229: uint8(177),
  29219. 230: uint8(179),
  29220. 231: uint8(182),
  29221. 232: uint8(186),
  29222. 233: uint8(194),
  29223. 234: uint8(200),
  29224. 235: uint8(219),
  29225. 236: uint8(232),
  29226. 237: uint8(239),
  29227. 238: uint8(118),
  29228. 239: uint8(149),
  29229. 240: uint8(26),
  29230. 241: uint8(176),
  29231. 242: uint8(44),
  29232. 243: uint8(135),
  29233. 244: uint8(224),
  29234. 245: uint8(223),
  29235. },
  29236. }
  29237. var _fcLangCountrySets = [10][8]TFcChar32{
  29238. 0: {
  29239. 0: uint32(0x00000600),
  29240. },
  29241. 1: {
  29242. 6: uint32(0x00000003),
  29243. },
  29244. 2: {
  29245. 2: uint32(0x00c00000),
  29246. 6: uint32(0x000c0000),
  29247. },
  29248. 3: {
  29249. 3: uint32(0x00000100),
  29250. 6: uint32(0x01000000),
  29251. },
  29252. 4: {
  29253. 6: uint32(0x40000000),
  29254. },
  29255. 5: {
  29256. 6: uint32(0x80000000),
  29257. 7: uint32(0x00000001),
  29258. },
  29259. 6: {
  29260. 3: uint32(0x30000000),
  29261. },
  29262. 7: {
  29263. 4: uint32(0x60000000),
  29264. },
  29265. 8: {
  29266. 7: uint32(0x00300000),
  29267. },
  29268. 9: {
  29269. 5: uint32(0x1f000000),
  29270. },
  29271. }
  29272. var _fcLangCharSetRanges = [26]TFcLangCharSetRange{
  29273. 0: {
  29274. Fend: int32(12),
  29275. },
  29276. 1: {
  29277. Fbegin: int32(13),
  29278. Fend: int32(29),
  29279. },
  29280. 2: {
  29281. Fbegin: int32(30),
  29282. Fend: int32(41),
  29283. },
  29284. 3: {
  29285. Fbegin: int32(42),
  29286. Fend: int32(46),
  29287. },
  29288. 4: {
  29289. Fbegin: int32(47),
  29290. Fend: int32(53),
  29291. },
  29292. 5: {
  29293. Fbegin: int32(54),
  29294. Fend: int32(63),
  29295. },
  29296. 6: {
  29297. Fbegin: int32(64),
  29298. Fend: int32(70),
  29299. },
  29300. 7: {
  29301. Fbegin: int32(71),
  29302. Fend: int32(82),
  29303. },
  29304. 8: {
  29305. Fbegin: int32(83),
  29306. Fend: int32(92),
  29307. },
  29308. 9: {
  29309. Fbegin: int32(93),
  29310. Fend: int32(94),
  29311. },
  29312. 10: {
  29313. Fbegin: int32(95),
  29314. Fend: int32(116),
  29315. },
  29316. 11: {
  29317. Fbegin: int32(117),
  29318. Fend: int32(126),
  29319. },
  29320. 12: {
  29321. Fbegin: int32(127),
  29322. Fend: int32(140),
  29323. },
  29324. 13: {
  29325. Fbegin: int32(141),
  29326. Fend: int32(153),
  29327. },
  29328. 14: {
  29329. Fbegin: int32(154),
  29330. Fend: int32(158),
  29331. },
  29332. 15: {
  29333. Fbegin: int32(159),
  29334. Fend: int32(166),
  29335. },
  29336. 16: {
  29337. Fbegin: int32(167),
  29338. Fend: int32(168),
  29339. },
  29340. 17: {
  29341. Fbegin: int32(169),
  29342. Fend: int32(173),
  29343. },
  29344. 18: {
  29345. Fbegin: int32(174),
  29346. Fend: int32(203),
  29347. },
  29348. 19: {
  29349. Fbegin: int32(204),
  29350. Fend: int32(220),
  29351. },
  29352. 20: {
  29353. Fbegin: int32(221),
  29354. Fend: int32(226),
  29355. },
  29356. 21: {
  29357. Fbegin: int32(227),
  29358. Fend: int32(230),
  29359. },
  29360. 22: {
  29361. Fbegin: int32(231),
  29362. Fend: int32(234),
  29363. },
  29364. 23: {
  29365. Fbegin: int32(235),
  29366. Fend: int32(235),
  29367. },
  29368. 24: {
  29369. Fbegin: int32(236),
  29370. Fend: int32(238),
  29371. },
  29372. 25: {
  29373. Fbegin: int32(239),
  29374. Fend: int32(245),
  29375. },
  29376. }
  29377. func _FcLangSetBitSet(tls *libc.TLS, ls uintptr, id uint32) {
  29378. var bucket uint32
  29379. _ = bucket
  29380. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40830 + uintptr(id))))
  29381. bucket = id >> int32(5)
  29382. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  29383. return
  29384. } /* shouldn't happen really */
  29385. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) |= libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f))
  29386. }
  29387. func _FcLangSetBitGet(tls *libc.TLS, ls uintptr, id uint32) (r TFcBool) {
  29388. var bucket uint32
  29389. var v1 int32
  29390. _, _ = bucket, v1
  29391. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40830 + uintptr(id))))
  29392. bucket = id >> int32(5)
  29393. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  29394. return m_FcFalse
  29395. }
  29396. if *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4))>>(id&libc.Uint32FromInt32(0x1f))&uint32(1) != 0 {
  29397. v1 = int32(m_FcTrue)
  29398. } else {
  29399. v1 = m_FcFalse
  29400. }
  29401. return v1
  29402. }
  29403. func _FcLangSetBitReset(tls *libc.TLS, ls uintptr, id uint32) {
  29404. var bucket uint32
  29405. _ = bucket
  29406. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40830 + uintptr(id))))
  29407. bucket = id >> int32(5)
  29408. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  29409. return
  29410. } /* shouldn't happen really */
  29411. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) &= ^(libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f)))
  29412. }
  29413. func XFcFreeTypeLangSet(tls *libc.TLS, charset uintptr, exclusiveLang uintptr) (r uintptr) {
  29414. bp := tls.Alloc(64)
  29415. defer tls.Free(64)
  29416. var exclusiveCharset, ls, missed uintptr
  29417. var i, i1, j, j1 int32
  29418. var missing, ucs4 TFcChar32
  29419. var _ /* map at bp+0 */ [8]TFcChar32
  29420. var _ /* next at bp+32 */ TFcChar32
  29421. _, _, _, _, _, _, _, _, _ = exclusiveCharset, i, i1, j, j1, ls, missed, missing, ucs4
  29422. exclusiveCharset = uintptr(0)
  29423. if exclusiveLang != 0 {
  29424. exclusiveCharset = XIA__FcLangGetCharSet(tls, exclusiveLang)
  29425. }
  29426. ls = XIA__FcLangSetCreate(tls)
  29427. if !(ls != 0) {
  29428. return uintptr(0)
  29429. }
  29430. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29431. libc.Xprintf(tls, __ccgo_ts+5441, 0)
  29432. XFcCharSetPrint(tls, charset)
  29433. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  29434. }
  29435. i = 0
  29436. for {
  29437. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  29438. break
  29439. }
  29440. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29441. libc.Xprintf(tls, __ccgo_ts+5454, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40))
  29442. XFcCharSetPrint(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)
  29443. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  29444. }
  29445. /*
  29446. * Check for Han charsets to make fonts
  29447. * which advertise support for a single language
  29448. * not support other Han languages
  29449. */
  29450. if exclusiveCharset != 0 && XFcFreeTypeIsExclusiveLang(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) != 0 {
  29451. if (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum != (*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fnum {
  29452. goto _1
  29453. }
  29454. j = 0
  29455. for {
  29456. if !(j < (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum) {
  29457. break
  29458. }
  29459. if uintptr(int64(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)).Fleaves_offset) + uintptr(j)*8))) != uintptr(int64(uintptr(int64(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset) + uintptr(j)*8))) {
  29460. goto _2
  29461. }
  29462. goto _2
  29463. _2:
  29464. ;
  29465. j++
  29466. }
  29467. }
  29468. missing = XIA__FcCharSetSubtractCount(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  29469. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  29470. if missing != 0 && missing < uint32(10) {
  29471. missed = XIA__FcCharSetSubtract(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  29472. libc.Xprintf(tls, __ccgo_ts+5465, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  29473. libc.Xprintf(tls, __ccgo_ts+5474, 0)
  29474. ucs4 = XIA__FcCharSetFirstPage(tls, missed, bp, bp+32)
  29475. for {
  29476. if !(ucs4 != libc.Uint32FromInt32(-libc.Int32FromInt32(1))) {
  29477. break
  29478. }
  29479. i1 = 0
  29480. for {
  29481. if !(i1 < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  29482. break
  29483. }
  29484. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1] != 0 {
  29485. j1 = 0
  29486. for {
  29487. if !(j1 < int32(32)) {
  29488. break
  29489. }
  29490. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1]&(uint32(1)<<j1) != 0 {
  29491. libc.Xprintf(tls, __ccgo_ts+5476, libc.VaList(bp+48, ucs4+libc.Uint32FromInt32(i1*int32(32))+libc.Uint32FromInt32(j1)))
  29492. }
  29493. goto _5
  29494. _5:
  29495. ;
  29496. j1++
  29497. }
  29498. }
  29499. goto _4
  29500. _4:
  29501. ;
  29502. i1++
  29503. }
  29504. goto _3
  29505. _3:
  29506. ;
  29507. ucs4 = XIA__FcCharSetNextPage(tls, missed, bp, bp+32)
  29508. }
  29509. libc.Xprintf(tls, __ccgo_ts+5482, 0)
  29510. XIA__FcCharSetDestroy(tls, missed)
  29511. } else {
  29512. libc.Xprintf(tls, __ccgo_ts+5487, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  29513. }
  29514. }
  29515. if !(missing != 0) {
  29516. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(i))
  29517. }
  29518. goto _1
  29519. _1:
  29520. ;
  29521. i++
  29522. }
  29523. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  29524. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  29525. }
  29526. return ls
  29527. }
  29528. func XIA__FcLangNormalize(tls *libc.TLS, lang uintptr) (r uintptr) {
  29529. bp := tls.Alloc(32)
  29530. defer tls.Free(32)
  29531. var encoding, modifier, orig, result, s, territory uintptr
  29532. var llen, mlen, tlen Tsize_t
  29533. var v1 uint64
  29534. _, _, _, _, _, _, _, _, _, _ = encoding, llen, mlen, modifier, orig, result, s, territory, tlen, v1
  29535. result = libc.UintptrFromInt32(0)
  29536. tlen = uint64(0)
  29537. mlen = uint64(0)
  29538. if !(lang != 0) || !(*(*TFcChar8)(unsafe.Pointer(lang)) != 0) {
  29539. return libc.UintptrFromInt32(0)
  29540. }
  29541. /* might be called without initialization */
  29542. XFcInitDebug(tls)
  29543. if XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+4692) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5495) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5503) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5510) == 0 {
  29544. result = XIA__FcStrCopy(tls, __ccgo_ts+2465)
  29545. goto bail
  29546. }
  29547. s = XIA__FcStrCopy(tls, lang)
  29548. if !(s != 0) {
  29549. goto bail
  29550. }
  29551. /* from the comments in glibc:
  29552. *
  29553. * LOCALE can consist of up to four recognized parts for the XPG syntax:
  29554. *
  29555. * language[_territory[.codeset]][@modifier]
  29556. *
  29557. * Beside the first all of them are allowed to be missing. If the
  29558. * full specified locale is not found, the less specific one are
  29559. * looked for. The various part will be stripped off according to
  29560. * the following order:
  29561. * (1) codeset
  29562. * (2) normalized codeset
  29563. * (3) territory
  29564. * (4) modifier
  29565. *
  29566. * So since we don't take care of the codeset part here, what patterns
  29567. * we need to deal with is:
  29568. *
  29569. * 1. language_territory@modifier
  29570. * 2. language@modifier
  29571. * 3. language
  29572. *
  29573. * then. and maybe no need to try language_territory here.
  29574. */
  29575. modifier = libc.Xstrchr(tls, s, int32('@'))
  29576. if modifier != 0 {
  29577. *(*uint8)(unsafe.Pointer(modifier)) = uint8(0)
  29578. modifier++
  29579. mlen = libc.Xstrlen(tls, modifier)
  29580. }
  29581. encoding = libc.Xstrchr(tls, s, int32('.'))
  29582. if encoding != 0 {
  29583. *(*uint8)(unsafe.Pointer(encoding)) = uint8(0)
  29584. encoding++
  29585. if modifier != 0 {
  29586. libc.Xmemmove(tls, encoding, modifier, mlen+uint64(1))
  29587. modifier = encoding
  29588. }
  29589. }
  29590. territory = libc.Xstrchr(tls, s, int32('_'))
  29591. if !(territory != 0) {
  29592. territory = libc.Xstrchr(tls, s, int32('-'))
  29593. }
  29594. if territory != 0 {
  29595. *(*uint8)(unsafe.Pointer(territory)) = uint8(0)
  29596. territory++
  29597. tlen = libc.Xstrlen(tls, territory)
  29598. }
  29599. llen = libc.Xstrlen(tls, s)
  29600. if llen < uint64(2) || llen > uint64(3) {
  29601. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5516, libc.VaList(bp+8, lang))
  29602. goto bail0
  29603. }
  29604. if territory != 0 && (tlen < uint64(2) || tlen > uint64(3)) && !(libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(territory))) == int32('z') && tlen < uint64(5)) {
  29605. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5575, libc.VaList(bp+8, lang))
  29606. goto bail0
  29607. }
  29608. if territory != 0 {
  29609. *(*uint8)(unsafe.Pointer(territory + uintptr(-libc.Int32FromInt32(1)))) = uint8('-')
  29610. }
  29611. if modifier != 0 {
  29612. *(*uint8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = uint8('@')
  29613. }
  29614. orig = XIA__FcStrDowncase(tls, s)
  29615. if !(orig != 0) {
  29616. goto bail0
  29617. }
  29618. if territory != 0 {
  29619. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29620. libc.Xprintf(tls, __ccgo_ts+5632, libc.VaList(bp+8, s))
  29621. }
  29622. if _FcLangSetIndex(tls, s) < 0 {
  29623. if mlen > uint64(0) {
  29624. v1 = mlen + uint64(1)
  29625. } else {
  29626. v1 = uint64(0)
  29627. }
  29628. libc.Xmemmove(tls, territory-uintptr(1), territory+uintptr(tlen), v1+uint64(1))
  29629. if modifier != 0 {
  29630. modifier = territory
  29631. }
  29632. } else {
  29633. result = s
  29634. /* we'll miss the opportunity to reduce the correct size
  29635. * of the allocated memory for the string after that.
  29636. */
  29637. s = libc.UintptrFromInt32(0)
  29638. goto bail1
  29639. }
  29640. }
  29641. if modifier != 0 {
  29642. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29643. libc.Xprintf(tls, __ccgo_ts+5632, libc.VaList(bp+8, s))
  29644. }
  29645. if _FcLangSetIndex(tls, s) < 0 {
  29646. *(*uint8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = uint8(0)
  29647. } else {
  29648. result = s
  29649. /* we'll miss the opportunity to reduce the correct size
  29650. * of the allocated memory for the string after that.
  29651. */
  29652. s = libc.UintptrFromInt32(0)
  29653. goto bail1
  29654. }
  29655. }
  29656. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29657. libc.Xprintf(tls, __ccgo_ts+5632, libc.VaList(bp+8, s))
  29658. }
  29659. if _FcLangSetIndex(tls, s) < 0 {
  29660. /* there seems no languages matched in orth.
  29661. * add the language as is for fallback.
  29662. */
  29663. result = orig
  29664. orig = libc.UintptrFromInt32(0)
  29665. } else {
  29666. result = s
  29667. /* we'll miss the opportunity to reduce the correct size
  29668. * of the allocated memory for the string after that.
  29669. */
  29670. s = libc.UintptrFromInt32(0)
  29671. }
  29672. goto bail1
  29673. bail1:
  29674. ;
  29675. if orig != 0 {
  29676. XIA__FcStrFree(tls, orig)
  29677. }
  29678. goto bail0
  29679. bail0:
  29680. ;
  29681. if s != 0 {
  29682. libc.Xfree(tls, s)
  29683. }
  29684. goto bail
  29685. bail:
  29686. ;
  29687. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29688. if result != 0 {
  29689. libc.Xprintf(tls, __ccgo_ts+5667, libc.VaList(bp+8, lang, result))
  29690. } else {
  29691. libc.Xprintf(tls, __ccgo_ts+5689, libc.VaList(bp+8, lang))
  29692. }
  29693. }
  29694. return result
  29695. }
  29696. var XFcLangNormalize = XIA__FcLangNormalize
  29697. func XFcLangCompare(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcLangResult) {
  29698. var c1, c2 TFcChar8
  29699. var is_und TFcBool
  29700. var result TFcLangResult
  29701. var s1_orig, v7, v8 uintptr
  29702. var v1, v10, v11, v2, v4, v9 int32
  29703. var v3, v5 bool
  29704. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c1, c2, is_und, result, s1_orig, v1, v10, v11, v2, v3, v4, v5, v7, v8, v9
  29705. result = int32(_FcLangDifferentLang)
  29706. s1_orig = s1
  29707. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) <= int32(0132) {
  29708. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) - int32(0101) + int32(0141)
  29709. } else {
  29710. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1)))
  29711. }
  29712. if v3 = v1 == int32('u'); v3 {
  29713. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) <= int32(0132) {
  29714. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) - int32(0101) + int32(0141)
  29715. } else {
  29716. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1)))
  29717. }
  29718. }
  29719. if v5 = v3 && v2 == int32('n'); v5 {
  29720. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) <= int32(0132) {
  29721. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) - int32(0101) + int32(0141)
  29722. } else {
  29723. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2)))
  29724. }
  29725. }
  29726. is_und = libc.BoolInt32(v5 && v4 == int32('d') && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('-') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('\000')))
  29727. for {
  29728. v7 = s1
  29729. s1++
  29730. c1 = *(*TFcChar8)(unsafe.Pointer(v7))
  29731. v8 = s2
  29732. s2++
  29733. c2 = *(*TFcChar8)(unsafe.Pointer(v8))
  29734. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  29735. v9 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  29736. } else {
  29737. v9 = libc.Int32FromUint8(c1)
  29738. }
  29739. c1 = libc.Uint8FromInt32(v9)
  29740. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  29741. v10 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  29742. } else {
  29743. v10 = libc.Int32FromUint8(c2)
  29744. }
  29745. c2 = libc.Uint8FromInt32(v10)
  29746. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  29747. if !(is_und != 0) && (libc.Int32FromUint8(c1) == int32('-') || libc.Int32FromUint8(c1) == int32('\000')) && (libc.Int32FromUint8(c2) == int32('-') || libc.Int32FromUint8(c2) == int32('\000')) {
  29748. result = int32(_FcLangDifferentTerritory)
  29749. }
  29750. return result
  29751. } else {
  29752. if !(c1 != 0) {
  29753. if is_und != 0 {
  29754. v11 = result
  29755. } else {
  29756. v11 = int32(_FcLangEqual)
  29757. }
  29758. return v11
  29759. } else {
  29760. if libc.Int32FromUint8(c1) == int32('-') {
  29761. if !(is_und != 0) {
  29762. result = int32(_FcLangDifferentTerritory)
  29763. }
  29764. }
  29765. }
  29766. }
  29767. /* If we parsed past "und-", then do not consider it undefined anymore,
  29768. * as there's *something* specified. */
  29769. if is_und != 0 && int64(s1)-int64(s1_orig) == int64(4) {
  29770. is_und = m_FcFalse
  29771. }
  29772. goto _6
  29773. _6:
  29774. }
  29775. return r
  29776. }
  29777. /*
  29778. * Return FcTrue when super contains sub.
  29779. *
  29780. * super contains sub if super and sub have the same
  29781. * language and either the same country or one
  29782. * is missing the country
  29783. */
  29784. func _FcLangContains(tls *libc.TLS, super uintptr, sub uintptr) (r TFcBool) {
  29785. var c1, c2 TFcChar8
  29786. var v2, v3 uintptr
  29787. var v4, v5 int32
  29788. _, _, _, _, _, _ = c1, c2, v2, v3, v4, v5
  29789. for {
  29790. v2 = super
  29791. super++
  29792. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  29793. v3 = sub
  29794. sub++
  29795. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  29796. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  29797. v4 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  29798. } else {
  29799. v4 = libc.Int32FromUint8(c1)
  29800. }
  29801. c1 = libc.Uint8FromInt32(v4)
  29802. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  29803. v5 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  29804. } else {
  29805. v5 = libc.Int32FromUint8(c2)
  29806. }
  29807. c2 = libc.Uint8FromInt32(v5)
  29808. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  29809. /* see if super has a country while sub is mising one */
  29810. if libc.Int32FromUint8(c1) == int32('-') && libc.Int32FromUint8(c2) == int32('\000') {
  29811. return int32(m_FcTrue)
  29812. }
  29813. /* see if sub has a country while super is mising one */
  29814. if libc.Int32FromUint8(c1) == int32('\000') && libc.Int32FromUint8(c2) == int32('-') {
  29815. return int32(m_FcTrue)
  29816. }
  29817. return m_FcFalse
  29818. } else {
  29819. if !(c1 != 0) {
  29820. return int32(m_FcTrue)
  29821. }
  29822. }
  29823. goto _1
  29824. _1:
  29825. }
  29826. return r
  29827. }
  29828. func XIA__FcLangGetCharSet(tls *libc.TLS, lang uintptr) (r uintptr) {
  29829. var country, i int32
  29830. _, _ = country, i
  29831. country = -int32(1)
  29832. i = 0
  29833. for {
  29834. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  29835. break
  29836. }
  29837. switch XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) {
  29838. case int32(_FcLangEqual):
  29839. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40 + 16
  29840. case int32(_FcLangDifferentTerritory):
  29841. if country == -int32(1) {
  29842. country = i
  29843. }
  29844. fallthrough
  29845. case int32(_FcLangDifferentLang):
  29846. fallthrough
  29847. default:
  29848. break
  29849. }
  29850. goto _1
  29851. _1:
  29852. ;
  29853. i++
  29854. }
  29855. if country == -int32(1) {
  29856. return uintptr(0)
  29857. }
  29858. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(country)*40 + 16
  29859. }
  29860. var XFcLangGetCharSet = XIA__FcLangGetCharSet
  29861. func XIA__FcGetLangs(tls *libc.TLS) (r uintptr) {
  29862. var i int32
  29863. var langs uintptr
  29864. _, _ = i, langs
  29865. langs = XIA__FcStrSetCreate(tls)
  29866. if !(langs != 0) {
  29867. return uintptr(0)
  29868. }
  29869. i = 0
  29870. for {
  29871. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  29872. break
  29873. }
  29874. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  29875. goto _1
  29876. _1:
  29877. ;
  29878. i++
  29879. }
  29880. return langs
  29881. }
  29882. var XFcGetLangs = XIA__FcGetLangs
  29883. func XIA__FcLangSetCreate(tls *libc.TLS) (r uintptr) {
  29884. var ls uintptr
  29885. _ = ls
  29886. ls = libc.Xmalloc(tls, uint64(48))
  29887. if !(ls != 0) {
  29888. return uintptr(0)
  29889. }
  29890. libc.Xmemset(tls, ls+12, int32('\000'), uint64(32))
  29891. (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  29892. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = uintptr(0)
  29893. return ls
  29894. }
  29895. var XFcLangSetCreate = XIA__FcLangSetCreate
  29896. func XIA__FcLangSetDestroy(tls *libc.TLS, ls uintptr) {
  29897. if !(ls != 0) {
  29898. return
  29899. }
  29900. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  29901. XIA__FcStrSetDestroy(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  29902. }
  29903. libc.Xfree(tls, ls)
  29904. }
  29905. var XFcLangSetDestroy = XIA__FcLangSetDestroy
  29906. func XIA__FcLangSetCopy(tls *libc.TLS, ls uintptr) (r uintptr) {
  29907. var extra, list, new1, v2 uintptr
  29908. var v1 uint64
  29909. _, _, _, _, _ = extra, list, new1, v1, v2
  29910. if !(ls != 0) {
  29911. return libc.UintptrFromInt32(0)
  29912. }
  29913. new1 = XIA__FcLangSetCreate(tls)
  29914. if !(new1 != 0) {
  29915. goto bail0
  29916. }
  29917. libc.Xmemset(tls, new1+12, int32('\000'), uint64(32))
  29918. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size)*uint64(4) {
  29919. v1 = libc.Uint64FromInt64(32)
  29920. } else {
  29921. v1 = uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size) * uint64(4)
  29922. }
  29923. libc.Xmemcpy(tls, new1+12, ls+12, v1)
  29924. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  29925. (*TFcLangSet)(unsafe.Pointer(new1)).Fextra = XIA__FcStrSetCreate(tls)
  29926. if !((*TFcLangSet)(unsafe.Pointer(new1)).Fextra != 0) {
  29927. goto bail1
  29928. }
  29929. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  29930. if !(list != 0) {
  29931. goto bail1
  29932. }
  29933. for {
  29934. v2 = XIA__FcStrListNext(tls, list)
  29935. extra = v2
  29936. if !(v2 != 0) {
  29937. break
  29938. }
  29939. if !(XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(new1)).Fextra, extra) != 0) {
  29940. XIA__FcStrListDone(tls, list)
  29941. goto bail1
  29942. }
  29943. }
  29944. XIA__FcStrListDone(tls, list)
  29945. }
  29946. return new1
  29947. goto bail1
  29948. bail1:
  29949. ;
  29950. XIA__FcLangSetDestroy(tls, new1)
  29951. goto bail0
  29952. bail0:
  29953. ;
  29954. return uintptr(0)
  29955. return r
  29956. }
  29957. var XFcLangSetCopy = XIA__FcLangSetCopy
  29958. // C documentation
  29959. //
  29960. // /* When the language isn't found, the return value r is such that:
  29961. // * 1) r < 0
  29962. // * 2) -r -1 is the index of the first language in fcLangCharSets that comes
  29963. // * after the 'lang' argument in lexicographic order.
  29964. // *
  29965. // * The -1 is necessary to avoid problems with language id 0 (otherwise, we
  29966. // * wouldn't be able to distinguish between “language found, id is 0” and
  29967. // * “language not found, sorts right before the language with id 0”).
  29968. // */
  29969. func _FcLangSetIndex(tls *libc.TLS, lang uintptr) (r int32) {
  29970. var cmp, high, low, mid, v1, v2, v3 int32
  29971. var firstChar, secondChar TFcChar8
  29972. _, _, _, _, _, _, _, _, _ = cmp, firstChar, high, low, mid, secondChar, v1, v2, v3
  29973. mid = 0
  29974. cmp = 0
  29975. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) <= int32(0132) {
  29976. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) - int32(0101) + int32(0141)
  29977. } else {
  29978. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang)))
  29979. }
  29980. firstChar = libc.Uint8FromInt32(v1)
  29981. if firstChar != 0 {
  29982. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) <= int32(0132) {
  29983. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) - int32(0101) + int32(0141)
  29984. } else {
  29985. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1)))
  29986. }
  29987. v2 = v3
  29988. } else {
  29989. v2 = int32('\000')
  29990. }
  29991. secondChar = libc.Uint8FromInt32(v2)
  29992. if libc.Int32FromUint8(firstChar) < int32('a') {
  29993. low = 0
  29994. high = _fcLangCharSetRanges[0].Fbegin
  29995. } else {
  29996. if libc.Int32FromUint8(firstChar) > int32('z') {
  29997. low = _fcLangCharSetRanges[int32(25)].Fbegin
  29998. high = libc.Int32FromInt32(m_NUM_LANG_CHAR_SET) - libc.Int32FromInt32(1)
  29999. } else {
  30000. low = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fbegin
  30001. high = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fend
  30002. /* no matches */
  30003. if low > high {
  30004. return -(low + int32(1))
  30005. } /* one past next entry after where it would be */
  30006. }
  30007. }
  30008. for low <= high {
  30009. mid = (high + low) >> int32(1)
  30010. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40))) != libc.Int32FromUint8(firstChar) {
  30011. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40, lang)
  30012. } else {
  30013. /* fast path for resolving 2-letter languages (by far the most common) after
  30014. * finding the first char (probably already true because of the hash table) */
  30015. cmp = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 1))) - libc.Int32FromUint8(secondChar)
  30016. if cmp == 0 && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 2))) != int32('\000') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 2))) != int32('\000')) {
  30017. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40+uintptr(2), lang+uintptr(2))
  30018. }
  30019. }
  30020. if cmp == 0 {
  30021. return mid
  30022. }
  30023. if cmp < 0 {
  30024. low = mid + int32(1)
  30025. } else {
  30026. high = mid - int32(1)
  30027. }
  30028. }
  30029. if cmp < 0 {
  30030. mid++
  30031. }
  30032. return -(mid + int32(1))
  30033. }
  30034. func XIA__FcLangSetAdd(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  30035. var id int32
  30036. _ = id
  30037. id = _FcLangSetIndex(tls, lang)
  30038. if id >= 0 {
  30039. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(id))
  30040. return int32(m_FcTrue)
  30041. }
  30042. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  30043. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = XIA__FcStrSetCreate(tls)
  30044. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  30045. return m_FcFalse
  30046. }
  30047. }
  30048. return XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  30049. }
  30050. var XFcLangSetAdd = XIA__FcLangSetAdd
  30051. func XIA__FcLangSetDel(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  30052. var id int32
  30053. _ = id
  30054. id = _FcLangSetIndex(tls, lang)
  30055. if id >= 0 {
  30056. _FcLangSetBitReset(tls, ls, libc.Uint32FromInt32(id))
  30057. } else {
  30058. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30059. XIA__FcStrSetDel(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  30060. }
  30061. }
  30062. return int32(m_FcTrue)
  30063. }
  30064. var XFcLangSetDel = XIA__FcLangSetDel
  30065. func XIA__FcLangSetHasLang(tls *libc.TLS, ls uintptr, lang uintptr) (r1 TFcLangResult) {
  30066. var best, r TFcLangResult
  30067. var extra, list, v3 uintptr
  30068. var i, id int32
  30069. var v4 bool
  30070. _, _, _, _, _, _, _, _ = best, extra, i, id, list, r, v3, v4
  30071. id = _FcLangSetIndex(tls, lang)
  30072. if id < 0 {
  30073. id = -id - int32(1)
  30074. } else {
  30075. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  30076. return int32(_FcLangEqual)
  30077. }
  30078. }
  30079. best = int32(_FcLangDifferentLang)
  30080. i = id - int32(1)
  30081. for {
  30082. if !(i >= 0) {
  30083. break
  30084. }
  30085. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  30086. if r == int32(_FcLangDifferentLang) {
  30087. break
  30088. }
  30089. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  30090. best = r
  30091. }
  30092. goto _1
  30093. _1:
  30094. ;
  30095. i--
  30096. }
  30097. i = id
  30098. for {
  30099. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30100. break
  30101. }
  30102. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  30103. if r == int32(_FcLangDifferentLang) {
  30104. break
  30105. }
  30106. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  30107. best = r
  30108. }
  30109. goto _2
  30110. _2:
  30111. ;
  30112. i++
  30113. }
  30114. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30115. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30116. if list != 0 {
  30117. for {
  30118. if v4 = best > int32(_FcLangEqual); v4 {
  30119. v3 = XIA__FcStrListNext(tls, list)
  30120. extra = v3
  30121. }
  30122. if !(v4 && v3 != 0) {
  30123. break
  30124. }
  30125. r = XFcLangCompare(tls, lang, extra)
  30126. if r < best {
  30127. best = r
  30128. }
  30129. }
  30130. XIA__FcStrListDone(tls, list)
  30131. }
  30132. }
  30133. return best
  30134. }
  30135. var XFcLangSetHasLang = XIA__FcLangSetHasLang
  30136. func _FcLangSetCompareStrSet(tls *libc.TLS, ls uintptr, set uintptr) (r1 TFcLangResult) {
  30137. var best, r TFcLangResult
  30138. var extra, list, v1 uintptr
  30139. var v2 bool
  30140. _, _, _, _, _, _ = best, extra, list, r, v1, v2
  30141. list = XIA__FcStrListCreate(tls, set)
  30142. best = int32(_FcLangDifferentLang)
  30143. if list != 0 {
  30144. for {
  30145. if v2 = best > int32(_FcLangEqual); v2 {
  30146. v1 = XIA__FcStrListNext(tls, list)
  30147. extra = v1
  30148. }
  30149. if !(v2 && v1 != 0) {
  30150. break
  30151. }
  30152. r = XIA__FcLangSetHasLang(tls, ls, extra)
  30153. if r < best {
  30154. best = r
  30155. }
  30156. }
  30157. XIA__FcStrListDone(tls, list)
  30158. }
  30159. return best
  30160. }
  30161. func XIA__FcLangSetCompare(tls *libc.TLS, lsa uintptr, lsb uintptr) (r1 TFcLangResult) {
  30162. var aInCountrySet, bInCountrySet TFcChar32
  30163. var best, r TFcLangResult
  30164. var count, i, j, v2 int32
  30165. var v1 uint32
  30166. _, _, _, _, _, _, _, _, _ = aInCountrySet, bInCountrySet, best, count, i, j, r, v1, v2
  30167. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  30168. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  30169. } else {
  30170. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  30171. }
  30172. count = libc.Int32FromUint32(v1)
  30173. if int32(m_NUM_LANG_SET_MAP) < count {
  30174. v2 = int32(m_NUM_LANG_SET_MAP)
  30175. } else {
  30176. v2 = count
  30177. }
  30178. count = v2
  30179. i = 0
  30180. for {
  30181. if !(i < count) {
  30182. break
  30183. }
  30184. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))&*(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) != 0 {
  30185. return int32(_FcLangEqual)
  30186. }
  30187. goto _3
  30188. _3:
  30189. ;
  30190. i++
  30191. }
  30192. best = int32(_FcLangDifferentLang)
  30193. j = 0
  30194. for {
  30195. if !(j < int32(m_NUM_COUNTRY_SET)) {
  30196. break
  30197. }
  30198. aInCountrySet = uint32(0)
  30199. bInCountrySet = uint32(0)
  30200. i = 0
  30201. for {
  30202. if !(i < count) {
  30203. break
  30204. }
  30205. aInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  30206. bInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  30207. if aInCountrySet != 0 && bInCountrySet != 0 {
  30208. best = int32(_FcLangDifferentTerritory)
  30209. break
  30210. }
  30211. goto _5
  30212. _5:
  30213. ;
  30214. i++
  30215. }
  30216. goto _4
  30217. _4:
  30218. ;
  30219. j++
  30220. }
  30221. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 {
  30222. r = _FcLangSetCompareStrSet(tls, lsb, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra)
  30223. if r < best {
  30224. best = r
  30225. }
  30226. }
  30227. if best > int32(_FcLangEqual) && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  30228. r = _FcLangSetCompareStrSet(tls, lsa, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  30229. if r < best {
  30230. best = r
  30231. }
  30232. }
  30233. return best
  30234. }
  30235. var XFcLangSetCompare = XIA__FcLangSetCompare
  30236. // C documentation
  30237. //
  30238. // /*
  30239. // * Used in computing values -- mustn't allocate any storage
  30240. // */
  30241. func XFcLangSetPromote(tls *libc.TLS, lang uintptr, vbuf uintptr) (r uintptr) {
  30242. var buf uintptr
  30243. var id int32
  30244. _, _ = buf, id
  30245. buf = vbuf
  30246. libc.Xmemset(tls, buf+12, int32('\000'), uint64(32))
  30247. (*struct {
  30248. Fls TFcLangSet
  30249. Fstrs TFcStrSet
  30250. Fstr uintptr
  30251. })(unsafe.Pointer(buf)).Fls.Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  30252. (*struct {
  30253. Fls TFcLangSet
  30254. Fstrs TFcStrSet
  30255. Fstr uintptr
  30256. })(unsafe.Pointer(buf)).Fls.Fextra = uintptr(0)
  30257. if lang != 0 {
  30258. id = _FcLangSetIndex(tls, lang)
  30259. if id >= 0 {
  30260. _FcLangSetBitSet(tls, buf, libc.Uint32FromInt32(id))
  30261. } else {
  30262. (*struct {
  30263. Fls TFcLangSet
  30264. Fstrs TFcStrSet
  30265. Fstr uintptr
  30266. })(unsafe.Pointer(buf)).Fls.Fextra = buf + 48
  30267. (*struct {
  30268. Fls TFcLangSet
  30269. Fstrs TFcStrSet
  30270. Fstr uintptr
  30271. })(unsafe.Pointer(buf)).Fstrs.Fnum = int32(1)
  30272. (*struct {
  30273. Fls TFcLangSet
  30274. Fstrs TFcStrSet
  30275. Fstr uintptr
  30276. })(unsafe.Pointer(buf)).Fstrs.Fsize = int32(1)
  30277. (*struct {
  30278. Fls TFcLangSet
  30279. Fstrs TFcStrSet
  30280. Fstr uintptr
  30281. })(unsafe.Pointer(buf)).Fstrs.Fstrs = buf + 80
  30282. (*TFcRef)(unsafe.Pointer(buf + 48)).Fcount = int32(1)
  30283. (*struct {
  30284. Fls TFcLangSet
  30285. Fstrs TFcStrSet
  30286. Fstr uintptr
  30287. })(unsafe.Pointer(buf)).Fstr = lang
  30288. }
  30289. }
  30290. return buf
  30291. }
  30292. func XIA__FcLangSetHash(tls *libc.TLS, ls uintptr) (r TFcChar32) {
  30293. var count, i int32
  30294. var h TFcChar32
  30295. var v1 uint32
  30296. _, _, _, _ = count, h, i, v1
  30297. h = uint32(0)
  30298. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  30299. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  30300. } else {
  30301. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  30302. }
  30303. count = libc.Int32FromUint32(v1)
  30304. i = 0
  30305. for {
  30306. if !(i < count) {
  30307. break
  30308. }
  30309. h ^= *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  30310. goto _2
  30311. _2:
  30312. ;
  30313. i++
  30314. }
  30315. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30316. h ^= libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer((*TFcLangSet)(unsafe.Pointer(ls)).Fextra)).Fnum)
  30317. }
  30318. return h
  30319. }
  30320. var XFcLangSetHash = XIA__FcLangSetHash
  30321. func XFcNameParseLangSet(tls *libc.TLS, string1 uintptr) (r uintptr) {
  30322. bp := tls.Alloc(32)
  30323. defer tls.Free(32)
  30324. var c TFcChar8
  30325. var i int32
  30326. var ls, v3 uintptr
  30327. var _ /* lang at bp+0 */ [32]TFcChar8
  30328. _, _, _, _ = c, i, ls, v3
  30329. c = uint8(0)
  30330. ls = XIA__FcLangSetCreate(tls)
  30331. if !(ls != 0) {
  30332. goto bail0
  30333. }
  30334. for {
  30335. i = 0
  30336. for {
  30337. if !(i < int32(31)) {
  30338. break
  30339. }
  30340. v3 = string1
  30341. string1++
  30342. c = *(*TFcChar8)(unsafe.Pointer(v3))
  30343. if libc.Int32FromUint8(c) == int32('\000') || libc.Int32FromUint8(c) == int32('|') {
  30344. break
  30345. } /* end of this code */
  30346. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = c
  30347. goto _2
  30348. _2:
  30349. ;
  30350. i++
  30351. }
  30352. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = uint8('\000')
  30353. if !(XIA__FcLangSetAdd(tls, ls, bp) != 0) {
  30354. goto bail1
  30355. }
  30356. if libc.Int32FromUint8(c) == int32('\000') {
  30357. break
  30358. }
  30359. goto _1
  30360. _1:
  30361. }
  30362. return ls
  30363. goto bail1
  30364. bail1:
  30365. ;
  30366. XIA__FcLangSetDestroy(tls, ls)
  30367. goto bail0
  30368. bail0:
  30369. ;
  30370. return uintptr(0)
  30371. return r
  30372. }
  30373. func XFcNameUnparseLangSet(tls *libc.TLS, buf uintptr, ls uintptr) (r TFcBool) {
  30374. var bit, count, i, id int32
  30375. var bits, v3 TFcChar32
  30376. var extra, list, v5 uintptr
  30377. var first TFcBool
  30378. var v1 uint32
  30379. _, _, _, _, _, _, _, _, _, _, _ = bit, bits, count, extra, first, i, id, list, v1, v3, v5
  30380. first = int32(m_FcTrue)
  30381. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  30382. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  30383. } else {
  30384. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  30385. }
  30386. count = libc.Int32FromUint32(v1)
  30387. i = 0
  30388. for {
  30389. if !(i < count) {
  30390. break
  30391. }
  30392. v3 = *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  30393. bits = v3
  30394. if v3 != 0 {
  30395. bit = 0
  30396. for {
  30397. if !(bit <= int32(31)) {
  30398. break
  30399. }
  30400. if bits&(uint32(1)<<bit) != 0 {
  30401. id = i<<int32(5) | bit
  30402. if !(first != 0) {
  30403. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  30404. return m_FcFalse
  30405. }
  30406. }
  30407. if !(XFcStrBufString(tls, buf, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41076 + uintptr(id))))*40) != 0) {
  30408. return m_FcFalse
  30409. }
  30410. first = m_FcFalse
  30411. }
  30412. goto _4
  30413. _4:
  30414. ;
  30415. bit++
  30416. }
  30417. }
  30418. goto _2
  30419. _2:
  30420. ;
  30421. i++
  30422. }
  30423. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30424. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30425. if !(list != 0) {
  30426. return m_FcFalse
  30427. }
  30428. for {
  30429. v5 = XIA__FcStrListNext(tls, list)
  30430. extra = v5
  30431. if !(v5 != 0) {
  30432. break
  30433. }
  30434. if !(first != 0) {
  30435. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  30436. XIA__FcStrListDone(tls, list)
  30437. return m_FcFalse
  30438. }
  30439. }
  30440. if !(XFcStrBufString(tls, buf, extra) != 0) {
  30441. XIA__FcStrListDone(tls, list)
  30442. return m_FcFalse
  30443. }
  30444. first = m_FcFalse
  30445. }
  30446. XIA__FcStrListDone(tls, list)
  30447. }
  30448. return int32(m_FcTrue)
  30449. }
  30450. func XIA__FcLangSetEqual(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  30451. var count, i, v2 int32
  30452. var v1 uint32
  30453. _, _, _, _ = count, i, v1, v2
  30454. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  30455. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  30456. } else {
  30457. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  30458. }
  30459. count = libc.Int32FromUint32(v1)
  30460. if int32(m_NUM_LANG_SET_MAP) < count {
  30461. v2 = int32(m_NUM_LANG_SET_MAP)
  30462. } else {
  30463. v2 = count
  30464. }
  30465. count = v2
  30466. i = 0
  30467. for {
  30468. if !(i < count) {
  30469. break
  30470. }
  30471. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) {
  30472. return m_FcFalse
  30473. }
  30474. goto _3
  30475. _3:
  30476. ;
  30477. i++
  30478. }
  30479. if !((*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0) && !((*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0) {
  30480. return int32(m_FcTrue)
  30481. }
  30482. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  30483. return XIA__FcStrSetEqual(tls, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  30484. }
  30485. return m_FcFalse
  30486. }
  30487. var XFcLangSetEqual = XIA__FcLangSetEqual
  30488. func _FcLangSetContainsLang(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  30489. var extra, list, v3 uintptr
  30490. var i, id int32
  30491. _, _, _, _, _ = extra, i, id, list, v3
  30492. id = _FcLangSetIndex(tls, lang)
  30493. if id < 0 {
  30494. id = -id - int32(1)
  30495. } else {
  30496. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  30497. return int32(m_FcTrue)
  30498. }
  30499. }
  30500. /*
  30501. * search up and down among equal languages for a match
  30502. */
  30503. i = id - int32(1)
  30504. for {
  30505. if !(i >= 0) {
  30506. break
  30507. }
  30508. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  30509. break
  30510. }
  30511. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  30512. return int32(m_FcTrue)
  30513. }
  30514. goto _1
  30515. _1:
  30516. ;
  30517. i--
  30518. }
  30519. i = id
  30520. for {
  30521. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30522. break
  30523. }
  30524. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  30525. break
  30526. }
  30527. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  30528. return int32(m_FcTrue)
  30529. }
  30530. goto _2
  30531. _2:
  30532. ;
  30533. i++
  30534. }
  30535. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30536. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30537. if list != 0 {
  30538. for {
  30539. v3 = XIA__FcStrListNext(tls, list)
  30540. extra = v3
  30541. if !(v3 != 0) {
  30542. break
  30543. }
  30544. if _FcLangContains(tls, extra, lang) != 0 {
  30545. break
  30546. }
  30547. }
  30548. XIA__FcStrListDone(tls, list)
  30549. if extra != 0 {
  30550. return int32(m_FcTrue)
  30551. }
  30552. }
  30553. }
  30554. return m_FcFalse
  30555. }
  30556. // C documentation
  30557. //
  30558. // /*
  30559. // * return FcTrue if lsa contains every language in lsb
  30560. // */
  30561. func XIA__FcLangSetContains(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  30562. bp := tls.Alloc(16)
  30563. defer tls.Free(16)
  30564. var count, i, j, v2 int32
  30565. var extra, list, v5 uintptr
  30566. var missing TFcChar32
  30567. var v1 uint32
  30568. _, _, _, _, _, _, _, _, _ = count, extra, i, j, list, missing, v1, v2, v5
  30569. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  30570. libc.Xprintf(tls, __ccgo_ts+5713, 0)
  30571. XFcLangSetPrint(tls, lsa)
  30572. libc.Xprintf(tls, __ccgo_ts+5724, 0)
  30573. XFcLangSetPrint(tls, lsb)
  30574. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  30575. }
  30576. /*
  30577. * check bitmaps for missing language support
  30578. */
  30579. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  30580. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  30581. } else {
  30582. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  30583. }
  30584. count = libc.Int32FromUint32(v1)
  30585. if int32(m_NUM_LANG_SET_MAP) < count {
  30586. v2 = int32(m_NUM_LANG_SET_MAP)
  30587. } else {
  30588. v2 = count
  30589. }
  30590. count = v2
  30591. i = 0
  30592. for {
  30593. if !(i < count) {
  30594. break
  30595. }
  30596. missing = *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))
  30597. if missing != 0 {
  30598. j = 0
  30599. for {
  30600. if !(j < int32(32)) {
  30601. break
  30602. }
  30603. if missing&(uint32(1)<<j) != 0 {
  30604. if !(_FcLangSetContainsLang(tls, lsa, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41076 + uintptr(i*int32(32)+j))))*40) != 0) {
  30605. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  30606. libc.Xprintf(tls, __ccgo_ts+5735, libc.VaList(bp+8, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41076 + uintptr(i*int32(32)+j))))*40))
  30607. }
  30608. return m_FcFalse
  30609. }
  30610. }
  30611. goto _4
  30612. _4:
  30613. ;
  30614. j++
  30615. }
  30616. }
  30617. goto _3
  30618. _3:
  30619. ;
  30620. i++
  30621. }
  30622. if (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  30623. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  30624. if list != 0 {
  30625. for {
  30626. v5 = XIA__FcStrListNext(tls, list)
  30627. extra = v5
  30628. if !(v5 != 0) {
  30629. break
  30630. }
  30631. if !(_FcLangSetContainsLang(tls, lsa, extra) != 0) {
  30632. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  30633. libc.Xprintf(tls, __ccgo_ts+5755, libc.VaList(bp+8, extra))
  30634. }
  30635. break
  30636. }
  30637. }
  30638. XIA__FcStrListDone(tls, list)
  30639. if extra != 0 {
  30640. return m_FcFalse
  30641. }
  30642. }
  30643. }
  30644. return int32(m_FcTrue)
  30645. }
  30646. var XFcLangSetContains = XIA__FcLangSetContains
  30647. func XFcLangSetSerializeAlloc(tls *libc.TLS, serialize uintptr, l uintptr) (r TFcBool) {
  30648. if !(XFcSerializeAlloc(tls, serialize, l, int32(48)) != 0) {
  30649. return m_FcFalse
  30650. }
  30651. return int32(m_FcTrue)
  30652. }
  30653. func XFcLangSetSerialize(tls *libc.TLS, serialize uintptr, l uintptr) (r uintptr) {
  30654. var l_serialize uintptr
  30655. var v1 uint64
  30656. _, _ = l_serialize, v1
  30657. l_serialize = XFcSerializePtr(tls, serialize, l)
  30658. if !(l_serialize != 0) {
  30659. return libc.UintptrFromInt32(0)
  30660. }
  30661. libc.Xmemset(tls, l_serialize+12, int32('\000'), uint64(32))
  30662. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size)*uint64(4) {
  30663. v1 = libc.Uint64FromInt64(32)
  30664. } else {
  30665. v1 = uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size) * uint64(4)
  30666. }
  30667. libc.Xmemcpy(tls, l_serialize+12, l+12, v1)
  30668. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  30669. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fextra = libc.UintptrFromInt32(0) /* We don't serialize ls->extra */
  30670. return l_serialize
  30671. }
  30672. func XIA__FcLangSetGetLangs(tls *libc.TLS, ls uintptr) (r uintptr) {
  30673. var extra, langs, list, v2 uintptr
  30674. var i int32
  30675. _, _, _, _, _ = extra, i, langs, list, v2
  30676. langs = XIA__FcStrSetCreate(tls)
  30677. if !(langs != 0) {
  30678. return uintptr(0)
  30679. }
  30680. i = 0
  30681. for {
  30682. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30683. break
  30684. }
  30685. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 {
  30686. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  30687. }
  30688. goto _1
  30689. _1:
  30690. ;
  30691. i++
  30692. }
  30693. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30694. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30695. if list != 0 {
  30696. for {
  30697. v2 = XIA__FcStrListNext(tls, list)
  30698. extra = v2
  30699. if !(v2 != 0) {
  30700. break
  30701. }
  30702. XIA__FcStrSetAdd(tls, langs, extra)
  30703. }
  30704. XIA__FcStrListDone(tls, list)
  30705. }
  30706. }
  30707. return langs
  30708. }
  30709. var XFcLangSetGetLangs = XIA__FcLangSetGetLangs
  30710. func _FcLangSetOperate(tls *libc.TLS, a uintptr, b uintptr, func1 uintptr) (r uintptr) {
  30711. var langset, set, sl, str, v1 uintptr
  30712. _, _, _, _, _ = langset, set, sl, str, v1
  30713. langset = XIA__FcLangSetCopy(tls, a)
  30714. set = XIA__FcLangSetGetLangs(tls, b)
  30715. sl = XIA__FcStrListCreate(tls, set)
  30716. XIA__FcStrSetDestroy(tls, set)
  30717. for {
  30718. v1 = XIA__FcStrListNext(tls, sl)
  30719. str = v1
  30720. if !(v1 != 0) {
  30721. break
  30722. }
  30723. (*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, langset, str)
  30724. }
  30725. XIA__FcStrListDone(tls, sl)
  30726. return langset
  30727. }
  30728. func XIA__FcLangSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  30729. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetAdd))
  30730. }
  30731. var XFcLangSetUnion = XIA__FcLangSetUnion
  30732. func XIA__FcLangSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  30733. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetDel))
  30734. }
  30735. var XFcLangSetSubtract = XIA__FcLangSetSubtract
  30736. const m_FC_LIST_HASH_SIZE = 4099
  30737. func XIA__FcObjectSetCreate(tls *libc.TLS) (r uintptr) {
  30738. var os uintptr
  30739. _ = os
  30740. os = libc.Xmalloc(tls, uint64(16))
  30741. if !(os != 0) {
  30742. return uintptr(0)
  30743. }
  30744. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject = 0
  30745. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = 0
  30746. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = uintptr(0)
  30747. return os
  30748. }
  30749. var XFcObjectSetCreate = XIA__FcObjectSetCreate
  30750. func XIA__FcObjectSetAdd(tls *libc.TLS, os uintptr, object uintptr) (r TFcBool) {
  30751. var c, high, low, mid, s int32
  30752. var objects uintptr
  30753. _, _, _, _, _, _ = c, high, low, mid, objects, s
  30754. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject {
  30755. s = (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject + int32(4)
  30756. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  30757. objects = libc.Xrealloc(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects, libc.Uint64FromInt32(s)*uint64(8))
  30758. } else {
  30759. objects = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(8))
  30760. }
  30761. if !(objects != 0) {
  30762. return m_FcFalse
  30763. }
  30764. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = objects
  30765. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = s
  30766. }
  30767. high = (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject - int32(1)
  30768. low = 0
  30769. mid = 0
  30770. c = int32(1)
  30771. object = libc.Xstrdup(tls, object)
  30772. for low <= high {
  30773. mid = (low + high) >> int32(1)
  30774. c = int32(int64(*(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8))) - int64(object))
  30775. if c == 0 {
  30776. libc.Xfree(tls, object)
  30777. return int32(m_FcTrue)
  30778. }
  30779. if c < 0 {
  30780. low = mid + int32(1)
  30781. } else {
  30782. high = mid - int32(1)
  30783. }
  30784. }
  30785. if c < 0 {
  30786. mid++
  30787. }
  30788. libc.Xmemmove(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8+uintptr(1)*8, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8, libc.Uint64FromInt32((*TFcObjectSet)(unsafe.Pointer(os)).Fnobject-mid)*uint64(8))
  30789. *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8)) = object
  30790. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject++
  30791. return int32(m_FcTrue)
  30792. }
  30793. var XFcObjectSetAdd = XIA__FcObjectSetAdd
  30794. func XIA__FcObjectSetDestroy(tls *libc.TLS, os uintptr) {
  30795. var i int32
  30796. _ = i
  30797. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  30798. i = 0
  30799. for {
  30800. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  30801. break
  30802. }
  30803. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  30804. goto _1
  30805. _1:
  30806. ;
  30807. i++
  30808. }
  30809. libc.Xfree(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)
  30810. }
  30811. libc.Xfree(tls, os)
  30812. }
  30813. var XFcObjectSetDestroy = XIA__FcObjectSetDestroy
  30814. func XIA__FcObjectSetVaBuild(tls *libc.TLS, first uintptr, va Tva_list) (r uintptr) {
  30815. var __ob__, __os__, ret uintptr
  30816. _, _, _ = __ob__, __os__, ret
  30817. ret = uintptr(0)
  30818. __os__ = XIA__FcObjectSetCreate(tls)
  30819. if !(__os__ != 0) {
  30820. goto _FcObjectSetVapBuild_bail0
  30821. }
  30822. __ob__ = first
  30823. for __ob__ != 0 {
  30824. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  30825. goto _FcObjectSetVapBuild_bail1
  30826. }
  30827. __ob__ = libc.VaUintptr(&va)
  30828. }
  30829. ret = __os__
  30830. goto _FcObjectSetVapBuild_bail1
  30831. _FcObjectSetVapBuild_bail1:
  30832. ;
  30833. if !(ret != 0) && __os__ != 0 {
  30834. XIA__FcObjectSetDestroy(tls, __os__)
  30835. }
  30836. goto _FcObjectSetVapBuild_bail0
  30837. _FcObjectSetVapBuild_bail0:
  30838. ;
  30839. return ret
  30840. }
  30841. var XFcObjectSetVaBuild = XIA__FcObjectSetVaBuild
  30842. func XIA__FcObjectSetBuild(tls *libc.TLS, first uintptr, va1 uintptr) (r uintptr) {
  30843. var __ob__, __os__, os uintptr
  30844. var va Tva_list
  30845. _, _, _, _ = __ob__, __os__, os, va
  30846. va = va1
  30847. os = uintptr(0)
  30848. __os__ = XIA__FcObjectSetCreate(tls)
  30849. if !(__os__ != 0) {
  30850. goto _FcObjectSetVapBuild_bail0
  30851. }
  30852. __ob__ = first
  30853. for __ob__ != 0 {
  30854. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  30855. goto _FcObjectSetVapBuild_bail1
  30856. }
  30857. __ob__ = libc.VaUintptr(&va)
  30858. }
  30859. os = __os__
  30860. goto _FcObjectSetVapBuild_bail1
  30861. _FcObjectSetVapBuild_bail1:
  30862. ;
  30863. if !(os != 0) && __os__ != 0 {
  30864. XIA__FcObjectSetDestroy(tls, __os__)
  30865. }
  30866. goto _FcObjectSetVapBuild_bail0
  30867. _FcObjectSetVapBuild_bail0:
  30868. ;
  30869. _ = va
  30870. return os
  30871. }
  30872. var XFcObjectSetBuild = XIA__FcObjectSetBuild
  30873. // C documentation
  30874. //
  30875. // /*
  30876. // * Font must have a containing value for every value in the pattern
  30877. // */
  30878. func _FcListValueListMatchAny(tls *libc.TLS, patOrig TFcValueListPtr, fntOrig TFcValueListPtr) (r TFcBool) {
  30879. /* font */
  30880. var fnt, pat TFcValueListPtr
  30881. var v3, v4 uintptr
  30882. _, _, _, _ = fnt, pat, v3, v4
  30883. pat = patOrig
  30884. for {
  30885. if !(pat != libc.UintptrFromInt32(0)) {
  30886. break
  30887. }
  30888. fnt = fntOrig
  30889. for {
  30890. if !(fnt != libc.UintptrFromInt32(0)) {
  30891. break
  30892. }
  30893. /*
  30894. * make sure the font 'contains' the pattern.
  30895. * (OpListing is OpContains except for strings
  30896. * where it requires an exact match)
  30897. */
  30898. if XFcConfigCompareValue(tls, fnt+8, libc.Uint32FromInt32(int32(_FcOpListing)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), pat+8) != 0 {
  30899. break
  30900. }
  30901. goto _2
  30902. _2:
  30903. ;
  30904. if int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(1) != 0 {
  30905. v3 = uintptr(int64(fnt) + int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(^libc.Int32FromInt32(1)))
  30906. } else {
  30907. v3 = (*T_FcValueList)(unsafe.Pointer(fnt)).Fnext
  30908. }
  30909. fnt = v3
  30910. }
  30911. if fnt == libc.UintptrFromInt32(0) {
  30912. return m_FcFalse
  30913. }
  30914. goto _1
  30915. _1:
  30916. ;
  30917. if int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(1) != 0 {
  30918. v4 = uintptr(int64(pat) + int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(^libc.Int32FromInt32(1)))
  30919. } else {
  30920. v4 = (*T_FcValueList)(unsafe.Pointer(pat)).Fnext
  30921. }
  30922. pat = v4
  30923. }
  30924. return int32(m_FcTrue)
  30925. }
  30926. func _FcListValueListEqual(tls *libc.TLS, v1orig TFcValueListPtr, v2orig TFcValueListPtr) (r TFcBool) {
  30927. var v1, v2 TFcValueListPtr
  30928. var v3, v4, v7, v8 uintptr
  30929. _, _, _, _, _, _ = v1, v2, v3, v4, v7, v8
  30930. v1 = v1orig
  30931. for {
  30932. if !(v1 != libc.UintptrFromInt32(0)) {
  30933. break
  30934. }
  30935. v2 = v2orig
  30936. for {
  30937. if !(v2 != libc.UintptrFromInt32(0)) {
  30938. break
  30939. }
  30940. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  30941. break
  30942. }
  30943. goto _2
  30944. _2:
  30945. ;
  30946. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  30947. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  30948. } else {
  30949. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  30950. }
  30951. v2 = v3
  30952. }
  30953. if v2 == libc.UintptrFromInt32(0) {
  30954. return m_FcFalse
  30955. }
  30956. goto _1
  30957. _1:
  30958. ;
  30959. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  30960. v4 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  30961. } else {
  30962. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  30963. }
  30964. v1 = v4
  30965. }
  30966. v2 = v2orig
  30967. for {
  30968. if !(v2 != libc.UintptrFromInt32(0)) {
  30969. break
  30970. }
  30971. v1 = v1orig
  30972. for {
  30973. if !(v1 != libc.UintptrFromInt32(0)) {
  30974. break
  30975. }
  30976. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  30977. break
  30978. }
  30979. goto _6
  30980. _6:
  30981. ;
  30982. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  30983. v7 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  30984. } else {
  30985. v7 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  30986. }
  30987. v1 = v7
  30988. }
  30989. if v1 == libc.UintptrFromInt32(0) {
  30990. return m_FcFalse
  30991. }
  30992. goto _5
  30993. _5:
  30994. ;
  30995. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  30996. v8 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  30997. } else {
  30998. v8 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  30999. }
  31000. v2 = v8
  31001. }
  31002. return int32(m_FcTrue)
  31003. }
  31004. func _FcListPatternEqual(tls *libc.TLS, p1 uintptr, p2 uintptr, os uintptr) (r TFcBool) {
  31005. var e1, e2, v2, v3 uintptr
  31006. var i int32
  31007. _, _, _, _, _ = e1, e2, i, v2, v3
  31008. i = 0
  31009. for {
  31010. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31011. break
  31012. }
  31013. e1 = XFcPatternObjectFindElt(tls, p1, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  31014. e2 = XFcPatternObjectFindElt(tls, p2, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  31015. if !(e1 != 0) && !(e2 != 0) {
  31016. goto _1
  31017. }
  31018. if !(e1 != 0) || !(e2 != 0) {
  31019. return m_FcFalse
  31020. }
  31021. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  31022. v2 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31023. } else {
  31024. v2 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  31025. }
  31026. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  31027. v3 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31028. } else {
  31029. v3 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  31030. }
  31031. if !(_FcListValueListEqual(tls, v2, v3) != 0) {
  31032. return m_FcFalse
  31033. }
  31034. goto _1
  31035. _1:
  31036. ;
  31037. i++
  31038. }
  31039. return int32(m_FcTrue)
  31040. }
  31041. /*
  31042. * FcTrue iff all objects in "p" match "font"
  31043. */
  31044. func XFcListPatternMatchAny(tls *libc.TLS, p uintptr, font uintptr) (r TFcBool) {
  31045. var fe, pe, v2, v3 uintptr
  31046. var i int32
  31047. _, _, _, _, _ = fe, i, pe, v2, v3
  31048. if !(p != 0) {
  31049. return m_FcFalse
  31050. }
  31051. i = 0
  31052. for {
  31053. if !(i < (*TFcPattern)(unsafe.Pointer(p)).Fnum) {
  31054. break
  31055. }
  31056. pe = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  31057. if (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject == int32(_FC_NAMELANG_OBJECT) {
  31058. /* "namelang" object is the alias object to change "familylang",
  31059. * "stylelang" and "fullnamelang" object alltogether. it won't be
  31060. * available on the font pattern. so checking its availability
  31061. * causes no results. we should ignore it here.
  31062. */
  31063. goto _1
  31064. }
  31065. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  31066. if !(fe != 0) {
  31067. return m_FcFalse
  31068. }
  31069. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  31070. v2 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31071. } else {
  31072. v2 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  31073. }
  31074. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  31075. v3 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31076. } else {
  31077. v3 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  31078. }
  31079. if !(_FcListValueListMatchAny(tls, v2, v3) != 0) { /* font elts */
  31080. return m_FcFalse
  31081. }
  31082. goto _1
  31083. _1:
  31084. ;
  31085. i++
  31086. }
  31087. return int32(m_FcTrue)
  31088. }
  31089. func _FcListMatrixHash(tls *libc.TLS, m uintptr) (r TFcChar32) {
  31090. var xx, xy, yx, yy int32
  31091. _, _, _, _ = xx, xy, yx, yy
  31092. xx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxx * libc.Float64FromInt32(100))
  31093. xy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxy * libc.Float64FromInt32(100))
  31094. yx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyx * libc.Float64FromInt32(100))
  31095. yy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyy * libc.Float64FromInt32(100))
  31096. return libc.Uint32FromInt32(xx) ^ libc.Uint32FromInt32(xy) ^ libc.Uint32FromInt32(yx) ^ libc.Uint32FromInt32(yy)
  31097. }
  31098. func _FcListValueHash(tls *libc.TLS, value uintptr) (r TFcChar32) {
  31099. bp := tls.Alloc(16)
  31100. defer tls.Free(16)
  31101. var _ /* v at bp+0 */ TFcValue
  31102. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  31103. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, value)
  31104. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  31105. case int32(_FcTypeUnknown):
  31106. fallthrough
  31107. case int32(_FcTypeVoid):
  31108. return uint32(0)
  31109. case int32(_FcTypeInteger):
  31110. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp + 8)))
  31111. case int32(_FcTypeDouble):
  31112. return libc.Uint32FromInt32(int32(*(*float64)(unsafe.Pointer(bp + 8))))
  31113. case int32(_FcTypeString):
  31114. return XFcStrHashIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31115. case int32(_FcTypeBool):
  31116. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)))
  31117. case int32(_FcTypeMatrix):
  31118. return _FcListMatrixHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31119. case int32(_FcTypeCharSet):
  31120. return XIA__FcCharSetCount(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31121. case int32(_FcTypeFTFace):
  31122. return libc.Uint32FromInt64(int64(*(*uintptr)(unsafe.Pointer(bp + 8))))
  31123. case int32(_FcTypeLangSet):
  31124. return XIA__FcLangSetHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31125. case int32(_FcTypeRange):
  31126. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31127. }
  31128. return uint32(0)
  31129. }
  31130. func _FcListValueListHash(tls *libc.TLS, list TFcValueListPtr) (r TFcChar32) {
  31131. var h TFcChar32
  31132. var v1 uintptr
  31133. _, _ = h, v1
  31134. h = uint32(0)
  31135. for list != libc.UintptrFromInt32(0) {
  31136. h = h ^ _FcListValueHash(tls, list+8)
  31137. if int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(1) != 0 {
  31138. v1 = uintptr(int64(list) + int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31139. } else {
  31140. v1 = (*T_FcValueList)(unsafe.Pointer(list)).Fnext
  31141. }
  31142. list = v1
  31143. }
  31144. return h
  31145. }
  31146. func _FcListPatternHash(tls *libc.TLS, font uintptr, os uintptr) (r TFcChar32) {
  31147. var e, v2 uintptr
  31148. var h TFcChar32
  31149. var n int32
  31150. _, _, _, _ = e, h, n, v2
  31151. h = uint32(0)
  31152. n = 0
  31153. for {
  31154. if !(n < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31155. break
  31156. }
  31157. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(n)*8))))
  31158. if e != 0 {
  31159. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  31160. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31161. } else {
  31162. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  31163. }
  31164. h = h ^ _FcListValueListHash(tls, v2)
  31165. }
  31166. goto _1
  31167. _1:
  31168. ;
  31169. n++
  31170. }
  31171. return h
  31172. }
  31173. type TFcListBucket = struct {
  31174. Fnext uintptr
  31175. Fhash TFcChar32
  31176. Fpattern uintptr
  31177. }
  31178. type T_FcListBucket = TFcListBucket
  31179. type TFcListHashTable = struct {
  31180. Fentries int32
  31181. Fbuckets [4099]uintptr
  31182. }
  31183. type T_FcListHashTable = TFcListHashTable
  31184. func _FcListHashTableInit(tls *libc.TLS, table uintptr) {
  31185. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  31186. libc.Xmemset(tls, table+8, int32('\000'), uint64(32792))
  31187. }
  31188. func _FcListHashTableCleanup(tls *libc.TLS, table uintptr) {
  31189. var bucket, next uintptr
  31190. var i int32
  31191. _, _, _ = bucket, i, next
  31192. i = 0
  31193. for {
  31194. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  31195. break
  31196. }
  31197. bucket = *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8))
  31198. for {
  31199. if !(bucket != 0) {
  31200. break
  31201. }
  31202. next = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  31203. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  31204. libc.Xfree(tls, bucket)
  31205. goto _2
  31206. _2:
  31207. ;
  31208. bucket = next
  31209. }
  31210. *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8)) = uintptr(0)
  31211. goto _1
  31212. _1:
  31213. ;
  31214. i++
  31215. }
  31216. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  31217. }
  31218. func _FcGetDefaultObjectLangIndex(tls *libc.TLS, font uintptr, object TFcObject, lang uintptr) (r int32) {
  31219. bp := tls.Alloc(16)
  31220. defer tls.Free(16)
  31221. var defidx, i, idx, v4, v5 int32
  31222. var e, v2, v3 uintptr
  31223. var res TFcLangResult
  31224. var v TFcValueListPtr
  31225. var _ /* value at bp+0 */ TFcValue
  31226. _, _, _, _, _, _, _, _, _, _ = defidx, e, i, idx, res, v, v2, v3, v4, v5
  31227. e = XFcPatternObjectFindElt(tls, font, object)
  31228. idx = -int32(1)
  31229. defidx = -int32(1)
  31230. if e != 0 {
  31231. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  31232. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31233. } else {
  31234. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  31235. }
  31236. v = v2
  31237. i = libc.Int32FromInt32(0)
  31238. for {
  31239. if !(v != 0) {
  31240. break
  31241. }
  31242. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v+8)
  31243. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) {
  31244. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), lang)
  31245. if res == int32(_FcLangEqual) {
  31246. return i
  31247. }
  31248. if res == int32(_FcLangDifferentCountry) && idx < 0 {
  31249. idx = i
  31250. }
  31251. if defidx < 0 {
  31252. /* workaround for fonts that has non-English value
  31253. * at the head of values.
  31254. */
  31255. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), __ccgo_ts+2465)
  31256. if res == int32(_FcLangEqual) {
  31257. defidx = i
  31258. }
  31259. }
  31260. }
  31261. goto _1
  31262. _1:
  31263. ;
  31264. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  31265. v3 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31266. } else {
  31267. v3 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  31268. }
  31269. v = v3
  31270. i++
  31271. }
  31272. }
  31273. if idx > 0 {
  31274. v4 = idx
  31275. } else {
  31276. if defidx > 0 {
  31277. v5 = defidx
  31278. } else {
  31279. v5 = 0
  31280. }
  31281. v4 = v5
  31282. }
  31283. return v4
  31284. }
  31285. func _FcListAppend(tls *libc.TLS, table uintptr, font uintptr, os uintptr, lang uintptr) (r TFcBool) {
  31286. var bucket, e, prev, v2, v5, v6 uintptr
  31287. var defidx, familyidx, fullnameidx, idx, o, styleidx int32
  31288. var hash TFcChar32
  31289. var v TFcValueListPtr
  31290. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bucket, defidx, e, familyidx, fullnameidx, hash, idx, o, prev, styleidx, v, v2, v5, v6
  31291. familyidx = -int32(1)
  31292. fullnameidx = -int32(1)
  31293. styleidx = -int32(1)
  31294. defidx = 0
  31295. hash = _FcListPatternHash(tls, font, os)
  31296. prev = table + 8 + uintptr(hash%uint32(m_FC_LIST_HASH_SIZE))*8
  31297. for {
  31298. v2 = *(*uintptr)(unsafe.Pointer(prev))
  31299. bucket = v2
  31300. if !(v2 != 0) {
  31301. break
  31302. }
  31303. if (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash == hash && _FcListPatternEqual(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, font, os) != 0 {
  31304. return int32(m_FcTrue)
  31305. }
  31306. goto _1
  31307. _1:
  31308. ;
  31309. prev = bucket
  31310. }
  31311. bucket = libc.Xmalloc(tls, uint64(24))
  31312. if !(bucket != 0) {
  31313. goto bail0
  31314. }
  31315. (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext = uintptr(0)
  31316. (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash = hash
  31317. (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern = XIA__FcPatternCreate(tls)
  31318. if !((*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern != 0) {
  31319. goto bail1
  31320. }
  31321. o = 0
  31322. for {
  31323. if !(o < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31324. break
  31325. }
  31326. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4049) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4056) != 0) {
  31327. if familyidx < 0 {
  31328. familyidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FAMILYLANG_OBJECT), lang)
  31329. }
  31330. defidx = familyidx
  31331. } else {
  31332. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4107) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4116) != 0) {
  31333. if fullnameidx < 0 {
  31334. fullnameidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FULLNAMELANG_OBJECT), lang)
  31335. }
  31336. defidx = fullnameidx
  31337. } else {
  31338. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4170) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4176) != 0) {
  31339. if styleidx < 0 {
  31340. styleidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_STYLELANG_OBJECT), lang)
  31341. }
  31342. defidx = styleidx
  31343. } else {
  31344. defidx = 0
  31345. }
  31346. }
  31347. }
  31348. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8))))
  31349. if e != 0 {
  31350. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  31351. v5 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31352. } else {
  31353. v5 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  31354. }
  31355. v = v5
  31356. idx = libc.Int32FromInt32(0)
  31357. for {
  31358. if !(v != 0) {
  31359. break
  31360. }
  31361. if !(XIA__FcPatternAdd(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), XFcValueCanonicalize(tls, v+8), libc.BoolInt32(defidx != idx)) != 0) {
  31362. goto bail2
  31363. }
  31364. goto _4
  31365. _4:
  31366. ;
  31367. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  31368. v6 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31369. } else {
  31370. v6 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  31371. }
  31372. v = v6
  31373. idx++
  31374. }
  31375. }
  31376. goto _3
  31377. _3:
  31378. ;
  31379. o++
  31380. }
  31381. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  31382. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries++
  31383. return int32(m_FcTrue)
  31384. goto bail2
  31385. bail2:
  31386. ;
  31387. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  31388. goto bail1
  31389. bail1:
  31390. ;
  31391. libc.Xfree(tls, bucket)
  31392. goto bail0
  31393. bail0:
  31394. ;
  31395. return m_FcFalse
  31396. return r
  31397. }
  31398. func XIA__FcFontSetList(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, os uintptr) (r uintptr) {
  31399. bp := tls.Alloc(32816)
  31400. defer tls.Free(32816)
  31401. var bucket, ret, s, v4 uintptr
  31402. var destroy_os, f, i, set int32
  31403. var _ /* lang at bp+32800 */ uintptr
  31404. var _ /* table at bp+0 */ TFcListHashTable
  31405. _, _, _, _, _, _, _, _ = bucket, destroy_os, f, i, ret, s, set, v4
  31406. destroy_os = 0
  31407. if !(config != 0) {
  31408. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  31409. goto bail0
  31410. }
  31411. config = XIA__FcConfigGetCurrent(tls)
  31412. if !(config != 0) {
  31413. goto bail0
  31414. }
  31415. }
  31416. _FcListHashTableInit(tls, bp)
  31417. if !(os != 0) {
  31418. os = XFcObjectGetSet(tls)
  31419. destroy_os = int32(1)
  31420. }
  31421. /*
  31422. * Walk all available fonts adding those that
  31423. * match to the hash table
  31424. */
  31425. set = 0
  31426. for {
  31427. if !(set < nsets) {
  31428. break
  31429. }
  31430. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  31431. if !(s != 0) {
  31432. goto _1
  31433. }
  31434. f = 0
  31435. for {
  31436. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  31437. break
  31438. }
  31439. if XFcListPatternMatchAny(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))) != 0 { /* font */
  31440. if XFcPatternObjectGetString(tls, p, int32(_FC_NAMELANG_OBJECT), 0, bp+32800) != int32(_FcResultMatch) {
  31441. *(*uintptr)(unsafe.Pointer(bp + 32800)) = XFcGetDefaultLang(tls)
  31442. }
  31443. if !(_FcListAppend(tls, bp, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), os, *(*uintptr)(unsafe.Pointer(bp + 32800))) != 0) {
  31444. goto bail1
  31445. }
  31446. }
  31447. goto _2
  31448. _2:
  31449. ;
  31450. f++
  31451. }
  31452. goto _1
  31453. _1:
  31454. ;
  31455. set++
  31456. }
  31457. /*
  31458. * Walk the hash table and build
  31459. * a font set
  31460. */
  31461. ret = XIA__FcFontSetCreate(tls)
  31462. if !(ret != 0) {
  31463. goto bail0
  31464. }
  31465. i = 0
  31466. for {
  31467. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  31468. break
  31469. }
  31470. for {
  31471. v4 = *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8))
  31472. bucket = v4
  31473. if !(v4 != 0) {
  31474. break
  31475. }
  31476. if !(XIA__FcFontSetAdd(tls, ret, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern) != 0) {
  31477. goto bail2
  31478. }
  31479. *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8)) = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  31480. libc.Xfree(tls, bucket)
  31481. }
  31482. goto _3
  31483. _3:
  31484. ;
  31485. i++
  31486. }
  31487. if destroy_os != 0 {
  31488. XIA__FcObjectSetDestroy(tls, os)
  31489. }
  31490. return ret
  31491. goto bail2
  31492. bail2:
  31493. ;
  31494. XIA__FcFontSetDestroy(tls, ret)
  31495. goto bail1
  31496. bail1:
  31497. ;
  31498. _FcListHashTableCleanup(tls, bp)
  31499. goto bail0
  31500. bail0:
  31501. ;
  31502. if destroy_os != 0 {
  31503. XIA__FcObjectSetDestroy(tls, os)
  31504. }
  31505. return uintptr(0)
  31506. }
  31507. var XFcFontSetList = XIA__FcFontSetList
  31508. func XIA__FcFontList(tls *libc.TLS, config uintptr, p uintptr, os uintptr) (r uintptr) {
  31509. bp := tls.Alloc(16)
  31510. defer tls.Free(16)
  31511. var nsets, v1, v2 int32
  31512. var _ /* sets at bp+0 */ [2]uintptr
  31513. _, _, _ = nsets, v1, v2
  31514. if !(config != 0) {
  31515. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  31516. return uintptr(0)
  31517. }
  31518. config = XIA__FcConfigGetCurrent(tls)
  31519. if !(config != 0) {
  31520. return uintptr(0)
  31521. }
  31522. }
  31523. nsets = 0
  31524. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8)) != 0 {
  31525. v1 = nsets
  31526. nsets++
  31527. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8))
  31528. }
  31529. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8)) != 0 {
  31530. v2 = nsets
  31531. nsets++
  31532. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8))
  31533. }
  31534. return XIA__FcFontSetList(tls, config, bp, nsets, p, os)
  31535. }
  31536. var XFcFontList = XIA__FcFontList
  31537. func _FcCompareNumber(tls *libc.TLS, value1 uintptr, value2 uintptr, bestValue uintptr) (r float64) {
  31538. var v, v1, v2 float64
  31539. _, _, _ = v, v1, v2
  31540. switch (*TFcValue)(unsafe.Pointer(value1)).Ftype1 {
  31541. case int32(_FcTypeInteger):
  31542. v1 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value1)).Fu)))
  31543. case int32(_FcTypeDouble):
  31544. v1 = *(*float64)(unsafe.Pointer(value1 + 8))
  31545. default:
  31546. return -libc.Float64FromFloat64(1)
  31547. }
  31548. switch (*TFcValue)(unsafe.Pointer(value2)).Ftype1 {
  31549. case int32(_FcTypeInteger):
  31550. v2 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value2)).Fu)))
  31551. case int32(_FcTypeDouble):
  31552. v2 = *(*float64)(unsafe.Pointer(value2 + 8))
  31553. default:
  31554. return -libc.Float64FromFloat64(1)
  31555. }
  31556. v = v2 - v1
  31557. if v < libc.Float64FromInt32(0) {
  31558. v = -v
  31559. }
  31560. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, value2)
  31561. return v
  31562. }
  31563. func _FcCompareString(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31564. var v11, v21 uintptr
  31565. _, _ = v11, v21
  31566. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31567. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31568. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31569. } else {
  31570. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31571. }
  31572. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31573. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31574. } else {
  31575. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31576. }
  31577. return float64(libc.Bool32(float64(XIA__FcStrCmpIgnoreCase(tls, v11, v21)) != libc.Float64FromInt32(0)))
  31578. }
  31579. func _FcCompareFamily(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31580. var v1_string, v2_string, v11, v21 uintptr
  31581. var v3, v4 int32
  31582. _, _, _, _, _, _ = v1_string, v2_string, v11, v21, v3, v4
  31583. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31584. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31585. } else {
  31586. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31587. }
  31588. /* rely on the guarantee in FcPatternObjectAddWithBinding that
  31589. * families are always FcTypeString. */
  31590. v1_string = v11
  31591. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31592. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31593. } else {
  31594. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31595. }
  31596. v2_string = v21
  31597. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31598. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  31599. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  31600. } else {
  31601. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  31602. }
  31603. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  31604. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  31605. } else {
  31606. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  31607. }
  31608. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  31609. return float64(1)
  31610. }
  31611. return float64(libc.Bool32(float64(XFcStrCmpIgnoreBlanksAndCase(tls, v1_string, v2_string)) != libc.Float64FromInt32(0)))
  31612. }
  31613. func _FcComparePostScript(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31614. var len1 Tsize_t
  31615. var n, v3, v4 int32
  31616. var v1_string, v2_string, v11, v21 uintptr
  31617. _, _, _, _, _, _, _, _ = len1, n, v1_string, v2_string, v11, v21, v3, v4
  31618. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31619. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31620. } else {
  31621. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31622. }
  31623. v1_string = v11
  31624. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31625. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31626. } else {
  31627. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31628. }
  31629. v2_string = v21
  31630. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31631. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  31632. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  31633. } else {
  31634. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  31635. }
  31636. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  31637. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  31638. } else {
  31639. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  31640. }
  31641. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  31642. return float64(1)
  31643. }
  31644. n = XFcStrMatchIgnoreCaseAndDelims(tls, v1_string, v2_string, __ccgo_ts+5775)
  31645. len1 = libc.Xstrlen(tls, v1_string)
  31646. return float64(len1-libc.Uint64FromInt32(n)) / float64(len1)
  31647. }
  31648. func _FcCompareLang(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31649. bp := tls.Alloc(32)
  31650. defer tls.Free(32)
  31651. var result TFcLangResult
  31652. var _ /* value1 at bp+0 */ TFcValue
  31653. var _ /* value2 at bp+16 */ TFcValue
  31654. _ = result
  31655. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  31656. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  31657. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  31658. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  31659. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  31660. case int32(_FcTypeLangSet):
  31661. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  31662. case int32(_FcTypeLangSet):
  31663. result = XIA__FcLangSetCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  31664. case int32(_FcTypeString):
  31665. result = XIA__FcLangSetHasLang(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  31666. default:
  31667. return -libc.Float64FromFloat64(1)
  31668. }
  31669. case int32(_FcTypeString):
  31670. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  31671. case int32(_FcTypeLangSet):
  31672. result = XIA__FcLangSetHasLang(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), *(*uintptr)(unsafe.Pointer(bp + 8)))
  31673. case int32(_FcTypeString):
  31674. result = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  31675. default:
  31676. return -libc.Float64FromFloat64(1)
  31677. }
  31678. default:
  31679. return -libc.Float64FromFloat64(1)
  31680. }
  31681. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31682. switch result {
  31683. case int32(_FcLangEqual):
  31684. return libc.Float64FromInt32(0)
  31685. case int32(_FcLangDifferentCountry):
  31686. return libc.Float64FromInt32(1)
  31687. case int32(_FcLangDifferentLang):
  31688. fallthrough
  31689. default:
  31690. return libc.Float64FromInt32(2)
  31691. }
  31692. return r
  31693. }
  31694. func _FcCompareBool(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31695. if (*TFcValue)(unsafe.Pointer(v2)).Ftype1 != int32(_FcTypeBool) || (*TFcValue)(unsafe.Pointer(v1)).Ftype1 != int32(_FcTypeBool) {
  31696. return -libc.Float64FromFloat64(1)
  31697. }
  31698. if *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)) != int32(m_FcDontCare) {
  31699. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31700. } else {
  31701. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v1)
  31702. }
  31703. return float64(libc.Bool32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))^*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)) == libc.Int32FromInt32(1)))
  31704. }
  31705. func _FcCompareCharSet(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31706. var v11, v21 uintptr
  31707. _, _ = v11, v21
  31708. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2) /* TODO Improve. */
  31709. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31710. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31711. } else {
  31712. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31713. }
  31714. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31715. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31716. } else {
  31717. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31718. }
  31719. return float64(XIA__FcCharSetSubtractCount(tls, v11, v21))
  31720. }
  31721. func _FcCompareRange(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31722. bp := tls.Alloc(32)
  31723. defer tls.Free(32)
  31724. var b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7 float64
  31725. var _ /* value1 at bp+0 */ TFcValue
  31726. var _ /* value2 at bp+16 */ TFcValue
  31727. _, _, _, _, _, _, _, _, _, _, _, _ = b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7
  31728. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  31729. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  31730. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  31731. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  31732. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  31733. case int32(_FcTypeInteger):
  31734. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  31735. e1 = v11
  31736. b1 = v11
  31737. case int32(_FcTypeDouble):
  31738. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  31739. e1 = v21
  31740. b1 = v21
  31741. case int32(_FcTypeRange):
  31742. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  31743. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  31744. default:
  31745. return float64(-libc.Int32FromInt32(1))
  31746. }
  31747. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  31748. case int32(_FcTypeInteger):
  31749. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  31750. e2 = v3
  31751. b2 = v3
  31752. case int32(_FcTypeDouble):
  31753. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  31754. e2 = v4
  31755. b2 = v4
  31756. case int32(_FcTypeRange):
  31757. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  31758. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  31759. default:
  31760. return float64(-libc.Int32FromInt32(1))
  31761. }
  31762. if e1 < b2 {
  31763. d = b2
  31764. } else {
  31765. if e2 < b1 {
  31766. d = e2
  31767. } else {
  31768. if b1 > b2 {
  31769. v5 = b1
  31770. } else {
  31771. v5 = b2
  31772. }
  31773. if e1 < e2 {
  31774. v6 = e1
  31775. } else {
  31776. v6 = e2
  31777. }
  31778. d = (v5 + v6) * float64(0.5)
  31779. }
  31780. }
  31781. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  31782. *(*float64)(unsafe.Pointer(bestValue + 8)) = d
  31783. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  31784. if e1 < b2 || e2 < b1 {
  31785. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  31786. v7 = libc.Xfabs(tls, b2-e1)
  31787. } else {
  31788. v7 = libc.Xfabs(tls, b1-e2)
  31789. }
  31790. return v7
  31791. } else {
  31792. return float64(0)
  31793. }
  31794. return r
  31795. }
  31796. func _FcCompareSize(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31797. bp := tls.Alloc(32)
  31798. defer tls.Free(32)
  31799. var b1, b2, e1, e2, v11, v21, v3, v4, v5 float64
  31800. var _ /* value1 at bp+0 */ TFcValue
  31801. var _ /* value2 at bp+16 */ TFcValue
  31802. _, _, _, _, _, _, _, _, _ = b1, b2, e1, e2, v11, v21, v3, v4, v5
  31803. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  31804. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  31805. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  31806. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  31807. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  31808. case int32(_FcTypeInteger):
  31809. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  31810. e1 = v11
  31811. b1 = v11
  31812. case int32(_FcTypeDouble):
  31813. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  31814. e1 = v21
  31815. b1 = v21
  31816. case int32(_FcTypeRange):
  31817. libc.Xabort(tls)
  31818. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  31819. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  31820. default:
  31821. return float64(-libc.Int32FromInt32(1))
  31822. }
  31823. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  31824. case int32(_FcTypeInteger):
  31825. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  31826. e2 = v3
  31827. b2 = v3
  31828. case int32(_FcTypeDouble):
  31829. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  31830. e2 = v4
  31831. b2 = v4
  31832. case int32(_FcTypeRange):
  31833. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  31834. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  31835. default:
  31836. return float64(-libc.Int32FromInt32(1))
  31837. }
  31838. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  31839. *(*float64)(unsafe.Pointer(bestValue + 8)) = (b1 + e1) * float64(0.5)
  31840. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  31841. if e1 < b2 || e2 < b1 {
  31842. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  31843. v5 = libc.Xfabs(tls, b2-e1)
  31844. } else {
  31845. v5 = libc.Xfabs(tls, b1-e2)
  31846. }
  31847. return v5
  31848. }
  31849. if b2 != e2 && b1 == e2 { /* Semi-closed interval. */
  31850. return float64(1e-15)
  31851. } else {
  31852. return float64(0)
  31853. }
  31854. return r
  31855. }
  31856. func _FcCompareFilename(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31857. var s1, s2, v11, v21 uintptr
  31858. _, _, _, _ = s1, s2, v11, v21
  31859. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31860. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31861. } else {
  31862. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31863. }
  31864. s1 = v11
  31865. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31866. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31867. } else {
  31868. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31869. }
  31870. s2 = v21
  31871. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31872. if XIA__FcStrCmp(tls, s1, s2) == 0 {
  31873. return float64(0)
  31874. } else {
  31875. if XIA__FcStrCmpIgnoreCase(tls, s1, s2) == 0 {
  31876. return float64(1)
  31877. } else {
  31878. if XFcStrGlobMatch(tls, s1, s2) != 0 {
  31879. return float64(2)
  31880. } else {
  31881. return float64(3)
  31882. }
  31883. }
  31884. }
  31885. return r
  31886. }
  31887. /* Define priorities to -1 for objects that don't have a compare function. */
  31888. type TFcMatcherPriorityDummy = int32
  31889. /* Define priorities to -1 for objects that don't have a compare function. */
  31890. type __FcMatcherPriorityDummy = int32
  31891. const _PRI_FAMILYLANG_STRONG = -1
  31892. const _PRI_FAMILYLANG_WEAK = -1
  31893. const _PRI_STYLELANG_STRONG = -1
  31894. const _PRI_STYLELANG_WEAK = -1
  31895. const _PRI_FULLNAME_STRONG = -1
  31896. const _PRI_FULLNAME_WEAK = -1
  31897. const _PRI_FULLNAMELANG_STRONG = -1
  31898. const _PRI_FULLNAMELANG_WEAK = -1
  31899. const _PRI_ASPECT_STRONG = -1
  31900. const _PRI_ASPECT_WEAK = -1
  31901. const _PRI_HINT_STYLE_STRONG = -1
  31902. const _PRI_HINT_STYLE_WEAK = -1
  31903. const _PRI_HINTING_STRONG = -1
  31904. const _PRI_HINTING_WEAK = -1
  31905. const _PRI_VERTICAL_LAYOUT_STRONG = -1
  31906. const _PRI_VERTICAL_LAYOUT_WEAK = -1
  31907. const _PRI_AUTOHINT_STRONG = -1
  31908. const _PRI_AUTOHINT_WEAK = -1
  31909. const _PRI_GLOBAL_ADVANCE_STRONG = -1
  31910. const _PRI_GLOBAL_ADVANCE_WEAK = -1
  31911. const _PRI_INDEX_STRONG = -1
  31912. const _PRI_INDEX_WEAK = -1
  31913. const _PRI_DPI_STRONG = -1
  31914. const _PRI_DPI_WEAK = -1
  31915. const _PRI_RGBA_STRONG = -1
  31916. const _PRI_RGBA_WEAK = -1
  31917. const _PRI_SCALE_STRONG = -1
  31918. const _PRI_SCALE_WEAK = -1
  31919. const _PRI_MINSPACE_STRONG = -1
  31920. const _PRI_MINSPACE_WEAK = -1
  31921. const _PRI_CHARWIDTH_STRONG = -1
  31922. const _PRI_CHARWIDTH_WEAK = -1
  31923. const _PRI_CHAR_HEIGHT_STRONG = -1
  31924. const _PRI_CHAR_HEIGHT_WEAK = -1
  31925. const _PRI_MATRIX_STRONG = -1
  31926. const _PRI_MATRIX_WEAK = -1
  31927. const _PRI_CAPABILITY_STRONG = -1
  31928. const _PRI_CAPABILITY_WEAK = -1
  31929. const _PRI_EMBOLDEN_STRONG = -1
  31930. const _PRI_EMBOLDEN_WEAK = -1
  31931. const _PRI_EMBEDDED_BITMAP_STRONG = -1
  31932. const _PRI_EMBEDDED_BITMAP_WEAK = -1
  31933. const _PRI_LCD_FILTER_STRONG = -1
  31934. const _PRI_LCD_FILTER_WEAK = -1
  31935. const _PRI_NAMELANG_STRONG = -1
  31936. const _PRI_NAMELANG_WEAK = -1
  31937. const _PRI_FONT_FEATURES_STRONG = -1
  31938. const _PRI_FONT_FEATURES_WEAK = -1
  31939. const _PRI_PRGNAME_STRONG = -1
  31940. const _PRI_PRGNAME_WEAK = -1
  31941. const _PRI_HASH_STRONG = -1
  31942. const _PRI_HASH_WEAK = -1
  31943. const _PRI_FONT_VARIATIONS_STRONG = -1
  31944. const _PRI_FONT_VARIATIONS_WEAK = -1
  31945. /* Canonical match priority order. */
  31946. type TFcMatcherPriority = int32
  31947. /* Canonical match priority order. */
  31948. type __FcMatcherPriority = int32
  31949. const _PRI_FILE = 0
  31950. const _PRI_FILE_STRONG = 0
  31951. const _PRI_FILE_WEAK = 0
  31952. const _PRI_FONTFORMAT = 1
  31953. const _PRI_FONTFORMAT_STRONG = 1
  31954. const _PRI_FONTFORMAT_WEAK = 1
  31955. const _PRI_VARIABLE = 2
  31956. const _PRI_VARIABLE_STRONG = 2
  31957. const _PRI_VARIABLE_WEAK = 2
  31958. const _PRI_SCALABLE = 3
  31959. const _PRI_SCALABLE_STRONG = 3
  31960. const _PRI_SCALABLE_WEAK = 3
  31961. const _PRI_COLOR = 4
  31962. const _PRI_COLOR_STRONG = 4
  31963. const _PRI_COLOR_WEAK = 4
  31964. const _PRI_FOUNDRY = 5
  31965. const _PRI_FOUNDRY_STRONG = 5
  31966. const _PRI_FOUNDRY_WEAK = 5
  31967. const _PRI_CHARSET = 6
  31968. const _PRI_CHARSET_STRONG = 6
  31969. const _PRI_CHARSET_WEAK = 6
  31970. const _PRI_FAMILY_STRONG = 7
  31971. const _PRI_POSTSCRIPT_NAME_STRONG = 8
  31972. const _PRI_LANG = 9
  31973. const _PRI_LANG_STRONG = 9
  31974. const _PRI_LANG_WEAK = 9
  31975. const _PRI_FAMILY_WEAK = 10
  31976. const _PRI_POSTSCRIPT_NAME_WEAK = 11
  31977. const _PRI_SYMBOL = 12
  31978. const _PRI_SYMBOL_STRONG = 12
  31979. const _PRI_SYMBOL_WEAK = 12
  31980. const _PRI_SPACING = 13
  31981. const _PRI_SPACING_STRONG = 13
  31982. const _PRI_SPACING_WEAK = 13
  31983. const _PRI_SIZE = 14
  31984. const _PRI_SIZE_STRONG = 14
  31985. const _PRI_SIZE_WEAK = 14
  31986. const _PRI_PIXEL_SIZE = 15
  31987. const _PRI_PIXEL_SIZE_STRONG = 15
  31988. const _PRI_PIXEL_SIZE_WEAK = 15
  31989. const _PRI_STYLE = 16
  31990. const _PRI_STYLE_STRONG = 16
  31991. const _PRI_STYLE_WEAK = 16
  31992. const _PRI_SLANT = 17
  31993. const _PRI_SLANT_STRONG = 17
  31994. const _PRI_SLANT_WEAK = 17
  31995. const _PRI_WEIGHT = 18
  31996. const _PRI_WEIGHT_STRONG = 18
  31997. const _PRI_WEIGHT_WEAK = 18
  31998. const _PRI_WIDTH = 19
  31999. const _PRI_WIDTH_STRONG = 19
  32000. const _PRI_WIDTH_WEAK = 19
  32001. const _PRI_DECORATIVE = 20
  32002. const _PRI_DECORATIVE_STRONG = 20
  32003. const _PRI_DECORATIVE_WEAK = 20
  32004. const _PRI_ANTIALIAS = 21
  32005. const _PRI_ANTIALIAS_STRONG = 21
  32006. const _PRI_ANTIALIAS_WEAK = 21
  32007. const _PRI_RASTERIZER = 22
  32008. const _PRI_RASTERIZER_STRONG = 22
  32009. const _PRI_RASTERIZER_WEAK = 22
  32010. const _PRI_OUTLINE = 23
  32011. const _PRI_OUTLINE_STRONG = 23
  32012. const _PRI_OUTLINE_WEAK = 23
  32013. const _PRI_FONTVERSION = 24
  32014. const _PRI_FONTVERSION_STRONG = 24
  32015. const _PRI_FONTVERSION_WEAK = 24
  32016. const _PRI_END = 25
  32017. type TFcMatcher = struct {
  32018. Fobject TFcObject
  32019. Fcompare uintptr
  32020. Fstrong int32
  32021. Fweak int32
  32022. }
  32023. type T_FcMatcher = TFcMatcher
  32024. // C documentation
  32025. //
  32026. // /*
  32027. // * Order is significant, it defines the precedence of
  32028. // * each value, earlier values are more significant than
  32029. // * later values
  32030. // */
  32031. var __FcMatchers = [51]TFcMatcher{
  32032. 0: {
  32033. Fstrong: -int32(1),
  32034. Fweak: -int32(1),
  32035. },
  32036. 1: {
  32037. Fobject: int32(_FC_FAMILY_OBJECT),
  32038. Fstrong: int32(_PRI_FAMILY_STRONG),
  32039. Fweak: int32(_PRI_FAMILY_WEAK),
  32040. },
  32041. 2: {
  32042. Fobject: int32(_FC_FAMILYLANG_OBJECT),
  32043. Fstrong: int32(_PRI_FAMILYLANG_STRONG),
  32044. Fweak: int32(_PRI_FAMILYLANG_WEAK),
  32045. },
  32046. 3: {
  32047. Fobject: int32(_FC_STYLE_OBJECT),
  32048. Fstrong: int32(_PRI_STYLE_STRONG),
  32049. Fweak: int32(_PRI_STYLE_WEAK),
  32050. },
  32051. 4: {
  32052. Fobject: int32(_FC_STYLELANG_OBJECT),
  32053. Fstrong: int32(_PRI_STYLELANG_STRONG),
  32054. Fweak: int32(_PRI_STYLELANG_WEAK),
  32055. },
  32056. 5: {
  32057. Fobject: int32(_FC_FULLNAME_OBJECT),
  32058. Fstrong: int32(_PRI_FULLNAME_STRONG),
  32059. Fweak: int32(_PRI_FULLNAME_WEAK),
  32060. },
  32061. 6: {
  32062. Fobject: int32(_FC_FULLNAMELANG_OBJECT),
  32063. Fstrong: int32(_PRI_FULLNAMELANG_STRONG),
  32064. Fweak: int32(_PRI_FULLNAMELANG_WEAK),
  32065. },
  32066. 7: {
  32067. Fobject: int32(_FC_SLANT_OBJECT),
  32068. Fstrong: int32(_PRI_SLANT_STRONG),
  32069. Fweak: int32(_PRI_SLANT_WEAK),
  32070. },
  32071. 8: {
  32072. Fobject: int32(_FC_WEIGHT_OBJECT),
  32073. Fstrong: int32(_PRI_WEIGHT_STRONG),
  32074. Fweak: int32(_PRI_WEIGHT_WEAK),
  32075. },
  32076. 9: {
  32077. Fobject: int32(_FC_WIDTH_OBJECT),
  32078. Fstrong: int32(_PRI_WIDTH_STRONG),
  32079. Fweak: int32(_PRI_WIDTH_WEAK),
  32080. },
  32081. 10: {
  32082. Fobject: int32(_FC_SIZE_OBJECT),
  32083. Fstrong: int32(_PRI_SIZE_STRONG),
  32084. Fweak: int32(_PRI_SIZE_WEAK),
  32085. },
  32086. 11: {
  32087. Fobject: int32(_FC_ASPECT_OBJECT),
  32088. Fstrong: int32(_PRI_ASPECT_STRONG),
  32089. Fweak: int32(_PRI_ASPECT_WEAK),
  32090. },
  32091. 12: {
  32092. Fobject: int32(_FC_PIXEL_SIZE_OBJECT),
  32093. Fstrong: int32(_PRI_PIXEL_SIZE_STRONG),
  32094. Fweak: int32(_PRI_PIXEL_SIZE_WEAK),
  32095. },
  32096. 13: {
  32097. Fobject: int32(_FC_SPACING_OBJECT),
  32098. Fstrong: int32(_PRI_SPACING_STRONG),
  32099. Fweak: int32(_PRI_SPACING_WEAK),
  32100. },
  32101. 14: {
  32102. Fobject: int32(_FC_FOUNDRY_OBJECT),
  32103. Fstrong: int32(_PRI_FOUNDRY_STRONG),
  32104. Fweak: int32(_PRI_FOUNDRY_WEAK),
  32105. },
  32106. 15: {
  32107. Fobject: int32(_FC_ANTIALIAS_OBJECT),
  32108. Fstrong: int32(_PRI_ANTIALIAS_STRONG),
  32109. Fweak: int32(_PRI_ANTIALIAS_WEAK),
  32110. },
  32111. 16: {
  32112. Fobject: int32(_FC_HINT_STYLE_OBJECT),
  32113. Fstrong: int32(_PRI_HINT_STYLE_STRONG),
  32114. Fweak: int32(_PRI_HINT_STYLE_WEAK),
  32115. },
  32116. 17: {
  32117. Fobject: int32(_FC_HINTING_OBJECT),
  32118. Fstrong: int32(_PRI_HINTING_STRONG),
  32119. Fweak: int32(_PRI_HINTING_WEAK),
  32120. },
  32121. 18: {
  32122. Fobject: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  32123. Fstrong: int32(_PRI_VERTICAL_LAYOUT_STRONG),
  32124. Fweak: int32(_PRI_VERTICAL_LAYOUT_WEAK),
  32125. },
  32126. 19: {
  32127. Fobject: int32(_FC_AUTOHINT_OBJECT),
  32128. Fstrong: int32(_PRI_AUTOHINT_STRONG),
  32129. Fweak: int32(_PRI_AUTOHINT_WEAK),
  32130. },
  32131. 20: {
  32132. Fobject: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  32133. Fstrong: int32(_PRI_GLOBAL_ADVANCE_STRONG),
  32134. Fweak: int32(_PRI_GLOBAL_ADVANCE_WEAK),
  32135. },
  32136. 21: {
  32137. Fobject: int32(_FC_FILE_OBJECT),
  32138. },
  32139. 22: {
  32140. Fobject: int32(_FC_INDEX_OBJECT),
  32141. Fstrong: int32(_PRI_INDEX_STRONG),
  32142. Fweak: int32(_PRI_INDEX_WEAK),
  32143. },
  32144. 23: {
  32145. Fobject: int32(_FC_RASTERIZER_OBJECT),
  32146. Fstrong: int32(_PRI_RASTERIZER_STRONG),
  32147. Fweak: int32(_PRI_RASTERIZER_WEAK),
  32148. },
  32149. 24: {
  32150. Fobject: int32(_FC_OUTLINE_OBJECT),
  32151. Fstrong: int32(_PRI_OUTLINE_STRONG),
  32152. Fweak: int32(_PRI_OUTLINE_WEAK),
  32153. },
  32154. 25: {
  32155. Fobject: int32(_FC_SCALABLE_OBJECT),
  32156. Fstrong: int32(_PRI_SCALABLE_STRONG),
  32157. Fweak: int32(_PRI_SCALABLE_WEAK),
  32158. },
  32159. 26: {
  32160. Fobject: int32(_FC_DPI_OBJECT),
  32161. Fstrong: int32(_PRI_DPI_STRONG),
  32162. Fweak: int32(_PRI_DPI_WEAK),
  32163. },
  32164. 27: {
  32165. Fobject: int32(_FC_RGBA_OBJECT),
  32166. Fstrong: int32(_PRI_RGBA_STRONG),
  32167. Fweak: int32(_PRI_RGBA_WEAK),
  32168. },
  32169. 28: {
  32170. Fobject: int32(_FC_SCALE_OBJECT),
  32171. Fstrong: int32(_PRI_SCALE_STRONG),
  32172. Fweak: int32(_PRI_SCALE_WEAK),
  32173. },
  32174. 29: {
  32175. Fobject: int32(_FC_MINSPACE_OBJECT),
  32176. Fstrong: int32(_PRI_MINSPACE_STRONG),
  32177. Fweak: int32(_PRI_MINSPACE_WEAK),
  32178. },
  32179. 30: {
  32180. Fobject: int32(_FC_CHARWIDTH_OBJECT),
  32181. Fstrong: int32(_PRI_CHARWIDTH_STRONG),
  32182. Fweak: int32(_PRI_CHARWIDTH_WEAK),
  32183. },
  32184. 31: {
  32185. Fobject: int32(_FC_CHAR_HEIGHT_OBJECT),
  32186. Fstrong: int32(_PRI_CHAR_HEIGHT_STRONG),
  32187. Fweak: int32(_PRI_CHAR_HEIGHT_WEAK),
  32188. },
  32189. 32: {
  32190. Fobject: int32(_FC_MATRIX_OBJECT),
  32191. Fstrong: int32(_PRI_MATRIX_STRONG),
  32192. Fweak: int32(_PRI_MATRIX_WEAK),
  32193. },
  32194. 33: {
  32195. Fobject: int32(_FC_CHARSET_OBJECT),
  32196. Fstrong: int32(_PRI_CHARSET_STRONG),
  32197. Fweak: int32(_PRI_CHARSET_WEAK),
  32198. },
  32199. 34: {
  32200. Fobject: int32(_FC_LANG_OBJECT),
  32201. Fstrong: int32(_PRI_LANG_STRONG),
  32202. Fweak: int32(_PRI_LANG_WEAK),
  32203. },
  32204. 35: {
  32205. Fobject: int32(_FC_FONTVERSION_OBJECT),
  32206. Fstrong: int32(_PRI_FONTVERSION_STRONG),
  32207. Fweak: int32(_PRI_FONTVERSION_WEAK),
  32208. },
  32209. 36: {
  32210. Fobject: int32(_FC_CAPABILITY_OBJECT),
  32211. Fstrong: int32(_PRI_CAPABILITY_STRONG),
  32212. Fweak: int32(_PRI_CAPABILITY_WEAK),
  32213. },
  32214. 37: {
  32215. Fobject: int32(_FC_FONTFORMAT_OBJECT),
  32216. Fstrong: int32(_PRI_FONTFORMAT_STRONG),
  32217. Fweak: int32(_PRI_FONTFORMAT_WEAK),
  32218. },
  32219. 38: {
  32220. Fobject: int32(_FC_EMBOLDEN_OBJECT),
  32221. Fstrong: int32(_PRI_EMBOLDEN_STRONG),
  32222. Fweak: int32(_PRI_EMBOLDEN_WEAK),
  32223. },
  32224. 39: {
  32225. Fobject: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  32226. Fstrong: int32(_PRI_EMBEDDED_BITMAP_STRONG),
  32227. Fweak: int32(_PRI_EMBEDDED_BITMAP_WEAK),
  32228. },
  32229. 40: {
  32230. Fobject: int32(_FC_DECORATIVE_OBJECT),
  32231. Fstrong: int32(_PRI_DECORATIVE_STRONG),
  32232. Fweak: int32(_PRI_DECORATIVE_WEAK),
  32233. },
  32234. 41: {
  32235. Fobject: int32(_FC_LCD_FILTER_OBJECT),
  32236. Fstrong: int32(_PRI_LCD_FILTER_STRONG),
  32237. Fweak: int32(_PRI_LCD_FILTER_WEAK),
  32238. },
  32239. 42: {
  32240. Fobject: int32(_FC_NAMELANG_OBJECT),
  32241. Fstrong: int32(_PRI_NAMELANG_STRONG),
  32242. Fweak: int32(_PRI_NAMELANG_WEAK),
  32243. },
  32244. 43: {
  32245. Fobject: int32(_FC_FONT_FEATURES_OBJECT),
  32246. Fstrong: int32(_PRI_FONT_FEATURES_STRONG),
  32247. Fweak: int32(_PRI_FONT_FEATURES_WEAK),
  32248. },
  32249. 44: {
  32250. Fobject: int32(_FC_PRGNAME_OBJECT),
  32251. Fstrong: int32(_PRI_PRGNAME_STRONG),
  32252. Fweak: int32(_PRI_PRGNAME_WEAK),
  32253. },
  32254. 45: {
  32255. Fobject: int32(_FC_HASH_OBJECT),
  32256. Fstrong: int32(_PRI_HASH_STRONG),
  32257. Fweak: int32(_PRI_HASH_WEAK),
  32258. },
  32259. 46: {
  32260. Fobject: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  32261. Fstrong: int32(_PRI_POSTSCRIPT_NAME_STRONG),
  32262. Fweak: int32(_PRI_POSTSCRIPT_NAME_WEAK),
  32263. },
  32264. 47: {
  32265. Fobject: int32(_FC_COLOR_OBJECT),
  32266. Fstrong: int32(_PRI_COLOR_STRONG),
  32267. Fweak: int32(_PRI_COLOR_WEAK),
  32268. },
  32269. 48: {
  32270. Fobject: int32(_FC_SYMBOL_OBJECT),
  32271. Fstrong: int32(_PRI_SYMBOL_STRONG),
  32272. Fweak: int32(_PRI_SYMBOL_WEAK),
  32273. },
  32274. 49: {
  32275. Fobject: int32(_FC_FONT_VARIATIONS_OBJECT),
  32276. Fstrong: int32(_PRI_FONT_VARIATIONS_STRONG),
  32277. Fweak: int32(_PRI_FONT_VARIATIONS_WEAK),
  32278. },
  32279. 50: {
  32280. Fobject: int32(_FC_VARIABLE_OBJECT),
  32281. Fstrong: int32(_PRI_VARIABLE_STRONG),
  32282. Fweak: int32(_PRI_VARIABLE_WEAK),
  32283. },
  32284. }
  32285. func init() {
  32286. p := unsafe.Pointer(&__FcMatchers)
  32287. *(*uintptr)(unsafe.Add(p, 32)) = __ccgo_fp(_FcCompareFamily)
  32288. *(*uintptr)(unsafe.Add(p, 80)) = __ccgo_fp(_FcCompareString)
  32289. *(*uintptr)(unsafe.Add(p, 176)) = __ccgo_fp(_FcCompareNumber)
  32290. *(*uintptr)(unsafe.Add(p, 200)) = __ccgo_fp(_FcCompareRange)
  32291. *(*uintptr)(unsafe.Add(p, 224)) = __ccgo_fp(_FcCompareRange)
  32292. *(*uintptr)(unsafe.Add(p, 248)) = __ccgo_fp(_FcCompareSize)
  32293. *(*uintptr)(unsafe.Add(p, 296)) = __ccgo_fp(_FcCompareNumber)
  32294. *(*uintptr)(unsafe.Add(p, 320)) = __ccgo_fp(_FcCompareNumber)
  32295. *(*uintptr)(unsafe.Add(p, 344)) = __ccgo_fp(_FcCompareString)
  32296. *(*uintptr)(unsafe.Add(p, 368)) = __ccgo_fp(_FcCompareBool)
  32297. *(*uintptr)(unsafe.Add(p, 512)) = __ccgo_fp(_FcCompareFilename)
  32298. *(*uintptr)(unsafe.Add(p, 560)) = __ccgo_fp(_FcCompareString)
  32299. *(*uintptr)(unsafe.Add(p, 584)) = __ccgo_fp(_FcCompareBool)
  32300. *(*uintptr)(unsafe.Add(p, 608)) = __ccgo_fp(_FcCompareBool)
  32301. *(*uintptr)(unsafe.Add(p, 800)) = __ccgo_fp(_FcCompareCharSet)
  32302. *(*uintptr)(unsafe.Add(p, 824)) = __ccgo_fp(_FcCompareLang)
  32303. *(*uintptr)(unsafe.Add(p, 848)) = __ccgo_fp(_FcCompareNumber)
  32304. *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_FcCompareString)
  32305. *(*uintptr)(unsafe.Add(p, 968)) = __ccgo_fp(_FcCompareBool)
  32306. *(*uintptr)(unsafe.Add(p, 1112)) = __ccgo_fp(_FcComparePostScript)
  32307. *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_FcCompareBool)
  32308. *(*uintptr)(unsafe.Add(p, 1160)) = __ccgo_fp(_FcCompareBool)
  32309. *(*uintptr)(unsafe.Add(p, 1208)) = __ccgo_fp(_FcCompareBool)
  32310. }
  32311. func _FcObjectToMatcher(tls *libc.TLS, object TFcObject, include_lang TFcBool) (r uintptr) {
  32312. if include_lang != 0 {
  32313. switch object {
  32314. case int32(_FC_FAMILYLANG_OBJECT):
  32315. fallthrough
  32316. case int32(_FC_STYLELANG_OBJECT):
  32317. fallthrough
  32318. case int32(_FC_FULLNAMELANG_OBJECT):
  32319. object = int32(_FC_LANG_OBJECT)
  32320. break
  32321. }
  32322. }
  32323. if object > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) || !(__FcMatchers[object].Fcompare != 0) || __FcMatchers[object].Fstrong == -int32(1) || __FcMatchers[object].Fweak == -int32(1) {
  32324. return libc.UintptrFromInt32(0)
  32325. }
  32326. return uintptr(unsafe.Pointer(&__FcMatchers)) + uintptr(object)*24
  32327. }
  32328. func _FcCompareValueList(tls *libc.TLS, object TFcObject, match uintptr, v1orig TFcValueListPtr, v2orig TFcValueListPtr, bestValue uintptr, value uintptr, n uintptr, result uintptr) (r TFcBool) {
  32329. bp := tls.Alloc(48)
  32330. defer tls.Free(48)
  32331. var best, bestStrong, bestWeak, v float64
  32332. var j, k, pos, strong, weak int32
  32333. var v1, v2 TFcValueListPtr
  32334. var v3, v4 uintptr
  32335. var _ /* matchValue at bp+0 */ TFcValue
  32336. _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestStrong, bestWeak, j, k, pos, strong, v, v1, v2, weak, v3, v4
  32337. pos = 0
  32338. if !(match != 0) {
  32339. if bestValue != 0 {
  32340. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2orig+8)
  32341. }
  32342. if n != 0 {
  32343. *(*int32)(unsafe.Pointer(n)) = 0
  32344. }
  32345. return int32(m_FcTrue)
  32346. }
  32347. best = float64(1e+99)
  32348. bestStrong = float64(1e+99)
  32349. bestWeak = float64(1e+99)
  32350. j = 0
  32351. v1 = v1orig
  32352. for {
  32353. if !(v1 != 0) {
  32354. break
  32355. }
  32356. v2 = v2orig
  32357. k = libc.Int32FromInt32(0)
  32358. for {
  32359. if !(v2 != 0) {
  32360. break
  32361. }
  32362. v = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) float64)(unsafe.Pointer(&struct{ uintptr }{(*TFcMatcher)(unsafe.Pointer(match)).Fcompare})))(tls, v1+8, v2+8, bp)
  32363. if v < libc.Float64FromInt32(0) {
  32364. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultTypeMismatch)
  32365. return m_FcFalse
  32366. }
  32367. v = v*libc.Float64FromInt32(1000) + float64(j)
  32368. if v < best {
  32369. if bestValue != 0 {
  32370. *(*TFcValue)(unsafe.Pointer(bestValue)) = *(*TFcValue)(unsafe.Pointer(bp))
  32371. }
  32372. best = v
  32373. pos = k
  32374. }
  32375. if (*T_FcValueList)(unsafe.Pointer(v1)).Fbinding == int32(_FcValueBindingStrong) {
  32376. if v < bestStrong {
  32377. bestStrong = v
  32378. }
  32379. } else {
  32380. if v < bestWeak {
  32381. bestWeak = v
  32382. }
  32383. }
  32384. goto _2
  32385. _2:
  32386. ;
  32387. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  32388. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32389. } else {
  32390. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  32391. }
  32392. v2 = v3
  32393. k++
  32394. }
  32395. j++
  32396. goto _1
  32397. _1:
  32398. ;
  32399. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  32400. v4 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32401. } else {
  32402. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  32403. }
  32404. v1 = v4
  32405. }
  32406. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  32407. libc.Xprintf(tls, __ccgo_ts+5778, libc.VaList(bp+24, XFcObjectName(tls, object), best))
  32408. XFcValueListPrint(tls, v1orig)
  32409. libc.Xprintf(tls, __ccgo_ts+5787, 0)
  32410. XFcValueListPrint(tls, v2orig)
  32411. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  32412. }
  32413. if value != 0 {
  32414. weak = (*TFcMatcher)(unsafe.Pointer(match)).Fweak
  32415. strong = (*TFcMatcher)(unsafe.Pointer(match)).Fstrong
  32416. if weak == strong {
  32417. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += best
  32418. } else {
  32419. *(*float64)(unsafe.Pointer(value + uintptr(weak)*8)) += bestWeak
  32420. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += bestStrong
  32421. }
  32422. }
  32423. if n != 0 {
  32424. *(*int32)(unsafe.Pointer(n)) = pos
  32425. }
  32426. return int32(m_FcTrue)
  32427. }
  32428. /*
  32429. * Return a value indicating the distance between the two lists of
  32430. * values
  32431. */
  32432. func _FcCompare(tls *libc.TLS, pat uintptr, fnt uintptr, value uintptr, result uintptr) (r TFcBool) {
  32433. var elt_i1, elt_i2, match, v2, v3 uintptr
  32434. var i, i1, i2 int32
  32435. _, _, _, _, _, _, _, _ = elt_i1, elt_i2, i, i1, i2, match, v2, v3
  32436. i = 0
  32437. for {
  32438. if !(i < int32(_PRI_END)) {
  32439. break
  32440. }
  32441. *(*float64)(unsafe.Pointer(value + uintptr(i)*8)) = float64(0)
  32442. goto _1
  32443. _1:
  32444. ;
  32445. i++
  32446. }
  32447. i1 = 0
  32448. i2 = 0
  32449. for i1 < (*TFcPattern)(unsafe.Pointer(pat)).Fnum && i2 < (*TFcPattern)(unsafe.Pointer(fnt)).Fnum {
  32450. elt_i1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i1)*16
  32451. elt_i2 = uintptr(int64(fnt)+(*TFcPattern)(unsafe.Pointer(fnt)).Felts_offset) + uintptr(i2)*16
  32452. i = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject - (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fobject
  32453. if i > 0 {
  32454. i2++
  32455. } else {
  32456. if i < 0 {
  32457. i1++
  32458. } else {
  32459. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, m_FcFalse)
  32460. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  32461. v2 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32462. } else {
  32463. v2 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  32464. }
  32465. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  32466. v3 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32467. } else {
  32468. v3 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  32469. }
  32470. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), value, libc.UintptrFromInt32(0), result) != 0) {
  32471. return m_FcFalse
  32472. }
  32473. i1++
  32474. i2++
  32475. }
  32476. }
  32477. }
  32478. return int32(m_FcTrue)
  32479. }
  32480. func XIA__FcFontRenderPrepare(tls *libc.TLS, config uintptr, pat uintptr, font uintptr) (r uintptr) {
  32481. bp := tls.Alloc(352)
  32482. defer tls.Free(352)
  32483. var fe, fel, match, match1, new1, pe, pel, tag, v10, v11, v12, v13, v14, v15, v17, v19, v2, v3, v5, v6, v7, v8, v9 uintptr
  32484. var i, j int32
  32485. var l1, l11, l2, l21, ll, ln TFcValueListPtr
  32486. var num float64
  32487. var v16 bool
  32488. var _ /* n at bp+176 */ int32
  32489. var _ /* result at bp+16 */ TFcResult
  32490. var _ /* temp at bp+180 */ [128]TFcChar8
  32491. var _ /* v at bp+0 */ TFcValue
  32492. var _ /* variable at bp+20 */ TFcBool
  32493. var _ /* variations at bp+24 */ TFcStrBuf
  32494. var _ /* vars at bp+312 */ uintptr
  32495. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = fe, fel, i, j, l1, l11, l2, l21, ll, ln, match, match1, new1, num, pe, pel, tag, v10, v11, v12, v13, v14, v15, v16, v17, v19, v2, v3, v5, v6, v7, v8, v9
  32496. *(*TFcBool)(unsafe.Pointer(bp + 20)) = m_FcFalse
  32497. XFcPatternObjectGetBool(tls, font, int32(_FC_VARIABLE_OBJECT), 0, bp+20)
  32498. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 {
  32499. XFcStrBufInit(tls, bp+24, libc.UintptrFromInt32(0), 0)
  32500. }
  32501. new1 = XIA__FcPatternCreate(tls)
  32502. if !(new1 != 0) {
  32503. return libc.UintptrFromInt32(0)
  32504. }
  32505. i = 0
  32506. for {
  32507. if !(i < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  32508. break
  32509. }
  32510. fe = uintptr(int64(font)+(*TFcPattern)(unsafe.Pointer(font)).Felts_offset) + uintptr(i)*16
  32511. if (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FAMILYLANG_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_STYLELANG_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FULLNAMELANG_OBJECT) {
  32512. /* ignore those objects. we need to deal with them
  32513. * another way */
  32514. goto _1
  32515. }
  32516. if (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FAMILY_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_STYLE_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_FULLNAME_OBJECT) {
  32517. fel = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  32518. pel = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  32519. if fel != 0 && pel != 0 {
  32520. /* The font has name languages, and pattern asks for specific language(s).
  32521. * Match on language and and prefer that result.
  32522. * Note: Currently the code only give priority to first matching language.
  32523. */
  32524. *(*int32)(unsafe.Pointer(bp + 176)) = int32(1)
  32525. ln = libc.UintptrFromInt32(0)
  32526. ll = libc.UintptrFromInt32(0)
  32527. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, int32(m_FcTrue))
  32528. if int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(1) != 0 {
  32529. v2 = uintptr(int64(pel) + int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32530. } else {
  32531. v2 = (*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues
  32532. }
  32533. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  32534. v3 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32535. } else {
  32536. v3 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  32537. }
  32538. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+176, bp+16) != 0) {
  32539. XIA__FcPatternDestroy(tls, new1)
  32540. return libc.UintptrFromInt32(0)
  32541. }
  32542. j = 0
  32543. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32544. v5 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32545. } else {
  32546. v5 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32547. }
  32548. l1 = v5
  32549. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  32550. v6 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32551. } else {
  32552. v6 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  32553. }
  32554. l2 = v6
  32555. for {
  32556. if !(l1 != libc.UintptrFromInt32(0) || l2 != libc.UintptrFromInt32(0)) {
  32557. break
  32558. }
  32559. if j == *(*int32)(unsafe.Pointer(bp + 176)) {
  32560. if l1 != 0 {
  32561. ln = XFcValueListPrepend(tls, ln, XFcValueCanonicalize(tls, l1+8), int32(_FcValueBindingStrong))
  32562. }
  32563. if l2 != 0 {
  32564. ll = XFcValueListPrepend(tls, ll, XFcValueCanonicalize(tls, l2+8), int32(_FcValueBindingStrong))
  32565. }
  32566. } else {
  32567. if l1 != 0 {
  32568. ln = XFcValueListAppend(tls, ln, XFcValueCanonicalize(tls, l1+8), int32(_FcValueBindingStrong))
  32569. }
  32570. if l2 != 0 {
  32571. ll = XFcValueListAppend(tls, ll, XFcValueCanonicalize(tls, l2+8), int32(_FcValueBindingStrong))
  32572. }
  32573. }
  32574. goto _4
  32575. _4:
  32576. ;
  32577. j++
  32578. if l1 != 0 {
  32579. if int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(1) != 0 {
  32580. v8 = uintptr(int64(l1) + int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32581. } else {
  32582. v8 = (*T_FcValueList)(unsafe.Pointer(l1)).Fnext
  32583. }
  32584. v7 = v8
  32585. } else {
  32586. v7 = libc.UintptrFromInt32(0)
  32587. }
  32588. l1 = v7
  32589. if l2 != 0 {
  32590. if int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(1) != 0 {
  32591. v10 = uintptr(int64(l2) + int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32592. } else {
  32593. v10 = (*T_FcValueList)(unsafe.Pointer(l2)).Fnext
  32594. }
  32595. v9 = v10
  32596. } else {
  32597. v9 = libc.UintptrFromInt32(0)
  32598. }
  32599. l2 = v9
  32600. }
  32601. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, ln, m_FcFalse)
  32602. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, ll, m_FcFalse)
  32603. goto _1
  32604. } else {
  32605. if fel != 0 {
  32606. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32607. v11 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32608. } else {
  32609. v11 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32610. }
  32611. l11 = XFcValueListDuplicate(tls, v11)
  32612. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  32613. v12 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32614. } else {
  32615. v12 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  32616. }
  32617. l21 = XFcValueListDuplicate(tls, v12)
  32618. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, l11, m_FcFalse)
  32619. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, l21, m_FcFalse)
  32620. goto _1
  32621. }
  32622. }
  32623. }
  32624. pe = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject)
  32625. if pe != 0 {
  32626. match1 = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, m_FcFalse)
  32627. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  32628. v13 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32629. } else {
  32630. v13 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  32631. }
  32632. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32633. v14 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32634. } else {
  32635. v14 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32636. }
  32637. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, match1, v13, v14, bp, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+16) != 0) {
  32638. XIA__FcPatternDestroy(tls, new1)
  32639. return libc.UintptrFromInt32(0)
  32640. }
  32641. XFcPatternObjectAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, *(*TFcValue)(unsafe.Pointer(bp)), m_FcFalse)
  32642. /* Set font-variations settings for standard axes in variable fonts. */
  32643. if v16 = *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0; v16 {
  32644. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32645. v15 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32646. } else {
  32647. v15 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32648. }
  32649. }
  32650. if v16 && (*TFcValueList)(unsafe.Pointer(v15)).Fvalue.Ftype1 == int32(_FcTypeRange) && ((*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_WEIGHT_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_WIDTH_OBJECT) || (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject == int32(_FC_SIZE_OBJECT)) {
  32651. tag = __ccgo_ts + 5790
  32652. num = *(*float64)(unsafe.Pointer(bp + 8))
  32653. if (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  32654. XFcStrBufChar(tls, bp+24, uint8(','))
  32655. }
  32656. switch (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject {
  32657. case int32(_FC_WEIGHT_OBJECT):
  32658. tag = __ccgo_ts + 5795
  32659. num = float64(XIA__FcWeightToOpenType(tls, int32(num)))
  32660. case int32(_FC_WIDTH_OBJECT):
  32661. tag = __ccgo_ts + 5800
  32662. case int32(_FC_SIZE_OBJECT):
  32663. tag = __ccgo_ts + 5805
  32664. break
  32665. }
  32666. libc.Xsprintf(tls, bp+180, __ccgo_ts+5810, libc.VaList(bp+328, tag, num))
  32667. XFcStrBufString(tls, bp+24, bp+180)
  32668. }
  32669. } else {
  32670. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32671. v17 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32672. } else {
  32673. v17 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32674. }
  32675. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, XFcValueListDuplicate(tls, v17), int32(m_FcTrue))
  32676. }
  32677. goto _1
  32678. _1:
  32679. ;
  32680. i++
  32681. }
  32682. i = 0
  32683. for {
  32684. if !(i < (*TFcPattern)(unsafe.Pointer(pat)).Fnum) {
  32685. break
  32686. }
  32687. pe = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i)*16
  32688. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  32689. if !(fe != 0) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_FAMILYLANG_OBJECT) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_STYLELANG_OBJECT) && (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject != int32(_FC_FULLNAMELANG_OBJECT) {
  32690. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  32691. v19 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32692. } else {
  32693. v19 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  32694. }
  32695. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, XFcValueListDuplicate(tls, v19), m_FcFalse)
  32696. }
  32697. goto _18
  32698. _18:
  32699. ;
  32700. i++
  32701. }
  32702. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 && (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  32703. *(*uintptr)(unsafe.Pointer(bp + 312)) = libc.UintptrFromInt32(0)
  32704. if XFcPatternObjectGetString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), 0, bp+312) == int32(_FcResultMatch) {
  32705. XFcStrBufChar(tls, bp+24, uint8(','))
  32706. XFcStrBufString(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 312)))
  32707. XFcPatternObjectDel(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT))
  32708. }
  32709. XFcPatternObjectAddString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), XFcStrBufDoneStatic(tls, bp+24))
  32710. XFcStrBufDestroy(tls, bp+24)
  32711. }
  32712. XIA__FcConfigSubstituteWithPat(tls, config, new1, pat, int32(_FcMatchFont))
  32713. return new1
  32714. }
  32715. var XFcFontRenderPrepare = XIA__FcFontRenderPrepare
  32716. func _FcFontSetMatchInternal(tls *libc.TLS, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  32717. bp := tls.Alloc(224)
  32718. defer tls.Free(224)
  32719. var best, env, os, p1, s, s1, ss, x, v8, v9 uintptr
  32720. var bestscore [25]float64
  32721. var f, i, set int32
  32722. var f1 TFcBool
  32723. var len1 Tsize_t
  32724. var _ /* score at bp+0 */ [25]float64
  32725. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestscore, env, f, f1, i, len1, os, p1, s, s1, set, ss, x, v8, v9
  32726. i = 0
  32727. for {
  32728. if !(i < int32(_PRI_END)) {
  32729. break
  32730. }
  32731. bestscore[i] = libc.Float64FromInt32(0)
  32732. goto _1
  32733. _1:
  32734. ;
  32735. i++
  32736. }
  32737. best = uintptr(0)
  32738. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  32739. libc.Xprintf(tls, __ccgo_ts+5817, 0)
  32740. XIA__FcPatternPrint(tls, p)
  32741. }
  32742. set = 0
  32743. for {
  32744. if !(set < nsets) {
  32745. break
  32746. }
  32747. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  32748. if !(s != 0) {
  32749. goto _2
  32750. }
  32751. f = 0
  32752. for {
  32753. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  32754. break
  32755. }
  32756. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  32757. libc.Xprintf(tls, __ccgo_ts+2405, libc.VaList(bp+208, f))
  32758. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  32759. }
  32760. if !(_FcCompare(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), bp, result) != 0) {
  32761. return uintptr(0)
  32762. }
  32763. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  32764. libc.Xprintf(tls, __ccgo_ts+5824, 0)
  32765. i = 0
  32766. for {
  32767. if !(i < int32(_PRI_END)) {
  32768. break
  32769. }
  32770. libc.Xprintf(tls, __ccgo_ts+5830, libc.VaList(bp+208, (*(*[25]float64)(unsafe.Pointer(bp)))[i]))
  32771. goto _4
  32772. _4:
  32773. ;
  32774. i++
  32775. }
  32776. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  32777. }
  32778. i = 0
  32779. for {
  32780. if !(i < int32(_PRI_END)) {
  32781. break
  32782. }
  32783. if best != 0 && bestscore[i] < (*(*[25]float64)(unsafe.Pointer(bp)))[i] {
  32784. break
  32785. }
  32786. if !(best != 0) || (*(*[25]float64)(unsafe.Pointer(bp)))[i] < bestscore[i] {
  32787. i = 0
  32788. for {
  32789. if !(i < int32(_PRI_END)) {
  32790. break
  32791. }
  32792. bestscore[i] = (*(*[25]float64)(unsafe.Pointer(bp)))[i]
  32793. goto _6
  32794. _6:
  32795. ;
  32796. i++
  32797. }
  32798. best = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  32799. break
  32800. }
  32801. goto _5
  32802. _5:
  32803. ;
  32804. i++
  32805. }
  32806. goto _3
  32807. _3:
  32808. ;
  32809. f++
  32810. }
  32811. goto _2
  32812. _2:
  32813. ;
  32814. set++
  32815. }
  32816. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  32817. libc.Xprintf(tls, __ccgo_ts+5834, 0)
  32818. i = 0
  32819. for {
  32820. if !(i < int32(_PRI_END)) {
  32821. break
  32822. }
  32823. libc.Xprintf(tls, __ccgo_ts+5830, libc.VaList(bp+208, bestscore[i]))
  32824. goto _7
  32825. _7:
  32826. ;
  32827. i++
  32828. }
  32829. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  32830. XIA__FcPatternPrint(tls, best)
  32831. }
  32832. if XFcDebugVal&int32(m_FC_DBG_MATCH2) != 0 {
  32833. env = libc.Xgetenv(tls, __ccgo_ts+5845)
  32834. os = libc.UintptrFromInt32(0)
  32835. if env != 0 {
  32836. f1 = int32(m_FcTrue)
  32837. v8 = libc.Xstrdup(tls, env)
  32838. s1 = v8
  32839. ss = v8
  32840. os = XIA__FcObjectSetCreate(tls)
  32841. for f1 != 0 {
  32842. v9 = libc.Xstrchr(tls, s1, int32(','))
  32843. p1 = v9
  32844. if !(v9 != 0) {
  32845. f1 = m_FcFalse
  32846. len1 = libc.Xstrlen(tls, s1)
  32847. } else {
  32848. len1 = libc.Uint64FromInt64(int64(p1) - int64(s1))
  32849. }
  32850. x = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  32851. if x != 0 {
  32852. libc.Xstrcpy(tls, x, s1)
  32853. if XFcObjectFromName(tls, x) > 0 {
  32854. XIA__FcObjectSetAdd(tls, os, x)
  32855. }
  32856. s1 = p1 + uintptr(1)
  32857. libc.Xfree(tls, x)
  32858. }
  32859. }
  32860. libc.Xfree(tls, ss)
  32861. }
  32862. XFcPatternPrint2(tls, p, best, os)
  32863. if os != 0 {
  32864. XIA__FcObjectSetDestroy(tls, os)
  32865. }
  32866. }
  32867. /* assuming that 'result' is initialized with FcResultNoMatch
  32868. * outside this function */
  32869. if best != 0 {
  32870. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  32871. }
  32872. return best
  32873. }
  32874. func XIA__FcFontSetMatch(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  32875. var best uintptr
  32876. _ = best
  32877. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  32878. if !(config != 0) {
  32879. config = XIA__FcConfigGetCurrent(tls)
  32880. if !(config != 0) {
  32881. return uintptr(0)
  32882. }
  32883. }
  32884. best = _FcFontSetMatchInternal(tls, sets, nsets, p, result)
  32885. if best != 0 {
  32886. return XIA__FcFontRenderPrepare(tls, config, p, best)
  32887. } else {
  32888. return libc.UintptrFromInt32(0)
  32889. }
  32890. return r
  32891. }
  32892. var XFcFontSetMatch = XIA__FcFontSetMatch
  32893. func XIA__FcFontMatch(tls *libc.TLS, config uintptr, p uintptr, result uintptr) (r uintptr) {
  32894. bp := tls.Alloc(16)
  32895. defer tls.Free(16)
  32896. var best uintptr
  32897. var nsets, v1, v2 int32
  32898. var _ /* sets at bp+0 */ [2]uintptr
  32899. _, _, _, _ = best, nsets, v1, v2
  32900. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  32901. if !(config != 0) {
  32902. config = XIA__FcConfigGetCurrent(tls)
  32903. if !(config != 0) {
  32904. return uintptr(0)
  32905. }
  32906. }
  32907. nsets = 0
  32908. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8)) != 0 {
  32909. v1 = nsets
  32910. nsets++
  32911. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8))
  32912. }
  32913. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8)) != 0 {
  32914. v2 = nsets
  32915. nsets++
  32916. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8))
  32917. }
  32918. best = _FcFontSetMatchInternal(tls, bp, nsets, p, result)
  32919. if best != 0 {
  32920. return XIA__FcFontRenderPrepare(tls, config, p, best)
  32921. } else {
  32922. return libc.UintptrFromInt32(0)
  32923. }
  32924. return r
  32925. }
  32926. var XFcFontMatch = XIA__FcFontMatch
  32927. type TFcSortNode = struct {
  32928. Fpattern uintptr
  32929. Fscore [25]float64
  32930. }
  32931. type T_FcSortNode = TFcSortNode
  32932. func _FcSortCompare(tls *libc.TLS, aa uintptr, ab uintptr) (r int32) {
  32933. var a, as, b, bs, v3, v5 uintptr
  32934. var ad, bd, v2, v4 float64
  32935. var i, v1, v7, v8 int32
  32936. var v6 bool
  32937. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, ad, as, b, bd, bs, i, v1, v2, v3, v4, v5, v6, v7, v8
  32938. a = *(*uintptr)(unsafe.Pointer(aa))
  32939. b = *(*uintptr)(unsafe.Pointer(ab))
  32940. as = a + 8
  32941. bs = b + 8
  32942. ad = libc.Float64FromInt32(0)
  32943. bd = libc.Float64FromInt32(0)
  32944. i = int32(_PRI_END)
  32945. for {
  32946. v1 = i
  32947. i--
  32948. if v6 = v1 != 0; v6 {
  32949. v3 = as
  32950. as += 8
  32951. v2 = *(*float64)(unsafe.Pointer(v3))
  32952. ad = v2
  32953. v5 = bs
  32954. bs += 8
  32955. v4 = *(*float64)(unsafe.Pointer(v5))
  32956. bd = v4
  32957. }
  32958. if !(v6 && v2 == v4) {
  32959. break
  32960. }
  32961. }
  32962. if ad < bd {
  32963. v7 = -int32(1)
  32964. } else {
  32965. if ad > bd {
  32966. v8 = int32(1)
  32967. } else {
  32968. v8 = 0
  32969. }
  32970. v7 = v8
  32971. }
  32972. return v7
  32973. }
  32974. func _FcSortWalk(tls *libc.TLS, n uintptr, nnode int32, fs uintptr, csp uintptr, trim TFcBool) (r TFcBool) {
  32975. bp := tls.Alloc(16)
  32976. defer tls.Free(16)
  32977. var cs, node, v2 uintptr
  32978. var i int32
  32979. var ret TFcBool
  32980. var _ /* adds_chars at bp+0 */ TFcBool
  32981. var _ /* ncs at bp+8 */ uintptr
  32982. _, _, _, _, _ = cs, i, node, ret, v2
  32983. ret = m_FcFalse
  32984. cs = uintptr(0)
  32985. if trim != 0 || csp != 0 {
  32986. cs = XIA__FcCharSetCreate(tls)
  32987. if cs == libc.UintptrFromInt32(0) {
  32988. goto bail
  32989. }
  32990. }
  32991. i = 0
  32992. for {
  32993. if !(i < nnode) {
  32994. break
  32995. }
  32996. v2 = n
  32997. n += 8
  32998. node = *(*uintptr)(unsafe.Pointer(v2))
  32999. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  33000. /*
  33001. * Only fetch node charset if we'd need it
  33002. */
  33003. if cs != 0 {
  33004. if XIA__FcPatternGetCharSet(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern, __ccgo_ts+4702, 0, bp+8) != int32(_FcResultMatch) {
  33005. goto _1
  33006. }
  33007. if !(XIA__FcCharSetMerge(tls, cs, *(*uintptr)(unsafe.Pointer(bp + 8)), bp) != 0) {
  33008. goto bail
  33009. }
  33010. }
  33011. /*
  33012. * If this font isn't a subset of the previous fonts,
  33013. * add it to the list
  33014. */
  33015. if !(i != 0) || !(trim != 0) || *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  33016. XIA__FcPatternReference(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  33017. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33018. libc.Xprintf(tls, __ccgo_ts+5865, 0)
  33019. XIA__FcPatternPrint(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  33020. }
  33021. if !(XIA__FcFontSetAdd(tls, fs, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern) != 0) {
  33022. XIA__FcPatternDestroy(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  33023. goto bail
  33024. }
  33025. }
  33026. goto _1
  33027. _1:
  33028. ;
  33029. i++
  33030. }
  33031. if csp != 0 {
  33032. *(*uintptr)(unsafe.Pointer(csp)) = cs
  33033. cs = uintptr(0)
  33034. }
  33035. ret = int32(m_FcTrue)
  33036. goto bail
  33037. bail:
  33038. ;
  33039. if cs != 0 {
  33040. XIA__FcCharSetDestroy(tls, cs)
  33041. }
  33042. return ret
  33043. }
  33044. func XIA__FcFontSetSortDestroy(tls *libc.TLS, fs uintptr) {
  33045. XIA__FcFontSetDestroy(tls, fs)
  33046. }
  33047. var XFcFontSetSortDestroy = XIA__FcFontSetSortDestroy
  33048. func XIA__FcFontSetSort(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  33049. bp := tls.Alloc(96)
  33050. defer tls.Free(96)
  33051. var compare float64
  33052. var f, i, nPatternLang, nnodes, set int32
  33053. var new1, nodep, nodeps, nodes, patternLangSat, ret, s uintptr
  33054. var satisfies TFcBool
  33055. var _ /* family at bp+48 */ uintptr
  33056. var _ /* matchValue at bp+32 */ TFcValue
  33057. var _ /* nodeLang at bp+16 */ TFcValue
  33058. var _ /* patternLang at bp+0 */ TFcValue
  33059. var _ /* style at bp+56 */ uintptr
  33060. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = compare, f, i, nPatternLang, new1, nnodes, nodep, nodeps, nodes, patternLangSat, ret, s, satisfies, set
  33061. /* There are some implementation that relying on the result of
  33062. * "result" to check if the return value of FcFontSetSort
  33063. * is valid or not.
  33064. * So we should initialize it to the conservative way since
  33065. * this function doesn't return NULL anymore.
  33066. */
  33067. if result != 0 {
  33068. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  33069. }
  33070. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  33071. libc.Xprintf(tls, __ccgo_ts+5870, 0)
  33072. XIA__FcPatternPrint(tls, p)
  33073. }
  33074. nnodes = 0
  33075. set = 0
  33076. for {
  33077. if !(set < nsets) {
  33078. break
  33079. }
  33080. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  33081. if !(s != 0) {
  33082. goto _1
  33083. }
  33084. nnodes += (*TFcFontSet)(unsafe.Pointer(s)).Fnfont
  33085. goto _1
  33086. _1:
  33087. ;
  33088. set++
  33089. }
  33090. if !(nnodes != 0) {
  33091. return XIA__FcFontSetCreate(tls)
  33092. }
  33093. nPatternLang = 0
  33094. for {
  33095. if !(XIA__FcPatternGet(tls, p, __ccgo_ts+4710, nPatternLang, bp) == int32(_FcResultMatch)) {
  33096. break
  33097. }
  33098. goto _2
  33099. _2:
  33100. ;
  33101. nPatternLang++
  33102. }
  33103. /* freed below */
  33104. nodes = libc.Xmalloc(tls, libc.Uint64FromInt32(nnodes)*uint64(208)+libc.Uint64FromInt32(nnodes)*uint64(8)+libc.Uint64FromInt32(nPatternLang)*uint64(4))
  33105. if !(nodes != 0) {
  33106. goto bail0
  33107. }
  33108. nodeps = nodes + uintptr(nnodes)*208
  33109. patternLangSat = nodeps + uintptr(nnodes)*8
  33110. new1 = nodes
  33111. nodep = nodeps
  33112. set = 0
  33113. for {
  33114. if !(set < nsets) {
  33115. break
  33116. }
  33117. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  33118. if !(s != 0) {
  33119. goto _3
  33120. }
  33121. f = 0
  33122. for {
  33123. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  33124. break
  33125. }
  33126. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33127. libc.Xprintf(tls, __ccgo_ts+2405, libc.VaList(bp+72, f))
  33128. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  33129. }
  33130. (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  33131. if !(_FcCompare(tls, p, (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern, new1+8, result) != 0) {
  33132. goto bail1
  33133. }
  33134. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33135. libc.Xprintf(tls, __ccgo_ts+5824, 0)
  33136. i = 0
  33137. for {
  33138. if !(i < int32(_PRI_END)) {
  33139. break
  33140. }
  33141. libc.Xprintf(tls, __ccgo_ts+5830, libc.VaList(bp+72, *(*float64)(unsafe.Pointer(new1 + 8 + uintptr(i)*8))))
  33142. goto _5
  33143. _5:
  33144. ;
  33145. i++
  33146. }
  33147. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  33148. }
  33149. *(*uintptr)(unsafe.Pointer(nodep)) = new1
  33150. new1 += 208
  33151. nodep += 8
  33152. goto _4
  33153. _4:
  33154. ;
  33155. f++
  33156. }
  33157. goto _3
  33158. _3:
  33159. ;
  33160. set++
  33161. }
  33162. nnodes = int32((int64(new1) - int64(nodes)) / 208)
  33163. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  33164. i = 0
  33165. for {
  33166. if !(i < nPatternLang) {
  33167. break
  33168. }
  33169. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = m_FcFalse
  33170. goto _6
  33171. _6:
  33172. ;
  33173. i++
  33174. }
  33175. f = 0
  33176. for {
  33177. if !(f < nnodes) {
  33178. break
  33179. }
  33180. satisfies = m_FcFalse
  33181. /*
  33182. * If this node matches any language, go check
  33183. * which ones and satisfy those entries
  33184. */
  33185. if *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) < libc.Float64FromInt32(2000) {
  33186. i = 0
  33187. for {
  33188. if !(i < nPatternLang) {
  33189. break
  33190. }
  33191. if !(*(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) != 0) && XIA__FcPatternGet(tls, p, __ccgo_ts+4710, i, bp) == int32(_FcResultMatch) && XIA__FcPatternGet(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4710, 0, bp+16) == int32(_FcResultMatch) {
  33192. compare = _FcCompareLang(tls, bp, bp+16, bp+32)
  33193. if compare >= libc.Float64FromInt32(0) && compare < libc.Float64FromInt32(2) {
  33194. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33195. if XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4049, 0, bp+48) == int32(_FcResultMatch) && XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4170, 0, bp+56) == int32(_FcResultMatch) {
  33196. libc.Xprintf(tls, __ccgo_ts+5876, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp + 56)), i))
  33197. }
  33198. }
  33199. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = int32(m_FcTrue)
  33200. satisfies = int32(m_FcTrue)
  33201. break
  33202. }
  33203. }
  33204. goto _8
  33205. _8:
  33206. ;
  33207. i++
  33208. }
  33209. }
  33210. if !(satisfies != 0) {
  33211. *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) = float64(10000)
  33212. }
  33213. goto _7
  33214. _7:
  33215. ;
  33216. f++
  33217. }
  33218. /*
  33219. * Re-sort once the language issues have been settled
  33220. */
  33221. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  33222. ret = XIA__FcFontSetCreate(tls)
  33223. if !(ret != 0) {
  33224. goto bail1
  33225. }
  33226. if !(_FcSortWalk(tls, nodeps, nnodes, ret, csp, trim) != 0) {
  33227. goto bail2
  33228. }
  33229. libc.Xfree(tls, nodes)
  33230. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  33231. libc.Xprintf(tls, __ccgo_ts+5908, 0)
  33232. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(ret)).Ffonts)))
  33233. }
  33234. if (*TFcFontSet)(unsafe.Pointer(ret)).Fnfont > 0 {
  33235. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  33236. }
  33237. return ret
  33238. goto bail2
  33239. bail2:
  33240. ;
  33241. XIA__FcFontSetDestroy(tls, ret)
  33242. goto bail1
  33243. bail1:
  33244. ;
  33245. libc.Xfree(tls, nodes)
  33246. goto bail0
  33247. bail0:
  33248. ;
  33249. return uintptr(0)
  33250. return r
  33251. }
  33252. var XFcFontSetSort = XIA__FcFontSetSort
  33253. func XIA__FcFontSort(tls *libc.TLS, config uintptr, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  33254. bp := tls.Alloc(16)
  33255. defer tls.Free(16)
  33256. var nsets, v1, v2 int32
  33257. var _ /* sets at bp+0 */ [2]uintptr
  33258. _, _, _ = nsets, v1, v2
  33259. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  33260. if !(config != 0) {
  33261. config = XIA__FcConfigGetCurrent(tls)
  33262. if !(config != 0) {
  33263. return uintptr(0)
  33264. }
  33265. }
  33266. nsets = 0
  33267. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8)) != 0 {
  33268. v1 = nsets
  33269. nsets++
  33270. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8))
  33271. }
  33272. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8)) != 0 {
  33273. v2 = nsets
  33274. nsets++
  33275. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8))
  33276. }
  33277. return XIA__FcFontSetSort(tls, config, bp, nsets, p, trim, csp, result)
  33278. }
  33279. var XFcFontSort = XIA__FcFontSort
  33280. func XIA__FcMatrixCopy(tls *libc.TLS, mat uintptr) (r1 uintptr) {
  33281. var r uintptr
  33282. _ = r
  33283. if !(mat != 0) {
  33284. return uintptr(0)
  33285. }
  33286. r = libc.Xmalloc(tls, uint64(32))
  33287. if !(r != 0) {
  33288. return uintptr(0)
  33289. }
  33290. *(*TFcMatrix)(unsafe.Pointer(r)) = *(*TFcMatrix)(unsafe.Pointer(mat))
  33291. return r
  33292. }
  33293. var XFcMatrixCopy = XIA__FcMatrixCopy
  33294. func XFcMatrixFree(tls *libc.TLS, mat uintptr) {
  33295. if mat != uintptr(unsafe.Pointer(&XFcIdentityMatrix)) {
  33296. libc.Xfree(tls, mat)
  33297. }
  33298. }
  33299. func XIA__FcMatrixEqual(tls *libc.TLS, mat1 uintptr, mat2 uintptr) (r TFcBool) {
  33300. if mat1 == mat2 {
  33301. return int32(m_FcTrue)
  33302. }
  33303. if mat1 == uintptr(0) || mat2 == uintptr(0) {
  33304. return m_FcFalse
  33305. }
  33306. return libc.BoolInt32((*TFcMatrix)(unsafe.Pointer(mat1)).Fxx == (*TFcMatrix)(unsafe.Pointer(mat2)).Fxx && (*TFcMatrix)(unsafe.Pointer(mat1)).Fxy == (*TFcMatrix)(unsafe.Pointer(mat2)).Fxy && (*TFcMatrix)(unsafe.Pointer(mat1)).Fyx == (*TFcMatrix)(unsafe.Pointer(mat2)).Fyx && (*TFcMatrix)(unsafe.Pointer(mat1)).Fyy == (*TFcMatrix)(unsafe.Pointer(mat2)).Fyy)
  33307. }
  33308. var XFcMatrixEqual = XIA__FcMatrixEqual
  33309. func XIA__FcMatrixMultiply(tls *libc.TLS, result uintptr, a uintptr, b uintptr) {
  33310. var r TFcMatrix
  33311. _ = r
  33312. r.Fxx = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  33313. r.Fxy = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  33314. r.Fyx = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  33315. r.Fyy = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  33316. *(*TFcMatrix)(unsafe.Pointer(result)) = r
  33317. }
  33318. var XFcMatrixMultiply = XIA__FcMatrixMultiply
  33319. func XIA__FcMatrixRotate(tls *libc.TLS, m uintptr, c float64, s float64) {
  33320. bp := tls.Alloc(32)
  33321. defer tls.Free(32)
  33322. var _ /* r at bp+0 */ TFcMatrix
  33323. /*
  33324. * X Coordinate system is upside down, swap to make
  33325. * rotations counterclockwise
  33326. */
  33327. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = c
  33328. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = -s
  33329. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = s
  33330. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = c
  33331. XIA__FcMatrixMultiply(tls, m, bp, m)
  33332. }
  33333. var XFcMatrixRotate = XIA__FcMatrixRotate
  33334. func XIA__FcMatrixScale(tls *libc.TLS, m uintptr, sx float64, sy float64) {
  33335. bp := tls.Alloc(32)
  33336. defer tls.Free(32)
  33337. var _ /* r at bp+0 */ TFcMatrix
  33338. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = sx
  33339. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = libc.Float64FromInt32(0)
  33340. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = libc.Float64FromInt32(0)
  33341. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = sy
  33342. XIA__FcMatrixMultiply(tls, m, bp, m)
  33343. }
  33344. var XFcMatrixScale = XIA__FcMatrixScale
  33345. func XIA__FcMatrixShear(tls *libc.TLS, m uintptr, sh float64, sv float64) {
  33346. bp := tls.Alloc(32)
  33347. defer tls.Free(32)
  33348. var _ /* r at bp+0 */ TFcMatrix
  33349. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = libc.Float64FromInt32(1)
  33350. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = sh
  33351. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = sv
  33352. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = libc.Float64FromInt32(1)
  33353. XIA__FcMatrixMultiply(tls, m, bp, m)
  33354. }
  33355. var XFcMatrixShear = XIA__FcMatrixShear
  33356. const m_FC_ESCAPE_FIXED = "\\-:,"
  33357. const m_FC_ESCAPE_VARIABLE = "\\=_:,"
  33358. var _FcObjects = [50]TFcObjectType{
  33359. 0: {
  33360. Fobject: __ccgo_ts + 4049,
  33361. Ftype1: int32(_FcTypeString),
  33362. },
  33363. 1: {
  33364. Fobject: __ccgo_ts + 4056,
  33365. Ftype1: int32(_FcTypeString),
  33366. },
  33367. 2: {
  33368. Fobject: __ccgo_ts + 4170,
  33369. Ftype1: int32(_FcTypeString),
  33370. },
  33371. 3: {
  33372. Fobject: __ccgo_ts + 4176,
  33373. Ftype1: int32(_FcTypeString),
  33374. },
  33375. 4: {
  33376. Fobject: __ccgo_ts + 4107,
  33377. Ftype1: int32(_FcTypeString),
  33378. },
  33379. 5: {
  33380. Fobject: __ccgo_ts + 4116,
  33381. Ftype1: int32(_FcTypeString),
  33382. },
  33383. 6: {
  33384. Fobject: __ccgo_ts + 4650,
  33385. Ftype1: int32(_FcTypeInteger),
  33386. },
  33387. 7: {
  33388. Fobject: __ccgo_ts + 3982,
  33389. Ftype1: int32(_FcTypeRange),
  33390. },
  33391. 8: {
  33392. Fobject: __ccgo_ts + 3989,
  33393. Ftype1: int32(_FcTypeRange),
  33394. },
  33395. 9: {
  33396. Fobject: __ccgo_ts + 3995,
  33397. Ftype1: int32(_FcTypeRange),
  33398. },
  33399. 10: {
  33400. Fobject: __ccgo_ts + 5920,
  33401. Ftype1: int32(_FcTypeDouble),
  33402. },
  33403. 11: {
  33404. Fobject: __ccgo_ts + 4723,
  33405. Ftype1: int32(_FcTypeDouble),
  33406. },
  33407. 12: {
  33408. Fobject: __ccgo_ts + 4715,
  33409. Ftype1: int32(_FcTypeInteger),
  33410. },
  33411. 13: {
  33412. Fobject: __ccgo_ts + 4656,
  33413. Ftype1: int32(_FcTypeString),
  33414. },
  33415. 14: {
  33416. Fobject: __ccgo_ts + 4733,
  33417. Ftype1: int32(_FcTypeBool),
  33418. },
  33419. 15: {
  33420. Fobject: __ccgo_ts + 5927,
  33421. Ftype1: int32(_FcTypeInteger),
  33422. },
  33423. 16: {
  33424. Fobject: __ccgo_ts + 5937,
  33425. Ftype1: int32(_FcTypeBool),
  33426. },
  33427. 17: {
  33428. Fobject: __ccgo_ts + 5945,
  33429. Ftype1: int32(_FcTypeBool),
  33430. },
  33431. 18: {
  33432. Fobject: __ccgo_ts + 5960,
  33433. Ftype1: int32(_FcTypeBool),
  33434. },
  33435. 19: {
  33436. Fobject: __ccgo_ts + 5969,
  33437. Ftype1: int32(_FcTypeBool),
  33438. },
  33439. 20: {
  33440. Fobject: __ccgo_ts + 4290,
  33441. Ftype1: int32(_FcTypeString),
  33442. },
  33443. 21: {
  33444. Fobject: __ccgo_ts + 4295,
  33445. Ftype1: int32(_FcTypeInteger),
  33446. },
  33447. 22: {
  33448. Fobject: __ccgo_ts + 5983,
  33449. Ftype1: int32(_FcTypeString),
  33450. },
  33451. 23: {
  33452. Fobject: __ccgo_ts + 3959,
  33453. Ftype1: int32(_FcTypeBool),
  33454. },
  33455. 24: {
  33456. Fobject: __ccgo_ts + 3973,
  33457. Ftype1: int32(_FcTypeBool),
  33458. },
  33459. 25: {
  33460. Fobject: __ccgo_ts + 5994,
  33461. Ftype1: int32(_FcTypeDouble),
  33462. },
  33463. 26: {
  33464. Fobject: __ccgo_ts + 5998,
  33465. Ftype1: int32(_FcTypeInteger),
  33466. },
  33467. 27: {
  33468. Fobject: __ccgo_ts + 6003,
  33469. Ftype1: int32(_FcTypeDouble),
  33470. },
  33471. 28: {
  33472. Fobject: __ccgo_ts + 6009,
  33473. Ftype1: int32(_FcTypeBool),
  33474. },
  33475. 29: {
  33476. Fobject: __ccgo_ts + 6018,
  33477. Ftype1: int32(_FcTypeInteger),
  33478. },
  33479. 30: {
  33480. Fobject: __ccgo_ts + 6028,
  33481. Ftype1: int32(_FcTypeInteger),
  33482. },
  33483. 31: {
  33484. Fobject: __ccgo_ts + 6039,
  33485. Ftype1: int32(_FcTypeMatrix),
  33486. },
  33487. 32: {
  33488. Fobject: __ccgo_ts + 4702,
  33489. Ftype1: int32(_FcTypeCharSet),
  33490. },
  33491. 33: {
  33492. Fobject: __ccgo_ts + 4710,
  33493. Ftype1: int32(_FcTypeLangSet),
  33494. },
  33495. 34: {
  33496. Fobject: __ccgo_ts + 4301,
  33497. Ftype1: int32(_FcTypeInteger),
  33498. },
  33499. 35: {
  33500. Fobject: __ccgo_ts + 4419,
  33501. Ftype1: int32(_FcTypeString),
  33502. },
  33503. 36: {
  33504. Fobject: __ccgo_ts + 4743,
  33505. Ftype1: int32(_FcTypeString),
  33506. },
  33507. 37: {
  33508. Fobject: __ccgo_ts + 6046,
  33509. Ftype1: int32(_FcTypeBool),
  33510. },
  33511. 38: {
  33512. Fobject: __ccgo_ts + 6055,
  33513. Ftype1: int32(_FcTypeBool),
  33514. },
  33515. 39: {
  33516. Fobject: __ccgo_ts + 4664,
  33517. Ftype1: int32(_FcTypeBool),
  33518. },
  33519. 40: {
  33520. Fobject: __ccgo_ts + 6070,
  33521. Ftype1: int32(_FcTypeInteger),
  33522. },
  33523. 41: {
  33524. Fobject: __ccgo_ts + 6080,
  33525. Ftype1: int32(_FcTypeString),
  33526. },
  33527. 42: {
  33528. Fobject: __ccgo_ts + 6089,
  33529. Ftype1: int32(_FcTypeString),
  33530. },
  33531. 43: {
  33532. Fobject: __ccgo_ts + 6102,
  33533. Ftype1: int32(_FcTypeString),
  33534. },
  33535. 44: {
  33536. Fobject: __ccgo_ts + 6110,
  33537. Ftype1: int32(_FcTypeString),
  33538. },
  33539. 45: {
  33540. Fobject: __ccgo_ts + 4275,
  33541. Ftype1: int32(_FcTypeString),
  33542. },
  33543. 46: {
  33544. Fobject: __ccgo_ts + 3967,
  33545. Ftype1: int32(_FcTypeBool),
  33546. },
  33547. 47: {
  33548. Fobject: __ccgo_ts + 4675,
  33549. Ftype1: int32(_FcTypeBool),
  33550. },
  33551. 48: {
  33552. Fobject: __ccgo_ts + 6115,
  33553. Ftype1: int32(_FcTypeString),
  33554. },
  33555. 49: {
  33556. Fobject: __ccgo_ts + 4000,
  33557. Ftype1: int32(_FcTypeBool),
  33558. },
  33559. }
  33560. func _FcObjectFindById(tls *libc.TLS, object TFcObject) (r uintptr) {
  33561. if int32(1) <= object && object <= libc.Int32FromUint64(libc.Uint64FromInt64(800)/libc.Uint64FromInt64(16)) {
  33562. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(object-int32(1))*16
  33563. }
  33564. return XFcObjectLookupOtherTypeById(tls, object)
  33565. }
  33566. func XIA__FcNameRegisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  33567. /* Deprecated. */
  33568. return m_FcFalse
  33569. }
  33570. var XFcNameRegisterObjectTypes = XIA__FcNameRegisterObjectTypes
  33571. func XIA__FcNameUnregisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  33572. /* Deprecated. */
  33573. return m_FcFalse
  33574. }
  33575. var XFcNameUnregisterObjectTypes = XIA__FcNameUnregisterObjectTypes
  33576. func XIA__FcNameGetObjectType(tls *libc.TLS, object uintptr) (r uintptr) {
  33577. var id int32
  33578. _ = id
  33579. id = XFcObjectLookupBuiltinIdByName(tls, object)
  33580. if !(id != 0) {
  33581. return XFcObjectLookupOtherTypeByName(tls, object)
  33582. }
  33583. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(id-int32(1))*16
  33584. }
  33585. var XFcNameGetObjectType = XIA__FcNameGetObjectType
  33586. func XFcObjectValidType(tls *libc.TLS, object TFcObject, type1 TFcType) (r TFcBool) {
  33587. var t uintptr
  33588. _ = t
  33589. t = _FcObjectFindById(tls, object)
  33590. if t != 0 {
  33591. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  33592. case int32(_FcTypeUnknown):
  33593. return int32(m_FcTrue)
  33594. case int32(_FcTypeDouble):
  33595. fallthrough
  33596. case int32(_FcTypeInteger):
  33597. if type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  33598. return int32(m_FcTrue)
  33599. }
  33600. case int32(_FcTypeLangSet):
  33601. if type1 == int32(_FcTypeLangSet) || type1 == int32(_FcTypeString) {
  33602. return int32(m_FcTrue)
  33603. }
  33604. case int32(_FcTypeRange):
  33605. if type1 == int32(_FcTypeRange) || type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  33606. return int32(m_FcTrue)
  33607. }
  33608. default:
  33609. if type1 == (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  33610. return int32(m_FcTrue)
  33611. }
  33612. break
  33613. }
  33614. return m_FcFalse
  33615. }
  33616. return int32(m_FcTrue)
  33617. }
  33618. func XFcObjectFromName(tls *libc.TLS, name uintptr) (r TFcObject) {
  33619. return XFcObjectLookupIdByName(tls, name)
  33620. }
  33621. func XFcObjectGetSet(tls *libc.TLS) (r uintptr) {
  33622. var i int32
  33623. var os uintptr
  33624. _, _ = i, os
  33625. os = libc.UintptrFromInt32(0)
  33626. os = XIA__FcObjectSetCreate(tls)
  33627. i = 0
  33628. for {
  33629. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(800)/libc.Uint64FromInt64(16))) {
  33630. break
  33631. }
  33632. XIA__FcObjectSetAdd(tls, os, _FcObjects[i].Fobject)
  33633. goto _1
  33634. _1:
  33635. ;
  33636. i++
  33637. }
  33638. return os
  33639. }
  33640. func XFcObjectName(tls *libc.TLS, object TFcObject) (r uintptr) {
  33641. var o uintptr
  33642. _ = o
  33643. o = _FcObjectFindById(tls, object)
  33644. if o != 0 {
  33645. return (*TFcObjectType)(unsafe.Pointer(o)).Fobject
  33646. }
  33647. return XFcObjectLookupOtherNameById(tls, object)
  33648. }
  33649. var __FcBaseConstants = [57]TFcConstant{
  33650. 0: {
  33651. Fname: __ccgo_ts + 3579,
  33652. Fobject: __ccgo_ts + 3982,
  33653. },
  33654. 1: {
  33655. Fname: __ccgo_ts + 3584,
  33656. Fobject: __ccgo_ts + 3982,
  33657. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  33658. },
  33659. 2: {
  33660. Fname: __ccgo_ts + 3595,
  33661. Fobject: __ccgo_ts + 3982,
  33662. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  33663. },
  33664. 3: {
  33665. Fname: __ccgo_ts + 3606,
  33666. Fobject: __ccgo_ts + 3982,
  33667. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  33668. },
  33669. 4: {
  33670. Fname: __ccgo_ts + 3616,
  33671. Fobject: __ccgo_ts + 3982,
  33672. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  33673. },
  33674. 5: {
  33675. Fname: __ccgo_ts + 3626,
  33676. Fobject: __ccgo_ts + 3982,
  33677. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  33678. },
  33679. 6: {
  33680. Fname: __ccgo_ts + 3632,
  33681. Fobject: __ccgo_ts + 3982,
  33682. Fvalue: int32(m_FC_WEIGHT_BOOK),
  33683. },
  33684. 7: {
  33685. Fname: __ccgo_ts + 3637,
  33686. Fobject: __ccgo_ts + 3982,
  33687. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  33688. },
  33689. 8: {
  33690. Fname: __ccgo_ts + 3652,
  33691. Fobject: __ccgo_ts + 3982,
  33692. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  33693. },
  33694. 9: {
  33695. Fname: __ccgo_ts + 3659,
  33696. Fobject: __ccgo_ts + 3982,
  33697. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  33698. },
  33699. 10: {
  33700. Fname: __ccgo_ts + 3673,
  33701. Fobject: __ccgo_ts + 3982,
  33702. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  33703. },
  33704. 11: {
  33705. Fname: __ccgo_ts + 3712,
  33706. Fobject: __ccgo_ts + 3982,
  33707. Fvalue: int32(m_FC_WEIGHT_BOLD),
  33708. },
  33709. 12: {
  33710. Fname: __ccgo_ts + 3682,
  33711. Fobject: __ccgo_ts + 3982,
  33712. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  33713. },
  33714. 13: {
  33715. Fname: __ccgo_ts + 3702,
  33716. Fobject: __ccgo_ts + 3982,
  33717. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  33718. },
  33719. 14: {
  33720. Fname: __ccgo_ts + 3757,
  33721. Fobject: __ccgo_ts + 3982,
  33722. Fvalue: int32(m_FC_WEIGHT_BLACK),
  33723. },
  33724. 15: {
  33725. Fname: __ccgo_ts + 3763,
  33726. Fobject: __ccgo_ts + 3982,
  33727. Fvalue: int32(m_FC_WEIGHT_BLACK),
  33728. },
  33729. 16: {
  33730. Fname: __ccgo_ts + 6130,
  33731. Fobject: __ccgo_ts + 4650,
  33732. },
  33733. 17: {
  33734. Fname: __ccgo_ts + 3882,
  33735. Fobject: __ccgo_ts + 4650,
  33736. Fvalue: int32(m_FC_SLANT_ITALIC),
  33737. },
  33738. 18: {
  33739. Fname: __ccgo_ts + 3896,
  33740. Fobject: __ccgo_ts + 4650,
  33741. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  33742. },
  33743. 19: {
  33744. Fname: __ccgo_ts + 3769,
  33745. Fobject: __ccgo_ts + 3989,
  33746. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  33747. },
  33748. 20: {
  33749. Fname: __ccgo_ts + 3784,
  33750. Fobject: __ccgo_ts + 3989,
  33751. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  33752. },
  33753. 21: {
  33754. Fname: __ccgo_ts + 3813,
  33755. Fobject: __ccgo_ts + 3989,
  33756. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  33757. },
  33758. 22: {
  33759. Fname: __ccgo_ts + 3799,
  33760. Fobject: __ccgo_ts + 3989,
  33761. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  33762. },
  33763. 23: {
  33764. Fname: __ccgo_ts + 3645,
  33765. Fobject: __ccgo_ts + 3989,
  33766. Fvalue: int32(m_FC_WIDTH_NORMAL),
  33767. },
  33768. 24: {
  33769. Fname: __ccgo_ts + 3823,
  33770. Fobject: __ccgo_ts + 3989,
  33771. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  33772. },
  33773. 25: {
  33774. Fname: __ccgo_ts + 3864,
  33775. Fobject: __ccgo_ts + 3989,
  33776. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  33777. },
  33778. 26: {
  33779. Fname: __ccgo_ts + 3836,
  33780. Fobject: __ccgo_ts + 3989,
  33781. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  33782. },
  33783. 27: {
  33784. Fname: __ccgo_ts + 3850,
  33785. Fobject: __ccgo_ts + 3989,
  33786. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  33787. },
  33788. 28: {
  33789. Fname: __ccgo_ts + 6136,
  33790. Fobject: __ccgo_ts + 4715,
  33791. },
  33792. 29: {
  33793. Fname: __ccgo_ts + 6149,
  33794. Fobject: __ccgo_ts + 4715,
  33795. Fvalue: int32(m_FC_DUAL),
  33796. },
  33797. 30: {
  33798. Fname: __ccgo_ts + 6154,
  33799. Fobject: __ccgo_ts + 4715,
  33800. Fvalue: int32(m_FC_MONO),
  33801. },
  33802. 31: {
  33803. Fname: __ccgo_ts + 6159,
  33804. Fobject: __ccgo_ts + 4715,
  33805. Fvalue: int32(m_FC_CHARCELL),
  33806. },
  33807. 32: {
  33808. Fname: __ccgo_ts + 4642,
  33809. Fobject: __ccgo_ts + 5998,
  33810. },
  33811. 33: {
  33812. Fname: __ccgo_ts + 6168,
  33813. Fobject: __ccgo_ts + 5998,
  33814. Fvalue: int32(m_FC_RGBA_RGB),
  33815. },
  33816. 34: {
  33817. Fname: __ccgo_ts + 6172,
  33818. Fobject: __ccgo_ts + 5998,
  33819. Fvalue: int32(m_FC_RGBA_BGR),
  33820. },
  33821. 35: {
  33822. Fname: __ccgo_ts + 6176,
  33823. Fobject: __ccgo_ts + 5998,
  33824. Fvalue: int32(m_FC_RGBA_VRGB),
  33825. },
  33826. 36: {
  33827. Fname: __ccgo_ts + 6181,
  33828. Fobject: __ccgo_ts + 5998,
  33829. Fvalue: int32(m_FC_RGBA_VBGR),
  33830. },
  33831. 37: {
  33832. Fname: __ccgo_ts + 2178,
  33833. Fobject: __ccgo_ts + 5998,
  33834. Fvalue: int32(m_FC_RGBA_NONE),
  33835. },
  33836. 38: {
  33837. Fname: __ccgo_ts + 6186,
  33838. Fobject: __ccgo_ts + 5927,
  33839. },
  33840. 39: {
  33841. Fname: __ccgo_ts + 6195,
  33842. Fobject: __ccgo_ts + 5927,
  33843. Fvalue: int32(m_FC_HINT_SLIGHT),
  33844. },
  33845. 40: {
  33846. Fname: __ccgo_ts + 6206,
  33847. Fobject: __ccgo_ts + 5927,
  33848. Fvalue: int32(m_FC_HINT_MEDIUM),
  33849. },
  33850. 41: {
  33851. Fname: __ccgo_ts + 6217,
  33852. Fobject: __ccgo_ts + 5927,
  33853. Fvalue: int32(m_FC_HINT_FULL),
  33854. },
  33855. 42: {
  33856. Fname: __ccgo_ts + 4733,
  33857. Fobject: __ccgo_ts + 4733,
  33858. Fvalue: int32(m_FcTrue),
  33859. },
  33860. 43: {
  33861. Fname: __ccgo_ts + 5937,
  33862. Fobject: __ccgo_ts + 5937,
  33863. Fvalue: int32(m_FcTrue),
  33864. },
  33865. 44: {
  33866. Fname: __ccgo_ts + 5945,
  33867. Fobject: __ccgo_ts + 5945,
  33868. Fvalue: int32(m_FcTrue),
  33869. },
  33870. 45: {
  33871. Fname: __ccgo_ts + 5960,
  33872. Fobject: __ccgo_ts + 5960,
  33873. Fvalue: int32(m_FcTrue),
  33874. },
  33875. 46: {
  33876. Fname: __ccgo_ts + 5969,
  33877. Fobject: __ccgo_ts + 5969,
  33878. Fvalue: int32(m_FcTrue),
  33879. },
  33880. 47: {
  33881. Fname: __ccgo_ts + 3959,
  33882. Fobject: __ccgo_ts + 3959,
  33883. Fvalue: int32(m_FcTrue),
  33884. },
  33885. 48: {
  33886. Fname: __ccgo_ts + 3973,
  33887. Fobject: __ccgo_ts + 3973,
  33888. Fvalue: int32(m_FcTrue),
  33889. },
  33890. 49: {
  33891. Fname: __ccgo_ts + 6009,
  33892. Fobject: __ccgo_ts + 6009,
  33893. Fvalue: int32(m_FcTrue),
  33894. },
  33895. 50: {
  33896. Fname: __ccgo_ts + 6046,
  33897. Fobject: __ccgo_ts + 6046,
  33898. Fvalue: int32(m_FcTrue),
  33899. },
  33900. 51: {
  33901. Fname: __ccgo_ts + 6055,
  33902. Fobject: __ccgo_ts + 6055,
  33903. Fvalue: int32(m_FcTrue),
  33904. },
  33905. 52: {
  33906. Fname: __ccgo_ts + 4664,
  33907. Fobject: __ccgo_ts + 4664,
  33908. Fvalue: int32(m_FcTrue),
  33909. },
  33910. 53: {
  33911. Fname: __ccgo_ts + 6226,
  33912. Fobject: __ccgo_ts + 6070,
  33913. },
  33914. 54: {
  33915. Fname: __ccgo_ts + 6234,
  33916. Fobject: __ccgo_ts + 6070,
  33917. Fvalue: int32(m_FC_LCD_DEFAULT),
  33918. },
  33919. 55: {
  33920. Fname: __ccgo_ts + 6245,
  33921. Fobject: __ccgo_ts + 6070,
  33922. Fvalue: int32(m_FC_LCD_LIGHT),
  33923. },
  33924. 56: {
  33925. Fname: __ccgo_ts + 6254,
  33926. Fobject: __ccgo_ts + 6070,
  33927. Fvalue: int32(m_FC_LCD_LEGACY),
  33928. },
  33929. }
  33930. func XIA__FcNameRegisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  33931. /* Deprecated. */
  33932. return m_FcFalse
  33933. }
  33934. var XFcNameRegisterConstants = XIA__FcNameRegisterConstants
  33935. func XIA__FcNameUnregisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  33936. /* Deprecated. */
  33937. return m_FcFalse
  33938. }
  33939. var XFcNameUnregisterConstants = XIA__FcNameUnregisterConstants
  33940. func XIA__FcNameGetConstant(tls *libc.TLS, string1 uintptr) (r uintptr) {
  33941. var i uint32
  33942. _ = i
  33943. i = uint32(0)
  33944. for {
  33945. if !(uint64(i) < libc.Uint64FromInt64(1368)/libc.Uint64FromInt64(24)) {
  33946. break
  33947. }
  33948. if !(XIA__FcStrCmpIgnoreCase(tls, string1, __FcBaseConstants[i].Fname) != 0) {
  33949. return uintptr(unsafe.Pointer(&__FcBaseConstants)) + uintptr(i)*24
  33950. }
  33951. goto _1
  33952. _1:
  33953. ;
  33954. i++
  33955. }
  33956. return uintptr(0)
  33957. }
  33958. var XFcNameGetConstant = XIA__FcNameGetConstant
  33959. func XIA__FcNameConstant(tls *libc.TLS, string1 uintptr, result uintptr) (r TFcBool) {
  33960. var c, v1 uintptr
  33961. _, _ = c, v1
  33962. v1 = XIA__FcNameGetConstant(tls, string1)
  33963. c = v1
  33964. if v1 != 0 {
  33965. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  33966. return int32(m_FcTrue)
  33967. }
  33968. return m_FcFalse
  33969. }
  33970. var XFcNameConstant = XIA__FcNameConstant
  33971. func XFcNameBool(tls *libc.TLS, v uintptr, result uintptr) (r TFcBool) {
  33972. var c0, c1 uint8
  33973. var v1, v2 int32
  33974. _, _, _, _ = c0, c1, v1, v2
  33975. c0 = *(*TFcChar8)(unsafe.Pointer(v))
  33976. if int32(0101) <= libc.Int32FromUint8(c0) && libc.Int32FromUint8(c0) <= int32(0132) {
  33977. v1 = libc.Int32FromUint8(c0) - int32(0101) + int32(0141)
  33978. } else {
  33979. v1 = libc.Int32FromUint8(c0)
  33980. }
  33981. c0 = libc.Uint8FromInt32(v1)
  33982. if libc.Int32FromUint8(c0) == int32('t') || libc.Int32FromUint8(c0) == int32('y') || libc.Int32FromUint8(c0) == int32('1') {
  33983. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  33984. return int32(m_FcTrue)
  33985. }
  33986. if libc.Int32FromUint8(c0) == int32('f') || libc.Int32FromUint8(c0) == int32('n') || libc.Int32FromUint8(c0) == int32('0') {
  33987. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  33988. return int32(m_FcTrue)
  33989. }
  33990. if libc.Int32FromUint8(c0) == int32('d') || libc.Int32FromUint8(c0) == int32('x') || libc.Int32FromUint8(c0) == int32('2') {
  33991. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  33992. return int32(m_FcTrue)
  33993. }
  33994. if libc.Int32FromUint8(c0) == int32('o') {
  33995. c1 = *(*TFcChar8)(unsafe.Pointer(v + 1))
  33996. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  33997. v2 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  33998. } else {
  33999. v2 = libc.Int32FromUint8(c1)
  34000. }
  34001. c1 = libc.Uint8FromInt32(v2)
  34002. if libc.Int32FromUint8(c1) == int32('n') {
  34003. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  34004. return int32(m_FcTrue)
  34005. }
  34006. if libc.Int32FromUint8(c1) == int32('f') {
  34007. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  34008. return int32(m_FcTrue)
  34009. }
  34010. if libc.Int32FromUint8(c1) == int32('r') {
  34011. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  34012. return int32(m_FcTrue)
  34013. }
  34014. }
  34015. return m_FcFalse
  34016. }
  34017. func _FcNameConvert(tls *libc.TLS, type1 TFcType, string1 uintptr) (r TFcValue) {
  34018. bp := tls.Alloc(128)
  34019. defer tls.Free(128)
  34020. var ec, sc uintptr
  34021. var len1 Tsize_t
  34022. var v11, v12 float64
  34023. var _ /* b at bp+48 */ float64
  34024. var _ /* e at bp+56 */ float64
  34025. var _ /* ei at bp+76 */ int32
  34026. var _ /* m at bp+16 */ TFcMatrix
  34027. var _ /* p at bp+64 */ uintptr
  34028. var _ /* si at bp+72 */ int32
  34029. var _ /* v at bp+0 */ TFcValue
  34030. _, _, _, _, _ = ec, len1, sc, v11, v12
  34031. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = type1
  34032. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  34033. case int32(_FcTypeInteger):
  34034. goto _1
  34035. case int32(_FcTypeString):
  34036. goto _2
  34037. case int32(_FcTypeBool):
  34038. goto _3
  34039. case int32(_FcTypeDouble):
  34040. goto _4
  34041. case int32(_FcTypeMatrix):
  34042. goto _5
  34043. case int32(_FcTypeCharSet):
  34044. goto _6
  34045. case int32(_FcTypeLangSet):
  34046. goto _7
  34047. case int32(_FcTypeRange):
  34048. goto _8
  34049. default:
  34050. goto _9
  34051. }
  34052. goto _10
  34053. _1:
  34054. ;
  34055. if !(XIA__FcNameConstant(tls, string1, bp+8) != 0) {
  34056. *(*int32)(unsafe.Pointer(bp + 8)) = libc.Xatoi(tls, string1)
  34057. }
  34058. goto _10
  34059. _2:
  34060. ;
  34061. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, string1)
  34062. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  34063. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  34064. }
  34065. goto _10
  34066. _3:
  34067. ;
  34068. if !(XFcNameBool(tls, string1, bp+8) != 0) {
  34069. *(*TFcBool)(unsafe.Pointer(bp + 8)) = m_FcFalse
  34070. }
  34071. goto _10
  34072. _4:
  34073. ;
  34074. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, uintptr(0))
  34075. goto _10
  34076. _5:
  34077. ;
  34078. v11 = libc.Float64FromInt32(1)
  34079. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyy = v11
  34080. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxx = v11
  34081. v12 = libc.Float64FromInt32(0)
  34082. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyx = v12
  34083. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxy = v12
  34084. libc.Xsscanf(tls, string1, __ccgo_ts+6264, libc.VaList(bp+88, bp+16, bp+16+8, bp+16+16, bp+16+24))
  34085. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcMatrixCopy(tls, bp+16)
  34086. goto _10
  34087. _6:
  34088. ;
  34089. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseCharSet(tls, string1)
  34090. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  34091. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  34092. }
  34093. goto _10
  34094. _7:
  34095. ;
  34096. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseLangSet(tls, string1)
  34097. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  34098. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  34099. }
  34100. goto _10
  34101. _8:
  34102. ;
  34103. if libc.Xsscanf(tls, string1, __ccgo_ts+6280, libc.VaList(bp+88, bp+48, bp+56)) != int32(2) {
  34104. len1 = libc.Xstrlen(tls, string1)
  34105. sc = libc.Xmalloc(tls, len1+uint64(1))
  34106. ec = libc.Xmalloc(tls, len1+uint64(1))
  34107. if !(sc != 0 && ec != 0 && libc.Xsscanf(tls, string1, __ccgo_ts+6290, libc.VaList(bp+88, sc, ec)) == int32(2)) {
  34108. goto _13
  34109. }
  34110. if XIA__FcNameConstant(tls, sc, bp+72) != 0 && XIA__FcNameConstant(tls, ec, bp+76) != 0 {
  34111. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCreateDouble(tls, float64(*(*int32)(unsafe.Pointer(bp + 72))), float64(*(*int32)(unsafe.Pointer(bp + 76))))
  34112. } else {
  34113. goto bail1
  34114. }
  34115. goto _14
  34116. _13:
  34117. ;
  34118. goto bail1
  34119. bail1:
  34120. ;
  34121. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  34122. if XIA__FcNameConstant(tls, string1, bp+72) != 0 {
  34123. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 72)))
  34124. } else {
  34125. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, bp+64)
  34126. if *(*uintptr)(unsafe.Pointer(bp + 64)) != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64))))) != 0 {
  34127. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  34128. }
  34129. }
  34130. _14:
  34131. ;
  34132. if sc != 0 {
  34133. libc.Xfree(tls, sc)
  34134. }
  34135. if ec != 0 {
  34136. libc.Xfree(tls, ec)
  34137. }
  34138. } else {
  34139. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCreateDouble(tls, *(*float64)(unsafe.Pointer(bp + 48)), *(*float64)(unsafe.Pointer(bp + 56)))
  34140. }
  34141. goto _10
  34142. _9:
  34143. ;
  34144. goto _10
  34145. _10:
  34146. ;
  34147. return *(*TFcValue)(unsafe.Pointer(bp))
  34148. }
  34149. func _FcNameFindNext(tls *libc.TLS, cur uintptr, delim uintptr, save uintptr, last uintptr) (r uintptr) {
  34150. var c, v1, v5, v6 TFcChar8
  34151. var v2, v3 int32
  34152. var v7 uintptr
  34153. _, _, _, _, _, _, _ = c, v1, v2, v3, v5, v6, v7
  34154. for {
  34155. v1 = *(*TFcChar8)(unsafe.Pointer(cur))
  34156. c = v1
  34157. if !(v1 != 0) {
  34158. break
  34159. }
  34160. v2 = libc.Int32FromUint8(c)
  34161. v3 = libc.BoolInt32(v2 == int32(' ') || libc.Uint32FromInt32(v2)-uint32('\t') < uint32(5))
  34162. goto _4
  34163. _4:
  34164. if !(v3 != 0) {
  34165. break
  34166. }
  34167. cur++
  34168. }
  34169. for {
  34170. v5 = *(*TFcChar8)(unsafe.Pointer(cur))
  34171. c = v5
  34172. if !(v5 != 0) {
  34173. break
  34174. }
  34175. if libc.Int32FromUint8(c) == int32('\\') {
  34176. cur++
  34177. v6 = *(*TFcChar8)(unsafe.Pointer(cur))
  34178. c = v6
  34179. if !(v6 != 0) {
  34180. break
  34181. }
  34182. } else {
  34183. if libc.Xstrchr(tls, delim, libc.Int32FromUint8(c)) != 0 {
  34184. break
  34185. }
  34186. }
  34187. cur++
  34188. v7 = save
  34189. save++
  34190. *(*TFcChar8)(unsafe.Pointer(v7)) = c
  34191. }
  34192. *(*TFcChar8)(unsafe.Pointer(save)) = uint8(0)
  34193. *(*TFcChar8)(unsafe.Pointer(last)) = *(*TFcChar8)(unsafe.Pointer(cur))
  34194. if *(*TFcChar8)(unsafe.Pointer(cur)) != 0 {
  34195. cur++
  34196. }
  34197. return cur
  34198. }
  34199. func XIA__FcNameParse(tls *libc.TLS, name uintptr) (r uintptr) {
  34200. bp := tls.Alloc(16)
  34201. defer tls.Free(16)
  34202. var c, pat, save, t, v4 uintptr
  34203. var d float64
  34204. var v TFcValue
  34205. var _ /* delim at bp+8 */ TFcChar8
  34206. var _ /* e at bp+0 */ uintptr
  34207. _, _, _, _, _, _, _ = c, d, pat, save, t, v, v4
  34208. /* freed below */
  34209. save = libc.Xmalloc(tls, libc.Xstrlen(tls, name)+uint64(1))
  34210. if !(save != 0) {
  34211. goto bail0
  34212. }
  34213. pat = XIA__FcPatternCreate(tls)
  34214. if !(pat != 0) {
  34215. goto bail1
  34216. }
  34217. for {
  34218. name = _FcNameFindNext(tls, name, __ccgo_ts+6301, save, bp+8)
  34219. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  34220. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4049, save) != 0) {
  34221. goto bail2
  34222. }
  34223. }
  34224. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  34225. break
  34226. }
  34227. goto _1
  34228. _1:
  34229. }
  34230. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('-') {
  34231. for {
  34232. name = _FcNameFindNext(tls, name, __ccgo_ts+6301, save, bp+8)
  34233. d = libc.Xstrtod(tls, save, bp)
  34234. if *(*uintptr)(unsafe.Pointer(bp)) != save {
  34235. if !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3995, d) != 0) {
  34236. goto bail2
  34237. }
  34238. }
  34239. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  34240. break
  34241. }
  34242. goto _2
  34243. _2:
  34244. }
  34245. }
  34246. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32(':') {
  34247. name = _FcNameFindNext(tls, name, __ccgo_ts+6305, save, bp+8)
  34248. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  34249. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('=') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('_') {
  34250. t = XIA__FcNameGetObjectType(tls, save)
  34251. for {
  34252. name = _FcNameFindNext(tls, name, __ccgo_ts+6309, save, bp+8)
  34253. if t != 0 {
  34254. v = _FcNameConvert(tls, (*TFcObjectType)(unsafe.Pointer(t)).Ftype1, save)
  34255. if !(XIA__FcPatternAdd(tls, pat, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, v, int32(m_FcTrue)) != 0) {
  34256. XIA__FcValueDestroy(tls, v)
  34257. goto bail2
  34258. }
  34259. XIA__FcValueDestroy(tls, v)
  34260. }
  34261. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  34262. break
  34263. }
  34264. goto _3
  34265. _3:
  34266. }
  34267. } else {
  34268. v4 = XIA__FcNameGetConstant(tls, save)
  34269. c = v4
  34270. if v4 != 0 {
  34271. t = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  34272. if t == libc.UintptrFromInt32(0) {
  34273. goto bail2
  34274. }
  34275. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  34276. case int32(_FcTypeInteger):
  34277. fallthrough
  34278. case int32(_FcTypeDouble):
  34279. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  34280. goto bail2
  34281. }
  34282. case int32(_FcTypeBool):
  34283. if !(XIA__FcPatternAddBool(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  34284. goto bail2
  34285. }
  34286. case int32(_FcTypeRange):
  34287. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  34288. goto bail2
  34289. }
  34290. default:
  34291. break
  34292. }
  34293. }
  34294. }
  34295. }
  34296. }
  34297. libc.Xfree(tls, save)
  34298. return pat
  34299. goto bail2
  34300. bail2:
  34301. ;
  34302. XIA__FcPatternDestroy(tls, pat)
  34303. goto bail1
  34304. bail1:
  34305. ;
  34306. libc.Xfree(tls, save)
  34307. goto bail0
  34308. bail0:
  34309. ;
  34310. return uintptr(0)
  34311. return r
  34312. }
  34313. var XFcNameParse = XIA__FcNameParse
  34314. func _FcNameUnparseString(tls *libc.TLS, buf uintptr, string1 uintptr, escape uintptr) (r TFcBool) {
  34315. var c, v1 TFcChar8
  34316. var v2 uintptr
  34317. _, _, _ = c, v1, v2
  34318. for {
  34319. v2 = string1
  34320. string1++
  34321. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  34322. c = v1
  34323. if !(v1 != 0) {
  34324. break
  34325. }
  34326. if escape != 0 && libc.Xstrchr(tls, escape, libc.Int32FromUint8(c)) != 0 {
  34327. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(escape))) != 0) {
  34328. return m_FcFalse
  34329. }
  34330. }
  34331. if !(XFcStrBufChar(tls, buf, c) != 0) {
  34332. return m_FcFalse
  34333. }
  34334. }
  34335. return int32(m_FcTrue)
  34336. }
  34337. func XFcNameUnparseValue(tls *libc.TLS, buf uintptr, v0 uintptr, escape uintptr) (r TFcBool) {
  34338. bp := tls.Alloc(1088)
  34339. defer tls.Free(1088)
  34340. var v1, v2 uintptr
  34341. var _ /* temp at bp+0 */ [1024]TFcChar8
  34342. var _ /* v at bp+1024 */ TFcValue
  34343. _, _ = v1, v2
  34344. *(*TFcValue)(unsafe.Pointer(bp + 1024)) = TFcValue{}
  34345. *(*T_FcValue)(unsafe.Pointer(bp + 1024)) = XFcValueCanonicalize(tls, v0)
  34346. switch (*(*TFcValue)(unsafe.Pointer(bp + 1024))).Ftype1 {
  34347. case int32(_FcTypeUnknown):
  34348. fallthrough
  34349. case int32(_FcTypeVoid):
  34350. return int32(m_FcTrue)
  34351. case int32(_FcTypeInteger):
  34352. libc.Xsprintf(tls, bp, __ccgo_ts+2183, libc.VaList(bp+1048, *(*int32)(unsafe.Pointer(bp + 1024 + 8))))
  34353. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  34354. case int32(_FcTypeDouble):
  34355. libc.Xsprintf(tls, bp, __ccgo_ts+2186, libc.VaList(bp+1048, *(*float64)(unsafe.Pointer(bp + 1024 + 8))))
  34356. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  34357. case int32(_FcTypeString):
  34358. return _FcNameUnparseString(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)), escape)
  34359. case int32(_FcTypeBool):
  34360. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == int32(m_FcTrue) {
  34361. v1 = __ccgo_ts + 1617
  34362. } else {
  34363. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == m_FcFalse {
  34364. v2 = __ccgo_ts + 1622
  34365. } else {
  34366. v2 = __ccgo_ts + 1628
  34367. }
  34368. v1 = v2
  34369. }
  34370. return _FcNameUnparseString(tls, buf, v1, uintptr(0))
  34371. case int32(_FcTypeMatrix):
  34372. libc.Xsprintf(tls, bp, __ccgo_ts+6312, libc.VaList(bp+1048, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyy))
  34373. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  34374. case int32(_FcTypeCharSet):
  34375. return XFcNameUnparseCharSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  34376. case int32(_FcTypeLangSet):
  34377. return XFcNameUnparseLangSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  34378. case int32(_FcTypeFTFace):
  34379. return int32(m_FcTrue)
  34380. case int32(_FcTypeRange):
  34381. libc.Xsprintf(tls, bp, __ccgo_ts+1657, libc.VaList(bp+1048, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fend))
  34382. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  34383. }
  34384. return m_FcFalse
  34385. }
  34386. func XFcNameUnparseValueList(tls *libc.TLS, buf uintptr, v TFcValueListPtr, escape uintptr) (r TFcBool) {
  34387. var v1 TFcValueListPtr
  34388. var v2 uintptr
  34389. _, _ = v1, v2
  34390. for v != 0 {
  34391. if !(XFcNameUnparseValue(tls, buf, v+8, escape) != 0) {
  34392. return m_FcFalse
  34393. }
  34394. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  34395. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34396. } else {
  34397. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  34398. }
  34399. v1 = v2
  34400. v = v1
  34401. if v1 != libc.UintptrFromInt32(0) {
  34402. if !(_FcNameUnparseString(tls, buf, __ccgo_ts+6324, uintptr(0)) != 0) {
  34403. return m_FcFalse
  34404. }
  34405. }
  34406. }
  34407. return int32(m_FcTrue)
  34408. }
  34409. func XIA__FcNameUnparse(tls *libc.TLS, pat uintptr) (r uintptr) {
  34410. return XFcNameUnparseEscaped(tls, pat, int32(m_FcTrue))
  34411. }
  34412. var XFcNameUnparse = XIA__FcNameUnparse
  34413. func XFcNameUnparseEscaped(tls *libc.TLS, pat uintptr, escape TFcBool) (r uintptr) {
  34414. bp := tls.Alloc(8752)
  34415. defer tls.Free(8752)
  34416. var e, o, p, v1, v2, v3, v4, v6, v7, v8 uintptr
  34417. var i int32
  34418. var id TFcObject
  34419. var _ /* buf at bp+0 */ TFcStrBuf
  34420. var _ /* buf2 at bp+152 */ TFcStrBuf
  34421. var _ /* buf2_static at bp+8496 */ [256]TFcChar8
  34422. var _ /* buf_static at bp+304 */ [8192]TFcChar8
  34423. _, _, _, _, _, _, _, _, _, _, _, _ = e, i, id, o, p, v1, v2, v3, v4, v6, v7, v8
  34424. XFcStrBufInit(tls, bp, bp+304, int32(8192))
  34425. XFcStrBufInit(tls, bp+152, bp+8496, int32(256))
  34426. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  34427. if e != 0 {
  34428. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34429. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34430. } else {
  34431. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34432. }
  34433. if escape != 0 {
  34434. v2 = __ccgo_ts + 6326
  34435. } else {
  34436. v2 = uintptr(0)
  34437. }
  34438. if !(XFcNameUnparseValueList(tls, bp, v1, v2) != 0) {
  34439. goto bail0
  34440. }
  34441. }
  34442. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_SIZE_OBJECT))
  34443. if e != 0 {
  34444. if !(_FcNameUnparseString(tls, bp+152, __ccgo_ts+6331, uintptr(0)) != 0) {
  34445. goto bail0
  34446. }
  34447. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34448. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34449. } else {
  34450. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34451. }
  34452. if escape != 0 {
  34453. v4 = __ccgo_ts + 6326
  34454. } else {
  34455. v4 = uintptr(0)
  34456. }
  34457. if !(XFcNameUnparseValueList(tls, bp+152, v3, v4) != 0) {
  34458. goto bail0
  34459. }
  34460. p = XFcStrBufDoneStatic(tls, bp+152)
  34461. XFcStrBufDestroy(tls, bp+152)
  34462. if libc.Xstrlen(tls, p) > uint64(1) {
  34463. if !(XFcStrBufString(tls, bp, p) != 0) {
  34464. goto bail0
  34465. }
  34466. }
  34467. }
  34468. i = 0
  34469. for {
  34470. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(800)/libc.Uint64FromInt64(16))) {
  34471. break
  34472. }
  34473. id = i + int32(1)
  34474. o = uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(i)*16
  34475. if !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+4049) != 0) || !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+3995) != 0) {
  34476. goto _5
  34477. }
  34478. e = XFcPatternObjectFindElt(tls, pat, id)
  34479. if e != 0 {
  34480. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6333, uintptr(0)) != 0) {
  34481. goto bail0
  34482. }
  34483. if escape != 0 {
  34484. v6 = __ccgo_ts + 6335
  34485. } else {
  34486. v6 = uintptr(0)
  34487. }
  34488. if !(_FcNameUnparseString(tls, bp, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, v6) != 0) {
  34489. goto bail0
  34490. }
  34491. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6341, uintptr(0)) != 0) {
  34492. goto bail0
  34493. }
  34494. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34495. v7 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34496. } else {
  34497. v7 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34498. }
  34499. if escape != 0 {
  34500. v8 = __ccgo_ts + 6335
  34501. } else {
  34502. v8 = uintptr(0)
  34503. }
  34504. if !(XFcNameUnparseValueList(tls, bp, v7, v8) != 0) {
  34505. goto bail0
  34506. }
  34507. }
  34508. goto _5
  34509. _5:
  34510. ;
  34511. i++
  34512. }
  34513. return XFcStrBufDone(tls, bp)
  34514. goto bail0
  34515. bail0:
  34516. ;
  34517. XFcStrBufDestroy(tls, bp)
  34518. return uintptr(0)
  34519. }
  34520. /* ANSI-C code produced by gperf version 3.1 */
  34521. /* Command-line: gperf --pic -m 100 fcobjshash.gperf */
  34522. /* Computed positions: -k'2-3' */
  34523. type TFcObjectTypeInfo = struct {
  34524. Fname int32
  34525. Fid int32
  34526. }
  34527. /* maximum key range = 65, duplicates = 0 */
  34528. func _FcObjectTypeHash(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uint32) {
  34529. return uint32(len1 + uint64(_asso_values[*(*uint8)(unsafe.Pointer(str + 2))]) + uint64(_asso_values[*(*uint8)(unsafe.Pointer(str + 1))]))
  34530. }
  34531. var _asso_values = [256]uint8{
  34532. 0: uint8(69),
  34533. 1: uint8(69),
  34534. 2: uint8(69),
  34535. 3: uint8(69),
  34536. 4: uint8(69),
  34537. 5: uint8(69),
  34538. 6: uint8(69),
  34539. 7: uint8(69),
  34540. 8: uint8(69),
  34541. 9: uint8(69),
  34542. 10: uint8(69),
  34543. 11: uint8(69),
  34544. 12: uint8(69),
  34545. 13: uint8(69),
  34546. 14: uint8(69),
  34547. 15: uint8(69),
  34548. 16: uint8(69),
  34549. 17: uint8(69),
  34550. 18: uint8(69),
  34551. 19: uint8(69),
  34552. 20: uint8(69),
  34553. 21: uint8(69),
  34554. 22: uint8(69),
  34555. 23: uint8(69),
  34556. 24: uint8(69),
  34557. 25: uint8(69),
  34558. 26: uint8(69),
  34559. 27: uint8(69),
  34560. 28: uint8(69),
  34561. 29: uint8(69),
  34562. 30: uint8(69),
  34563. 31: uint8(69),
  34564. 32: uint8(69),
  34565. 33: uint8(69),
  34566. 34: uint8(69),
  34567. 35: uint8(69),
  34568. 36: uint8(69),
  34569. 37: uint8(69),
  34570. 38: uint8(69),
  34571. 39: uint8(69),
  34572. 40: uint8(69),
  34573. 41: uint8(69),
  34574. 42: uint8(69),
  34575. 43: uint8(69),
  34576. 44: uint8(69),
  34577. 45: uint8(69),
  34578. 46: uint8(69),
  34579. 47: uint8(69),
  34580. 48: uint8(69),
  34581. 49: uint8(69),
  34582. 50: uint8(69),
  34583. 51: uint8(69),
  34584. 52: uint8(69),
  34585. 53: uint8(69),
  34586. 54: uint8(69),
  34587. 55: uint8(69),
  34588. 56: uint8(69),
  34589. 57: uint8(69),
  34590. 58: uint8(69),
  34591. 59: uint8(69),
  34592. 60: uint8(69),
  34593. 61: uint8(69),
  34594. 62: uint8(69),
  34595. 63: uint8(69),
  34596. 64: uint8(69),
  34597. 65: uint8(69),
  34598. 66: uint8(69),
  34599. 67: uint8(69),
  34600. 68: uint8(69),
  34601. 69: uint8(69),
  34602. 70: uint8(69),
  34603. 71: uint8(69),
  34604. 72: uint8(69),
  34605. 73: uint8(69),
  34606. 74: uint8(69),
  34607. 75: uint8(69),
  34608. 76: uint8(69),
  34609. 77: uint8(69),
  34610. 78: uint8(69),
  34611. 79: uint8(69),
  34612. 80: uint8(69),
  34613. 81: uint8(69),
  34614. 82: uint8(69),
  34615. 83: uint8(69),
  34616. 84: uint8(69),
  34617. 85: uint8(69),
  34618. 86: uint8(69),
  34619. 87: uint8(69),
  34620. 88: uint8(69),
  34621. 89: uint8(69),
  34622. 90: uint8(69),
  34623. 91: uint8(69),
  34624. 92: uint8(69),
  34625. 93: uint8(69),
  34626. 94: uint8(69),
  34627. 95: uint8(69),
  34628. 96: uint8(69),
  34629. 97: uint8(9),
  34630. 98: uint8(21),
  34631. 99: uint8(18),
  34632. 100: uint8(33),
  34633. 101: uint8(21),
  34634. 102: uint8(69),
  34635. 103: uint8(6),
  34636. 104: uint8(36),
  34637. 106: uint8(69),
  34638. 107: uint8(69),
  34639. 109: uint8(24),
  34640. 110: uint8(9),
  34641. 112: uint8(21),
  34642. 113: uint8(69),
  34643. 114: uint8(33),
  34644. 115: uint8(15),
  34645. 116: uint8(18),
  34646. 118: uint8(69),
  34647. 119: uint8(69),
  34648. 121: uint8(21),
  34649. 122: uint8(6),
  34650. 123: uint8(69),
  34651. 124: uint8(69),
  34652. 125: uint8(69),
  34653. 126: uint8(69),
  34654. 127: uint8(69),
  34655. 128: uint8(69),
  34656. 129: uint8(69),
  34657. 130: uint8(69),
  34658. 131: uint8(69),
  34659. 132: uint8(69),
  34660. 133: uint8(69),
  34661. 134: uint8(69),
  34662. 135: uint8(69),
  34663. 136: uint8(69),
  34664. 137: uint8(69),
  34665. 138: uint8(69),
  34666. 139: uint8(69),
  34667. 140: uint8(69),
  34668. 141: uint8(69),
  34669. 142: uint8(69),
  34670. 143: uint8(69),
  34671. 144: uint8(69),
  34672. 145: uint8(69),
  34673. 146: uint8(69),
  34674. 147: uint8(69),
  34675. 148: uint8(69),
  34676. 149: uint8(69),
  34677. 150: uint8(69),
  34678. 151: uint8(69),
  34679. 152: uint8(69),
  34680. 153: uint8(69),
  34681. 154: uint8(69),
  34682. 155: uint8(69),
  34683. 156: uint8(69),
  34684. 157: uint8(69),
  34685. 158: uint8(69),
  34686. 159: uint8(69),
  34687. 160: uint8(69),
  34688. 161: uint8(69),
  34689. 162: uint8(69),
  34690. 163: uint8(69),
  34691. 164: uint8(69),
  34692. 165: uint8(69),
  34693. 166: uint8(69),
  34694. 167: uint8(69),
  34695. 168: uint8(69),
  34696. 169: uint8(69),
  34697. 170: uint8(69),
  34698. 171: uint8(69),
  34699. 172: uint8(69),
  34700. 173: uint8(69),
  34701. 174: uint8(69),
  34702. 175: uint8(69),
  34703. 176: uint8(69),
  34704. 177: uint8(69),
  34705. 178: uint8(69),
  34706. 179: uint8(69),
  34707. 180: uint8(69),
  34708. 181: uint8(69),
  34709. 182: uint8(69),
  34710. 183: uint8(69),
  34711. 184: uint8(69),
  34712. 185: uint8(69),
  34713. 186: uint8(69),
  34714. 187: uint8(69),
  34715. 188: uint8(69),
  34716. 189: uint8(69),
  34717. 190: uint8(69),
  34718. 191: uint8(69),
  34719. 192: uint8(69),
  34720. 193: uint8(69),
  34721. 194: uint8(69),
  34722. 195: uint8(69),
  34723. 196: uint8(69),
  34724. 197: uint8(69),
  34725. 198: uint8(69),
  34726. 199: uint8(69),
  34727. 200: uint8(69),
  34728. 201: uint8(69),
  34729. 202: uint8(69),
  34730. 203: uint8(69),
  34731. 204: uint8(69),
  34732. 205: uint8(69),
  34733. 206: uint8(69),
  34734. 207: uint8(69),
  34735. 208: uint8(69),
  34736. 209: uint8(69),
  34737. 210: uint8(69),
  34738. 211: uint8(69),
  34739. 212: uint8(69),
  34740. 213: uint8(69),
  34741. 214: uint8(69),
  34742. 215: uint8(69),
  34743. 216: uint8(69),
  34744. 217: uint8(69),
  34745. 218: uint8(69),
  34746. 219: uint8(69),
  34747. 220: uint8(69),
  34748. 221: uint8(69),
  34749. 222: uint8(69),
  34750. 223: uint8(69),
  34751. 224: uint8(69),
  34752. 225: uint8(69),
  34753. 226: uint8(69),
  34754. 227: uint8(69),
  34755. 228: uint8(69),
  34756. 229: uint8(69),
  34757. 230: uint8(69),
  34758. 231: uint8(69),
  34759. 232: uint8(69),
  34760. 233: uint8(69),
  34761. 234: uint8(69),
  34762. 235: uint8(69),
  34763. 236: uint8(69),
  34764. 237: uint8(69),
  34765. 238: uint8(69),
  34766. 239: uint8(69),
  34767. 240: uint8(69),
  34768. 241: uint8(69),
  34769. 242: uint8(69),
  34770. 243: uint8(69),
  34771. 244: uint8(69),
  34772. 245: uint8(69),
  34773. 246: uint8(69),
  34774. 247: uint8(69),
  34775. 248: uint8(69),
  34776. 249: uint8(69),
  34777. 250: uint8(69),
  34778. 251: uint8(69),
  34779. 252: uint8(69),
  34780. 253: uint8(69),
  34781. 254: uint8(69),
  34782. 255: uint8(69),
  34783. }
  34784. type TFcObjectTypeNamePool_t = struct {
  34785. FFcObjectTypeNamePool_str4 [5]uint8
  34786. FFcObjectTypeNamePool_str5 [6]uint8
  34787. FFcObjectTypeNamePool_str7 [8]uint8
  34788. FFcObjectTypeNamePool_str8 [9]uint8
  34789. FFcObjectTypeNamePool_str9 [10]uint8
  34790. FFcObjectTypeNamePool_str10 [5]uint8
  34791. FFcObjectTypeNamePool_str12 [13]uint8
  34792. FFcObjectTypeNamePool_str13 [14]uint8
  34793. FFcObjectTypeNamePool_str14 [6]uint8
  34794. FFcObjectTypeNamePool_str16 [8]uint8
  34795. FFcObjectTypeNamePool_str17 [9]uint8
  34796. FFcObjectTypeNamePool_str18 [10]uint8
  34797. FFcObjectTypeNamePool_str19 [11]uint8
  34798. FFcObjectTypeNamePool_str20 [12]uint8
  34799. FFcObjectTypeNamePool_str21 [13]uint8
  34800. FFcObjectTypeNamePool_str22 [5]uint8
  34801. FFcObjectTypeNamePool_str23 [15]uint8
  34802. FFcObjectTypeNamePool_str24 [4]uint8
  34803. FFcObjectTypeNamePool_str25 [8]uint8
  34804. FFcObjectTypeNamePool_str26 [9]uint8
  34805. FFcObjectTypeNamePool_str27 [7]uint8
  34806. FFcObjectTypeNamePool_str28 [5]uint8
  34807. FFcObjectTypeNamePool_str29 [15]uint8
  34808. FFcObjectTypeNamePool_str31 [5]uint8
  34809. FFcObjectTypeNamePool_str32 [6]uint8
  34810. FFcObjectTypeNamePool_str33 [7]uint8
  34811. FFcObjectTypeNamePool_str34 [11]uint8
  34812. FFcObjectTypeNamePool_str35 [9]uint8
  34813. FFcObjectTypeNamePool_str36 [10]uint8
  34814. FFcObjectTypeNamePool_str37 [8]uint8
  34815. FFcObjectTypeNamePool_str38 [6]uint8
  34816. FFcObjectTypeNamePool_str39 [7]uint8
  34817. FFcObjectTypeNamePool_str40 [11]uint8
  34818. FFcObjectTypeNamePool_str41 [9]uint8
  34819. FFcObjectTypeNamePool_str42 [7]uint8
  34820. FFcObjectTypeNamePool_str43 [11]uint8
  34821. FFcObjectTypeNamePool_str44 [6]uint8
  34822. FFcObjectTypeNamePool_str46 [8]uint8
  34823. FFcObjectTypeNamePool_str47 [6]uint8
  34824. FFcObjectTypeNamePool_str48 [10]uint8
  34825. FFcObjectTypeNamePool_str49 [11]uint8
  34826. FFcObjectTypeNamePool_str50 [9]uint8
  34827. FFcObjectTypeNamePool_str51 [7]uint8
  34828. FFcObjectTypeNamePool_str52 [8]uint8
  34829. FFcObjectTypeNamePool_str53 [9]uint8
  34830. FFcObjectTypeNamePool_str54 [10]uint8
  34831. FFcObjectTypeNamePool_str55 [11]uint8
  34832. FFcObjectTypeNamePool_str59 [15]uint8
  34833. FFcObjectTypeNamePool_str60 [10]uint8
  34834. FFcObjectTypeNamePool_str68 [15]uint8
  34835. }
  34836. var _FcObjectTypeNamePool_contents = TFcObjectTypeNamePool_t{
  34837. FFcObjectTypeNamePool_str4: [5]uint8{'f', 'i', 'l', 'e'},
  34838. FFcObjectTypeNamePool_str5: [6]uint8{'c', 'o', 'l', 'o', 'r'},
  34839. FFcObjectTypeNamePool_str7: [8]uint8{'f', 'o', 'u', 'n', 'd', 'r', 'y'},
  34840. FFcObjectTypeNamePool_str8: [9]uint8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e'},
  34841. FFcObjectTypeNamePool_str9: [10]uint8{'p', 'i', 'x', 'e', 'l', 's', 'i', 'z', 'e'},
  34842. FFcObjectTypeNamePool_str10: [5]uint8{'s', 'i', 'z', 'e'},
  34843. FFcObjectTypeNamePool_str12: [13]uint8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  34844. FFcObjectTypeNamePool_str13: [14]uint8{'g', 'l', 'o', 'b', 'a', 'l', 'a', 'd', 'v', 'a', 'n', 'c', 'e'},
  34845. FFcObjectTypeNamePool_str14: [6]uint8{'s', 'l', 'a', 'n', 't'},
  34846. FFcObjectTypeNamePool_str16: [8]uint8{'h', 'i', 'n', 't', 'i', 'n', 'g'},
  34847. FFcObjectTypeNamePool_str17: [9]uint8{'m', 'i', 'n', 's', 'p', 'a', 'c', 'e'},
  34848. FFcObjectTypeNamePool_str18: [10]uint8{'h', 'i', 'n', 't', 's', 't', 'y', 'l', 'e'},
  34849. FFcObjectTypeNamePool_str19: [11]uint8{'f', 'o', 'n', 't', 'f', 'o', 'r', 'm', 'a', 't'},
  34850. FFcObjectTypeNamePool_str20: [12]uint8{'f', 'o', 'n', 't', 'v', 'e', 'r', 's', 'i', 'o', 'n'},
  34851. FFcObjectTypeNamePool_str21: [13]uint8{'f', 'o', 'n', 't', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's'},
  34852. FFcObjectTypeNamePool_str22: [5]uint8{'l', 'a', 'n', 'g'},
  34853. FFcObjectTypeNamePool_str23: [15]uint8{'f', 'o', 'n', 't', 'v', 'a', 'r', 'i', 'a', 't', 'i', 'o', 'n', 's'},
  34854. FFcObjectTypeNamePool_str24: [4]uint8{'d', 'p', 'i'},
  34855. FFcObjectTypeNamePool_str25: [8]uint8{'o', 'u', 't', 'l', 'i', 'n', 'e'},
  34856. FFcObjectTypeNamePool_str26: [9]uint8{'a', 'u', 't', 'o', 'h', 'i', 'n', 't'},
  34857. FFcObjectTypeNamePool_str27: [7]uint8{'w', 'e', 'i', 'g', 'h', 't'},
  34858. FFcObjectTypeNamePool_str28: [5]uint8{'h', 'a', 's', 'h'},
  34859. FFcObjectTypeNamePool_str29: [15]uint8{'p', 'o', 's', 't', 's', 'c', 'r', 'i', 'p', 't', 'n', 'a', 'm', 'e'},
  34860. FFcObjectTypeNamePool_str31: [5]uint8{'r', 'g', 'b', 'a'},
  34861. FFcObjectTypeNamePool_str32: [6]uint8{'s', 'c', 'a', 'l', 'e'},
  34862. FFcObjectTypeNamePool_str33: [7]uint8{'m', 'a', 't', 'r', 'i', 'x'},
  34863. FFcObjectTypeNamePool_str34: [11]uint8{'r', 'a', 's', 't', 'e', 'r', 'i', 'z', 'e', 'r'},
  34864. FFcObjectTypeNamePool_str35: [9]uint8{'s', 'c', 'a', 'l', 'a', 'b', 'l', 'e'},
  34865. FFcObjectTypeNamePool_str36: [10]uint8{'a', 'n', 't', 'i', 'a', 'l', 'i', 'a', 's'},
  34866. FFcObjectTypeNamePool_str37: [8]uint8{'s', 'p', 'a', 'c', 'i', 'n', 'g'},
  34867. FFcObjectTypeNamePool_str38: [6]uint8{'w', 'i', 'd', 't', 'h'},
  34868. FFcObjectTypeNamePool_str39: [7]uint8{'f', 'a', 'm', 'i', 'l', 'y'},
  34869. FFcObjectTypeNamePool_str40: [11]uint8{'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y'},
  34870. FFcObjectTypeNamePool_str41: [9]uint8{'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  34871. FFcObjectTypeNamePool_str42: [7]uint8{'a', 's', 'p', 'e', 'c', 't'},
  34872. FFcObjectTypeNamePool_str43: [11]uint8{'f', 'a', 'm', 'i', 'l', 'y', 'l', 'a', 'n', 'g'},
  34873. FFcObjectTypeNamePool_str44: [6]uint8{'s', 't', 'y', 'l', 'e'},
  34874. FFcObjectTypeNamePool_str46: [8]uint8{'p', 'r', 'g', 'n', 'a', 'm', 'e'},
  34875. FFcObjectTypeNamePool_str47: [6]uint8{'i', 'n', 'd', 'e', 'x'},
  34876. FFcObjectTypeNamePool_str48: [10]uint8{'s', 't', 'y', 'l', 'e', 'l', 'a', 'n', 'g'},
  34877. FFcObjectTypeNamePool_str49: [11]uint8{'d', 'e', 'c', 'o', 'r', 'a', 't', 'i', 'v', 'e'},
  34878. FFcObjectTypeNamePool_str50: [9]uint8{'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e'},
  34879. FFcObjectTypeNamePool_str51: [7]uint8{'s', 'y', 'm', 'b', 'o', 'l'},
  34880. FFcObjectTypeNamePool_str52: [8]uint8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  34881. FFcObjectTypeNamePool_str53: [9]uint8{'e', 'm', 'b', 'o', 'l', 'd', 'e', 'n'},
  34882. FFcObjectTypeNamePool_str54: [10]uint8{'c', 'h', 'a', 'r', 'w', 'i', 'd', 't', 'h'},
  34883. FFcObjectTypeNamePool_str55: [11]uint8{'c', 'h', 'a', 'r', 'h', 'e', 'i', 'g', 'h', 't'},
  34884. FFcObjectTypeNamePool_str59: [15]uint8{'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', 'b', 'i', 't', 'm', 'a', 'p'},
  34885. FFcObjectTypeNamePool_str60: [10]uint8{'l', 'c', 'd', 'f', 'i', 'l', 't', 'e', 'r'},
  34886. FFcObjectTypeNamePool_str68: [15]uint8{'v', 'e', 'r', 't', 'i', 'c', 'a', 'l', 'l', 'a', 'y', 'o', 'u', 't'},
  34887. }
  34888. func _FcObjectTypeLookup(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uintptr) {
  34889. var key uint32
  34890. var o int32
  34891. var s uintptr
  34892. _, _, _ = key, o, s
  34893. if len1 <= libc.Uint64FromInt32(14) && len1 >= libc.Uint64FromInt32(3) {
  34894. key = _FcObjectTypeHash(tls, str, len1)
  34895. if key <= libc.Uint32FromInt32(68) {
  34896. o = _wordlist[key].Fname
  34897. if o >= 0 {
  34898. s = uintptr(o) + uintptr(unsafe.Pointer(&_FcObjectTypeNamePool_contents))
  34899. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(str))) == libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(s))) && !(libc.Xstrcmp(tls, str+uintptr(1), s+uintptr(1)) != 0) {
  34900. return uintptr(unsafe.Pointer(&_wordlist)) + uintptr(key)*8
  34901. }
  34902. }
  34903. }
  34904. }
  34905. return uintptr(0)
  34906. }
  34907. var _wordlist = [69]TFcObjectTypeInfo{
  34908. 0: {
  34909. Fname: -int32(1),
  34910. },
  34911. 1: {
  34912. Fname: -int32(1),
  34913. },
  34914. 2: {
  34915. Fname: -int32(1),
  34916. },
  34917. 3: {
  34918. Fname: -int32(1),
  34919. },
  34920. 4: {
  34921. Fid: int32(_FC_FILE_OBJECT),
  34922. },
  34923. 5: {
  34924. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 5)),
  34925. Fid: int32(_FC_COLOR_OBJECT),
  34926. },
  34927. 6: {
  34928. Fname: -int32(1),
  34929. },
  34930. 7: {
  34931. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 11)),
  34932. Fid: int32(_FC_FOUNDRY_OBJECT),
  34933. },
  34934. 8: {
  34935. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 19)),
  34936. Fid: int32(_FC_FULLNAME_OBJECT),
  34937. },
  34938. 9: {
  34939. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 28)),
  34940. Fid: int32(_FC_PIXEL_SIZE_OBJECT),
  34941. },
  34942. 10: {
  34943. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 38)),
  34944. Fid: int32(_FC_SIZE_OBJECT),
  34945. },
  34946. 11: {
  34947. Fname: -int32(1),
  34948. },
  34949. 12: {
  34950. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 43)),
  34951. Fid: int32(_FC_FULLNAMELANG_OBJECT),
  34952. },
  34953. 13: {
  34954. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 56)),
  34955. Fid: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  34956. },
  34957. 14: {
  34958. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 70)),
  34959. Fid: int32(_FC_SLANT_OBJECT),
  34960. },
  34961. 15: {
  34962. Fname: -int32(1),
  34963. },
  34964. 16: {
  34965. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 76)),
  34966. Fid: int32(_FC_HINTING_OBJECT),
  34967. },
  34968. 17: {
  34969. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 84)),
  34970. Fid: int32(_FC_MINSPACE_OBJECT),
  34971. },
  34972. 18: {
  34973. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 93)),
  34974. Fid: int32(_FC_HINT_STYLE_OBJECT),
  34975. },
  34976. 19: {
  34977. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 103)),
  34978. Fid: int32(_FC_FONTFORMAT_OBJECT),
  34979. },
  34980. 20: {
  34981. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 114)),
  34982. Fid: int32(_FC_FONTVERSION_OBJECT),
  34983. },
  34984. 21: {
  34985. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 126)),
  34986. Fid: int32(_FC_FONT_FEATURES_OBJECT),
  34987. },
  34988. 22: {
  34989. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 139)),
  34990. Fid: int32(_FC_LANG_OBJECT),
  34991. },
  34992. 23: {
  34993. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 144)),
  34994. Fid: int32(_FC_FONT_VARIATIONS_OBJECT),
  34995. },
  34996. 24: {
  34997. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 159)),
  34998. Fid: int32(_FC_DPI_OBJECT),
  34999. },
  35000. 25: {
  35001. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 163)),
  35002. Fid: int32(_FC_OUTLINE_OBJECT),
  35003. },
  35004. 26: {
  35005. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 171)),
  35006. Fid: int32(_FC_AUTOHINT_OBJECT),
  35007. },
  35008. 27: {
  35009. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 180)),
  35010. Fid: int32(_FC_WEIGHT_OBJECT),
  35011. },
  35012. 28: {
  35013. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 187)),
  35014. Fid: int32(_FC_HASH_OBJECT),
  35015. },
  35016. 29: {
  35017. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 192)),
  35018. Fid: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  35019. },
  35020. 30: {
  35021. Fname: -int32(1),
  35022. },
  35023. 31: {
  35024. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 207)),
  35025. Fid: int32(_FC_RGBA_OBJECT),
  35026. },
  35027. 32: {
  35028. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 212)),
  35029. Fid: int32(_FC_SCALE_OBJECT),
  35030. },
  35031. 33: {
  35032. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 218)),
  35033. Fid: int32(_FC_MATRIX_OBJECT),
  35034. },
  35035. 34: {
  35036. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 225)),
  35037. Fid: int32(_FC_RASTERIZER_OBJECT),
  35038. },
  35039. 35: {
  35040. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 236)),
  35041. Fid: int32(_FC_SCALABLE_OBJECT),
  35042. },
  35043. 36: {
  35044. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 245)),
  35045. Fid: int32(_FC_ANTIALIAS_OBJECT),
  35046. },
  35047. 37: {
  35048. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 255)),
  35049. Fid: int32(_FC_SPACING_OBJECT),
  35050. },
  35051. 38: {
  35052. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 263)),
  35053. Fid: int32(_FC_WIDTH_OBJECT),
  35054. },
  35055. 39: {
  35056. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 269)),
  35057. Fid: int32(_FC_FAMILY_OBJECT),
  35058. },
  35059. 40: {
  35060. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 276)),
  35061. Fid: int32(_FC_CAPABILITY_OBJECT),
  35062. },
  35063. 41: {
  35064. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 287)),
  35065. Fid: int32(_FC_NAMELANG_OBJECT),
  35066. },
  35067. 42: {
  35068. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 296)),
  35069. Fid: int32(_FC_ASPECT_OBJECT),
  35070. },
  35071. 43: {
  35072. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 303)),
  35073. Fid: int32(_FC_FAMILYLANG_OBJECT),
  35074. },
  35075. 44: {
  35076. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 314)),
  35077. Fid: int32(_FC_STYLE_OBJECT),
  35078. },
  35079. 45: {
  35080. Fname: -int32(1),
  35081. },
  35082. 46: {
  35083. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 320)),
  35084. Fid: int32(_FC_PRGNAME_OBJECT),
  35085. },
  35086. 47: {
  35087. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 328)),
  35088. Fid: int32(_FC_INDEX_OBJECT),
  35089. },
  35090. 48: {
  35091. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 334)),
  35092. Fid: int32(_FC_STYLELANG_OBJECT),
  35093. },
  35094. 49: {
  35095. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 344)),
  35096. Fid: int32(_FC_DECORATIVE_OBJECT),
  35097. },
  35098. 50: {
  35099. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 355)),
  35100. Fid: int32(_FC_VARIABLE_OBJECT),
  35101. },
  35102. 51: {
  35103. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 364)),
  35104. Fid: int32(_FC_SYMBOL_OBJECT),
  35105. },
  35106. 52: {
  35107. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 371)),
  35108. Fid: int32(_FC_CHARSET_OBJECT),
  35109. },
  35110. 53: {
  35111. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 379)),
  35112. Fid: int32(_FC_EMBOLDEN_OBJECT),
  35113. },
  35114. 54: {
  35115. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 388)),
  35116. Fid: int32(_FC_CHARWIDTH_OBJECT),
  35117. },
  35118. 55: {
  35119. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 398)),
  35120. Fid: int32(_FC_CHAR_HEIGHT_OBJECT),
  35121. },
  35122. 56: {
  35123. Fname: -int32(1),
  35124. },
  35125. 57: {
  35126. Fname: -int32(1),
  35127. },
  35128. 58: {
  35129. Fname: -int32(1),
  35130. },
  35131. 59: {
  35132. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 409)),
  35133. Fid: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  35134. },
  35135. 60: {
  35136. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 424)),
  35137. Fid: int32(_FC_LCD_FILTER_OBJECT),
  35138. },
  35139. 61: {
  35140. Fname: -int32(1),
  35141. },
  35142. 62: {
  35143. Fname: -int32(1),
  35144. },
  35145. 63: {
  35146. Fname: -int32(1),
  35147. },
  35148. 64: {
  35149. Fname: -int32(1),
  35150. },
  35151. 65: {
  35152. Fname: -int32(1),
  35153. },
  35154. 66: {
  35155. Fname: -int32(1),
  35156. },
  35157. 67: {
  35158. Fname: -int32(1),
  35159. },
  35160. 68: {
  35161. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 434)),
  35162. Fid: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  35163. },
  35164. }
  35165. // C documentation
  35166. //
  35167. // /* The 1000 is to leave some room for future added internal objects, such
  35168. // * that caches from newer fontconfig can still be used with older fontconfig
  35169. // * without getting confused. */
  35170. var _next_id = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  35171. type TFcObjectOtherTypeInfo = struct {
  35172. Fnext uintptr
  35173. Fobject TFcObjectType
  35174. Fid TFcObject
  35175. }
  35176. func XFcObjectFini(tls *libc.TLS) {
  35177. var ot, ots uintptr
  35178. var v1 int32
  35179. _, _, _ = ot, ots, v1
  35180. goto retry
  35181. retry:
  35182. ;
  35183. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  35184. if !(ots != 0) {
  35185. return
  35186. }
  35187. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  35188. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = libc.UintptrFromInt32(0)
  35189. v1 = libc.Int32FromInt32(m_FcTrue)
  35190. } else {
  35191. v1 = m_FcFalse
  35192. }
  35193. if !(v1 != 0) {
  35194. goto retry
  35195. }
  35196. for ots != 0 {
  35197. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fnext
  35198. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject != 0 {
  35199. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject)
  35200. }
  35201. libc.Xfree(tls, ots)
  35202. ots = ot
  35203. }
  35204. }
  35205. func __FcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr, id uintptr) (r uintptr) {
  35206. var ot, ots uintptr
  35207. var v2 int32
  35208. _, _, _ = ot, ots, v2
  35209. goto retry
  35210. retry:
  35211. ;
  35212. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  35213. ot = ots
  35214. for {
  35215. if !(ot != 0) {
  35216. break
  35217. }
  35218. if 0 == libc.Xstrcmp(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject, str) {
  35219. break
  35220. }
  35221. goto _1
  35222. _1:
  35223. ;
  35224. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  35225. }
  35226. if !(ot != 0) {
  35227. ot = libc.Xmalloc(tls, uint64(32))
  35228. if !(ot != 0) {
  35229. return libc.UintptrFromInt32(0)
  35230. }
  35231. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject = libc.Xstrdup(tls, str)
  35232. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Ftype1 = int32(_FcTypeUnknown)
  35233. _next_id += +libc.Int32FromInt32(1)
  35234. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid = _next_id - +libc.Int32FromInt32(1)
  35235. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid < int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1)+libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) {
  35236. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6343, 0)
  35237. libc.Xabort(tls)
  35238. }
  35239. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext = ots
  35240. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  35241. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = ot
  35242. v2 = libc.Int32FromInt32(m_FcTrue)
  35243. } else {
  35244. v2 = m_FcFalse
  35245. }
  35246. if !(v2 != 0) {
  35247. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject != 0 {
  35248. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject)
  35249. }
  35250. libc.Xfree(tls, ot)
  35251. goto retry
  35252. }
  35253. }
  35254. if id != 0 {
  35255. *(*TFcObject)(unsafe.Pointer(id)) = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid
  35256. }
  35257. return ot + 8
  35258. }
  35259. func XFcObjectLookupBuiltinIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  35260. var o uintptr
  35261. _ = o
  35262. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  35263. if o != 0 {
  35264. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  35265. }
  35266. return 0
  35267. }
  35268. func XFcObjectLookupIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  35269. bp := tls.Alloc(16)
  35270. defer tls.Free(16)
  35271. var o uintptr
  35272. var _ /* id at bp+0 */ TFcObject
  35273. _ = o
  35274. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  35275. if o != 0 {
  35276. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  35277. }
  35278. if __FcObjectLookupOtherTypeByName(tls, str, bp) != 0 {
  35279. return *(*TFcObject)(unsafe.Pointer(bp))
  35280. }
  35281. return 0
  35282. }
  35283. func XFcObjectLookupOtherNameById(tls *libc.TLS, id TFcObject) (r uintptr) {
  35284. var ot uintptr
  35285. _ = ot
  35286. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  35287. for {
  35288. if !(ot != 0) {
  35289. break
  35290. }
  35291. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  35292. return (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject
  35293. }
  35294. goto _1
  35295. _1:
  35296. ;
  35297. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  35298. }
  35299. return libc.UintptrFromInt32(0)
  35300. }
  35301. func XFcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr) (r uintptr) {
  35302. return __FcObjectLookupOtherTypeByName(tls, str, libc.UintptrFromInt32(0))
  35303. }
  35304. func XFcObjectLookupOtherTypeById(tls *libc.TLS, id TFcObject) (r uintptr) {
  35305. var ot uintptr
  35306. _ = ot
  35307. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  35308. for {
  35309. if !(ot != 0) {
  35310. break
  35311. }
  35312. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  35313. return ot + 8
  35314. }
  35315. goto _1
  35316. _1:
  35317. ;
  35318. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  35319. }
  35320. return libc.UintptrFromInt32(0)
  35321. }
  35322. /* Objects MT-safe for readonly access. */
  35323. func XIA__FcPatternCreate(tls *libc.TLS) (r uintptr) {
  35324. var p uintptr
  35325. _ = p
  35326. p = libc.Xmalloc(tls, uint64(24))
  35327. if !(p != 0) {
  35328. return uintptr(0)
  35329. }
  35330. libc.Xmemset(tls, p, 0, uint64(24))
  35331. (*TFcPattern)(unsafe.Pointer(p)).Fnum = 0
  35332. (*TFcPattern)(unsafe.Pointer(p)).Fsize = 0
  35333. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(libc.UintptrFromInt32(0)) - int64(p)
  35334. (*TFcRef)(unsafe.Pointer(p + 16)).Fcount = int32(1)
  35335. return p
  35336. }
  35337. var XFcPatternCreate = XIA__FcPatternCreate
  35338. func XIA__FcValueDestroy(tls *libc.TLS, _v TFcValue) {
  35339. bp := tls.Alloc(16)
  35340. defer tls.Free(16)
  35341. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  35342. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35343. case int32(_FcTypeString):
  35344. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35345. case int32(_FcTypeMatrix):
  35346. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35347. case int32(_FcTypeCharSet):
  35348. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35349. case int32(_FcTypeLangSet):
  35350. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35351. case int32(_FcTypeRange):
  35352. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35353. default:
  35354. break
  35355. }
  35356. }
  35357. var XFcValueDestroy = XIA__FcValueDestroy
  35358. func XFcValueCanonicalize(tls *libc.TLS, v uintptr) (r TFcValue) {
  35359. bp := tls.Alloc(16)
  35360. defer tls.Free(16)
  35361. var v1, v2, v3, v4 uintptr
  35362. var _ /* new at bp+0 */ TFcValue
  35363. _, _, _, _ = v1, v2, v3, v4
  35364. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  35365. case int32(_FcTypeString):
  35366. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35367. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35368. } else {
  35369. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  35370. }
  35371. *(*uintptr)(unsafe.Pointer(bp + 8)) = v1
  35372. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  35373. case int32(_FcTypeCharSet):
  35374. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35375. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35376. } else {
  35377. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  35378. }
  35379. *(*uintptr)(unsafe.Pointer(bp + 8)) = v2
  35380. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  35381. case int32(_FcTypeLangSet):
  35382. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35383. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35384. } else {
  35385. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  35386. }
  35387. *(*uintptr)(unsafe.Pointer(bp + 8)) = v3
  35388. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  35389. case int32(_FcTypeRange):
  35390. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35391. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35392. } else {
  35393. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  35394. }
  35395. *(*uintptr)(unsafe.Pointer(bp + 8)) = v4
  35396. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  35397. default:
  35398. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(v))
  35399. break
  35400. }
  35401. return *(*TFcValue)(unsafe.Pointer(bp))
  35402. }
  35403. func XIA__FcValueSave(tls *libc.TLS, _v TFcValue) (r TFcValue) {
  35404. bp := tls.Alloc(16)
  35405. defer tls.Free(16)
  35406. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  35407. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35408. case int32(_FcTypeString):
  35409. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35410. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35411. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35412. }
  35413. case int32(_FcTypeMatrix):
  35414. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcMatrixCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35415. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35416. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35417. }
  35418. case int32(_FcTypeCharSet):
  35419. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35420. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35421. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35422. }
  35423. case int32(_FcTypeLangSet):
  35424. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35425. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35426. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35427. }
  35428. case int32(_FcTypeRange):
  35429. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35430. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35431. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35432. }
  35433. default:
  35434. break
  35435. }
  35436. return *(*TFcValue)(unsafe.Pointer(bp))
  35437. }
  35438. var XFcValueSave = XIA__FcValueSave
  35439. func XFcValueListCreate(tls *libc.TLS) (r TFcValueListPtr) {
  35440. return libc.Xcalloc(tls, uint64(1), uint64(32))
  35441. }
  35442. func XFcValueListDestroy(tls *libc.TLS, l TFcValueListPtr) {
  35443. var next TFcValueListPtr
  35444. var v2 uintptr
  35445. _, _ = next, v2
  35446. for {
  35447. if !(l != 0) {
  35448. break
  35449. }
  35450. switch (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 {
  35451. case int32(_FcTypeString):
  35452. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35453. case int32(_FcTypeMatrix):
  35454. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35455. case int32(_FcTypeCharSet):
  35456. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35457. case int32(_FcTypeLangSet):
  35458. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35459. case int32(_FcTypeRange):
  35460. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35461. default:
  35462. break
  35463. }
  35464. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  35465. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35466. } else {
  35467. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  35468. }
  35469. next = v2
  35470. libc.Xfree(tls, l)
  35471. goto _1
  35472. _1:
  35473. ;
  35474. l = next
  35475. }
  35476. }
  35477. func XFcValueListPrepend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  35478. var new1 TFcValueListPtr
  35479. _ = new1
  35480. if value.Ftype1 == int32(_FcTypeVoid) {
  35481. return vallist
  35482. }
  35483. new1 = XFcValueListCreate(tls)
  35484. if !(new1 != 0) {
  35485. return vallist
  35486. }
  35487. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  35488. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  35489. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = vallist
  35490. return new1
  35491. }
  35492. func XFcValueListAppend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  35493. var last, new1 TFcValueListPtr
  35494. var v2, v3 uintptr
  35495. _, _, _, _ = last, new1, v2, v3
  35496. if value.Ftype1 == int32(_FcTypeVoid) {
  35497. return vallist
  35498. }
  35499. new1 = XFcValueListCreate(tls)
  35500. if !(new1 != 0) {
  35501. return vallist
  35502. }
  35503. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  35504. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  35505. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  35506. if vallist != 0 {
  35507. last = vallist
  35508. for {
  35509. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  35510. v2 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35511. } else {
  35512. v2 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  35513. }
  35514. if !(v2 != 0) {
  35515. break
  35516. }
  35517. goto _1
  35518. _1:
  35519. ;
  35520. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  35521. v3 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35522. } else {
  35523. v3 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  35524. }
  35525. last = v3
  35526. }
  35527. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = new1
  35528. } else {
  35529. vallist = new1
  35530. }
  35531. return vallist
  35532. }
  35533. func XFcValueListDuplicate(tls *libc.TLS, orig TFcValueListPtr) (r TFcValueListPtr) {
  35534. var l, new1, t, v2 TFcValueListPtr
  35535. var v TFcValue
  35536. var v3, v4 uintptr
  35537. _, _, _, _, _, _, _ = l, new1, t, v, v2, v3, v4
  35538. new1 = libc.UintptrFromInt32(0)
  35539. t = libc.UintptrFromInt32(0)
  35540. l = orig
  35541. for {
  35542. if !(l != libc.UintptrFromInt32(0)) {
  35543. break
  35544. }
  35545. if !(new1 != 0) {
  35546. v2 = XFcValueListCreate(tls)
  35547. new1 = v2
  35548. t = v2
  35549. } else {
  35550. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  35551. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  35552. v3 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35553. } else {
  35554. v3 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  35555. }
  35556. t = v3
  35557. }
  35558. v = XFcValueCanonicalize(tls, l+8)
  35559. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XIA__FcValueSave(tls, v)
  35560. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  35561. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  35562. goto _1
  35563. _1:
  35564. ;
  35565. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  35566. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35567. } else {
  35568. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  35569. }
  35570. l = v4
  35571. }
  35572. return new1
  35573. }
  35574. func XIA__FcValueEqual(tls *libc.TLS, _va TFcValue, _vb TFcValue) (r TFcBool) {
  35575. bp := tls.Alloc(32)
  35576. defer tls.Free(32)
  35577. *(*TFcValue)(unsafe.Pointer(bp)) = _va
  35578. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _vb
  35579. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  35580. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  35581. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  35582. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  35583. }
  35584. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeInteger) {
  35585. (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 = int32(_FcTypeDouble)
  35586. *(*float64)(unsafe.Pointer(bp + 16 + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  35587. }
  35588. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  35589. return m_FcFalse
  35590. }
  35591. }
  35592. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35593. case int32(_FcTypeUnknown):
  35594. return m_FcFalse /* don't know how to compare this object */
  35595. case int32(_FcTypeVoid):
  35596. return int32(m_FcTrue)
  35597. case int32(_FcTypeInteger):
  35598. return libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 8)) == *(*int32)(unsafe.Pointer(bp + 16 + 8)))
  35599. case int32(_FcTypeDouble):
  35600. return libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  35601. case int32(_FcTypeString):
  35602. return libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  35603. case int32(_FcTypeBool):
  35604. return libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  35605. case int32(_FcTypeMatrix):
  35606. return XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35607. case int32(_FcTypeCharSet):
  35608. return XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35609. case int32(_FcTypeFTFace):
  35610. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35611. case int32(_FcTypeLangSet):
  35612. return XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35613. case int32(_FcTypeRange):
  35614. return XFcRangeIsInRange(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35615. }
  35616. return m_FcFalse
  35617. }
  35618. var XFcValueEqual = XIA__FcValueEqual
  35619. func _FcDoubleHash(tls *libc.TLS, d float64) (r TFcChar32) {
  35620. if d < libc.Float64FromInt32(0) {
  35621. d = -d
  35622. }
  35623. if d > libc.Float64FromUint32(0xffffffff) {
  35624. d = libc.Float64FromUint32(0xffffffff)
  35625. }
  35626. return uint32(d)
  35627. }
  35628. func XFcStringHash(tls *libc.TLS, s uintptr) (r TFcChar32) {
  35629. var c, v1 TFcChar8
  35630. var h TFcChar32
  35631. var v2 uintptr
  35632. _, _, _, _ = c, h, v1, v2
  35633. h = uint32(0)
  35634. if s != 0 {
  35635. for {
  35636. v2 = s
  35637. s++
  35638. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  35639. c = v1
  35640. if !(v1 != 0) {
  35641. break
  35642. }
  35643. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32(c)
  35644. }
  35645. }
  35646. return h
  35647. }
  35648. func _FcValueHash(tls *libc.TLS, v uintptr) (r TFcChar32) {
  35649. var v1, v2, v3 uintptr
  35650. _, _, _ = v1, v2, v3
  35651. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  35652. case int32(_FcTypeUnknown):
  35653. fallthrough
  35654. case int32(_FcTypeVoid):
  35655. return uint32(0)
  35656. case int32(_FcTypeInteger):
  35657. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  35658. case int32(_FcTypeDouble):
  35659. return _FcDoubleHash(tls, *(*float64)(unsafe.Pointer(v + 8)))
  35660. case int32(_FcTypeString):
  35661. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35662. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35663. } else {
  35664. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  35665. }
  35666. return XFcStringHash(tls, v1)
  35667. case int32(_FcTypeBool):
  35668. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  35669. case int32(_FcTypeMatrix):
  35670. return _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fxx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fxy) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fyx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fyy)
  35671. case int32(_FcTypeCharSet):
  35672. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35673. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35674. } else {
  35675. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  35676. }
  35677. return libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(v2)).Fnum)
  35678. case int32(_FcTypeFTFace):
  35679. return XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Ffamily_name) ^ XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fstyle_name)
  35680. case int32(_FcTypeLangSet):
  35681. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35682. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35683. } else {
  35684. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  35685. }
  35686. return XIA__FcLangSetHash(tls, v3)
  35687. case int32(_FcTypeRange):
  35688. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(v + 8)))
  35689. }
  35690. return uint32(0)
  35691. }
  35692. func _FcValueListEqual(tls *libc.TLS, la TFcValueListPtr, lb TFcValueListPtr) (r TFcBool) {
  35693. var v1, v2 uintptr
  35694. _, _ = v1, v2
  35695. if la == lb {
  35696. return int32(m_FcTrue)
  35697. }
  35698. for la != 0 && lb != 0 {
  35699. if !(XIA__FcValueEqual(tls, (*T_FcValueList)(unsafe.Pointer(la)).Fvalue, (*T_FcValueList)(unsafe.Pointer(lb)).Fvalue) != 0) {
  35700. return m_FcFalse
  35701. }
  35702. if int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(1) != 0 {
  35703. v1 = uintptr(int64(la) + int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35704. } else {
  35705. v1 = (*T_FcValueList)(unsafe.Pointer(la)).Fnext
  35706. }
  35707. la = v1
  35708. if int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(1) != 0 {
  35709. v2 = uintptr(int64(lb) + int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35710. } else {
  35711. v2 = (*T_FcValueList)(unsafe.Pointer(lb)).Fnext
  35712. }
  35713. lb = v2
  35714. }
  35715. if la != 0 || lb != 0 {
  35716. return m_FcFalse
  35717. }
  35718. return int32(m_FcTrue)
  35719. }
  35720. func _FcValueListHash(tls *libc.TLS, l TFcValueListPtr) (r TFcChar32) {
  35721. var hash TFcChar32
  35722. var v2 uintptr
  35723. _, _ = hash, v2
  35724. hash = uint32(0)
  35725. for {
  35726. if !(l != 0) {
  35727. break
  35728. }
  35729. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcValueHash(tls, l+8)
  35730. goto _1
  35731. _1:
  35732. ;
  35733. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  35734. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35735. } else {
  35736. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  35737. }
  35738. l = v2
  35739. }
  35740. return hash
  35741. }
  35742. func _FcPatternGetCacheObject(tls *libc.TLS, p uintptr) (r uintptr) {
  35743. var v1 uintptr
  35744. _ = v1
  35745. /* We use a value to find the cache, instead of the FcPattern object
  35746. * because the pattern itself may be a cache allocation if we rewrote the path,
  35747. * so the p may not be in the cached region. */
  35748. if int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(1) != 0 {
  35749. v1 = uintptr(Tintptr_t(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)) + int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35750. } else {
  35751. v1 = (*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues
  35752. }
  35753. return v1
  35754. }
  35755. func XFcPatternCacheRewriteFile(tls *libc.TLS, p uintptr, cache uintptr, relocated_font_file uintptr) (r uintptr) {
  35756. var data, elt, elts, new_elts, new_p, new_path, new_value_list, v3 uintptr
  35757. var i, j, new_path_len, v2, v4 Tsize_t
  35758. _, _, _, _, _, _, _, _, _, _, _, _, _ = data, elt, elts, i, j, new_elts, new_p, new_path, new_path_len, new_value_list, v2, v3, v4
  35759. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35760. new_path_len = libc.Xstrlen(tls, relocated_font_file)
  35761. /* Allocate space for the patter, the PatternElt headers and
  35762. * the FC_FILE FcValueList and path that will be freed with the
  35763. * cache */
  35764. data = XFcCacheAllocate(tls, cache, uint64(24)+libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)*uint64(16)+uint64(32)+new_path_len+uint64(1))
  35765. new_p = data
  35766. data += uintptr(24)
  35767. new_elts = data
  35768. data += uintptr(libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum) * uint64(16))
  35769. new_value_list = data
  35770. data += uintptr(32)
  35771. new_path = data
  35772. *(*TFcPattern)(unsafe.Pointer(new_p)) = *(*TFcPattern)(unsafe.Pointer(p))
  35773. (*TFcPattern)(unsafe.Pointer(new_p)).Felts_offset = int64(new_elts) - int64(new_p)
  35774. /* Copy all but the FILE values from the cache */
  35775. i = uint64(0)
  35776. j = libc.Uint64FromInt32(0)
  35777. for {
  35778. if !(i < libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)) {
  35779. break
  35780. }
  35781. elt = elts + uintptr(i)*16
  35782. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(j)*16))).Fobject = (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject
  35783. if (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject != int32(_FC_FILE_OBJECT) {
  35784. v2 = j
  35785. j++
  35786. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  35787. v3 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35788. } else {
  35789. v3 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  35790. }
  35791. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v2)*16))).Fvalues = v3
  35792. } else {
  35793. v4 = j
  35794. j++
  35795. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v4)*16))).Fvalues = new_value_list
  35796. }
  35797. goto _1
  35798. _1:
  35799. ;
  35800. i++
  35801. }
  35802. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fnext = libc.UintptrFromInt32(0)
  35803. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fvalue.Ftype1 = int32(_FcTypeString)
  35804. *(*uintptr)(unsafe.Pointer(new_value_list + 8 + 8)) = new_path
  35805. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fbinding = int32(_FcValueBindingWeak)
  35806. /* Add rewritten path at the end */
  35807. libc.Xstrcpy(tls, new_path, relocated_font_file)
  35808. return new_p
  35809. }
  35810. func XIA__FcPatternDestroy(tls *libc.TLS, p uintptr) {
  35811. var elts, v7, p5 uintptr
  35812. var i, v3 int32
  35813. var v1 TFcBool
  35814. _, _, _, _, _, _ = elts, i, v1, v3, v7, p5
  35815. if !(p != 0) {
  35816. return
  35817. }
  35818. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  35819. goto _2
  35820. _2:
  35821. if v1 != 0 {
  35822. XFcCacheObjectDereference(tls, _FcPatternGetCacheObject(tls, p))
  35823. return
  35824. }
  35825. p5 = p + 16
  35826. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  35827. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  35828. goto _4
  35829. _4:
  35830. if v3 != int32(1) {
  35831. return
  35832. }
  35833. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35834. i = 0
  35835. for {
  35836. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  35837. break
  35838. }
  35839. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  35840. v7 = uintptr(Tintptr_t(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35841. } else {
  35842. v7 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  35843. }
  35844. XFcValueListDestroy(tls, v7)
  35845. goto _6
  35846. _6:
  35847. ;
  35848. i++
  35849. }
  35850. libc.Xfree(tls, elts)
  35851. libc.Xfree(tls, p)
  35852. }
  35853. var XFcPatternDestroy = XIA__FcPatternDestroy
  35854. func XIA__FcPatternObjectCount(tls *libc.TLS, pat uintptr) (r int32) {
  35855. if pat != 0 {
  35856. return (*TFcPattern)(unsafe.Pointer(pat)).Fnum
  35857. }
  35858. return 0
  35859. }
  35860. var XFcPatternObjectCount = XIA__FcPatternObjectCount
  35861. func _FcPatternObjectPosition(tls *libc.TLS, p uintptr, object TFcObject) (r int32) {
  35862. var c, high, low, mid int32
  35863. var elts uintptr
  35864. _, _, _, _, _ = c, elts, high, low, mid
  35865. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35866. low = 0
  35867. high = XIA__FcPatternObjectCount(tls, p) - int32(1)
  35868. c = int32(1)
  35869. mid = 0
  35870. for low <= high {
  35871. mid = (low + high) >> int32(1)
  35872. c = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(mid)*16))).Fobject - object
  35873. if c == 0 {
  35874. return mid
  35875. }
  35876. if c < 0 {
  35877. low = mid + int32(1)
  35878. } else {
  35879. high = mid - int32(1)
  35880. }
  35881. }
  35882. if c < 0 {
  35883. mid++
  35884. }
  35885. return -(mid + int32(1))
  35886. }
  35887. func XFcPatternPosition(tls *libc.TLS, p uintptr, object uintptr) (r int32) {
  35888. return _FcPatternObjectPosition(tls, p, XFcObjectFromName(tls, object))
  35889. }
  35890. func XFcPatternObjectFindElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  35891. var i int32
  35892. _ = i
  35893. i = _FcPatternObjectPosition(tls, p, object)
  35894. if i < 0 {
  35895. return uintptr(0)
  35896. }
  35897. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  35898. }
  35899. func XFcPatternObjectInsertElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  35900. var e, e0 uintptr
  35901. var i, s int32
  35902. _, _, _, _ = e, e0, i, s
  35903. i = _FcPatternObjectPosition(tls, p, object)
  35904. if i < 0 {
  35905. i = -i - int32(1)
  35906. /* reallocate array */
  35907. if XIA__FcPatternObjectCount(tls, p)+int32(1) >= (*TFcPattern)(unsafe.Pointer(p)).Fsize {
  35908. s = (*TFcPattern)(unsafe.Pointer(p)).Fsize + int32(16)
  35909. if (*TFcPattern)(unsafe.Pointer(p)).Fsize != 0 {
  35910. e0 = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35911. e = libc.Xrealloc(tls, e0, libc.Uint64FromInt32(s)*uint64(16))
  35912. if !(e != 0) { /* maybe it was mmapped */
  35913. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  35914. if e != 0 {
  35915. libc.Xmemcpy(tls, e, e0, libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, p))*uint64(16))
  35916. }
  35917. }
  35918. } else {
  35919. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  35920. }
  35921. if !(e != 0) {
  35922. return uintptr(m_FcFalse)
  35923. }
  35924. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(e) - int64(p)
  35925. for (*TFcPattern)(unsafe.Pointer(p)).Fsize < s {
  35926. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fobject = 0
  35927. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fvalues = libc.UintptrFromInt32(0)
  35928. (*TFcPattern)(unsafe.Pointer(p)).Fsize++
  35929. }
  35930. }
  35931. e = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35932. /* move elts up */
  35933. libc.Xmemmove(tls, e+uintptr(i)*16+uintptr(1)*16, e+uintptr(i)*16, uint64(16)*libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, p)-i))
  35934. /* bump count */
  35935. (*TFcPattern)(unsafe.Pointer(p)).Fnum++
  35936. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fobject = object
  35937. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fvalues = libc.UintptrFromInt32(0)
  35938. }
  35939. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  35940. }
  35941. func XIA__FcPatternEqual(tls *libc.TLS, pa uintptr, pb uintptr) (r TFcBool) {
  35942. bp := tls.Alloc(32)
  35943. defer tls.Free(32)
  35944. var ra, rb TFcBool
  35945. var _ /* ia at bp+0 */ TFcPatternIter
  35946. var _ /* ib at bp+16 */ TFcPatternIter
  35947. _, _ = ra, rb
  35948. if pa == pb {
  35949. return int32(m_FcTrue)
  35950. }
  35951. if XIA__FcPatternObjectCount(tls, pa) != XIA__FcPatternObjectCount(tls, pb) {
  35952. return m_FcFalse
  35953. }
  35954. XIA__FcPatternIterStart(tls, pa, bp)
  35955. XIA__FcPatternIterStart(tls, pb, bp+16)
  35956. for cond := true; cond; cond = int32(1) != 0 {
  35957. if !(XIA__FcPatternIterEqual(tls, pa, bp, pb, bp+16) != 0) {
  35958. return m_FcFalse
  35959. }
  35960. ra = XIA__FcPatternIterNext(tls, pa, bp)
  35961. rb = XIA__FcPatternIterNext(tls, pb, bp+16)
  35962. if !(ra != 0) && !(rb != 0) {
  35963. break
  35964. }
  35965. }
  35966. return int32(m_FcTrue)
  35967. }
  35968. var XFcPatternEqual = XIA__FcPatternEqual
  35969. func XIA__FcPatternHash(tls *libc.TLS, p uintptr) (r TFcChar32) {
  35970. var h TFcChar32
  35971. var i int32
  35972. var pe, v2 uintptr
  35973. _, _, _, _ = h, i, pe, v2
  35974. h = uint32(0)
  35975. pe = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35976. i = 0
  35977. for {
  35978. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  35979. break
  35980. }
  35981. if int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  35982. v2 = uintptr(Tintptr_t(pe+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35983. } else {
  35984. v2 = (*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16)).Fvalues
  35985. }
  35986. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ libc.Uint32FromInt32((*(*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16))).Fobject) ^ _FcValueListHash(tls, v2)
  35987. goto _1
  35988. _1:
  35989. ;
  35990. i++
  35991. }
  35992. return h
  35993. }
  35994. var XFcPatternHash = XIA__FcPatternHash
  35995. func XIA__FcPatternEqualSubset(tls *libc.TLS, pai uintptr, pbi uintptr, os uintptr) (r TFcBool) {
  35996. var ea, eb, v2, v3 uintptr
  35997. var i int32
  35998. var object TFcObject
  35999. _, _, _, _, _, _ = ea, eb, i, object, v2, v3
  36000. i = 0
  36001. for {
  36002. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  36003. break
  36004. }
  36005. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  36006. ea = XFcPatternObjectFindElt(tls, pai, object)
  36007. eb = XFcPatternObjectFindElt(tls, pbi, object)
  36008. if ea != 0 {
  36009. if !(eb != 0) {
  36010. return m_FcFalse
  36011. }
  36012. if int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(1) != 0 {
  36013. v2 = uintptr(int64(ea) + int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36014. } else {
  36015. v2 = (*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues
  36016. }
  36017. if int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(1) != 0 {
  36018. v3 = uintptr(int64(eb) + int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36019. } else {
  36020. v3 = (*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues
  36021. }
  36022. if !(_FcValueListEqual(tls, v2, v3) != 0) {
  36023. return m_FcFalse
  36024. }
  36025. } else {
  36026. if eb != 0 {
  36027. return m_FcFalse
  36028. }
  36029. }
  36030. goto _1
  36031. _1:
  36032. ;
  36033. i++
  36034. }
  36035. return int32(m_FcTrue)
  36036. }
  36037. var XFcPatternEqualSubset = XIA__FcPatternEqualSubset
  36038. func XFcPatternObjectListAdd(tls *libc.TLS, p uintptr, object TFcObject, _list TFcValueListPtr, append1 TFcBool) (r TFcBool) {
  36039. bp := tls.Alloc(32)
  36040. defer tls.Free(32)
  36041. *(*TFcValueListPtr)(unsafe.Pointer(bp)) = _list
  36042. var e, prev, v4 uintptr
  36043. var l TFcValueListPtr
  36044. var v1 TFcBool
  36045. _, _, _, _, _ = e, l, prev, v1, v4
  36046. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  36047. goto _2
  36048. _2:
  36049. if v1 != 0 {
  36050. goto bail0
  36051. }
  36052. /*
  36053. * Make sure the stored type is valid for built-in objects
  36054. */
  36055. l = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  36056. for {
  36057. if !(l != libc.UintptrFromInt32(0)) {
  36058. break
  36059. }
  36060. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  36061. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1035, libc.VaList(bp+16, XFcObjectName(tls, object)))
  36062. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  36063. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1097, 0)
  36064. goto bail0
  36065. }
  36066. goto _3
  36067. _3:
  36068. ;
  36069. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36070. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36071. } else {
  36072. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36073. }
  36074. l = v4
  36075. }
  36076. e = XFcPatternObjectInsertElt(tls, p, object)
  36077. if !(e != 0) {
  36078. goto bail0
  36079. }
  36080. if append1 != 0 {
  36081. prev = e + 8
  36082. for {
  36083. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  36084. break
  36085. }
  36086. goto _5
  36087. _5:
  36088. ;
  36089. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  36090. }
  36091. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  36092. } else {
  36093. prev = bp
  36094. for {
  36095. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  36096. break
  36097. }
  36098. goto _6
  36099. _6:
  36100. ;
  36101. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  36102. }
  36103. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  36104. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  36105. }
  36106. return int32(m_FcTrue)
  36107. goto bail0
  36108. bail0:
  36109. ;
  36110. return m_FcFalse
  36111. return r
  36112. }
  36113. func XFcPatternObjectAddWithBinding(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, binding TFcValueBinding, append1 TFcBool) (r TFcBool) {
  36114. bp := tls.Alloc(16)
  36115. defer tls.Free(16)
  36116. var e, prev uintptr
  36117. var new1 TFcValueListPtr
  36118. var v1 TFcBool
  36119. _, _, _, _ = e, new1, prev, v1
  36120. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  36121. goto _2
  36122. _2:
  36123. if v1 != 0 {
  36124. goto bail0
  36125. }
  36126. new1 = XFcValueListCreate(tls)
  36127. if !(new1 != 0) {
  36128. goto bail0
  36129. }
  36130. value = XIA__FcValueSave(tls, value)
  36131. if value.Ftype1 == int32(_FcTypeVoid) {
  36132. goto bail1
  36133. }
  36134. /*
  36135. * Make sure the stored type is valid for built-in objects
  36136. */
  36137. if !(XFcObjectValidType(tls, object, value.Ftype1) != 0) {
  36138. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1035, libc.VaList(bp+8, XFcObjectName(tls, object)))
  36139. XFcValuePrintFile(tls, libc.Xstderr, value)
  36140. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1097, 0)
  36141. goto bail1
  36142. }
  36143. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = value
  36144. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  36145. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  36146. e = XFcPatternObjectInsertElt(tls, p, object)
  36147. if !(e != 0) {
  36148. goto bail2
  36149. }
  36150. if append1 != 0 {
  36151. prev = e + 8
  36152. for {
  36153. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  36154. break
  36155. }
  36156. goto _3
  36157. _3:
  36158. ;
  36159. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  36160. }
  36161. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  36162. } else {
  36163. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  36164. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = new1
  36165. }
  36166. return int32(m_FcTrue)
  36167. goto bail2
  36168. bail2:
  36169. ;
  36170. XIA__FcValueDestroy(tls, value)
  36171. goto bail1
  36172. bail1:
  36173. ;
  36174. libc.Xfree(tls, new1)
  36175. goto bail0
  36176. bail0:
  36177. ;
  36178. return m_FcFalse
  36179. return r
  36180. }
  36181. func XFcPatternObjectAdd(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, append1 TFcBool) (r TFcBool) {
  36182. return XFcPatternObjectAddWithBinding(tls, p, object, value, int32(_FcValueBindingStrong), append1)
  36183. }
  36184. func XIA__FcPatternAdd(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  36185. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingStrong), append1)
  36186. }
  36187. var XFcPatternAdd = XIA__FcPatternAdd
  36188. func XIA__FcPatternAddWeak(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  36189. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingWeak), append1)
  36190. }
  36191. var XFcPatternAddWeak = XIA__FcPatternAddWeak
  36192. func XFcPatternObjectDel(tls *libc.TLS, p uintptr, object TFcObject) (r TFcBool) {
  36193. var e uintptr
  36194. _ = e
  36195. e = XFcPatternObjectFindElt(tls, p, object)
  36196. if !(e != 0) {
  36197. return m_FcFalse
  36198. }
  36199. /* destroy value */
  36200. XFcValueListDestroy(tls, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  36201. /* shuffle existing ones down */
  36202. libc.Xmemmove(tls, e, e+uintptr(1)*16, libc.Uint64FromInt64((int64(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)+uintptr(XIA__FcPatternObjectCount(tls, p))*16)-int64(e+libc.UintptrFromInt32(1)*16))/16)*uint64(16))
  36203. (*TFcPattern)(unsafe.Pointer(p)).Fnum--
  36204. e = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(XIA__FcPatternObjectCount(tls, p))*16
  36205. (*TFcPatternElt)(unsafe.Pointer(e)).Fobject = 0
  36206. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = libc.UintptrFromInt32(0)
  36207. return int32(m_FcTrue)
  36208. }
  36209. func XIA__FcPatternDel(tls *libc.TLS, p uintptr, object uintptr) (r TFcBool) {
  36210. return XFcPatternObjectDel(tls, p, XFcObjectFromName(tls, object))
  36211. }
  36212. var XFcPatternDel = XIA__FcPatternDel
  36213. func XIA__FcPatternRemove(tls *libc.TLS, p uintptr, object uintptr, id int32) (r TFcBool) {
  36214. var e, prev uintptr
  36215. var l, v2 TFcValueListPtr
  36216. _, _, _, _ = e, l, prev, v2
  36217. e = XFcPatternObjectFindElt(tls, p, XFcObjectFromName(tls, object))
  36218. if !(e != 0) {
  36219. return m_FcFalse
  36220. }
  36221. prev = e + 8
  36222. for {
  36223. v2 = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  36224. l = v2
  36225. if !(v2 != 0) {
  36226. break
  36227. }
  36228. if !(id != 0) {
  36229. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36230. (*T_FcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  36231. XFcValueListDestroy(tls, l)
  36232. if !((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != 0) {
  36233. XIA__FcPatternDel(tls, p, object)
  36234. }
  36235. return int32(m_FcTrue)
  36236. }
  36237. id--
  36238. goto _1
  36239. _1:
  36240. ;
  36241. prev = l
  36242. }
  36243. return m_FcFalse
  36244. }
  36245. var XFcPatternRemove = XIA__FcPatternRemove
  36246. func XFcPatternObjectAddInteger(tls *libc.TLS, p uintptr, object TFcObject, i int32) (r TFcBool) {
  36247. bp := tls.Alloc(16)
  36248. defer tls.Free(16)
  36249. var _ /* v at bp+0 */ TFcValue
  36250. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  36251. *(*int32)(unsafe.Pointer(bp + 8)) = i
  36252. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36253. }
  36254. func XIA__FcPatternAddInteger(tls *libc.TLS, p uintptr, object uintptr, i int32) (r TFcBool) {
  36255. return XFcPatternObjectAddInteger(tls, p, XFcObjectFromName(tls, object), i)
  36256. }
  36257. var XFcPatternAddInteger = XIA__FcPatternAddInteger
  36258. func XFcPatternObjectAddDouble(tls *libc.TLS, p uintptr, object TFcObject, d float64) (r TFcBool) {
  36259. bp := tls.Alloc(16)
  36260. defer tls.Free(16)
  36261. var _ /* v at bp+0 */ TFcValue
  36262. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  36263. *(*float64)(unsafe.Pointer(bp + 8)) = d
  36264. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36265. }
  36266. func XIA__FcPatternAddDouble(tls *libc.TLS, p uintptr, object uintptr, d float64) (r TFcBool) {
  36267. return XFcPatternObjectAddDouble(tls, p, XFcObjectFromName(tls, object), d)
  36268. }
  36269. var XFcPatternAddDouble = XIA__FcPatternAddDouble
  36270. func XFcPatternObjectAddString(tls *libc.TLS, p uintptr, object TFcObject, s uintptr) (r TFcBool) {
  36271. bp := tls.Alloc(16)
  36272. defer tls.Free(16)
  36273. var _ /* v at bp+0 */ TFcValue
  36274. if !(s != 0) {
  36275. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36276. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  36277. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36278. }
  36279. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  36280. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  36281. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36282. }
  36283. func XIA__FcPatternAddString(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  36284. return XFcPatternObjectAddString(tls, p, XFcObjectFromName(tls, object), s)
  36285. }
  36286. var XFcPatternAddString = XIA__FcPatternAddString
  36287. func XIA__FcPatternAddMatrix(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  36288. bp := tls.Alloc(16)
  36289. defer tls.Free(16)
  36290. var _ /* v at bp+0 */ TFcValue
  36291. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  36292. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  36293. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36294. }
  36295. var XFcPatternAddMatrix = XIA__FcPatternAddMatrix
  36296. func XFcPatternObjectAddBool(tls *libc.TLS, p uintptr, object TFcObject, b TFcBool) (r TFcBool) {
  36297. bp := tls.Alloc(16)
  36298. defer tls.Free(16)
  36299. var _ /* v at bp+0 */ TFcValue
  36300. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  36301. *(*TFcBool)(unsafe.Pointer(bp + 8)) = b
  36302. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36303. }
  36304. func XIA__FcPatternAddBool(tls *libc.TLS, p uintptr, object uintptr, b TFcBool) (r TFcBool) {
  36305. return XFcPatternObjectAddBool(tls, p, XFcObjectFromName(tls, object), b)
  36306. }
  36307. var XFcPatternAddBool = XIA__FcPatternAddBool
  36308. func XIA__FcPatternAddCharSet(tls *libc.TLS, p uintptr, object uintptr, c uintptr) (r TFcBool) {
  36309. bp := tls.Alloc(16)
  36310. defer tls.Free(16)
  36311. var _ /* v at bp+0 */ TFcValue
  36312. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  36313. *(*uintptr)(unsafe.Pointer(bp + 8)) = c
  36314. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36315. }
  36316. var XFcPatternAddCharSet = XIA__FcPatternAddCharSet
  36317. func XIA__FcPatternAddFTFace(tls *libc.TLS, p uintptr, object uintptr, f TFT_Face) (r TFcBool) {
  36318. bp := tls.Alloc(16)
  36319. defer tls.Free(16)
  36320. var _ /* v at bp+0 */ TFcValue
  36321. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeFTFace)
  36322. *(*uintptr)(unsafe.Pointer(bp + 8)) = f
  36323. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36324. }
  36325. var XFcPatternAddFTFace = XIA__FcPatternAddFTFace
  36326. func XIA__FcPatternAddLangSet(tls *libc.TLS, p uintptr, object uintptr, ls uintptr) (r TFcBool) {
  36327. bp := tls.Alloc(16)
  36328. defer tls.Free(16)
  36329. var _ /* v at bp+0 */ TFcValue
  36330. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  36331. *(*uintptr)(unsafe.Pointer(bp + 8)) = ls
  36332. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36333. }
  36334. var XFcPatternAddLangSet = XIA__FcPatternAddLangSet
  36335. func XFcPatternObjectAddRange(tls *libc.TLS, p uintptr, object TFcObject, r uintptr) (r1 TFcBool) {
  36336. bp := tls.Alloc(16)
  36337. defer tls.Free(16)
  36338. var _ /* v at bp+0 */ TFcValue
  36339. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  36340. *(*uintptr)(unsafe.Pointer(bp + 8)) = r
  36341. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36342. }
  36343. func XIA__FcPatternAddRange(tls *libc.TLS, p uintptr, object uintptr, r uintptr) (r1 TFcBool) {
  36344. return XFcPatternObjectAddRange(tls, p, XFcObjectFromName(tls, object), r)
  36345. }
  36346. var XFcPatternAddRange = XIA__FcPatternAddRange
  36347. func XFcPatternObjectGetWithBinding(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr, b uintptr) (r TFcResult) {
  36348. var e, v2, v3 uintptr
  36349. var l TFcValueListPtr
  36350. _, _, _, _ = e, l, v2, v3
  36351. if !(p != 0) {
  36352. return int32(_FcResultNoMatch)
  36353. }
  36354. e = XFcPatternObjectFindElt(tls, p, object)
  36355. if !(e != 0) {
  36356. return int32(_FcResultNoMatch)
  36357. }
  36358. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  36359. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36360. } else {
  36361. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  36362. }
  36363. l = v2
  36364. for {
  36365. if !(l != 0) {
  36366. break
  36367. }
  36368. if !(id != 0) {
  36369. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  36370. if b != 0 {
  36371. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  36372. }
  36373. return int32(_FcResultMatch)
  36374. }
  36375. id--
  36376. goto _1
  36377. _1:
  36378. ;
  36379. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36380. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36381. } else {
  36382. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36383. }
  36384. l = v3
  36385. }
  36386. return int32(_FcResultNoId)
  36387. }
  36388. func XFcPatternObjectGet(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr) (r TFcResult) {
  36389. return XFcPatternObjectGetWithBinding(tls, p, object, id, v, libc.UintptrFromInt32(0))
  36390. }
  36391. func XIA__FcPatternGetWithBinding(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  36392. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, b)
  36393. }
  36394. var XFcPatternGetWithBinding = XIA__FcPatternGetWithBinding
  36395. func XIA__FcPatternGet(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr) (r TFcResult) {
  36396. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, libc.UintptrFromInt32(0))
  36397. }
  36398. var XFcPatternGet = XIA__FcPatternGet
  36399. func XFcPatternObjectGetInteger(tls *libc.TLS, p uintptr, object TFcObject, id int32, i uintptr) (r1 TFcResult) {
  36400. bp := tls.Alloc(16)
  36401. defer tls.Free(16)
  36402. var r TFcResult
  36403. var _ /* v at bp+0 */ TFcValue
  36404. _ = r
  36405. r = XFcPatternObjectGet(tls, p, object, id, bp)
  36406. if r != int32(_FcResultMatch) {
  36407. return r
  36408. }
  36409. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36410. case int32(_FcTypeDouble):
  36411. *(*int32)(unsafe.Pointer(i)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  36412. case int32(_FcTypeInteger):
  36413. *(*int32)(unsafe.Pointer(i)) = *(*int32)(unsafe.Pointer(bp + 8))
  36414. default:
  36415. return int32(_FcResultTypeMismatch)
  36416. }
  36417. return int32(_FcResultMatch)
  36418. }
  36419. func XIA__FcPatternGetInteger(tls *libc.TLS, p uintptr, object uintptr, id int32, i uintptr) (r TFcResult) {
  36420. return XFcPatternObjectGetInteger(tls, p, XFcObjectFromName(tls, object), id, i)
  36421. }
  36422. var XFcPatternGetInteger = XIA__FcPatternGetInteger
  36423. func XFcPatternObjectGetDouble(tls *libc.TLS, p uintptr, object TFcObject, id int32, d uintptr) (r1 TFcResult) {
  36424. bp := tls.Alloc(16)
  36425. defer tls.Free(16)
  36426. var r TFcResult
  36427. var _ /* v at bp+0 */ TFcValue
  36428. _ = r
  36429. r = XFcPatternObjectGet(tls, p, object, id, bp)
  36430. if r != int32(_FcResultMatch) {
  36431. return r
  36432. }
  36433. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36434. case int32(_FcTypeDouble):
  36435. *(*float64)(unsafe.Pointer(d)) = *(*float64)(unsafe.Pointer(bp + 8))
  36436. case int32(_FcTypeInteger):
  36437. *(*float64)(unsafe.Pointer(d)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  36438. default:
  36439. return int32(_FcResultTypeMismatch)
  36440. }
  36441. return int32(_FcResultMatch)
  36442. }
  36443. func XIA__FcPatternGetDouble(tls *libc.TLS, p uintptr, object uintptr, id int32, d uintptr) (r TFcResult) {
  36444. return XFcPatternObjectGetDouble(tls, p, XFcObjectFromName(tls, object), id, d)
  36445. }
  36446. var XFcPatternGetDouble = XIA__FcPatternGetDouble
  36447. func XFcPatternObjectGetString(tls *libc.TLS, p uintptr, object TFcObject, id int32, s uintptr) (r1 TFcResult) {
  36448. bp := tls.Alloc(16)
  36449. defer tls.Free(16)
  36450. var r TFcResult
  36451. var _ /* v at bp+0 */ TFcValue
  36452. _ = r
  36453. r = XFcPatternObjectGet(tls, p, object, id, bp)
  36454. if r != int32(_FcResultMatch) {
  36455. return r
  36456. }
  36457. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeString) {
  36458. return int32(_FcResultTypeMismatch)
  36459. }
  36460. *(*uintptr)(unsafe.Pointer(s)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36461. return int32(_FcResultMatch)
  36462. }
  36463. func XIA__FcPatternGetString(tls *libc.TLS, p uintptr, object uintptr, id int32, s uintptr) (r TFcResult) {
  36464. return XFcPatternObjectGetString(tls, p, XFcObjectFromName(tls, object), id, s)
  36465. }
  36466. var XFcPatternGetString = XIA__FcPatternGetString
  36467. func XIA__FcPatternGetMatrix(tls *libc.TLS, p uintptr, object uintptr, id int32, m uintptr) (r1 TFcResult) {
  36468. bp := tls.Alloc(16)
  36469. defer tls.Free(16)
  36470. var r TFcResult
  36471. var _ /* v at bp+0 */ TFcValue
  36472. _ = r
  36473. r = XIA__FcPatternGet(tls, p, object, id, bp)
  36474. if r != int32(_FcResultMatch) {
  36475. return r
  36476. }
  36477. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeMatrix) {
  36478. return int32(_FcResultTypeMismatch)
  36479. }
  36480. *(*uintptr)(unsafe.Pointer(m)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36481. return int32(_FcResultMatch)
  36482. }
  36483. var XFcPatternGetMatrix = XIA__FcPatternGetMatrix
  36484. func XFcPatternObjectGetBool(tls *libc.TLS, p uintptr, object TFcObject, id int32, b uintptr) (r1 TFcResult) {
  36485. bp := tls.Alloc(16)
  36486. defer tls.Free(16)
  36487. var r TFcResult
  36488. var _ /* v at bp+0 */ TFcValue
  36489. _ = r
  36490. r = XFcPatternObjectGet(tls, p, object, id, bp)
  36491. if r != int32(_FcResultMatch) {
  36492. return r
  36493. }
  36494. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeBool) {
  36495. return int32(_FcResultTypeMismatch)
  36496. }
  36497. *(*TFcBool)(unsafe.Pointer(b)) = *(*TFcBool)(unsafe.Pointer(bp + 8))
  36498. return int32(_FcResultMatch)
  36499. }
  36500. func XIA__FcPatternGetBool(tls *libc.TLS, p uintptr, object uintptr, id int32, b uintptr) (r TFcResult) {
  36501. return XFcPatternObjectGetBool(tls, p, XFcObjectFromName(tls, object), id, b)
  36502. }
  36503. var XFcPatternGetBool = XIA__FcPatternGetBool
  36504. func XIA__FcPatternGetCharSet(tls *libc.TLS, p uintptr, object uintptr, id int32, c uintptr) (r1 TFcResult) {
  36505. bp := tls.Alloc(16)
  36506. defer tls.Free(16)
  36507. var r TFcResult
  36508. var _ /* v at bp+0 */ TFcValue
  36509. _ = r
  36510. r = XIA__FcPatternGet(tls, p, object, id, bp)
  36511. if r != int32(_FcResultMatch) {
  36512. return r
  36513. }
  36514. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeCharSet) {
  36515. return int32(_FcResultTypeMismatch)
  36516. }
  36517. *(*uintptr)(unsafe.Pointer(c)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36518. return int32(_FcResultMatch)
  36519. }
  36520. var XFcPatternGetCharSet = XIA__FcPatternGetCharSet
  36521. func XIA__FcPatternGetFTFace(tls *libc.TLS, p uintptr, object uintptr, id int32, f uintptr) (r1 TFcResult) {
  36522. bp := tls.Alloc(16)
  36523. defer tls.Free(16)
  36524. var r TFcResult
  36525. var _ /* v at bp+0 */ TFcValue
  36526. _ = r
  36527. r = XIA__FcPatternGet(tls, p, object, id, bp)
  36528. if r != int32(_FcResultMatch) {
  36529. return r
  36530. }
  36531. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeFTFace) {
  36532. return int32(_FcResultTypeMismatch)
  36533. }
  36534. *(*TFT_Face)(unsafe.Pointer(f)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36535. return int32(_FcResultMatch)
  36536. }
  36537. var XFcPatternGetFTFace = XIA__FcPatternGetFTFace
  36538. func XIA__FcPatternGetLangSet(tls *libc.TLS, p uintptr, object uintptr, id int32, ls uintptr) (r1 TFcResult) {
  36539. bp := tls.Alloc(16)
  36540. defer tls.Free(16)
  36541. var r TFcResult
  36542. var _ /* v at bp+0 */ TFcValue
  36543. _ = r
  36544. r = XIA__FcPatternGet(tls, p, object, id, bp)
  36545. if r != int32(_FcResultMatch) {
  36546. return r
  36547. }
  36548. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeLangSet) {
  36549. return int32(_FcResultTypeMismatch)
  36550. }
  36551. *(*uintptr)(unsafe.Pointer(ls)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36552. return int32(_FcResultMatch)
  36553. }
  36554. var XFcPatternGetLangSet = XIA__FcPatternGetLangSet
  36555. func XFcPatternObjectGetRange(tls *libc.TLS, p uintptr, object TFcObject, id int32, r uintptr) (r1 TFcResult) {
  36556. bp := tls.Alloc(16)
  36557. defer tls.Free(16)
  36558. var res TFcResult
  36559. var _ /* v at bp+0 */ TFcValue
  36560. _ = res
  36561. res = XFcPatternObjectGet(tls, p, object, id, bp)
  36562. if res != int32(_FcResultMatch) {
  36563. return res
  36564. }
  36565. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36566. case int32(_FcTypeRange):
  36567. *(*uintptr)(unsafe.Pointer(r)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36568. default:
  36569. return int32(_FcResultTypeMismatch)
  36570. }
  36571. return int32(_FcResultMatch)
  36572. }
  36573. func XIA__FcPatternGetRange(tls *libc.TLS, p uintptr, object uintptr, id int32, r uintptr) (r1 TFcResult) {
  36574. return XFcPatternObjectGetRange(tls, p, XFcObjectFromName(tls, object), id, r)
  36575. }
  36576. var XFcPatternGetRange = XIA__FcPatternGetRange
  36577. func XIA__FcPatternDuplicate(tls *libc.TLS, orig uintptr) (r uintptr) {
  36578. bp := tls.Alloc(16)
  36579. defer tls.Free(16)
  36580. var l TFcValueListPtr
  36581. var new1, v2 uintptr
  36582. var _ /* iter at bp+0 */ TFcPatternIter
  36583. _, _, _ = l, new1, v2
  36584. if !(orig != 0) {
  36585. return libc.UintptrFromInt32(0)
  36586. }
  36587. new1 = XIA__FcPatternCreate(tls)
  36588. if !(new1 != 0) {
  36589. goto bail0
  36590. }
  36591. XIA__FcPatternIterStart(tls, orig, bp)
  36592. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, orig, bp) != 0 {
  36593. l = XFcPatternIterGetValues(tls, orig, bp)
  36594. for {
  36595. if !(l != 0) {
  36596. break
  36597. }
  36598. if !(XFcPatternObjectAddWithBinding(tls, new1, XFcPatternIterGetObjectId(tls, orig, bp), XFcValueCanonicalize(tls, l+8), (*T_FcValueList)(unsafe.Pointer(l)).Fbinding, int32(m_FcTrue)) != 0) {
  36599. goto bail1
  36600. }
  36601. goto _1
  36602. _1:
  36603. ;
  36604. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36605. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36606. } else {
  36607. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36608. }
  36609. l = v2
  36610. }
  36611. }
  36612. return new1
  36613. goto bail1
  36614. bail1:
  36615. ;
  36616. XIA__FcPatternDestroy(tls, new1)
  36617. goto bail0
  36618. bail0:
  36619. ;
  36620. return uintptr(0)
  36621. return r
  36622. }
  36623. var XFcPatternDuplicate = XIA__FcPatternDuplicate
  36624. func XIA__FcPatternReference(tls *libc.TLS, p uintptr) {
  36625. var v1 TFcBool
  36626. var p4 uintptr
  36627. _, _ = v1, p4
  36628. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  36629. goto _2
  36630. _2:
  36631. if !(v1 != 0) {
  36632. p4 = p + 16
  36633. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  36634. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  36635. goto _3
  36636. _3:
  36637. } else {
  36638. XFcCacheObjectReference(tls, _FcPatternGetCacheObject(tls, p))
  36639. }
  36640. }
  36641. var XFcPatternReference = XIA__FcPatternReference
  36642. func XIA__FcPatternVaBuild(tls *libc.TLS, p uintptr, va Tva_list) (r uintptr) {
  36643. bp := tls.Alloc(16)
  36644. defer tls.Free(16)
  36645. var __o__, __p__, ret uintptr
  36646. var _ /* __v__ at bp+0 */ TFcValue
  36647. _, _, _ = __o__, __p__, ret
  36648. __p__ = p
  36649. if !(__p__ != 0) {
  36650. __p__ = XIA__FcPatternCreate(tls)
  36651. if !(__p__ != 0) {
  36652. goto _FcPatternVapBuild_bail0
  36653. }
  36654. }
  36655. for {
  36656. __o__ = libc.VaUintptr(&va)
  36657. if !(__o__ != 0) {
  36658. break
  36659. }
  36660. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  36661. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36662. case int32(_FcTypeUnknown):
  36663. fallthrough
  36664. case int32(_FcTypeVoid):
  36665. goto _FcPatternVapBuild_bail1
  36666. case int32(_FcTypeInteger):
  36667. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  36668. case int32(_FcTypeDouble):
  36669. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  36670. case int32(_FcTypeString):
  36671. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36672. case int32(_FcTypeBool):
  36673. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  36674. case int32(_FcTypeMatrix):
  36675. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36676. case int32(_FcTypeCharSet):
  36677. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36678. case int32(_FcTypeFTFace):
  36679. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36680. case int32(_FcTypeLangSet):
  36681. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36682. case int32(_FcTypeRange):
  36683. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36684. break
  36685. }
  36686. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  36687. goto _FcPatternVapBuild_bail1
  36688. }
  36689. goto _1
  36690. _1:
  36691. }
  36692. ret = __p__
  36693. goto _FcPatternVapBuild_return
  36694. goto _FcPatternVapBuild_bail1
  36695. _FcPatternVapBuild_bail1:
  36696. ;
  36697. if !(p != 0) {
  36698. XIA__FcPatternDestroy(tls, __p__)
  36699. }
  36700. goto _FcPatternVapBuild_bail0
  36701. _FcPatternVapBuild_bail0:
  36702. ;
  36703. ret = libc.UintptrFromInt32(0)
  36704. goto _FcPatternVapBuild_return
  36705. _FcPatternVapBuild_return:
  36706. ;
  36707. return ret
  36708. }
  36709. var XFcPatternVaBuild = XIA__FcPatternVaBuild
  36710. func XIA__FcPatternBuild(tls *libc.TLS, p uintptr, va1 uintptr) (r uintptr) {
  36711. bp := tls.Alloc(16)
  36712. defer tls.Free(16)
  36713. var __o__, __p__ uintptr
  36714. var va Tva_list
  36715. var _ /* __v__ at bp+0 */ TFcValue
  36716. _, _, _ = __o__, __p__, va
  36717. va = va1
  36718. __p__ = p
  36719. if !(__p__ != 0) {
  36720. __p__ = XIA__FcPatternCreate(tls)
  36721. if !(__p__ != 0) {
  36722. goto _FcPatternVapBuild_bail0
  36723. }
  36724. }
  36725. for {
  36726. __o__ = libc.VaUintptr(&va)
  36727. if !(__o__ != 0) {
  36728. break
  36729. }
  36730. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  36731. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36732. case int32(_FcTypeUnknown):
  36733. fallthrough
  36734. case int32(_FcTypeVoid):
  36735. goto _FcPatternVapBuild_bail1
  36736. case int32(_FcTypeInteger):
  36737. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  36738. case int32(_FcTypeDouble):
  36739. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  36740. case int32(_FcTypeString):
  36741. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36742. case int32(_FcTypeBool):
  36743. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  36744. case int32(_FcTypeMatrix):
  36745. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36746. case int32(_FcTypeCharSet):
  36747. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36748. case int32(_FcTypeFTFace):
  36749. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36750. case int32(_FcTypeLangSet):
  36751. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36752. case int32(_FcTypeRange):
  36753. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36754. break
  36755. }
  36756. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  36757. goto _FcPatternVapBuild_bail1
  36758. }
  36759. goto _1
  36760. _1:
  36761. }
  36762. p = __p__
  36763. goto _FcPatternVapBuild_return
  36764. goto _FcPatternVapBuild_bail1
  36765. _FcPatternVapBuild_bail1:
  36766. ;
  36767. if !(p != 0) {
  36768. XIA__FcPatternDestroy(tls, __p__)
  36769. }
  36770. goto _FcPatternVapBuild_bail0
  36771. _FcPatternVapBuild_bail0:
  36772. ;
  36773. p = libc.UintptrFromInt32(0)
  36774. goto _FcPatternVapBuild_return
  36775. _FcPatternVapBuild_return:
  36776. ;
  36777. _ = va
  36778. return p
  36779. }
  36780. var XFcPatternBuild = XIA__FcPatternBuild
  36781. // C documentation
  36782. //
  36783. // /*
  36784. // * Add all of the elements in 's' to 'p'
  36785. // */
  36786. func XFcPatternAppend(tls *libc.TLS, p uintptr, s uintptr) (r TFcBool) {
  36787. bp := tls.Alloc(16)
  36788. defer tls.Free(16)
  36789. var v TFcValueListPtr
  36790. var v2 uintptr
  36791. var _ /* iter at bp+0 */ TFcPatternIter
  36792. _, _ = v, v2
  36793. XIA__FcPatternIterStart(tls, s, bp)
  36794. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, s, bp) != 0 {
  36795. v = XFcPatternIterGetValues(tls, s, bp)
  36796. for {
  36797. if !(v != 0) {
  36798. break
  36799. }
  36800. if !(XFcPatternObjectAddWithBinding(tls, p, XFcPatternIterGetObjectId(tls, s, bp), XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  36801. return m_FcFalse
  36802. }
  36803. goto _1
  36804. _1:
  36805. ;
  36806. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  36807. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36808. } else {
  36809. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  36810. }
  36811. v = v2
  36812. }
  36813. }
  36814. return int32(m_FcTrue)
  36815. }
  36816. func XIA__FcPatternFilter(tls *libc.TLS, p uintptr, os uintptr) (r uintptr) {
  36817. var e, ret, v3, v4 uintptr
  36818. var i int32
  36819. var object TFcObject
  36820. var v TFcValueListPtr
  36821. _, _, _, _, _, _, _ = e, i, object, ret, v, v3, v4
  36822. if !(os != 0) {
  36823. return XIA__FcPatternDuplicate(tls, p)
  36824. }
  36825. ret = XIA__FcPatternCreate(tls)
  36826. if !(ret != 0) {
  36827. return libc.UintptrFromInt32(0)
  36828. }
  36829. i = 0
  36830. for {
  36831. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  36832. break
  36833. }
  36834. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  36835. e = XFcPatternObjectFindElt(tls, p, object)
  36836. if e != 0 {
  36837. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  36838. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36839. } else {
  36840. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  36841. }
  36842. v = v3
  36843. for {
  36844. if !(v != 0) {
  36845. break
  36846. }
  36847. if !(XFcPatternObjectAddWithBinding(tls, ret, (*TFcPatternElt)(unsafe.Pointer(e)).Fobject, XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  36848. goto bail0
  36849. }
  36850. goto _2
  36851. _2:
  36852. ;
  36853. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  36854. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36855. } else {
  36856. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  36857. }
  36858. v = v4
  36859. }
  36860. }
  36861. goto _1
  36862. _1:
  36863. ;
  36864. i++
  36865. }
  36866. return ret
  36867. goto bail0
  36868. bail0:
  36869. ;
  36870. XIA__FcPatternDestroy(tls, ret)
  36871. return libc.UintptrFromInt32(0)
  36872. }
  36873. var XFcPatternFilter = XIA__FcPatternFilter
  36874. type TFcPatternPrivateIter = struct {
  36875. Felt uintptr
  36876. Fpos int32
  36877. }
  36878. type T_FcPatternPrivateIter = TFcPatternPrivateIter
  36879. func _FcPatternIterSet(tls *libc.TLS, pat uintptr, iter uintptr) {
  36880. var v1 uintptr
  36881. _ = v1
  36882. if XIA__FcPatternObjectCount(tls, pat) > 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos < XIA__FcPatternObjectCount(tls, pat) {
  36883. v1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr((*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos)*16
  36884. } else {
  36885. v1 = libc.UintptrFromInt32(0)
  36886. }
  36887. (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Felt = v1
  36888. }
  36889. func XIA__FcPatternIterStart(tls *libc.TLS, pat uintptr, iter uintptr) {
  36890. var priv uintptr
  36891. _ = priv
  36892. priv = iter
  36893. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = 0
  36894. _FcPatternIterSet(tls, pat, priv)
  36895. }
  36896. var XFcPatternIterStart = XIA__FcPatternIterStart
  36897. func XIA__FcPatternIterNext(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  36898. var priv uintptr
  36899. _ = priv
  36900. priv = iter
  36901. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos++
  36902. if (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos >= XIA__FcPatternObjectCount(tls, pat) {
  36903. return m_FcFalse
  36904. }
  36905. _FcPatternIterSet(tls, pat, priv)
  36906. return int32(m_FcTrue)
  36907. }
  36908. var XFcPatternIterNext = XIA__FcPatternIterNext
  36909. func XIA__FcPatternIterEqual(tls *libc.TLS, p1 uintptr, i1 uintptr, p2 uintptr, i2 uintptr) (r TFcBool) {
  36910. var b1, b2 TFcBool
  36911. _, _ = b1, b2
  36912. b1 = XIA__FcPatternIterIsValid(tls, p1, i1)
  36913. b2 = XIA__FcPatternIterIsValid(tls, p2, i2)
  36914. if !(i1 != 0) && !(i2 != 0) {
  36915. return int32(m_FcTrue)
  36916. }
  36917. if !(b1 != 0) || !(b2 != 0) {
  36918. return m_FcFalse
  36919. }
  36920. if XFcPatternIterGetObjectId(tls, p1, i1) != XFcPatternIterGetObjectId(tls, p2, i2) {
  36921. return m_FcFalse
  36922. }
  36923. return _FcValueListEqual(tls, XFcPatternIterGetValues(tls, p1, i1), XFcPatternIterGetValues(tls, p2, i2))
  36924. }
  36925. var XFcPatternIterEqual = XIA__FcPatternIterEqual
  36926. func XFcPatternFindObjectIter(tls *libc.TLS, pat uintptr, iter uintptr, object TFcObject) (r TFcBool) {
  36927. var i int32
  36928. var priv uintptr
  36929. _, _ = i, priv
  36930. priv = iter
  36931. i = _FcPatternObjectPosition(tls, pat, object)
  36932. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt = libc.UintptrFromInt32(0)
  36933. if i < 0 {
  36934. return m_FcFalse
  36935. }
  36936. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = i
  36937. _FcPatternIterSet(tls, pat, priv)
  36938. return int32(m_FcTrue)
  36939. }
  36940. func XIA__FcPatternFindIter(tls *libc.TLS, pat uintptr, iter uintptr, object uintptr) (r TFcBool) {
  36941. return XFcPatternFindObjectIter(tls, pat, iter, XFcObjectFromName(tls, object))
  36942. }
  36943. var XFcPatternFindIter = XIA__FcPatternFindIter
  36944. func XIA__FcPatternIterIsValid(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  36945. var priv uintptr
  36946. _ = priv
  36947. priv = iter
  36948. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  36949. return int32(m_FcTrue)
  36950. }
  36951. return m_FcFalse
  36952. }
  36953. var XFcPatternIterIsValid = XIA__FcPatternIterIsValid
  36954. func XFcPatternIterGetObjectId(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcObject) {
  36955. var priv uintptr
  36956. _ = priv
  36957. priv = iter
  36958. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  36959. return (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fobject
  36960. }
  36961. return 0
  36962. }
  36963. func XIA__FcPatternIterGetObject(tls *libc.TLS, pat uintptr, iter uintptr) (r uintptr) {
  36964. return XFcObjectName(tls, XFcPatternIterGetObjectId(tls, pat, iter))
  36965. }
  36966. var XFcPatternIterGetObject = XIA__FcPatternIterGetObject
  36967. func XFcPatternIterGetValues(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcValueListPtr) {
  36968. var priv, v1 uintptr
  36969. _, _ = priv, v1
  36970. priv = iter
  36971. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  36972. if int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(1) != 0 {
  36973. v1 = uintptr(int64((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt) + int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36974. } else {
  36975. v1 = (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues
  36976. }
  36977. return v1
  36978. }
  36979. return libc.UintptrFromInt32(0)
  36980. }
  36981. func XIA__FcPatternIterValueCount(tls *libc.TLS, pat uintptr, iter uintptr) (r int32) {
  36982. var count int32
  36983. var l TFcValueListPtr
  36984. var v2 uintptr
  36985. _, _, _ = count, l, v2
  36986. count = 0
  36987. l = XFcPatternIterGetValues(tls, pat, iter)
  36988. for {
  36989. if !(l != 0) {
  36990. break
  36991. }
  36992. count++
  36993. goto _1
  36994. _1:
  36995. ;
  36996. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36997. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36998. } else {
  36999. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37000. }
  37001. l = v2
  37002. }
  37003. return count
  37004. }
  37005. var XFcPatternIterValueCount = XIA__FcPatternIterValueCount
  37006. func XIA__FcPatternIterGetValue(tls *libc.TLS, pat uintptr, iter uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  37007. var l TFcValueListPtr
  37008. var v2 uintptr
  37009. _, _ = l, v2
  37010. l = XFcPatternIterGetValues(tls, pat, iter)
  37011. for {
  37012. if !(l != 0) {
  37013. break
  37014. }
  37015. if id == 0 {
  37016. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  37017. if b != 0 {
  37018. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  37019. }
  37020. return int32(_FcResultMatch)
  37021. }
  37022. id--
  37023. goto _1
  37024. _1:
  37025. ;
  37026. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  37027. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37028. } else {
  37029. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37030. }
  37031. l = v2
  37032. }
  37033. return int32(_FcResultNoId)
  37034. }
  37035. var XFcPatternIterGetValue = XIA__FcPatternIterGetValue
  37036. func XFcPatternSerializeAlloc(tls *libc.TLS, serialize uintptr, pat uintptr) (r TFcBool) {
  37037. var elts, v2 uintptr
  37038. var i int32
  37039. _, _, _ = elts, i, v2
  37040. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  37041. if !(XFcSerializeAlloc(tls, serialize, pat, int32(24)) != 0) {
  37042. return m_FcFalse
  37043. }
  37044. if !(XFcSerializeAlloc(tls, serialize, elts, libc.Int32FromUint64(libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, pat))*uint64(16))) != 0) {
  37045. return m_FcFalse
  37046. }
  37047. i = 0
  37048. for {
  37049. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  37050. break
  37051. }
  37052. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  37053. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37054. } else {
  37055. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  37056. }
  37057. if !(XFcValueListSerializeAlloc(tls, serialize, v2) != 0) {
  37058. return m_FcFalse
  37059. }
  37060. goto _1
  37061. _1:
  37062. ;
  37063. i++
  37064. }
  37065. return int32(m_FcTrue)
  37066. }
  37067. func XFcPatternSerialize(tls *libc.TLS, serialize uintptr, pat uintptr) (r uintptr) {
  37068. var elts, elts_serialized, pat_serialized, values_serialized, v2 uintptr
  37069. var i int32
  37070. _, _, _, _, _, _ = elts, elts_serialized, i, pat_serialized, values_serialized, v2
  37071. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  37072. pat_serialized = XFcSerializePtr(tls, serialize, pat)
  37073. if !(pat_serialized != 0) {
  37074. return libc.UintptrFromInt32(0)
  37075. }
  37076. *(*TFcPattern)(unsafe.Pointer(pat_serialized)) = *(*TFcPattern)(unsafe.Pointer(pat))
  37077. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Fsize = XIA__FcPatternObjectCount(tls, pat)
  37078. (*TFcRef)(unsafe.Pointer(pat_serialized + 16)).Fcount = -libc.Int32FromInt32(1)
  37079. elts_serialized = XFcSerializePtr(tls, serialize, elts)
  37080. if !(elts_serialized != 0) {
  37081. return libc.UintptrFromInt32(0)
  37082. }
  37083. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Felts_offset = int64(elts_serialized) - int64(pat_serialized)
  37084. i = 0
  37085. for {
  37086. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  37087. break
  37088. }
  37089. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  37090. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37091. } else {
  37092. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  37093. }
  37094. values_serialized = XFcValueListSerialize(tls, serialize, v2)
  37095. if !(values_serialized != 0) {
  37096. return libc.UintptrFromInt32(0)
  37097. }
  37098. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fobject = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16))).Fobject
  37099. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fvalues = uintptr(int64(values_serialized) - Tintptr_t(elts_serialized+uintptr(i)*16) | libc.Int64FromInt32(1))
  37100. goto _1
  37101. _1:
  37102. ;
  37103. i++
  37104. }
  37105. if XFcDebugVal&int32(m_FC_DBG_CACHEV) != 0 {
  37106. libc.Xprintf(tls, __ccgo_ts+6385, 0)
  37107. XIA__FcPatternPrint(tls, pat)
  37108. libc.Xprintf(tls, __ccgo_ts+6399, 0)
  37109. XIA__FcPatternPrint(tls, pat_serialized)
  37110. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  37111. }
  37112. return pat_serialized
  37113. }
  37114. func XFcValueListSerializeAlloc(tls *libc.TLS, serialize uintptr, vl uintptr) (r TFcBool) {
  37115. for vl != 0 {
  37116. if !(XFcSerializeAlloc(tls, serialize, vl, int32(32)) != 0) {
  37117. return m_FcFalse
  37118. }
  37119. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  37120. case int32(_FcTypeString):
  37121. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  37122. return m_FcFalse
  37123. }
  37124. case int32(_FcTypeCharSet):
  37125. if !(XFcCharSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  37126. return m_FcFalse
  37127. }
  37128. case int32(_FcTypeLangSet):
  37129. if !(XFcLangSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  37130. return m_FcFalse
  37131. }
  37132. case int32(_FcTypeRange):
  37133. if !(XFcRangeSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  37134. return m_FcFalse
  37135. }
  37136. default:
  37137. break
  37138. }
  37139. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  37140. }
  37141. return int32(m_FcTrue)
  37142. }
  37143. func XFcValueListSerialize(tls *libc.TLS, serialize uintptr, vl uintptr) (r uintptr) {
  37144. var c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized uintptr
  37145. _, _, _, _, _, _, _ = c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized
  37146. head_serialized = libc.UintptrFromInt32(0)
  37147. prev_serialized = libc.UintptrFromInt32(0)
  37148. for vl != 0 {
  37149. vl_serialized = XFcSerializePtr(tls, serialize, vl)
  37150. if !(vl_serialized != 0) {
  37151. return libc.UintptrFromInt32(0)
  37152. }
  37153. if prev_serialized != 0 {
  37154. (*TFcValueList)(unsafe.Pointer(prev_serialized)).Fnext = uintptr(int64(vl_serialized) - int64(prev_serialized) | libc.Int64FromInt32(1))
  37155. } else {
  37156. head_serialized = vl_serialized
  37157. }
  37158. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fnext = libc.UintptrFromInt32(0)
  37159. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fvalue.Ftype1 = (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1
  37160. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  37161. case int32(_FcTypeInteger):
  37162. *(*int32)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*int32)(unsafe.Pointer(vl + 8 + 8))
  37163. case int32(_FcTypeDouble):
  37164. *(*float64)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*float64)(unsafe.Pointer(vl + 8 + 8))
  37165. case int32(_FcTypeString):
  37166. s_serialized = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  37167. if !(s_serialized != 0) {
  37168. return libc.UintptrFromInt32(0)
  37169. }
  37170. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(s_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  37171. case int32(_FcTypeBool):
  37172. *(*TFcBool)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*TFcBool)(unsafe.Pointer(vl + 8 + 8))
  37173. case int32(_FcTypeMatrix):
  37174. /* can't happen */
  37175. case int32(_FcTypeCharSet):
  37176. c_serialized = XFcCharSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  37177. if !(c_serialized != 0) {
  37178. return libc.UintptrFromInt32(0)
  37179. }
  37180. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(c_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  37181. case int32(_FcTypeFTFace):
  37182. /* can't happen */
  37183. case int32(_FcTypeLangSet):
  37184. l_serialized = XFcLangSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  37185. if !(l_serialized != 0) {
  37186. return libc.UintptrFromInt32(0)
  37187. }
  37188. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(l_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  37189. case int32(_FcTypeRange):
  37190. r_serialized = XFcRangeSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  37191. if !(r_serialized != 0) {
  37192. return libc.UintptrFromInt32(0)
  37193. }
  37194. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(r_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  37195. default:
  37196. break
  37197. }
  37198. prev_serialized = vl_serialized
  37199. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  37200. }
  37201. return head_serialized
  37202. }
  37203. func XIA__FcRangeCreateDouble(tls *libc.TLS, begin float64, end float64) (r uintptr) {
  37204. var ret uintptr
  37205. _ = ret
  37206. ret = libc.Xmalloc(tls, uint64(16))
  37207. if ret != 0 {
  37208. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = begin
  37209. (*TFcRange)(unsafe.Pointer(ret)).Fend = end
  37210. }
  37211. return ret
  37212. }
  37213. var XFcRangeCreateDouble = XIA__FcRangeCreateDouble
  37214. func XIA__FcRangeCreateInteger(tls *libc.TLS, begin TFcChar32, end TFcChar32) (r uintptr) {
  37215. var ret uintptr
  37216. _ = ret
  37217. ret = libc.Xmalloc(tls, uint64(16))
  37218. if ret != 0 {
  37219. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = float64(begin)
  37220. (*TFcRange)(unsafe.Pointer(ret)).Fend = float64(end)
  37221. }
  37222. return ret
  37223. }
  37224. var XFcRangeCreateInteger = XIA__FcRangeCreateInteger
  37225. func XIA__FcRangeDestroy(tls *libc.TLS, range1 uintptr) {
  37226. libc.Xfree(tls, range1)
  37227. }
  37228. var XFcRangeDestroy = XIA__FcRangeDestroy
  37229. func XIA__FcRangeCopy(tls *libc.TLS, range1 uintptr) (r uintptr) {
  37230. return XIA__FcRangeCreateDouble(tls, (*TFcRange)(unsafe.Pointer(range1)).Fbegin, (*TFcRange)(unsafe.Pointer(range1)).Fend)
  37231. }
  37232. var XFcRangeCopy = XIA__FcRangeCopy
  37233. func XIA__FcRangeGetDouble(tls *libc.TLS, range1 uintptr, begin uintptr, end uintptr) (r TFcBool) {
  37234. if !(range1 != 0) {
  37235. return m_FcFalse
  37236. }
  37237. if begin != 0 {
  37238. *(*float64)(unsafe.Pointer(begin)) = (*TFcRange)(unsafe.Pointer(range1)).Fbegin
  37239. }
  37240. if end != 0 {
  37241. *(*float64)(unsafe.Pointer(end)) = (*TFcRange)(unsafe.Pointer(range1)).Fend
  37242. }
  37243. return int32(m_FcTrue)
  37244. }
  37245. var XFcRangeGetDouble = XIA__FcRangeGetDouble
  37246. func XFcRangePromote(tls *libc.TLS, v float64, vbuf uintptr) (r uintptr) {
  37247. var buf uintptr
  37248. _ = buf
  37249. buf = vbuf
  37250. (*struct {
  37251. Fr TFcRange
  37252. })(unsafe.Pointer(buf)).Fr.Fbegin = v
  37253. (*struct {
  37254. Fr TFcRange
  37255. })(unsafe.Pointer(buf)).Fr.Fend = v
  37256. return buf
  37257. }
  37258. func XFcRangeIsInRange(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  37259. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fend)
  37260. }
  37261. func XFcRangeCompare(tls *libc.TLS, op TFcOp, a uintptr, b uintptr) (r TFcBool) {
  37262. switch op {
  37263. case int32(_FcOpEqual):
  37264. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin == (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend == (*TFcRange)(unsafe.Pointer(b)).Fend)
  37265. case int32(_FcOpContains):
  37266. fallthrough
  37267. case int32(_FcOpListing):
  37268. return XFcRangeIsInRange(tls, a, b)
  37269. case int32(_FcOpNotEqual):
  37270. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin != (*TFcRange)(unsafe.Pointer(b)).Fbegin || (*TFcRange)(unsafe.Pointer(a)).Fend != (*TFcRange)(unsafe.Pointer(b)).Fend)
  37271. case int32(_FcOpNotContains):
  37272. return libc.BoolInt32(!(XFcRangeIsInRange(tls, a, b) != 0))
  37273. case int32(_FcOpLess):
  37274. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend < (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  37275. case int32(_FcOpLessEqual):
  37276. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  37277. case int32(_FcOpMore):
  37278. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin > (*TFcRange)(unsafe.Pointer(b)).Fend)
  37279. case int32(_FcOpMoreEqual):
  37280. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fend)
  37281. default:
  37282. break
  37283. }
  37284. return m_FcFalse
  37285. }
  37286. func XFcRangeHash(tls *libc.TLS, r uintptr) (r1 TFcChar32) {
  37287. var b, e int32
  37288. _, _ = b, e
  37289. b = int32((*TFcRange)(unsafe.Pointer(r)).Fbegin * libc.Float64FromInt32(100))
  37290. e = int32((*TFcRange)(unsafe.Pointer(r)).Fend * libc.Float64FromInt32(100))
  37291. return libc.Uint32FromInt32(b ^ b<<int32(1) ^ e<<int32(9))
  37292. }
  37293. func XFcRangeSerializeAlloc(tls *libc.TLS, serialize uintptr, r uintptr) (r1 TFcBool) {
  37294. if !(XFcSerializeAlloc(tls, serialize, r, int32(16)) != 0) {
  37295. return m_FcFalse
  37296. }
  37297. return int32(m_FcTrue)
  37298. }
  37299. func XFcRangeSerialize(tls *libc.TLS, serialize uintptr, r uintptr) (r1 uintptr) {
  37300. var r_serialize uintptr
  37301. _ = r_serialize
  37302. r_serialize = XFcSerializePtr(tls, serialize, r)
  37303. if !(r_serialize != 0) {
  37304. return libc.UintptrFromInt32(0)
  37305. }
  37306. libc.Xmemcpy(tls, r_serialize, r, uint64(16))
  37307. return r_serialize
  37308. }
  37309. func XFcAlignSize(tls *libc.TLS, size Tintptr_t) (r Tintptr_t) {
  37310. var rem Tintptr_t
  37311. _ = rem
  37312. rem = libc.Int64FromUint64(libc.Uint64FromInt64(size) % uint64(8))
  37313. if rem != 0 {
  37314. size = Tintptr_t(uint64(size) + (libc.Uint64FromInt64(8) - libc.Uint64FromInt64(rem)))
  37315. }
  37316. return size
  37317. }
  37318. /*
  37319. * Serialization helper object -- allocate space in the
  37320. * yet-to-be-created linear array for a serialized font set
  37321. */
  37322. func XFcSerializeCreate(tls *libc.TLS) (r uintptr) {
  37323. var serialize uintptr
  37324. _ = serialize
  37325. serialize = libc.Xmalloc(tls, uint64(65552))
  37326. if !(serialize != 0) {
  37327. return libc.UintptrFromInt32(0)
  37328. }
  37329. (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize = 0
  37330. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = libc.UintptrFromInt32(0)
  37331. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = libc.UintptrFromInt32(0)
  37332. libc.Xmemset(tls, serialize+24, int32('\000'), uint64(65528))
  37333. return serialize
  37334. }
  37335. func XFcSerializeDestroy(tls *libc.TLS, serialize uintptr) {
  37336. var buck, next uintptr
  37337. var bucket Tuintptr_t
  37338. _, _, _ = buck, bucket, next
  37339. bucket = uint64(0)
  37340. for {
  37341. if !(bucket < uint64(m_FC_SERIALIZE_HASH_SIZE)) {
  37342. break
  37343. }
  37344. buck = *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8))
  37345. for {
  37346. if !(buck != 0) {
  37347. break
  37348. }
  37349. next = (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fnext
  37350. libc.Xfree(tls, buck)
  37351. goto _2
  37352. _2:
  37353. ;
  37354. buck = next
  37355. }
  37356. goto _1
  37357. _1:
  37358. ;
  37359. bucket++
  37360. }
  37361. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  37362. XFcCharSetFreezerDestroy(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer)
  37363. }
  37364. libc.Xfree(tls, serialize)
  37365. }
  37366. /*
  37367. * Allocate space for an object in the serialized array. Keep track
  37368. * of where the object is placed and only allocate one copy of each object
  37369. */
  37370. func XFcSerializeAlloc(tls *libc.TLS, serialize uintptr, object uintptr, size int32) (r TFcBool) {
  37371. var buck uintptr
  37372. var bucket Tuintptr_t
  37373. _, _ = buck, bucket
  37374. bucket = uint64(object) % uint64(m_FC_SERIALIZE_HASH_SIZE)
  37375. buck = *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8))
  37376. for {
  37377. if !(buck != 0) {
  37378. break
  37379. }
  37380. if (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fobject == object {
  37381. return int32(m_FcTrue)
  37382. }
  37383. goto _1
  37384. _1:
  37385. ;
  37386. buck = (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fnext
  37387. }
  37388. buck = libc.Xmalloc(tls, uint64(24))
  37389. if !(buck != 0) {
  37390. return m_FcFalse
  37391. }
  37392. (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fobject = object
  37393. (*TFcSerializeBucket)(unsafe.Pointer(buck)).Foffset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  37394. (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fnext = *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8))
  37395. *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8)) = buck
  37396. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  37397. return int32(m_FcTrue)
  37398. }
  37399. // C documentation
  37400. //
  37401. // /*
  37402. // * Reserve space in the serialization array
  37403. // */
  37404. func XFcSerializeReserve(tls *libc.TLS, serialize uintptr, size int32) (r Tintptr_t) {
  37405. var offset Tintptr_t
  37406. _ = offset
  37407. offset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  37408. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  37409. return offset
  37410. }
  37411. // C documentation
  37412. //
  37413. // /*
  37414. // * Given an object, return the offset in the serialized array where
  37415. // * the serialized copy of the object is stored
  37416. // */
  37417. func XFcSerializeOffset(tls *libc.TLS, serialize uintptr, object uintptr) (r Tintptr_t) {
  37418. var buck uintptr
  37419. var bucket Tuintptr_t
  37420. _, _ = buck, bucket
  37421. bucket = uint64(object) % uint64(m_FC_SERIALIZE_HASH_SIZE)
  37422. buck = *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8))
  37423. for {
  37424. if !(buck != 0) {
  37425. break
  37426. }
  37427. if (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fobject == object {
  37428. return (*TFcSerializeBucket)(unsafe.Pointer(buck)).Foffset
  37429. }
  37430. goto _1
  37431. _1:
  37432. ;
  37433. buck = (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fnext
  37434. }
  37435. return 0
  37436. }
  37437. // C documentation
  37438. //
  37439. // /*
  37440. // * Given a cache and an object, return a pointer to where
  37441. // * the serialized copy of the object is stored
  37442. // */
  37443. func XFcSerializePtr(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  37444. var offset Tintptr_t
  37445. _ = offset
  37446. offset = XFcSerializeOffset(tls, serialize, object)
  37447. if !(offset != 0) {
  37448. return libc.UintptrFromInt32(0)
  37449. }
  37450. return (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear + uintptr(offset)
  37451. }
  37452. func XFcStrSerializeAlloc(tls *libc.TLS, serialize uintptr, str uintptr) (r TFcBool) {
  37453. return XFcSerializeAlloc(tls, serialize, str, libc.Int32FromUint64(libc.Xstrlen(tls, str)+uint64(1)))
  37454. }
  37455. func XFcStrSerialize(tls *libc.TLS, serialize uintptr, str uintptr) (r uintptr) {
  37456. var str_serialize uintptr
  37457. _ = str_serialize
  37458. str_serialize = XFcSerializePtr(tls, serialize, str)
  37459. if !(str_serialize != 0) {
  37460. return libc.UintptrFromInt32(0)
  37461. }
  37462. libc.Xstrcpy(tls, str_serialize, str)
  37463. return str_serialize
  37464. }
  37465. const m_CANBSIZ = 255
  37466. const m_DEV_BSIZE = 512
  37467. const m_FC_ARCH_ENDIAN1 = "be"
  37468. const m_FC_DIR_SEPARATOR1 = 47
  37469. const m_FIOASYNC = 0x5452
  37470. const m_FIOCLEX = 0x5451
  37471. const m_FIOGETOWN = 0x8903
  37472. const m_FIONBIO = 0x5421
  37473. const m_FIONCLEX = 0x5450
  37474. const m_FIONREAD = 0x541B
  37475. const m_FIOSETOWN = 0x8901
  37476. const m_MAXHOSTNAMELEN = 64
  37477. const m_MAXNAMLEN = 255
  37478. const m_MAXPATHLEN = 4096
  37479. const m_MAXSYMLINKS = 20
  37480. const m_MNT_DETACH = 2
  37481. const m_MNT_EXPIRE = 4
  37482. const m_MNT_FORCE = 1
  37483. const m_MS_BIND = 4096
  37484. const m_MS_DIRSYNC = 128
  37485. const m_MS_MANDLOCK = 64
  37486. const m_MS_MGC_MSK = 0xffff0000
  37487. const m_MS_MGC_VAL = 0xc0ed0000
  37488. const m_MS_MOVE = 8192
  37489. const m_MS_NOATIME = 1024
  37490. const m_MS_NODEV = 4
  37491. const m_MS_NODIRATIME = 2048
  37492. const m_MS_NOEXEC = 8
  37493. const m_MS_NOSUID = 2
  37494. const m_MS_NOSYMFOLLOW = 256
  37495. const m_MS_RDONLY = 1
  37496. const m_MS_REC = 16384
  37497. const m_MS_REMOUNT = 32
  37498. const m_MS_SILENT = 32768
  37499. const m_MS_SYNCHRONOUS = 16
  37500. const m_NBBY = 8
  37501. const m_NCARGS = 131072
  37502. const m_NGROUPS = 32
  37503. const m_NOFILE = 256
  37504. const m_N_6PACK = 7
  37505. const m_N_AX25 = 5
  37506. const m_N_CAIF = 20
  37507. const m_N_GIGASET_M101 = 16
  37508. const m_N_GSM0710 = 21
  37509. const m_N_HCI = 15
  37510. const m_N_HDLC = 13
  37511. const m_N_IRDA = 11
  37512. const m_N_MASC = 8
  37513. const m_N_MOUSE = 2
  37514. const m_N_NCI = 25
  37515. const m_N_NULL = 27
  37516. const m_N_PPP = 3
  37517. const m_N_PPS = 18
  37518. const m_N_PROFIBUS_FDL = 10
  37519. const m_N_R3964 = 9
  37520. const m_N_SLCAN = 17
  37521. const m_N_SLIP = 1
  37522. const m_N_SMSBLOCK = 12
  37523. const m_N_SPEAKUP = 26
  37524. const m_N_STRIP = 4
  37525. const m_N_SYNC_PPP = 14
  37526. const m_N_TI_WL = 22
  37527. const m_N_TRACEROUTER = 24
  37528. const m_N_TRACESINK = 23
  37529. const m_N_TTY = 0
  37530. const m_N_V253 = 19
  37531. const m_N_X25 = 6
  37532. const m_O_CLOEXEC2 = 02000000
  37533. const m_O_CREAT1 = 0100
  37534. const m_O_LARGEFILE2 = 0100000
  37535. const m_O_RDONLY2 = 0
  37536. const m_PRIO_MAX = 20
  37537. const m_PRIO_PGRP = 1
  37538. const m_PRIO_PROCESS = 0
  37539. const m_PRIO_USER = 2
  37540. const m_RLIMIT_AS = 9
  37541. const m_RLIMIT_CORE = 4
  37542. const m_RLIMIT_CPU = 0
  37543. const m_RLIMIT_DATA = 2
  37544. const m_RLIMIT_FSIZE = 1
  37545. const m_RLIMIT_LOCKS = 10
  37546. const m_RLIMIT_MEMLOCK = 8
  37547. const m_RLIMIT_MSGQUEUE = 12
  37548. const m_RLIMIT_NICE = 13
  37549. const m_RLIMIT_NLIMITS = 16
  37550. const m_RLIMIT_NOFILE = 7
  37551. const m_RLIMIT_NPROC = 6
  37552. const m_RLIMIT_RSS = 5
  37553. const m_RLIMIT_RTPRIO = 14
  37554. const m_RLIMIT_RTTIME = 15
  37555. const m_RLIMIT_SIGPENDING = 11
  37556. const m_RLIMIT_STACK = 3
  37557. const m_RLIM_NLIMITS = "RLIMIT_NLIMITS"
  37558. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  37559. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  37560. const m_RUSAGE_SELF = 0
  37561. const m_RUSAGE_THREAD = 1
  37562. const m_SIOCADDDLCI = 0x8980
  37563. const m_SIOCADDMULTI = 0x8931
  37564. const m_SIOCADDRT = 0x890B
  37565. const m_SIOCATMARK = 0x8905
  37566. const m_SIOCDARP = 0x8953
  37567. const m_SIOCDELDLCI = 0x8981
  37568. const m_SIOCDELMULTI = 0x8932
  37569. const m_SIOCDELRT = 0x890C
  37570. const m_SIOCDEVPRIVATE = 0x89F0
  37571. const m_SIOCDIFADDR = 0x8936
  37572. const m_SIOCDRARP = 0x8960
  37573. const m_SIOCGARP = 0x8954
  37574. const m_SIOCGIFADDR = 0x8915
  37575. const m_SIOCGIFBR = 0x8940
  37576. const m_SIOCGIFBRDADDR = 0x8919
  37577. const m_SIOCGIFCONF = 0x8912
  37578. const m_SIOCGIFCOUNT = 0x8938
  37579. const m_SIOCGIFDSTADDR = 0x8917
  37580. const m_SIOCGIFENCAP = 0x8925
  37581. const m_SIOCGIFFLAGS = 0x8913
  37582. const m_SIOCGIFHWADDR = 0x8927
  37583. const m_SIOCGIFINDEX = 0x8933
  37584. const m_SIOCGIFMAP = 0x8970
  37585. const m_SIOCGIFMEM = 0x891f
  37586. const m_SIOCGIFMETRIC = 0x891d
  37587. const m_SIOCGIFMTU = 0x8921
  37588. const m_SIOCGIFNAME = 0x8910
  37589. const m_SIOCGIFNETMASK = 0x891b
  37590. const m_SIOCGIFPFLAGS = 0x8935
  37591. const m_SIOCGIFSLAVE = 0x8929
  37592. const m_SIOCGIFTXQLEN = 0x8942
  37593. const m_SIOCGPGRP = 0x8904
  37594. const m_SIOCGRARP = 0x8961
  37595. const m_SIOCGSTAMP = 0x8906
  37596. const m_SIOCGSTAMPNS = 0x8907
  37597. const m_SIOCPROTOPRIVATE = 0x89E0
  37598. const m_SIOCRTMSG = 0x890D
  37599. const m_SIOCSARP = 0x8955
  37600. const m_SIOCSIFADDR = 0x8916
  37601. const m_SIOCSIFBR = 0x8941
  37602. const m_SIOCSIFBRDADDR = 0x891a
  37603. const m_SIOCSIFDSTADDR = 0x8918
  37604. const m_SIOCSIFENCAP = 0x8926
  37605. const m_SIOCSIFFLAGS = 0x8914
  37606. const m_SIOCSIFHWADDR = 0x8924
  37607. const m_SIOCSIFHWBROADCAST = 0x8937
  37608. const m_SIOCSIFLINK = 0x8911
  37609. const m_SIOCSIFMAP = 0x8971
  37610. const m_SIOCSIFMEM = 0x8920
  37611. const m_SIOCSIFMETRIC = 0x891e
  37612. const m_SIOCSIFMTU = 0x8922
  37613. const m_SIOCSIFNAME = 0x8923
  37614. const m_SIOCSIFNETMASK = 0x891c
  37615. const m_SIOCSIFPFLAGS = 0x8934
  37616. const m_SIOCSIFSLAVE = 0x8930
  37617. const m_SIOCSIFTXQLEN = 0x8943
  37618. const m_SIOCSPGRP = 0x8902
  37619. const m_SIOCSRARP = 0x8962
  37620. const m_SIOGIFINDEX = "SIOCGIFINDEX"
  37621. const m_ST_APPEND = 256
  37622. const m_ST_IMMUTABLE = 512
  37623. const m_ST_MANDLOCK = 64
  37624. const m_ST_NOATIME = 1024
  37625. const m_ST_NODEV = 4
  37626. const m_ST_NODIRATIME = 2048
  37627. const m_ST_NOEXEC = 8
  37628. const m_ST_NOSUID = 2
  37629. const m_ST_RDONLY = 1
  37630. const m_ST_RELATIME = 4096
  37631. const m_ST_SYNCHRONOUS = 16
  37632. const m_ST_WRITE = 128
  37633. const m_S_IFDIR3 = 16384
  37634. const m_S_IFMT3 = 61440
  37635. const m_TCFLSH = 0x540B
  37636. const m_TCGETA = 0x5405
  37637. const m_TCGETS = 0x5401
  37638. const m_TCGETX = 0x5432
  37639. const m_TCSBRK = 0x5409
  37640. const m_TCSBRKP = 0x5425
  37641. const m_TCSETA = 0x5406
  37642. const m_TCSETAF = 0x5408
  37643. const m_TCSETAW = 0x5407
  37644. const m_TCSETS = 0x5402
  37645. const m_TCSETSF = 0x5404
  37646. const m_TCSETSW = 0x5403
  37647. const m_TCSETX = 0x5433
  37648. const m_TCSETXF = 0x5434
  37649. const m_TCSETXW = 0x5435
  37650. const m_TCXONC = 0x540A
  37651. const m_TIOCCBRK = 0x5428
  37652. const m_TIOCCONS = 0x541D
  37653. const m_TIOCEXCL = 0x540C
  37654. const m_TIOCGDEV = 0x80045432
  37655. const m_TIOCGETD = 0x5424
  37656. const m_TIOCGEXCL = 0x80045440
  37657. const m_TIOCGICOUNT = 0x545D
  37658. const m_TIOCGISO7816 = 0x80285442
  37659. const m_TIOCGLCKTRMIOS = 0x5456
  37660. const m_TIOCGPGRP = 0x540F
  37661. const m_TIOCGPKT = 0x80045438
  37662. const m_TIOCGPTLCK = 0x80045439
  37663. const m_TIOCGPTN = 0x80045430
  37664. const m_TIOCGPTPEER = 0x5441
  37665. const m_TIOCGRS485 = 0x542E
  37666. const m_TIOCGSERIAL = 0x541E
  37667. const m_TIOCGSID = 0x5429
  37668. const m_TIOCGSOFTCAR = 0x5419
  37669. const m_TIOCGWINSZ = 0x5413
  37670. const m_TIOCINQ = "FIONREAD"
  37671. const m_TIOCLINUX = 0x541C
  37672. const m_TIOCMBIC = 0x5417
  37673. const m_TIOCMBIS = 0x5416
  37674. const m_TIOCMGET = 0x5415
  37675. const m_TIOCMIWAIT = 0x545C
  37676. const m_TIOCMSET = 0x5418
  37677. const m_TIOCM_CAR = 0x040
  37678. const m_TIOCM_CD = "TIOCM_CAR"
  37679. const m_TIOCM_CTS = 0x020
  37680. const m_TIOCM_DSR = 0x100
  37681. const m_TIOCM_DTR = 0x002
  37682. const m_TIOCM_LE = 0x001
  37683. const m_TIOCM_LOOP = 0x8000
  37684. const m_TIOCM_OUT1 = 0x2000
  37685. const m_TIOCM_OUT2 = 0x4000
  37686. const m_TIOCM_RI = "TIOCM_RNG"
  37687. const m_TIOCM_RNG = 0x080
  37688. const m_TIOCM_RTS = 0x004
  37689. const m_TIOCM_SR = 0x010
  37690. const m_TIOCM_ST = 0x008
  37691. const m_TIOCNOTTY = 0x5422
  37692. const m_TIOCNXCL = 0x540D
  37693. const m_TIOCOUTQ = 0x5411
  37694. const m_TIOCPKT = 0x5420
  37695. const m_TIOCPKT_DATA = 0
  37696. const m_TIOCPKT_DOSTOP = 32
  37697. const m_TIOCPKT_FLUSHREAD = 1
  37698. const m_TIOCPKT_FLUSHWRITE = 2
  37699. const m_TIOCPKT_IOCTL = 64
  37700. const m_TIOCPKT_NOSTOP = 16
  37701. const m_TIOCPKT_START = 8
  37702. const m_TIOCPKT_STOP = 4
  37703. const m_TIOCSBRK = 0x5427
  37704. const m_TIOCSCTTY = 0x540E
  37705. const m_TIOCSERCONFIG = 0x5453
  37706. const m_TIOCSERGETLSR = 0x5459
  37707. const m_TIOCSERGETMULTI = 0x545A
  37708. const m_TIOCSERGSTRUCT = 0x5458
  37709. const m_TIOCSERGWILD = 0x5454
  37710. const m_TIOCSERSETMULTI = 0x545B
  37711. const m_TIOCSERSWILD = 0x5455
  37712. const m_TIOCSER_TEMT = 1
  37713. const m_TIOCSETD = 0x5423
  37714. const m_TIOCSIG = 0x40045436
  37715. const m_TIOCSISO7816 = 0xc0285443
  37716. const m_TIOCSLCKTRMIOS = 0x5457
  37717. const m_TIOCSPGRP = 0x5410
  37718. const m_TIOCSPTLCK = 0x40045431
  37719. const m_TIOCSRS485 = 0x542F
  37720. const m_TIOCSSERIAL = 0x541F
  37721. const m_TIOCSSOFTCAR = 0x541A
  37722. const m_TIOCSTI = 0x5412
  37723. const m_TIOCSWINSZ = 0x5414
  37724. const m_TIOCVHANGUP = 0x5437
  37725. const m_UMOUNT_NOFOLLOW = 8
  37726. const m__IOC_NONE = 0
  37727. const m__IOC_READ = 2
  37728. const m__IOC_WRITE = 1
  37729. const m_prlimit64 = "prlimit"
  37730. type Tstatvfs = struct {
  37731. Ff_bsize uint64
  37732. Ff_frsize uint64
  37733. Ff_blocks Tfsblkcnt_t
  37734. Ff_bfree Tfsblkcnt_t
  37735. Ff_bavail Tfsblkcnt_t
  37736. Ff_files Tfsfilcnt_t
  37737. Ff_ffree Tfsfilcnt_t
  37738. Ff_favail Tfsfilcnt_t
  37739. Ff_fsid uint64
  37740. Ff_flag uint64
  37741. Ff_namemax uint64
  37742. Ff_type uint32
  37743. F__reserved [5]int32
  37744. }
  37745. type Tfsid_t = struct {
  37746. F__val [2]int32
  37747. }
  37748. type t__fsid_t = Tfsid_t
  37749. type Tstatfs = struct {
  37750. Ff_type uint32
  37751. Ff_bsize uint32
  37752. Ff_blocks Tfsblkcnt_t
  37753. Ff_bfree Tfsblkcnt_t
  37754. Ff_bavail Tfsblkcnt_t
  37755. Ff_files Tfsfilcnt_t
  37756. Ff_ffree Tfsfilcnt_t
  37757. Ff_fsid Tfsid_t
  37758. Ff_namelen uint32
  37759. Ff_frsize uint32
  37760. Ff_flags uint32
  37761. Ff_spare [4]uint32
  37762. }
  37763. type Trlim_t = uint64
  37764. type Trlimit = struct {
  37765. Frlim_cur Trlim_t
  37766. Frlim_max Trlim_t
  37767. }
  37768. type Trusage = struct {
  37769. Fru_utime Ttimeval
  37770. Fru_stime Ttimeval
  37771. Fru_maxrss int64
  37772. Fru_ixrss int64
  37773. Fru_idrss int64
  37774. Fru_isrss int64
  37775. Fru_minflt int64
  37776. Fru_majflt int64
  37777. Fru_nswap int64
  37778. Fru_inblock int64
  37779. Fru_oublock int64
  37780. Fru_msgsnd int64
  37781. Fru_msgrcv int64
  37782. Fru_nsignals int64
  37783. Fru_nvcsw int64
  37784. Fru_nivcsw int64
  37785. F__reserved [16]int64
  37786. }
  37787. type Twinsize = struct {
  37788. Fws_row uint16
  37789. Fws_col uint16
  37790. Fws_xpixel uint16
  37791. Fws_ypixel uint16
  37792. }
  37793. func XFcStat(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  37794. return libc.Xstat(tls, file, statb)
  37795. }
  37796. /* Adler-32 checksum implementation */
  37797. type TAdler32 = struct {
  37798. Fa int32
  37799. Fb int32
  37800. }
  37801. func _Adler32Init(tls *libc.TLS, ctx uintptr) {
  37802. (*TAdler32)(unsafe.Pointer(ctx)).Fa = int32(1)
  37803. (*TAdler32)(unsafe.Pointer(ctx)).Fb = 0
  37804. }
  37805. func _Adler32Update(tls *libc.TLS, ctx uintptr, data uintptr, data_len int32) {
  37806. var v1 int32
  37807. var v2 uintptr
  37808. _, _ = v1, v2
  37809. for {
  37810. v1 = data_len
  37811. data_len--
  37812. if !(v1 != 0) {
  37813. break
  37814. }
  37815. v2 = data
  37816. data++
  37817. (*TAdler32)(unsafe.Pointer(ctx)).Fa = ((*TAdler32)(unsafe.Pointer(ctx)).Fa + libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v2)))) % int32(65521)
  37818. (*TAdler32)(unsafe.Pointer(ctx)).Fb = ((*TAdler32)(unsafe.Pointer(ctx)).Fb + (*TAdler32)(unsafe.Pointer(ctx)).Fa) % int32(65521)
  37819. }
  37820. }
  37821. func _Adler32Finish(tls *libc.TLS, ctx uintptr) (r int32) {
  37822. return (*TAdler32)(unsafe.Pointer(ctx)).Fa + (*TAdler32)(unsafe.Pointer(ctx)).Fb<<int32(16)
  37823. }
  37824. // C documentation
  37825. //
  37826. // /* dirent.d_type can be relied upon on FAT filesystem */
  37827. func _FcDirChecksumScandirFilter(tls *libc.TLS, entry uintptr) (r TFcBool) {
  37828. return libc.BoolInt32(libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(entry)).Fd_type) != int32(m_DT_DIR))
  37829. }
  37830. func _FcDirChecksumScandirSorter(tls *libc.TLS, lhs uintptr, rhs uintptr) (r int32) {
  37831. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(lhs))+19, *(*uintptr)(unsafe.Pointer(rhs))+19)
  37832. }
  37833. func _free_dirent(tls *libc.TLS, p uintptr) {
  37834. var x uintptr
  37835. _ = x
  37836. x = p
  37837. for {
  37838. if !(*(*uintptr)(unsafe.Pointer(x)) != libc.UintptrFromInt32(0)) {
  37839. break
  37840. }
  37841. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(x)))
  37842. goto _1
  37843. _1:
  37844. ;
  37845. x += 8
  37846. }
  37847. libc.Xfree(tls, p)
  37848. }
  37849. func XFcScandir(tls *libc.TLS, dirp uintptr, namelist uintptr, filter uintptr, compar uintptr) (r int32) {
  37850. var d, dent, dlist, dlp, p, v1 uintptr
  37851. var dentlen, lsize, n, v2 Tsize_t
  37852. _, _, _, _, _, _, _, _, _, _ = d, dent, dentlen, dlist, dlp, lsize, n, p, v1, v2
  37853. lsize = uint64(128)
  37854. n = uint64(0)
  37855. d = libc.Xopendir(tls, dirp)
  37856. if !(d != 0) {
  37857. return -int32(1)
  37858. }
  37859. dlist = libc.Xmalloc(tls, uint64(8)*lsize)
  37860. if !(dlist != 0) {
  37861. libc.Xclosedir(tls, d)
  37862. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  37863. return -int32(1)
  37864. }
  37865. *(*uintptr)(unsafe.Pointer(dlist)) = libc.UintptrFromInt32(0)
  37866. for {
  37867. v1 = libc.Xreaddir(tls, d)
  37868. dent = v1
  37869. if !(v1 != 0) {
  37870. break
  37871. }
  37872. if !(filter != 0) || (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{filter})))(tls, dent) != 0 {
  37873. dentlen = libc.Uint64FromInt64(Tintptr_t(dent+19)-int64(dent)) + libc.Xstrlen(tls, dent+19) + uint64(1)
  37874. dentlen = (dentlen + libc.Uint64FromInt32(m_ALIGNOF_VOID_P) - libc.Uint64FromInt32(1)) & libc.Uint64FromInt32(^(libc.Int32FromInt32(m_ALIGNOF_VOID_P) - libc.Int32FromInt32(1)))
  37875. p = libc.Xmalloc(tls, dentlen)
  37876. if !(p != 0) {
  37877. _free_dirent(tls, dlist)
  37878. libc.Xclosedir(tls, d)
  37879. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  37880. return -int32(1)
  37881. }
  37882. libc.Xmemcpy(tls, p, dent, dentlen)
  37883. if n+uint64(1) >= lsize {
  37884. lsize += uint64(128)
  37885. dlp = libc.Xrealloc(tls, dlist, uint64(8)*lsize)
  37886. if !(dlp != 0) {
  37887. libc.Xfree(tls, p)
  37888. _free_dirent(tls, dlist)
  37889. libc.Xclosedir(tls, d)
  37890. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  37891. return -int32(1)
  37892. }
  37893. dlist = dlp
  37894. }
  37895. v2 = n
  37896. n++
  37897. *(*uintptr)(unsafe.Pointer(dlist + uintptr(v2)*8)) = p
  37898. *(*uintptr)(unsafe.Pointer(dlist + uintptr(n)*8)) = libc.UintptrFromInt32(0)
  37899. }
  37900. }
  37901. libc.Xclosedir(tls, d)
  37902. libc.Xqsort(tls, dlist, n, uint64(8), compar)
  37903. *(*uintptr)(unsafe.Pointer(namelist)) = dlist
  37904. return libc.Int32FromUint64(n)
  37905. }
  37906. func _FcDirChecksum1(tls *libc.TLS, dir uintptr, checksum uintptr) (r int32) {
  37907. bp := tls.Alloc(176)
  37908. defer tls.Free(176)
  37909. var dlen, len1 Tsize_t
  37910. var f uintptr
  37911. var n, ret, v1 int32
  37912. var _ /* ctx at bp+0 */ TAdler32
  37913. var _ /* dtype at bp+16 */ int32
  37914. var _ /* files at bp+8 */ uintptr
  37915. var _ /* statb at bp+24 */ Tstat
  37916. _, _, _, _, _, _ = dlen, f, len1, n, ret, v1
  37917. ret = 0
  37918. len1 = libc.Xstrlen(tls, dir)
  37919. _Adler32Init(tls, bp)
  37920. n = XFcScandir(tls, dir, bp+8, __ccgo_fp(_FcDirChecksumScandirFilter), __ccgo_fp(_FcDirChecksumScandirSorter))
  37921. if n == -int32(1) {
  37922. return -int32(1)
  37923. }
  37924. for {
  37925. v1 = n
  37926. n--
  37927. if !(v1 != 0) {
  37928. break
  37929. }
  37930. dlen = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19)
  37931. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))).Fd_type)
  37932. if *(*int32)(unsafe.Pointer(bp + 16)) == m_DT_UNKNOWN {
  37933. f = libc.Xmalloc(tls, len1+uint64(1)+dlen+uint64(1))
  37934. if !(f != 0) {
  37935. ret = -int32(1)
  37936. goto bail
  37937. }
  37938. libc.Xmemcpy(tls, f, dir, len1)
  37939. *(*uint8)(unsafe.Pointer(f + uintptr(len1))) = uint8('/')
  37940. libc.Xmemcpy(tls, f+uintptr(len1+uint64(1)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19, dlen)
  37941. *(*uint8)(unsafe.Pointer(f + uintptr(len1+uint64(1)+dlen))) = uint8(0)
  37942. if libc.Xlstat(tls, f, bp+24) < 0 {
  37943. ret = -int32(1)
  37944. libc.Xfree(tls, f)
  37945. goto bail
  37946. }
  37947. if (*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode&uint32(m_S_IFMT3) == uint32(m_S_IFDIR3) {
  37948. libc.Xfree(tls, f)
  37949. goto bail
  37950. }
  37951. libc.Xfree(tls, f)
  37952. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint32((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)
  37953. }
  37954. _Adler32Update(tls, bp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19, libc.Int32FromUint64(dlen+uint64(1)))
  37955. _Adler32Update(tls, bp, bp+16, int32(4))
  37956. goto bail
  37957. bail:
  37958. ;
  37959. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))
  37960. }
  37961. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  37962. if ret == -int32(1) {
  37963. return -int32(1)
  37964. }
  37965. *(*Ttime_t)(unsafe.Pointer(checksum)) = int64(_Adler32Finish(tls, bp))
  37966. return 0
  37967. }
  37968. func XFcStatChecksum(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  37969. if XFcStat(tls, file, statb) == -int32(1) {
  37970. return -int32(1)
  37971. }
  37972. /* We have a workaround of the broken stat() in FcStat() for Win32.
  37973. * No need to do something further more.
  37974. */
  37975. if XFcIsFsMtimeBroken(tls, file) != 0 {
  37976. if _FcDirChecksum1(tls, file, statb+72) == -int32(1) {
  37977. return -int32(1)
  37978. }
  37979. }
  37980. return 0
  37981. }
  37982. func _FcFStatFs(tls *libc.TLS, fd int32, statb uintptr) (r int32) {
  37983. bp := tls.Alloc(96)
  37984. defer tls.Free(96)
  37985. var flag TFcBool
  37986. var p uintptr
  37987. var ret, v1 int32
  37988. var _ /* buf at bp+0 */ Tstatfs
  37989. _, _, _, _ = flag, p, ret, v1
  37990. p = libc.UintptrFromInt32(0)
  37991. ret = -int32(1)
  37992. flag = m_FcFalse
  37993. libc.Xmemset(tls, statb, 0, uint64(8))
  37994. v1 = libc.Xfstatfs(tls, fd, bp)
  37995. ret = v1
  37996. if v1 == 0 {
  37997. switch (*(*Tstatfs)(unsafe.Pointer(bp))).Ff_type {
  37998. case uint32(0x6969): /* nfs */
  37999. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  38000. case uint32(0x4d44): /* fat */
  38001. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  38002. default:
  38003. break
  38004. }
  38005. return ret
  38006. }
  38007. if p != 0 {
  38008. if !(flag != 0) && libc.Xstrcmp(tls, p, __ccgo_ts+6420) == 0 {
  38009. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  38010. }
  38011. if libc.Xstrcmp(tls, p, __ccgo_ts+6424) == 0 || libc.Xstrcmp(tls, p, __ccgo_ts+6432) == 0 {
  38012. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  38013. }
  38014. }
  38015. return ret
  38016. }
  38017. func XFcIsFsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  38018. bp := tls.Alloc(16)
  38019. defer tls.Free(16)
  38020. var _ /* statb at bp+0 */ TFcStatFS
  38021. if _FcFStatFs(tls, fd, bp) < 0 {
  38022. return int32(m_FcTrue)
  38023. }
  38024. return libc.BoolInt32(!((*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_remote_fs != 0))
  38025. }
  38026. func XFcIsFsMtimeBroken(tls *libc.TLS, dir uintptr) (r TFcBool) {
  38027. bp := tls.Alloc(16)
  38028. defer tls.Free(16)
  38029. var fd, ret int32
  38030. var _ /* statb at bp+0 */ TFcStatFS
  38031. _, _ = fd, ret
  38032. fd = XFcOpen(tls, dir, m_O_RDONLY2, 0)
  38033. if fd != -int32(1) {
  38034. ret = _FcFStatFs(tls, fd, bp)
  38035. libc.Xclose(tls, fd)
  38036. if ret < 0 {
  38037. return m_FcFalse
  38038. }
  38039. return (*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_mtime_broken
  38040. }
  38041. return m_FcFalse
  38042. }
  38043. const m_FC_MAX_CASE_FOLD_CHARS = 6
  38044. const m_FC_MAX_CASE_FOLD_EXPAND = 4
  38045. const m_FC_MAX_FOLD_CHAR = 125217
  38046. const m_FC_MIN_FOLD_CHAR = 65
  38047. const m_FC_NUM_CASE_FOLD = 291
  38048. const m_FC_NUM_CASE_FOLD_CHARS = 471
  38049. const m_S_IFDIR4 = 0040000
  38050. const m_S_IFMT4 = 0170000
  38051. /* Objects MT-safe for readonly access. */
  38052. func XIA__FcStrCopy(tls *libc.TLS, s uintptr) (r uintptr) {
  38053. return libc.Xstrdup(tls, s)
  38054. }
  38055. var XFcStrCopy = XIA__FcStrCopy
  38056. func XIA__FcStrPlus(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  38057. var l, s1l, s2l int32
  38058. var s uintptr
  38059. _, _, _, _ = l, s, s1l, s2l
  38060. s1l = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  38061. s2l = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  38062. l = s1l + s2l + int32(1)
  38063. s = libc.Xmalloc(tls, libc.Uint64FromInt32(l))
  38064. if !(s != 0) {
  38065. return uintptr(0)
  38066. }
  38067. libc.Xmemcpy(tls, s, s1, libc.Uint64FromInt32(s1l))
  38068. libc.Xmemcpy(tls, s+uintptr(s1l), s2, libc.Uint64FromInt32(s2l+int32(1)))
  38069. return s
  38070. }
  38071. var XFcStrPlus = XIA__FcStrPlus
  38072. func XIA__FcStrFree(tls *libc.TLS, s uintptr) {
  38073. libc.Xfree(tls, s)
  38074. }
  38075. var XFcStrFree = XIA__FcStrFree
  38076. var _fcCaseFold = [291]TFcCaseFold{
  38077. 0: {
  38078. Fupper: uint32(0x00000041),
  38079. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  38080. Foffset: int16(32),
  38081. },
  38082. 1: {
  38083. Fupper: uint32(0x000000b5),
  38084. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38085. Foffset: int16(775),
  38086. },
  38087. 2: {
  38088. Fupper: uint32(0x000000c0),
  38089. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  38090. Foffset: int16(32),
  38091. },
  38092. 3: {
  38093. Fupper: uint32(0x000000d8),
  38094. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  38095. Foffset: int16(32),
  38096. },
  38097. 4: {
  38098. Fupper: uint32(0x000000df),
  38099. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38100. },
  38101. 5: {
  38102. Fupper: uint32(0x00000100),
  38103. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  38104. Foffset: int16(1),
  38105. },
  38106. 6: {
  38107. Fupper: uint32(0x00000130),
  38108. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38109. Foffset: int16(2),
  38110. },
  38111. 7: {
  38112. Fupper: uint32(0x00000132),
  38113. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38114. Foffset: int16(1),
  38115. },
  38116. 8: {
  38117. Fupper: uint32(0x00000139),
  38118. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  38119. Foffset: int16(1),
  38120. },
  38121. 9: {
  38122. Fupper: uint32(0x00000149),
  38123. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38124. Foffset: int16(5),
  38125. },
  38126. 10: {
  38127. Fupper: uint32(0x0000014a),
  38128. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  38129. Foffset: int16(1),
  38130. },
  38131. 11: {
  38132. Fupper: uint32(0x00000178),
  38133. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38134. Foffset: int16(-int32(121)),
  38135. },
  38136. 12: {
  38137. Fupper: uint32(0x00000179),
  38138. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38139. Foffset: int16(1),
  38140. },
  38141. 13: {
  38142. Fupper: uint32(0x0000017f),
  38143. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38144. Foffset: int16(-int32(268)),
  38145. },
  38146. 14: {
  38147. Fupper: uint32(0x00000181),
  38148. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38149. Foffset: int16(210),
  38150. },
  38151. 15: {
  38152. Fupper: uint32(0x00000182),
  38153. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38154. Foffset: int16(1),
  38155. },
  38156. 16: {
  38157. Fupper: uint32(0x00000186),
  38158. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38159. Foffset: int16(206),
  38160. },
  38161. 17: {
  38162. Fupper: uint32(0x00000187),
  38163. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38164. Foffset: int16(1),
  38165. },
  38166. 18: {
  38167. Fupper: uint32(0x00000189),
  38168. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38169. Foffset: int16(205),
  38170. },
  38171. 19: {
  38172. Fupper: uint32(0x0000018b),
  38173. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38174. Foffset: int16(1),
  38175. },
  38176. 20: {
  38177. Fupper: uint32(0x0000018e),
  38178. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38179. Foffset: int16(79),
  38180. },
  38181. 21: {
  38182. Fupper: uint32(0x0000018f),
  38183. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38184. Foffset: int16(202),
  38185. },
  38186. 22: {
  38187. Fupper: uint32(0x00000190),
  38188. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38189. Foffset: int16(203),
  38190. },
  38191. 23: {
  38192. Fupper: uint32(0x00000191),
  38193. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38194. Foffset: int16(1),
  38195. },
  38196. 24: {
  38197. Fupper: uint32(0x00000193),
  38198. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38199. Foffset: int16(205),
  38200. },
  38201. 25: {
  38202. Fupper: uint32(0x00000194),
  38203. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38204. Foffset: int16(207),
  38205. },
  38206. 26: {
  38207. Fupper: uint32(0x00000196),
  38208. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38209. Foffset: int16(211),
  38210. },
  38211. 27: {
  38212. Fupper: uint32(0x00000197),
  38213. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38214. Foffset: int16(209),
  38215. },
  38216. 28: {
  38217. Fupper: uint32(0x00000198),
  38218. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38219. Foffset: int16(1),
  38220. },
  38221. 29: {
  38222. Fupper: uint32(0x0000019c),
  38223. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38224. Foffset: int16(211),
  38225. },
  38226. 30: {
  38227. Fupper: uint32(0x0000019d),
  38228. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38229. Foffset: int16(213),
  38230. },
  38231. 31: {
  38232. Fupper: uint32(0x0000019f),
  38233. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38234. Foffset: int16(214),
  38235. },
  38236. 32: {
  38237. Fupper: uint32(0x000001a0),
  38238. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38239. Foffset: int16(1),
  38240. },
  38241. 33: {
  38242. Fupper: uint32(0x000001a6),
  38243. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38244. Foffset: int16(218),
  38245. },
  38246. 34: {
  38247. Fupper: uint32(0x000001a7),
  38248. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38249. Foffset: int16(1),
  38250. },
  38251. 35: {
  38252. Fupper: uint32(0x000001a9),
  38253. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38254. Foffset: int16(218),
  38255. },
  38256. 36: {
  38257. Fupper: uint32(0x000001ac),
  38258. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38259. Foffset: int16(1),
  38260. },
  38261. 37: {
  38262. Fupper: uint32(0x000001ae),
  38263. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38264. Foffset: int16(218),
  38265. },
  38266. 38: {
  38267. Fupper: uint32(0x000001af),
  38268. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38269. Foffset: int16(1),
  38270. },
  38271. 39: {
  38272. Fupper: uint32(0x000001b1),
  38273. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38274. Foffset: int16(217),
  38275. },
  38276. 40: {
  38277. Fupper: uint32(0x000001b3),
  38278. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38279. Foffset: int16(1),
  38280. },
  38281. 41: {
  38282. Fupper: uint32(0x000001b7),
  38283. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38284. Foffset: int16(219),
  38285. },
  38286. 42: {
  38287. Fupper: uint32(0x000001b8),
  38288. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38289. Foffset: int16(1),
  38290. },
  38291. 43: {
  38292. Fupper: uint32(0x000001bc),
  38293. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38294. Foffset: int16(1),
  38295. },
  38296. 44: {
  38297. Fupper: uint32(0x000001c4),
  38298. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38299. Foffset: int16(2),
  38300. },
  38301. 45: {
  38302. Fupper: uint32(0x000001c5),
  38303. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38304. Foffset: int16(1),
  38305. },
  38306. 46: {
  38307. Fupper: uint32(0x000001c7),
  38308. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38309. Foffset: int16(2),
  38310. },
  38311. 47: {
  38312. Fupper: uint32(0x000001c8),
  38313. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38314. Foffset: int16(1),
  38315. },
  38316. 48: {
  38317. Fupper: uint32(0x000001ca),
  38318. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38319. Foffset: int16(2),
  38320. },
  38321. 49: {
  38322. Fupper: uint32(0x000001cb),
  38323. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  38324. Foffset: int16(1),
  38325. },
  38326. 50: {
  38327. Fupper: uint32(0x000001de),
  38328. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  38329. Foffset: int16(1),
  38330. },
  38331. 51: {
  38332. Fupper: uint32(0x000001f0),
  38333. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38334. Foffset: int16(8),
  38335. },
  38336. 52: {
  38337. Fupper: uint32(0x000001f1),
  38338. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38339. Foffset: int16(2),
  38340. },
  38341. 53: {
  38342. Fupper: uint32(0x000001f2),
  38343. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38344. Foffset: int16(1),
  38345. },
  38346. 54: {
  38347. Fupper: uint32(0x000001f6),
  38348. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38349. Foffset: int16(-int32(97)),
  38350. },
  38351. 55: {
  38352. Fupper: uint32(0x000001f7),
  38353. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38354. Foffset: int16(-int32(56)),
  38355. },
  38356. 56: {
  38357. Fupper: uint32(0x000001f8),
  38358. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0027)&0x3fff<<2,
  38359. Foffset: int16(1),
  38360. },
  38361. 57: {
  38362. Fupper: uint32(0x00000220),
  38363. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38364. Foffset: int16(-int32(130)),
  38365. },
  38366. 58: {
  38367. Fupper: uint32(0x00000222),
  38368. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  38369. Foffset: int16(1),
  38370. },
  38371. 59: {
  38372. Fupper: uint32(0x0000023a),
  38373. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38374. Foffset: int16(10795),
  38375. },
  38376. 60: {
  38377. Fupper: uint32(0x0000023b),
  38378. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38379. Foffset: int16(1),
  38380. },
  38381. 61: {
  38382. Fupper: uint32(0x0000023d),
  38383. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38384. Foffset: int16(-int32(163)),
  38385. },
  38386. 62: {
  38387. Fupper: uint32(0x0000023e),
  38388. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38389. Foffset: int16(10792),
  38390. },
  38391. 63: {
  38392. Fupper: uint32(0x00000241),
  38393. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38394. Foffset: int16(1),
  38395. },
  38396. 64: {
  38397. Fupper: uint32(0x00000243),
  38398. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38399. Foffset: int16(-int32(195)),
  38400. },
  38401. 65: {
  38402. Fupper: uint32(0x00000244),
  38403. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38404. Foffset: int16(69),
  38405. },
  38406. 66: {
  38407. Fupper: uint32(0x00000245),
  38408. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38409. Foffset: int16(71),
  38410. },
  38411. 67: {
  38412. Fupper: uint32(0x00000246),
  38413. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  38414. Foffset: int16(1),
  38415. },
  38416. 68: {
  38417. Fupper: uint32(0x00000345),
  38418. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38419. Foffset: int16(116),
  38420. },
  38421. 69: {
  38422. Fupper: uint32(0x00000370),
  38423. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38424. Foffset: int16(1),
  38425. },
  38426. 70: {
  38427. Fupper: uint32(0x00000376),
  38428. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38429. Foffset: int16(1),
  38430. },
  38431. 71: {
  38432. Fupper: uint32(0x0000037f),
  38433. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38434. Foffset: int16(116),
  38435. },
  38436. 72: {
  38437. Fupper: uint32(0x00000386),
  38438. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38439. Foffset: int16(38),
  38440. },
  38441. 73: {
  38442. Fupper: uint32(0x00000388),
  38443. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38444. Foffset: int16(37),
  38445. },
  38446. 74: {
  38447. Fupper: uint32(0x0000038c),
  38448. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38449. Foffset: int16(64),
  38450. },
  38451. 75: {
  38452. Fupper: uint32(0x0000038e),
  38453. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38454. Foffset: int16(63),
  38455. },
  38456. 76: {
  38457. Fupper: uint32(0x00000390),
  38458. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38459. Foffset: int16(11),
  38460. },
  38461. 77: {
  38462. Fupper: uint32(0x00000391),
  38463. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  38464. Foffset: int16(32),
  38465. },
  38466. 78: {
  38467. Fupper: uint32(0x000003a3),
  38468. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  38469. Foffset: int16(32),
  38470. },
  38471. 79: {
  38472. Fupper: uint32(0x000003b0),
  38473. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38474. Foffset: int16(17),
  38475. },
  38476. 80: {
  38477. Fupper: uint32(0x000003c2),
  38478. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38479. Foffset: int16(1),
  38480. },
  38481. 81: {
  38482. Fupper: uint32(0x000003cf),
  38483. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38484. Foffset: int16(8),
  38485. },
  38486. 82: {
  38487. Fupper: uint32(0x000003d0),
  38488. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38489. Foffset: int16(-int32(30)),
  38490. },
  38491. 83: {
  38492. Fupper: uint32(0x000003d1),
  38493. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38494. Foffset: int16(-int32(25)),
  38495. },
  38496. 84: {
  38497. Fupper: uint32(0x000003d5),
  38498. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38499. Foffset: int16(-int32(15)),
  38500. },
  38501. 85: {
  38502. Fupper: uint32(0x000003d6),
  38503. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38504. Foffset: int16(-int32(22)),
  38505. },
  38506. 86: {
  38507. Fupper: uint32(0x000003d8),
  38508. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  38509. Foffset: int16(1),
  38510. },
  38511. 87: {
  38512. Fupper: uint32(0x000003f0),
  38513. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38514. Foffset: int16(-int32(54)),
  38515. },
  38516. 88: {
  38517. Fupper: uint32(0x000003f1),
  38518. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38519. Foffset: int16(-int32(48)),
  38520. },
  38521. 89: {
  38522. Fupper: uint32(0x000003f4),
  38523. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38524. Foffset: int16(-int32(60)),
  38525. },
  38526. 90: {
  38527. Fupper: uint32(0x000003f5),
  38528. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38529. Foffset: int16(-int32(64)),
  38530. },
  38531. 91: {
  38532. Fupper: uint32(0x000003f7),
  38533. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38534. Foffset: int16(1),
  38535. },
  38536. 92: {
  38537. Fupper: uint32(0x000003f9),
  38538. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38539. Foffset: int16(-int32(7)),
  38540. },
  38541. 93: {
  38542. Fupper: uint32(0x000003fa),
  38543. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38544. Foffset: int16(1),
  38545. },
  38546. 94: {
  38547. Fupper: uint32(0x000003fd),
  38548. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38549. Foffset: int16(-int32(130)),
  38550. },
  38551. 95: {
  38552. Fupper: uint32(0x00000400),
  38553. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  38554. Foffset: int16(80),
  38555. },
  38556. 96: {
  38557. Fupper: uint32(0x00000410),
  38558. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  38559. Foffset: int16(32),
  38560. },
  38561. 97: {
  38562. Fupper: uint32(0x00000460),
  38563. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0021)&0x3fff<<2,
  38564. Foffset: int16(1),
  38565. },
  38566. 98: {
  38567. Fupper: uint32(0x0000048a),
  38568. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0035)&0x3fff<<2,
  38569. Foffset: int16(1),
  38570. },
  38571. 99: {
  38572. Fupper: uint32(0x000004c0),
  38573. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38574. Foffset: int16(15),
  38575. },
  38576. 100: {
  38577. Fupper: uint32(0x000004c1),
  38578. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  38579. Foffset: int16(1),
  38580. },
  38581. 101: {
  38582. Fupper: uint32(0x000004d0),
  38583. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  38584. Foffset: int16(1),
  38585. },
  38586. 102: {
  38587. Fupper: uint32(0x00000531),
  38588. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  38589. Foffset: int16(48),
  38590. },
  38591. 103: {
  38592. Fupper: uint32(0x00000587),
  38593. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  38594. Foffset: int16(23),
  38595. },
  38596. 104: {
  38597. Fupper: uint32(0x000010a0),
  38598. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  38599. Foffset: int16(7264),
  38600. },
  38601. 105: {
  38602. Fupper: uint32(0x000010c7),
  38603. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38604. Foffset: int16(7264),
  38605. },
  38606. 106: {
  38607. Fupper: uint32(0x000010cd),
  38608. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38609. Foffset: int16(7264),
  38610. },
  38611. 107: {
  38612. Fupper: uint32(0x000013f8),
  38613. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38614. Foffset: int16(-int32(8)),
  38615. },
  38616. 108: {
  38617. Fupper: uint32(0x00001c80),
  38618. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38619. Foffset: int16(-int32(6222)),
  38620. },
  38621. 109: {
  38622. Fupper: uint32(0x00001c81),
  38623. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38624. Foffset: int16(-int32(6221)),
  38625. },
  38626. 110: {
  38627. Fupper: uint32(0x00001c82),
  38628. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38629. Foffset: int16(-int32(6212)),
  38630. },
  38631. 111: {
  38632. Fupper: uint32(0x00001c83),
  38633. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38634. Foffset: int16(-int32(6210)),
  38635. },
  38636. 112: {
  38637. Fupper: uint32(0x00001c85),
  38638. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38639. Foffset: int16(-int32(6211)),
  38640. },
  38641. 113: {
  38642. Fupper: uint32(0x00001c86),
  38643. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38644. Foffset: int16(-int32(6204)),
  38645. },
  38646. 114: {
  38647. Fupper: uint32(0x00001c87),
  38648. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38649. Foffset: int16(-int32(6180)),
  38650. },
  38651. 115: {
  38652. Fupper: uint32(0x00001c88),
  38653. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38654. Foffset: int16(-int32(30269)),
  38655. },
  38656. 116: {
  38657. Fupper: uint32(0x00001c90),
  38658. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002b)&0x3fff<<2,
  38659. Foffset: int16(-int32(3008)),
  38660. },
  38661. 117: {
  38662. Fupper: uint32(0x00001cbd),
  38663. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38664. Foffset: int16(-int32(3008)),
  38665. },
  38666. 118: {
  38667. Fupper: uint32(0x00001e00),
  38668. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0095)&0x3fff<<2,
  38669. Foffset: int16(1),
  38670. },
  38671. 119: {
  38672. Fupper: uint32(0x00001e96),
  38673. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38674. Foffset: int16(27),
  38675. },
  38676. 120: {
  38677. Fupper: uint32(0x00001e97),
  38678. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38679. Foffset: int16(30),
  38680. },
  38681. 121: {
  38682. Fupper: uint32(0x00001e98),
  38683. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38684. Foffset: int16(33),
  38685. },
  38686. 122: {
  38687. Fupper: uint32(0x00001e99),
  38688. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38689. Foffset: int16(36),
  38690. },
  38691. 123: {
  38692. Fupper: uint32(0x00001e9a),
  38693. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38694. Foffset: int16(39),
  38695. },
  38696. 124: {
  38697. Fupper: uint32(0x00001e9b),
  38698. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38699. Foffset: int16(-int32(58)),
  38700. },
  38701. 125: {
  38702. Fupper: uint32(0x00001e9e),
  38703. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38704. Foffset: int16(42),
  38705. },
  38706. 126: {
  38707. Fupper: uint32(0x00001ea0),
  38708. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  38709. Foffset: int16(1),
  38710. },
  38711. 127: {
  38712. Fupper: uint32(0x00001f08),
  38713. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  38714. Foffset: int16(-int32(8)),
  38715. },
  38716. 128: {
  38717. Fupper: uint32(0x00001f18),
  38718. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38719. Foffset: int16(-int32(8)),
  38720. },
  38721. 129: {
  38722. Fupper: uint32(0x00001f28),
  38723. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  38724. Foffset: int16(-int32(8)),
  38725. },
  38726. 130: {
  38727. Fupper: uint32(0x00001f38),
  38728. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  38729. Foffset: int16(-int32(8)),
  38730. },
  38731. 131: {
  38732. Fupper: uint32(0x00001f48),
  38733. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38734. Foffset: int16(-int32(8)),
  38735. },
  38736. 132: {
  38737. Fupper: uint32(0x00001f50),
  38738. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  38739. Foffset: int16(44),
  38740. },
  38741. 133: {
  38742. Fupper: uint32(0x00001f52),
  38743. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38744. Foffset: int16(48),
  38745. },
  38746. 134: {
  38747. Fupper: uint32(0x00001f54),
  38748. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38749. Foffset: int16(54),
  38750. },
  38751. 135: {
  38752. Fupper: uint32(0x00001f56),
  38753. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38754. Foffset: int16(60),
  38755. },
  38756. 136: {
  38757. Fupper: uint32(0x00001f59),
  38758. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38759. Foffset: int16(-int32(8)),
  38760. },
  38761. 137: {
  38762. Fupper: uint32(0x00001f5b),
  38763. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38764. Foffset: int16(-int32(8)),
  38765. },
  38766. 138: {
  38767. Fupper: uint32(0x00001f5d),
  38768. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38769. Foffset: int16(-int32(8)),
  38770. },
  38771. 139: {
  38772. Fupper: uint32(0x00001f5f),
  38773. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38774. Foffset: int16(-int32(8)),
  38775. },
  38776. 140: {
  38777. Fupper: uint32(0x00001f68),
  38778. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  38779. Foffset: int16(-int32(8)),
  38780. },
  38781. 141: {
  38782. Fupper: uint32(0x00001f80),
  38783. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38784. Foffset: int16(66),
  38785. },
  38786. 142: {
  38787. Fupper: uint32(0x00001f81),
  38788. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38789. Foffset: int16(71),
  38790. },
  38791. 143: {
  38792. Fupper: uint32(0x00001f82),
  38793. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38794. Foffset: int16(76),
  38795. },
  38796. 144: {
  38797. Fupper: uint32(0x00001f83),
  38798. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38799. Foffset: int16(81),
  38800. },
  38801. 145: {
  38802. Fupper: uint32(0x00001f84),
  38803. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38804. Foffset: int16(86),
  38805. },
  38806. 146: {
  38807. Fupper: uint32(0x00001f85),
  38808. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38809. Foffset: int16(91),
  38810. },
  38811. 147: {
  38812. Fupper: uint32(0x00001f86),
  38813. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38814. Foffset: int16(96),
  38815. },
  38816. 148: {
  38817. Fupper: uint32(0x00001f87),
  38818. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38819. Foffset: int16(101),
  38820. },
  38821. 149: {
  38822. Fupper: uint32(0x00001f88),
  38823. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38824. Foffset: int16(106),
  38825. },
  38826. 150: {
  38827. Fupper: uint32(0x00001f89),
  38828. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38829. Foffset: int16(111),
  38830. },
  38831. 151: {
  38832. Fupper: uint32(0x00001f8a),
  38833. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38834. Foffset: int16(116),
  38835. },
  38836. 152: {
  38837. Fupper: uint32(0x00001f8b),
  38838. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38839. Foffset: int16(121),
  38840. },
  38841. 153: {
  38842. Fupper: uint32(0x00001f8c),
  38843. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38844. Foffset: int16(126),
  38845. },
  38846. 154: {
  38847. Fupper: uint32(0x00001f8d),
  38848. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38849. Foffset: int16(131),
  38850. },
  38851. 155: {
  38852. Fupper: uint32(0x00001f8e),
  38853. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38854. Foffset: int16(136),
  38855. },
  38856. 156: {
  38857. Fupper: uint32(0x00001f8f),
  38858. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38859. Foffset: int16(141),
  38860. },
  38861. 157: {
  38862. Fupper: uint32(0x00001f90),
  38863. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38864. Foffset: int16(146),
  38865. },
  38866. 158: {
  38867. Fupper: uint32(0x00001f91),
  38868. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38869. Foffset: int16(151),
  38870. },
  38871. 159: {
  38872. Fupper: uint32(0x00001f92),
  38873. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38874. Foffset: int16(156),
  38875. },
  38876. 160: {
  38877. Fupper: uint32(0x00001f93),
  38878. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38879. Foffset: int16(161),
  38880. },
  38881. 161: {
  38882. Fupper: uint32(0x00001f94),
  38883. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38884. Foffset: int16(166),
  38885. },
  38886. 162: {
  38887. Fupper: uint32(0x00001f95),
  38888. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38889. Foffset: int16(171),
  38890. },
  38891. 163: {
  38892. Fupper: uint32(0x00001f96),
  38893. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38894. Foffset: int16(176),
  38895. },
  38896. 164: {
  38897. Fupper: uint32(0x00001f97),
  38898. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38899. Foffset: int16(181),
  38900. },
  38901. 165: {
  38902. Fupper: uint32(0x00001f98),
  38903. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38904. Foffset: int16(186),
  38905. },
  38906. 166: {
  38907. Fupper: uint32(0x00001f99),
  38908. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38909. Foffset: int16(191),
  38910. },
  38911. 167: {
  38912. Fupper: uint32(0x00001f9a),
  38913. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38914. Foffset: int16(196),
  38915. },
  38916. 168: {
  38917. Fupper: uint32(0x00001f9b),
  38918. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38919. Foffset: int16(201),
  38920. },
  38921. 169: {
  38922. Fupper: uint32(0x00001f9c),
  38923. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38924. Foffset: int16(206),
  38925. },
  38926. 170: {
  38927. Fupper: uint32(0x00001f9d),
  38928. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38929. Foffset: int16(211),
  38930. },
  38931. 171: {
  38932. Fupper: uint32(0x00001f9e),
  38933. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38934. Foffset: int16(216),
  38935. },
  38936. 172: {
  38937. Fupper: uint32(0x00001f9f),
  38938. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38939. Foffset: int16(221),
  38940. },
  38941. 173: {
  38942. Fupper: uint32(0x00001fa0),
  38943. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38944. Foffset: int16(226),
  38945. },
  38946. 174: {
  38947. Fupper: uint32(0x00001fa1),
  38948. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38949. Foffset: int16(231),
  38950. },
  38951. 175: {
  38952. Fupper: uint32(0x00001fa2),
  38953. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38954. Foffset: int16(236),
  38955. },
  38956. 176: {
  38957. Fupper: uint32(0x00001fa3),
  38958. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38959. Foffset: int16(241),
  38960. },
  38961. 177: {
  38962. Fupper: uint32(0x00001fa4),
  38963. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38964. Foffset: int16(246),
  38965. },
  38966. 178: {
  38967. Fupper: uint32(0x00001fa5),
  38968. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38969. Foffset: int16(251),
  38970. },
  38971. 179: {
  38972. Fupper: uint32(0x00001fa6),
  38973. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38974. Foffset: int16(256),
  38975. },
  38976. 180: {
  38977. Fupper: uint32(0x00001fa7),
  38978. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38979. Foffset: int16(261),
  38980. },
  38981. 181: {
  38982. Fupper: uint32(0x00001fa8),
  38983. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38984. Foffset: int16(266),
  38985. },
  38986. 182: {
  38987. Fupper: uint32(0x00001fa9),
  38988. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38989. Foffset: int16(271),
  38990. },
  38991. 183: {
  38992. Fupper: uint32(0x00001faa),
  38993. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38994. Foffset: int16(276),
  38995. },
  38996. 184: {
  38997. Fupper: uint32(0x00001fab),
  38998. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38999. Foffset: int16(281),
  39000. },
  39001. 185: {
  39002. Fupper: uint32(0x00001fac),
  39003. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39004. Foffset: int16(286),
  39005. },
  39006. 186: {
  39007. Fupper: uint32(0x00001fad),
  39008. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39009. Foffset: int16(291),
  39010. },
  39011. 187: {
  39012. Fupper: uint32(0x00001fae),
  39013. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39014. Foffset: int16(296),
  39015. },
  39016. 188: {
  39017. Fupper: uint32(0x00001faf),
  39018. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39019. Foffset: int16(301),
  39020. },
  39021. 189: {
  39022. Fupper: uint32(0x00001fb2),
  39023. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39024. Foffset: int16(306),
  39025. },
  39026. 190: {
  39027. Fupper: uint32(0x00001fb3),
  39028. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39029. Foffset: int16(311),
  39030. },
  39031. 191: {
  39032. Fupper: uint32(0x00001fb4),
  39033. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39034. Foffset: int16(315),
  39035. },
  39036. 192: {
  39037. Fupper: uint32(0x00001fb6),
  39038. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39039. Foffset: int16(319),
  39040. },
  39041. 193: {
  39042. Fupper: uint32(0x00001fb7),
  39043. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39044. Foffset: int16(323),
  39045. },
  39046. 194: {
  39047. Fupper: uint32(0x00001fb8),
  39048. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39049. Foffset: int16(-int32(8)),
  39050. },
  39051. 195: {
  39052. Fupper: uint32(0x00001fba),
  39053. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39054. Foffset: int16(-int32(74)),
  39055. },
  39056. 196: {
  39057. Fupper: uint32(0x00001fbc),
  39058. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39059. Foffset: int16(329),
  39060. },
  39061. 197: {
  39062. Fupper: uint32(0x00001fbe),
  39063. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39064. Foffset: int16(-int32(7173)),
  39065. },
  39066. 198: {
  39067. Fupper: uint32(0x00001fc2),
  39068. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39069. Foffset: int16(333),
  39070. },
  39071. 199: {
  39072. Fupper: uint32(0x00001fc3),
  39073. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39074. Foffset: int16(338),
  39075. },
  39076. 200: {
  39077. Fupper: uint32(0x00001fc4),
  39078. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39079. Foffset: int16(342),
  39080. },
  39081. 201: {
  39082. Fupper: uint32(0x00001fc6),
  39083. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39084. Foffset: int16(346),
  39085. },
  39086. 202: {
  39087. Fupper: uint32(0x00001fc7),
  39088. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39089. Foffset: int16(350),
  39090. },
  39091. 203: {
  39092. Fupper: uint32(0x00001fc8),
  39093. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39094. Foffset: int16(-int32(86)),
  39095. },
  39096. 204: {
  39097. Fupper: uint32(0x00001fcc),
  39098. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39099. Foffset: int16(356),
  39100. },
  39101. 205: {
  39102. Fupper: uint32(0x00001fd2),
  39103. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39104. Foffset: int16(360),
  39105. },
  39106. 206: {
  39107. Fupper: uint32(0x00001fd3),
  39108. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39109. Foffset: int16(366),
  39110. },
  39111. 207: {
  39112. Fupper: uint32(0x00001fd6),
  39113. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39114. Foffset: int16(372),
  39115. },
  39116. 208: {
  39117. Fupper: uint32(0x00001fd7),
  39118. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39119. Foffset: int16(376),
  39120. },
  39121. 209: {
  39122. Fupper: uint32(0x00001fd8),
  39123. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39124. Foffset: int16(-int32(8)),
  39125. },
  39126. 210: {
  39127. Fupper: uint32(0x00001fda),
  39128. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39129. Foffset: int16(-int32(100)),
  39130. },
  39131. 211: {
  39132. Fupper: uint32(0x00001fe2),
  39133. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39134. Foffset: int16(382),
  39135. },
  39136. 212: {
  39137. Fupper: uint32(0x00001fe3),
  39138. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39139. Foffset: int16(388),
  39140. },
  39141. 213: {
  39142. Fupper: uint32(0x00001fe4),
  39143. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39144. Foffset: int16(394),
  39145. },
  39146. 214: {
  39147. Fupper: uint32(0x00001fe6),
  39148. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39149. Foffset: int16(398),
  39150. },
  39151. 215: {
  39152. Fupper: uint32(0x00001fe7),
  39153. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39154. Foffset: int16(402),
  39155. },
  39156. 216: {
  39157. Fupper: uint32(0x00001fe8),
  39158. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39159. Foffset: int16(-int32(8)),
  39160. },
  39161. 217: {
  39162. Fupper: uint32(0x00001fea),
  39163. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39164. Foffset: int16(-int32(112)),
  39165. },
  39166. 218: {
  39167. Fupper: uint32(0x00001fec),
  39168. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39169. Foffset: int16(-int32(7)),
  39170. },
  39171. 219: {
  39172. Fupper: uint32(0x00001ff2),
  39173. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39174. Foffset: int16(408),
  39175. },
  39176. 220: {
  39177. Fupper: uint32(0x00001ff3),
  39178. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39179. Foffset: int16(413),
  39180. },
  39181. 221: {
  39182. Fupper: uint32(0x00001ff4),
  39183. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39184. Foffset: int16(417),
  39185. },
  39186. 222: {
  39187. Fupper: uint32(0x00001ff6),
  39188. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39189. Foffset: int16(421),
  39190. },
  39191. 223: {
  39192. Fupper: uint32(0x00001ff7),
  39193. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39194. Foffset: int16(425),
  39195. },
  39196. 224: {
  39197. Fupper: uint32(0x00001ff8),
  39198. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39199. Foffset: int16(-int32(128)),
  39200. },
  39201. 225: {
  39202. Fupper: uint32(0x00001ffa),
  39203. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39204. Foffset: int16(-int32(126)),
  39205. },
  39206. 226: {
  39207. Fupper: uint32(0x00001ffc),
  39208. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39209. Foffset: int16(431),
  39210. },
  39211. 227: {
  39212. Fupper: uint32(0x00002126),
  39213. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39214. Foffset: int16(-int32(7517)),
  39215. },
  39216. 228: {
  39217. Fupper: uint32(0x0000212a),
  39218. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39219. Foffset: int16(-int32(8383)),
  39220. },
  39221. 229: {
  39222. Fupper: uint32(0x0000212b),
  39223. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39224. Foffset: int16(-int32(8262)),
  39225. },
  39226. 230: {
  39227. Fupper: uint32(0x00002132),
  39228. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39229. Foffset: int16(28),
  39230. },
  39231. 231: {
  39232. Fupper: uint32(0x00002160),
  39233. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  39234. Foffset: int16(16),
  39235. },
  39236. 232: {
  39237. Fupper: uint32(0x00002183),
  39238. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39239. Foffset: int16(1),
  39240. },
  39241. 233: {
  39242. Fupper: uint32(0x000024b6),
  39243. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  39244. Foffset: int16(26),
  39245. },
  39246. 234: {
  39247. Fupper: uint32(0x00002c00),
  39248. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  39249. Foffset: int16(48),
  39250. },
  39251. 235: {
  39252. Fupper: uint32(0x00002c60),
  39253. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39254. Foffset: int16(1),
  39255. },
  39256. 236: {
  39257. Fupper: uint32(0x00002c62),
  39258. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39259. Foffset: int16(-int32(10743)),
  39260. },
  39261. 237: {
  39262. Fupper: uint32(0x00002c63),
  39263. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39264. Foffset: int16(-int32(3814)),
  39265. },
  39266. 238: {
  39267. Fupper: uint32(0x00002c64),
  39268. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39269. Foffset: int16(-int32(10727)),
  39270. },
  39271. 239: {
  39272. Fupper: uint32(0x00002c67),
  39273. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39274. Foffset: int16(1),
  39275. },
  39276. 240: {
  39277. Fupper: uint32(0x00002c6d),
  39278. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39279. Foffset: int16(-int32(10780)),
  39280. },
  39281. 241: {
  39282. Fupper: uint32(0x00002c6e),
  39283. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39284. Foffset: int16(-int32(10749)),
  39285. },
  39286. 242: {
  39287. Fupper: uint32(0x00002c6f),
  39288. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39289. Foffset: int16(-int32(10783)),
  39290. },
  39291. 243: {
  39292. Fupper: uint32(0x00002c70),
  39293. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39294. Foffset: int16(-int32(10782)),
  39295. },
  39296. 244: {
  39297. Fupper: uint32(0x00002c72),
  39298. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39299. Foffset: int16(1),
  39300. },
  39301. 245: {
  39302. Fupper: uint32(0x00002c75),
  39303. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39304. Foffset: int16(1),
  39305. },
  39306. 246: {
  39307. Fupper: uint32(0x00002c7e),
  39308. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39309. Foffset: int16(-int32(10815)),
  39310. },
  39311. 247: {
  39312. Fupper: uint32(0x00002c80),
  39313. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0063)&0x3fff<<2,
  39314. Foffset: int16(1),
  39315. },
  39316. 248: {
  39317. Fupper: uint32(0x00002ceb),
  39318. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39319. Foffset: int16(1),
  39320. },
  39321. 249: {
  39322. Fupper: uint32(0x00002cf2),
  39323. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39324. Foffset: int16(1),
  39325. },
  39326. 250: {
  39327. Fupper: uint32(0x0000a640),
  39328. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  39329. Foffset: int16(1),
  39330. },
  39331. 251: {
  39332. Fupper: uint32(0x0000a680),
  39333. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x001b)&0x3fff<<2,
  39334. Foffset: int16(1),
  39335. },
  39336. 252: {
  39337. Fupper: uint32(0x0000a722),
  39338. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  39339. Foffset: int16(1),
  39340. },
  39341. 253: {
  39342. Fupper: uint32(0x0000a732),
  39343. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x003d)&0x3fff<<2,
  39344. Foffset: int16(1),
  39345. },
  39346. 254: {
  39347. Fupper: uint32(0x0000a779),
  39348. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39349. Foffset: int16(1),
  39350. },
  39351. 255: {
  39352. Fupper: uint32(0x0000a77d),
  39353. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39354. Foffset: int16(30204),
  39355. },
  39356. 256: {
  39357. Fupper: uint32(0x0000a77e),
  39358. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  39359. Foffset: int16(1),
  39360. },
  39361. 257: {
  39362. Fupper: uint32(0x0000a78b),
  39363. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39364. Foffset: int16(1),
  39365. },
  39366. 258: {
  39367. Fupper: uint32(0x0000a78d),
  39368. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39369. Foffset: int16(23256),
  39370. },
  39371. 259: {
  39372. Fupper: uint32(0x0000a790),
  39373. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39374. Foffset: int16(1),
  39375. },
  39376. 260: {
  39377. Fupper: uint32(0x0000a796),
  39378. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0013)&0x3fff<<2,
  39379. Foffset: int16(1),
  39380. },
  39381. 261: {
  39382. Fupper: uint32(0x0000a7aa),
  39383. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39384. Foffset: int16(23228),
  39385. },
  39386. 262: {
  39387. Fupper: uint32(0x0000a7ab),
  39388. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39389. Foffset: int16(23217),
  39390. },
  39391. 263: {
  39392. Fupper: uint32(0x0000a7ac),
  39393. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39394. Foffset: int16(23221),
  39395. },
  39396. 264: {
  39397. Fupper: uint32(0x0000a7ad),
  39398. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39399. Foffset: int16(23231),
  39400. },
  39401. 265: {
  39402. Fupper: uint32(0x0000a7ae),
  39403. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39404. Foffset: int16(23228),
  39405. },
  39406. 266: {
  39407. Fupper: uint32(0x0000a7b0),
  39408. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39409. Foffset: int16(23278),
  39410. },
  39411. 267: {
  39412. Fupper: uint32(0x0000a7b1),
  39413. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39414. Foffset: int16(23254),
  39415. },
  39416. 268: {
  39417. Fupper: uint32(0x0000a7b2),
  39418. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39419. Foffset: int16(23275),
  39420. },
  39421. 269: {
  39422. Fupper: uint32(0x0000a7b3),
  39423. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39424. Foffset: int16(928),
  39425. },
  39426. 270: {
  39427. Fupper: uint32(0x0000a7b4),
  39428. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39429. Foffset: int16(1),
  39430. },
  39431. 271: {
  39432. Fupper: uint32(0x0000ab70),
  39433. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0050)&0x3fff<<2,
  39434. Foffset: int16(26672),
  39435. },
  39436. 272: {
  39437. Fupper: uint32(0x0000fb00),
  39438. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39439. Foffset: int16(435),
  39440. },
  39441. 273: {
  39442. Fupper: uint32(0x0000fb01),
  39443. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39444. Foffset: int16(437),
  39445. },
  39446. 274: {
  39447. Fupper: uint32(0x0000fb02),
  39448. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39449. Foffset: int16(439),
  39450. },
  39451. 275: {
  39452. Fupper: uint32(0x0000fb03),
  39453. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39454. Foffset: int16(441),
  39455. },
  39456. 276: {
  39457. Fupper: uint32(0x0000fb04),
  39458. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39459. Foffset: int16(444),
  39460. },
  39461. 277: {
  39462. Fupper: uint32(0x0000fb05),
  39463. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39464. Foffset: int16(447),
  39465. },
  39466. 278: {
  39467. Fupper: uint32(0x0000fb06),
  39468. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39469. Foffset: int16(449),
  39470. },
  39471. 279: {
  39472. Fupper: uint32(0x0000fb13),
  39473. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39474. Foffset: int16(451),
  39475. },
  39476. 280: {
  39477. Fupper: uint32(0x0000fb14),
  39478. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39479. Foffset: int16(455),
  39480. },
  39481. 281: {
  39482. Fupper: uint32(0x0000fb15),
  39483. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39484. Foffset: int16(459),
  39485. },
  39486. 282: {
  39487. Fupper: uint32(0x0000fb16),
  39488. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39489. Foffset: int16(463),
  39490. },
  39491. 283: {
  39492. Fupper: uint32(0x0000fb17),
  39493. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39494. Foffset: int16(467),
  39495. },
  39496. 284: {
  39497. Fupper: uint32(0x0000ff21),
  39498. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  39499. Foffset: int16(32),
  39500. },
  39501. 285: {
  39502. Fupper: uint32(0x00010400),
  39503. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0028)&0x3fff<<2,
  39504. Foffset: int16(40),
  39505. },
  39506. 286: {
  39507. Fupper: uint32(0x000104b0),
  39508. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0024)&0x3fff<<2,
  39509. Foffset: int16(40),
  39510. },
  39511. 287: {
  39512. Fupper: uint32(0x00010c80),
  39513. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0033)&0x3fff<<2,
  39514. Foffset: int16(64),
  39515. },
  39516. 288: {
  39517. Fupper: uint32(0x000118a0),
  39518. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  39519. Foffset: int16(32),
  39520. },
  39521. 289: {
  39522. Fupper: uint32(0x00016e40),
  39523. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  39524. Foffset: int16(32),
  39525. },
  39526. 290: {
  39527. Fupper: uint32(0x0001e900),
  39528. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0022)&0x3fff<<2,
  39529. Foffset: int16(34),
  39530. },
  39531. }
  39532. var _fcCaseFoldChars = [471]TFcChar8{
  39533. 0: uint8(0x73),
  39534. 1: uint8(0x73),
  39535. 2: uint8(0x69),
  39536. 3: uint8(0xcc),
  39537. 4: uint8(0x87),
  39538. 5: uint8(0xca),
  39539. 6: uint8(0xbc),
  39540. 7: uint8(0x6e),
  39541. 8: uint8(0x6a),
  39542. 9: uint8(0xcc),
  39543. 10: uint8(0x8c),
  39544. 11: uint8(0xce),
  39545. 12: uint8(0xb9),
  39546. 13: uint8(0xcc),
  39547. 14: uint8(0x88),
  39548. 15: uint8(0xcc),
  39549. 16: uint8(0x81),
  39550. 17: uint8(0xcf),
  39551. 18: uint8(0x85),
  39552. 19: uint8(0xcc),
  39553. 20: uint8(0x88),
  39554. 21: uint8(0xcc),
  39555. 22: uint8(0x81),
  39556. 23: uint8(0xd5),
  39557. 24: uint8(0xa5),
  39558. 25: uint8(0xd6),
  39559. 26: uint8(0x82),
  39560. 27: uint8(0x68),
  39561. 28: uint8(0xcc),
  39562. 29: uint8(0xb1),
  39563. 30: uint8(0x74),
  39564. 31: uint8(0xcc),
  39565. 32: uint8(0x88),
  39566. 33: uint8(0x77),
  39567. 34: uint8(0xcc),
  39568. 35: uint8(0x8a),
  39569. 36: uint8(0x79),
  39570. 37: uint8(0xcc),
  39571. 38: uint8(0x8a),
  39572. 39: uint8(0x61),
  39573. 40: uint8(0xca),
  39574. 41: uint8(0xbe),
  39575. 42: uint8(0x73),
  39576. 43: uint8(0x73),
  39577. 44: uint8(0xcf),
  39578. 45: uint8(0x85),
  39579. 46: uint8(0xcc),
  39580. 47: uint8(0x93),
  39581. 48: uint8(0xcf),
  39582. 49: uint8(0x85),
  39583. 50: uint8(0xcc),
  39584. 51: uint8(0x93),
  39585. 52: uint8(0xcc),
  39586. 53: uint8(0x80),
  39587. 54: uint8(0xcf),
  39588. 55: uint8(0x85),
  39589. 56: uint8(0xcc),
  39590. 57: uint8(0x93),
  39591. 58: uint8(0xcc),
  39592. 59: uint8(0x81),
  39593. 60: uint8(0xcf),
  39594. 61: uint8(0x85),
  39595. 62: uint8(0xcc),
  39596. 63: uint8(0x93),
  39597. 64: uint8(0xcd),
  39598. 65: uint8(0x82),
  39599. 66: uint8(0xe1),
  39600. 67: uint8(0xbc),
  39601. 68: uint8(0x80),
  39602. 69: uint8(0xce),
  39603. 70: uint8(0xb9),
  39604. 71: uint8(0xe1),
  39605. 72: uint8(0xbc),
  39606. 73: uint8(0x81),
  39607. 74: uint8(0xce),
  39608. 75: uint8(0xb9),
  39609. 76: uint8(0xe1),
  39610. 77: uint8(0xbc),
  39611. 78: uint8(0x82),
  39612. 79: uint8(0xce),
  39613. 80: uint8(0xb9),
  39614. 81: uint8(0xe1),
  39615. 82: uint8(0xbc),
  39616. 83: uint8(0x83),
  39617. 84: uint8(0xce),
  39618. 85: uint8(0xb9),
  39619. 86: uint8(0xe1),
  39620. 87: uint8(0xbc),
  39621. 88: uint8(0x84),
  39622. 89: uint8(0xce),
  39623. 90: uint8(0xb9),
  39624. 91: uint8(0xe1),
  39625. 92: uint8(0xbc),
  39626. 93: uint8(0x85),
  39627. 94: uint8(0xce),
  39628. 95: uint8(0xb9),
  39629. 96: uint8(0xe1),
  39630. 97: uint8(0xbc),
  39631. 98: uint8(0x86),
  39632. 99: uint8(0xce),
  39633. 100: uint8(0xb9),
  39634. 101: uint8(0xe1),
  39635. 102: uint8(0xbc),
  39636. 103: uint8(0x87),
  39637. 104: uint8(0xce),
  39638. 105: uint8(0xb9),
  39639. 106: uint8(0xe1),
  39640. 107: uint8(0xbc),
  39641. 108: uint8(0x80),
  39642. 109: uint8(0xce),
  39643. 110: uint8(0xb9),
  39644. 111: uint8(0xe1),
  39645. 112: uint8(0xbc),
  39646. 113: uint8(0x81),
  39647. 114: uint8(0xce),
  39648. 115: uint8(0xb9),
  39649. 116: uint8(0xe1),
  39650. 117: uint8(0xbc),
  39651. 118: uint8(0x82),
  39652. 119: uint8(0xce),
  39653. 120: uint8(0xb9),
  39654. 121: uint8(0xe1),
  39655. 122: uint8(0xbc),
  39656. 123: uint8(0x83),
  39657. 124: uint8(0xce),
  39658. 125: uint8(0xb9),
  39659. 126: uint8(0xe1),
  39660. 127: uint8(0xbc),
  39661. 128: uint8(0x84),
  39662. 129: uint8(0xce),
  39663. 130: uint8(0xb9),
  39664. 131: uint8(0xe1),
  39665. 132: uint8(0xbc),
  39666. 133: uint8(0x85),
  39667. 134: uint8(0xce),
  39668. 135: uint8(0xb9),
  39669. 136: uint8(0xe1),
  39670. 137: uint8(0xbc),
  39671. 138: uint8(0x86),
  39672. 139: uint8(0xce),
  39673. 140: uint8(0xb9),
  39674. 141: uint8(0xe1),
  39675. 142: uint8(0xbc),
  39676. 143: uint8(0x87),
  39677. 144: uint8(0xce),
  39678. 145: uint8(0xb9),
  39679. 146: uint8(0xe1),
  39680. 147: uint8(0xbc),
  39681. 148: uint8(0xa0),
  39682. 149: uint8(0xce),
  39683. 150: uint8(0xb9),
  39684. 151: uint8(0xe1),
  39685. 152: uint8(0xbc),
  39686. 153: uint8(0xa1),
  39687. 154: uint8(0xce),
  39688. 155: uint8(0xb9),
  39689. 156: uint8(0xe1),
  39690. 157: uint8(0xbc),
  39691. 158: uint8(0xa2),
  39692. 159: uint8(0xce),
  39693. 160: uint8(0xb9),
  39694. 161: uint8(0xe1),
  39695. 162: uint8(0xbc),
  39696. 163: uint8(0xa3),
  39697. 164: uint8(0xce),
  39698. 165: uint8(0xb9),
  39699. 166: uint8(0xe1),
  39700. 167: uint8(0xbc),
  39701. 168: uint8(0xa4),
  39702. 169: uint8(0xce),
  39703. 170: uint8(0xb9),
  39704. 171: uint8(0xe1),
  39705. 172: uint8(0xbc),
  39706. 173: uint8(0xa5),
  39707. 174: uint8(0xce),
  39708. 175: uint8(0xb9),
  39709. 176: uint8(0xe1),
  39710. 177: uint8(0xbc),
  39711. 178: uint8(0xa6),
  39712. 179: uint8(0xce),
  39713. 180: uint8(0xb9),
  39714. 181: uint8(0xe1),
  39715. 182: uint8(0xbc),
  39716. 183: uint8(0xa7),
  39717. 184: uint8(0xce),
  39718. 185: uint8(0xb9),
  39719. 186: uint8(0xe1),
  39720. 187: uint8(0xbc),
  39721. 188: uint8(0xa0),
  39722. 189: uint8(0xce),
  39723. 190: uint8(0xb9),
  39724. 191: uint8(0xe1),
  39725. 192: uint8(0xbc),
  39726. 193: uint8(0xa1),
  39727. 194: uint8(0xce),
  39728. 195: uint8(0xb9),
  39729. 196: uint8(0xe1),
  39730. 197: uint8(0xbc),
  39731. 198: uint8(0xa2),
  39732. 199: uint8(0xce),
  39733. 200: uint8(0xb9),
  39734. 201: uint8(0xe1),
  39735. 202: uint8(0xbc),
  39736. 203: uint8(0xa3),
  39737. 204: uint8(0xce),
  39738. 205: uint8(0xb9),
  39739. 206: uint8(0xe1),
  39740. 207: uint8(0xbc),
  39741. 208: uint8(0xa4),
  39742. 209: uint8(0xce),
  39743. 210: uint8(0xb9),
  39744. 211: uint8(0xe1),
  39745. 212: uint8(0xbc),
  39746. 213: uint8(0xa5),
  39747. 214: uint8(0xce),
  39748. 215: uint8(0xb9),
  39749. 216: uint8(0xe1),
  39750. 217: uint8(0xbc),
  39751. 218: uint8(0xa6),
  39752. 219: uint8(0xce),
  39753. 220: uint8(0xb9),
  39754. 221: uint8(0xe1),
  39755. 222: uint8(0xbc),
  39756. 223: uint8(0xa7),
  39757. 224: uint8(0xce),
  39758. 225: uint8(0xb9),
  39759. 226: uint8(0xe1),
  39760. 227: uint8(0xbd),
  39761. 228: uint8(0xa0),
  39762. 229: uint8(0xce),
  39763. 230: uint8(0xb9),
  39764. 231: uint8(0xe1),
  39765. 232: uint8(0xbd),
  39766. 233: uint8(0xa1),
  39767. 234: uint8(0xce),
  39768. 235: uint8(0xb9),
  39769. 236: uint8(0xe1),
  39770. 237: uint8(0xbd),
  39771. 238: uint8(0xa2),
  39772. 239: uint8(0xce),
  39773. 240: uint8(0xb9),
  39774. 241: uint8(0xe1),
  39775. 242: uint8(0xbd),
  39776. 243: uint8(0xa3),
  39777. 244: uint8(0xce),
  39778. 245: uint8(0xb9),
  39779. 246: uint8(0xe1),
  39780. 247: uint8(0xbd),
  39781. 248: uint8(0xa4),
  39782. 249: uint8(0xce),
  39783. 250: uint8(0xb9),
  39784. 251: uint8(0xe1),
  39785. 252: uint8(0xbd),
  39786. 253: uint8(0xa5),
  39787. 254: uint8(0xce),
  39788. 255: uint8(0xb9),
  39789. 256: uint8(0xe1),
  39790. 257: uint8(0xbd),
  39791. 258: uint8(0xa6),
  39792. 259: uint8(0xce),
  39793. 260: uint8(0xb9),
  39794. 261: uint8(0xe1),
  39795. 262: uint8(0xbd),
  39796. 263: uint8(0xa7),
  39797. 264: uint8(0xce),
  39798. 265: uint8(0xb9),
  39799. 266: uint8(0xe1),
  39800. 267: uint8(0xbd),
  39801. 268: uint8(0xa0),
  39802. 269: uint8(0xce),
  39803. 270: uint8(0xb9),
  39804. 271: uint8(0xe1),
  39805. 272: uint8(0xbd),
  39806. 273: uint8(0xa1),
  39807. 274: uint8(0xce),
  39808. 275: uint8(0xb9),
  39809. 276: uint8(0xe1),
  39810. 277: uint8(0xbd),
  39811. 278: uint8(0xa2),
  39812. 279: uint8(0xce),
  39813. 280: uint8(0xb9),
  39814. 281: uint8(0xe1),
  39815. 282: uint8(0xbd),
  39816. 283: uint8(0xa3),
  39817. 284: uint8(0xce),
  39818. 285: uint8(0xb9),
  39819. 286: uint8(0xe1),
  39820. 287: uint8(0xbd),
  39821. 288: uint8(0xa4),
  39822. 289: uint8(0xce),
  39823. 290: uint8(0xb9),
  39824. 291: uint8(0xe1),
  39825. 292: uint8(0xbd),
  39826. 293: uint8(0xa5),
  39827. 294: uint8(0xce),
  39828. 295: uint8(0xb9),
  39829. 296: uint8(0xe1),
  39830. 297: uint8(0xbd),
  39831. 298: uint8(0xa6),
  39832. 299: uint8(0xce),
  39833. 300: uint8(0xb9),
  39834. 301: uint8(0xe1),
  39835. 302: uint8(0xbd),
  39836. 303: uint8(0xa7),
  39837. 304: uint8(0xce),
  39838. 305: uint8(0xb9),
  39839. 306: uint8(0xe1),
  39840. 307: uint8(0xbd),
  39841. 308: uint8(0xb0),
  39842. 309: uint8(0xce),
  39843. 310: uint8(0xb9),
  39844. 311: uint8(0xce),
  39845. 312: uint8(0xb1),
  39846. 313: uint8(0xce),
  39847. 314: uint8(0xb9),
  39848. 315: uint8(0xce),
  39849. 316: uint8(0xac),
  39850. 317: uint8(0xce),
  39851. 318: uint8(0xb9),
  39852. 319: uint8(0xce),
  39853. 320: uint8(0xb1),
  39854. 321: uint8(0xcd),
  39855. 322: uint8(0x82),
  39856. 323: uint8(0xce),
  39857. 324: uint8(0xb1),
  39858. 325: uint8(0xcd),
  39859. 326: uint8(0x82),
  39860. 327: uint8(0xce),
  39861. 328: uint8(0xb9),
  39862. 329: uint8(0xce),
  39863. 330: uint8(0xb1),
  39864. 331: uint8(0xce),
  39865. 332: uint8(0xb9),
  39866. 333: uint8(0xe1),
  39867. 334: uint8(0xbd),
  39868. 335: uint8(0xb4),
  39869. 336: uint8(0xce),
  39870. 337: uint8(0xb9),
  39871. 338: uint8(0xce),
  39872. 339: uint8(0xb7),
  39873. 340: uint8(0xce),
  39874. 341: uint8(0xb9),
  39875. 342: uint8(0xce),
  39876. 343: uint8(0xae),
  39877. 344: uint8(0xce),
  39878. 345: uint8(0xb9),
  39879. 346: uint8(0xce),
  39880. 347: uint8(0xb7),
  39881. 348: uint8(0xcd),
  39882. 349: uint8(0x82),
  39883. 350: uint8(0xce),
  39884. 351: uint8(0xb7),
  39885. 352: uint8(0xcd),
  39886. 353: uint8(0x82),
  39887. 354: uint8(0xce),
  39888. 355: uint8(0xb9),
  39889. 356: uint8(0xce),
  39890. 357: uint8(0xb7),
  39891. 358: uint8(0xce),
  39892. 359: uint8(0xb9),
  39893. 360: uint8(0xce),
  39894. 361: uint8(0xb9),
  39895. 362: uint8(0xcc),
  39896. 363: uint8(0x88),
  39897. 364: uint8(0xcc),
  39898. 365: uint8(0x80),
  39899. 366: uint8(0xce),
  39900. 367: uint8(0xb9),
  39901. 368: uint8(0xcc),
  39902. 369: uint8(0x88),
  39903. 370: uint8(0xcc),
  39904. 371: uint8(0x81),
  39905. 372: uint8(0xce),
  39906. 373: uint8(0xb9),
  39907. 374: uint8(0xcd),
  39908. 375: uint8(0x82),
  39909. 376: uint8(0xce),
  39910. 377: uint8(0xb9),
  39911. 378: uint8(0xcc),
  39912. 379: uint8(0x88),
  39913. 380: uint8(0xcd),
  39914. 381: uint8(0x82),
  39915. 382: uint8(0xcf),
  39916. 383: uint8(0x85),
  39917. 384: uint8(0xcc),
  39918. 385: uint8(0x88),
  39919. 386: uint8(0xcc),
  39920. 387: uint8(0x80),
  39921. 388: uint8(0xcf),
  39922. 389: uint8(0x85),
  39923. 390: uint8(0xcc),
  39924. 391: uint8(0x88),
  39925. 392: uint8(0xcc),
  39926. 393: uint8(0x81),
  39927. 394: uint8(0xcf),
  39928. 395: uint8(0x81),
  39929. 396: uint8(0xcc),
  39930. 397: uint8(0x93),
  39931. 398: uint8(0xcf),
  39932. 399: uint8(0x85),
  39933. 400: uint8(0xcd),
  39934. 401: uint8(0x82),
  39935. 402: uint8(0xcf),
  39936. 403: uint8(0x85),
  39937. 404: uint8(0xcc),
  39938. 405: uint8(0x88),
  39939. 406: uint8(0xcd),
  39940. 407: uint8(0x82),
  39941. 408: uint8(0xe1),
  39942. 409: uint8(0xbd),
  39943. 410: uint8(0xbc),
  39944. 411: uint8(0xce),
  39945. 412: uint8(0xb9),
  39946. 413: uint8(0xcf),
  39947. 414: uint8(0x89),
  39948. 415: uint8(0xce),
  39949. 416: uint8(0xb9),
  39950. 417: uint8(0xcf),
  39951. 418: uint8(0x8e),
  39952. 419: uint8(0xce),
  39953. 420: uint8(0xb9),
  39954. 421: uint8(0xcf),
  39955. 422: uint8(0x89),
  39956. 423: uint8(0xcd),
  39957. 424: uint8(0x82),
  39958. 425: uint8(0xcf),
  39959. 426: uint8(0x89),
  39960. 427: uint8(0xcd),
  39961. 428: uint8(0x82),
  39962. 429: uint8(0xce),
  39963. 430: uint8(0xb9),
  39964. 431: uint8(0xcf),
  39965. 432: uint8(0x89),
  39966. 433: uint8(0xce),
  39967. 434: uint8(0xb9),
  39968. 435: uint8(0x66),
  39969. 436: uint8(0x66),
  39970. 437: uint8(0x66),
  39971. 438: uint8(0x69),
  39972. 439: uint8(0x66),
  39973. 440: uint8(0x6c),
  39974. 441: uint8(0x66),
  39975. 442: uint8(0x66),
  39976. 443: uint8(0x69),
  39977. 444: uint8(0x66),
  39978. 445: uint8(0x66),
  39979. 446: uint8(0x6c),
  39980. 447: uint8(0x73),
  39981. 448: uint8(0x74),
  39982. 449: uint8(0x73),
  39983. 450: uint8(0x74),
  39984. 451: uint8(0xd5),
  39985. 452: uint8(0xb4),
  39986. 453: uint8(0xd5),
  39987. 454: uint8(0xb6),
  39988. 455: uint8(0xd5),
  39989. 456: uint8(0xb4),
  39990. 457: uint8(0xd5),
  39991. 458: uint8(0xa5),
  39992. 459: uint8(0xd5),
  39993. 460: uint8(0xb4),
  39994. 461: uint8(0xd5),
  39995. 462: uint8(0xab),
  39996. 463: uint8(0xd5),
  39997. 464: uint8(0xbe),
  39998. 465: uint8(0xd5),
  39999. 466: uint8(0xb6),
  40000. 467: uint8(0xd5),
  40001. 468: uint8(0xb4),
  40002. 469: uint8(0xd5),
  40003. 470: uint8(0xad),
  40004. }
  40005. type TFcCaseWalker = struct {
  40006. Fread uintptr
  40007. Fsrc uintptr
  40008. Futf8 [7]TFcChar8
  40009. }
  40010. type T_FcCaseWalker = TFcCaseWalker
  40011. func _FcStrCaseWalkerInit(tls *libc.TLS, src uintptr, w uintptr) {
  40012. (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc = src
  40013. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  40014. }
  40015. func _FcStrCaseWalkerLong(tls *libc.TLS, w uintptr, r TFcChar8) (r1 TFcChar8) {
  40016. bp := tls.Alloc(16)
  40017. defer tls.Free(16)
  40018. var dlen, len1, max, mid, min, slen, v1 int32
  40019. var fold, v2, v3 uintptr
  40020. var high, low TFcChar32
  40021. var _ /* ucs4 at bp+0 */ TFcChar32
  40022. _, _, _, _, _, _, _, _, _, _, _, _ = dlen, fold, high, len1, low, max, mid, min, slen, v1, v2, v3
  40023. len1 = libc.Int32FromUint64(libc.Xstrlen(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc))
  40024. slen = XIA__FcUtf8ToUcs4(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc-uintptr(1), bp, len1+int32(1))
  40025. if slen <= 0 {
  40026. return r
  40027. }
  40028. if uint32(m_FC_MIN_FOLD_CHAR) <= *(*TFcChar32)(unsafe.Pointer(bp)) && *(*TFcChar32)(unsafe.Pointer(bp)) <= uint32(m_FC_MAX_FOLD_CHAR) {
  40029. min = 0
  40030. max = int32(m_FC_NUM_CASE_FOLD)
  40031. for min <= max {
  40032. mid = (min + max) >> int32(1)
  40033. low = _fcCaseFold[mid].Fupper
  40034. if int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4))&0x3>>0) == int32(m_FC_CASE_FOLD_FULL) {
  40035. v1 = int32(1)
  40036. } else {
  40037. v1 = int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4)) & 0xfffc >> 2)
  40038. }
  40039. high = low + libc.Uint32FromInt32(v1)
  40040. if high <= *(*TFcChar32)(unsafe.Pointer(bp)) {
  40041. min = mid + int32(1)
  40042. } else {
  40043. if *(*TFcChar32)(unsafe.Pointer(bp)) < low {
  40044. max = mid - int32(1)
  40045. } else {
  40046. fold = uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8
  40047. switch int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0x3 >> 0) {
  40048. case int32(m_FC_CASE_FOLD_EVEN_ODD):
  40049. if *(*TFcChar32)(unsafe.Pointer(bp))&uint32(1) != (*TFcCaseFold)(unsafe.Pointer(fold)).Fupper&uint32(1) {
  40050. return r
  40051. }
  40052. /* fall through ... */
  40053. fallthrough
  40054. default:
  40055. dlen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp))+libc.Uint32FromInt16((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), w+16)
  40056. case int32(m_FC_CASE_FOLD_FULL):
  40057. dlen = int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0xfffc >> 2)
  40058. libc.Xmemcpy(tls, w+16, uintptr(unsafe.Pointer(&_fcCaseFoldChars))+uintptr((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), libc.Uint64FromInt32(dlen))
  40059. break
  40060. }
  40061. /* consume rest of src utf-8 bytes */
  40062. *(*uintptr)(unsafe.Pointer(w + 8)) += uintptr(slen - int32(1))
  40063. /* read from temp buffer */
  40064. *(*TFcChar8)(unsafe.Pointer(w + 16 + uintptr(dlen))) = uint8('\000')
  40065. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = w + 16
  40066. v3 = w
  40067. v2 = *(*uintptr)(unsafe.Pointer(v3))
  40068. *(*uintptr)(unsafe.Pointer(v3))++
  40069. return *(*TFcChar8)(unsafe.Pointer(v2))
  40070. }
  40071. }
  40072. }
  40073. }
  40074. return r
  40075. }
  40076. func _FcStrCaseWalkerNext(tls *libc.TLS, w uintptr, delims uintptr) (r1 TFcChar8) {
  40077. var r, v1 TFcChar8
  40078. var v2, v3, v4, v5 uintptr
  40079. _, _, _, _, _, _ = r, v1, v2, v3, v4, v5
  40080. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != 0 {
  40081. v3 = w
  40082. v2 = *(*uintptr)(unsafe.Pointer(v3))
  40083. *(*uintptr)(unsafe.Pointer(v3))++
  40084. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  40085. r = v1
  40086. if v1 != 0 {
  40087. return r
  40088. }
  40089. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  40090. }
  40091. for cond := true; cond; cond = libc.Int32FromUint8(r) != 0 && delims != 0 && libc.Xstrchr(tls, delims, libc.Int32FromUint8(r)) != 0 {
  40092. v5 = w + 8
  40093. v4 = *(*uintptr)(unsafe.Pointer(v5))
  40094. *(*uintptr)(unsafe.Pointer(v5))++
  40095. r = *(*TFcChar8)(unsafe.Pointer(v4))
  40096. }
  40097. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  40098. return _FcStrCaseWalkerLong(tls, w, r)
  40099. }
  40100. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  40101. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  40102. }
  40103. return r
  40104. }
  40105. func XIA__FcStrDowncase(tls *libc.TLS, s uintptr) (r uintptr) {
  40106. bp := tls.Alloc(32)
  40107. defer tls.Free(32)
  40108. var d, dst, v1, v3 uintptr
  40109. var len1 int32
  40110. var v2 TFcChar8
  40111. var _ /* w at bp+0 */ TFcCaseWalker
  40112. _, _, _, _, _, _ = d, dst, len1, v1, v2, v3
  40113. len1 = 0
  40114. _FcStrCaseWalkerInit(tls, s, bp)
  40115. for _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0)) != 0 {
  40116. len1++
  40117. }
  40118. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(len1+int32(1)))
  40119. dst = v1
  40120. d = v1
  40121. if !(d != 0) {
  40122. return uintptr(0)
  40123. }
  40124. _FcStrCaseWalkerInit(tls, s, bp)
  40125. for {
  40126. v2 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40127. v3 = d
  40128. d++
  40129. *(*TFcChar8)(unsafe.Pointer(v3)) = v2
  40130. if !(v2 != 0) {
  40131. break
  40132. }
  40133. }
  40134. return dst
  40135. }
  40136. var XFcStrDowncase = XIA__FcStrDowncase
  40137. func XIA__FcStrCmpIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  40138. bp := tls.Alloc(48)
  40139. defer tls.Free(48)
  40140. var c1, c2 TFcChar8
  40141. var _ /* w1 at bp+0 */ TFcCaseWalker
  40142. var _ /* w2 at bp+24 */ TFcCaseWalker
  40143. _, _ = c1, c2
  40144. if s1 == s2 {
  40145. return 0
  40146. }
  40147. _FcStrCaseWalkerInit(tls, s1, bp)
  40148. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40149. for {
  40150. c1 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40151. c2 = _FcStrCaseWalkerNext(tls, bp+24, libc.UintptrFromInt32(0))
  40152. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40153. break
  40154. }
  40155. goto _1
  40156. _1:
  40157. }
  40158. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  40159. }
  40160. var XFcStrCmpIgnoreCase = XIA__FcStrCmpIgnoreCase
  40161. func XFcStrCmpIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  40162. return XFcStrCmpIgnoreCaseAndDelims(tls, s1, s2, __ccgo_ts+1665)
  40163. }
  40164. func XFcStrCmpIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  40165. bp := tls.Alloc(48)
  40166. defer tls.Free(48)
  40167. var c1, c2 TFcChar8
  40168. var _ /* w1 at bp+0 */ TFcCaseWalker
  40169. var _ /* w2 at bp+24 */ TFcCaseWalker
  40170. _, _ = c1, c2
  40171. if s1 == s2 {
  40172. return 0
  40173. }
  40174. _FcStrCaseWalkerInit(tls, s1, bp)
  40175. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40176. for {
  40177. c1 = _FcStrCaseWalkerNext(tls, bp, delims)
  40178. c2 = _FcStrCaseWalkerNext(tls, bp+24, delims)
  40179. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40180. break
  40181. }
  40182. goto _1
  40183. _1:
  40184. }
  40185. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  40186. }
  40187. func XIA__FcStrCmp(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  40188. var c1, c2 TFcChar8
  40189. var v2, v3 uintptr
  40190. _, _, _, _ = c1, c2, v2, v3
  40191. if s1 == s2 {
  40192. return 0
  40193. }
  40194. for {
  40195. v2 = s1
  40196. s1++
  40197. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  40198. v3 = s2
  40199. s2++
  40200. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  40201. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40202. break
  40203. }
  40204. goto _1
  40205. _1:
  40206. }
  40207. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  40208. }
  40209. var XFcStrCmp = XIA__FcStrCmp
  40210. /*
  40211. * Return a hash value for a string
  40212. */
  40213. func XFcStrHashIgnoreCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  40214. bp := tls.Alloc(32)
  40215. defer tls.Free(32)
  40216. var c, v1 TFcChar8
  40217. var h TFcChar32
  40218. var _ /* w at bp+0 */ TFcCaseWalker
  40219. _, _, _ = c, h, v1
  40220. h = uint32(0)
  40221. _FcStrCaseWalkerInit(tls, s, bp)
  40222. for {
  40223. v1 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40224. c = v1
  40225. if !(v1 != 0) {
  40226. break
  40227. }
  40228. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  40229. }
  40230. return h
  40231. }
  40232. /*
  40233. * Is the head of s1 equal to s2?
  40234. */
  40235. func _FcStrIsAtIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  40236. bp := tls.Alloc(48)
  40237. defer tls.Free(48)
  40238. var c1, c2 TFcChar8
  40239. var _ /* w1 at bp+0 */ TFcCaseWalker
  40240. var _ /* w2 at bp+24 */ TFcCaseWalker
  40241. _, _ = c1, c2
  40242. _FcStrCaseWalkerInit(tls, s1, bp)
  40243. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40244. for {
  40245. c1 = _FcStrCaseWalkerNext(tls, bp, __ccgo_ts+1665)
  40246. c2 = _FcStrCaseWalkerNext(tls, bp+24, __ccgo_ts+1665)
  40247. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40248. break
  40249. }
  40250. goto _1
  40251. _1:
  40252. }
  40253. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  40254. }
  40255. /*
  40256. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  40257. */
  40258. func XFcStrContainsIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40259. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  40260. if _FcStrIsAtIgnoreBlanksAndCase(tls, s1, s2) != 0 {
  40261. return s1
  40262. }
  40263. s1++
  40264. }
  40265. return uintptr(0)
  40266. }
  40267. func _FcCharIsPunct1(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  40268. if libc.Int32FromUint8(c) < int32('0') {
  40269. return int32(m_FcTrue)
  40270. }
  40271. if libc.Int32FromUint8(c) <= int32('9') {
  40272. return m_FcFalse
  40273. }
  40274. if libc.Int32FromUint8(c) < int32('A') {
  40275. return int32(m_FcTrue)
  40276. }
  40277. if libc.Int32FromUint8(c) <= int32('Z') {
  40278. return m_FcFalse
  40279. }
  40280. if libc.Int32FromUint8(c) < int32('a') {
  40281. return int32(m_FcTrue)
  40282. }
  40283. if libc.Int32FromUint8(c) <= int32('z') {
  40284. return m_FcFalse
  40285. }
  40286. if libc.Int32FromUint8(c) <= int32('~') {
  40287. return int32(m_FcTrue)
  40288. }
  40289. return m_FcFalse
  40290. }
  40291. /*
  40292. * Is the head of s1 equal to s2?
  40293. */
  40294. func _FcStrIsAtIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  40295. bp := tls.Alloc(48)
  40296. defer tls.Free(48)
  40297. var c1, c2 TFcChar8
  40298. var _ /* w1 at bp+0 */ TFcCaseWalker
  40299. var _ /* w2 at bp+24 */ TFcCaseWalker
  40300. _, _ = c1, c2
  40301. _FcStrCaseWalkerInit(tls, s1, bp)
  40302. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40303. for {
  40304. c1 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40305. c2 = _FcStrCaseWalkerNext(tls, bp+24, libc.UintptrFromInt32(0))
  40306. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40307. break
  40308. }
  40309. goto _1
  40310. _1:
  40311. }
  40312. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  40313. }
  40314. /*
  40315. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  40316. */
  40317. func XFcStrContainsIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40318. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  40319. if _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 {
  40320. return s1
  40321. }
  40322. s1++
  40323. }
  40324. return uintptr(0)
  40325. }
  40326. /*
  40327. * Does s1 contain an instance of s2 on a word boundary (ignoring case)?
  40328. */
  40329. func XFcStrContainsWord(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40330. var s1len, s2len int32
  40331. var wordStart TFcBool
  40332. _, _, _ = s1len, s2len, wordStart
  40333. wordStart = int32(m_FcTrue)
  40334. s1len = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  40335. s2len = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  40336. for s1len >= s2len {
  40337. if wordStart != 0 && _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 && (s1len == s2len || _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1 + uintptr(s2len)))) != 0) {
  40338. return s1
  40339. }
  40340. wordStart = m_FcFalse
  40341. if _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1))) != 0 {
  40342. wordStart = int32(m_FcTrue)
  40343. }
  40344. s1++
  40345. s1len--
  40346. }
  40347. return uintptr(0)
  40348. }
  40349. /*
  40350. * returns the number of strings (ignoring delimitors and case) being matched
  40351. */
  40352. func XFcStrMatchIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  40353. bp := tls.Alloc(48)
  40354. defer tls.Free(48)
  40355. var c1, c2 TFcChar8
  40356. var _ /* w1 at bp+0 */ TFcCaseWalker
  40357. var _ /* w2 at bp+24 */ TFcCaseWalker
  40358. _, _ = c1, c2
  40359. if s1 == s2 {
  40360. return 0
  40361. }
  40362. _FcStrCaseWalkerInit(tls, s1, bp)
  40363. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40364. for {
  40365. c1 = _FcStrCaseWalkerNext(tls, bp, delims)
  40366. c2 = _FcStrCaseWalkerNext(tls, bp+24, delims)
  40367. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40368. break
  40369. }
  40370. goto _1
  40371. _1:
  40372. }
  40373. return int32(int64((*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc) - int64(s1) - int64(1))
  40374. }
  40375. func XFcStrGlobMatch(tls *libc.TLS, glob uintptr, string1 uintptr) (r TFcBool) {
  40376. var c, v1 TFcChar8
  40377. var l1, l2 Tsize_t
  40378. var v2, v3, v4 uintptr
  40379. _, _, _, _, _, _, _ = c, l1, l2, v1, v2, v3, v4
  40380. for {
  40381. v2 = glob
  40382. glob++
  40383. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  40384. c = v1
  40385. if !(v1 != 0) {
  40386. break
  40387. }
  40388. switch libc.Int32FromUint8(c) {
  40389. case int32('*'):
  40390. /* short circuit common case */
  40391. if !(*(*TFcChar8)(unsafe.Pointer(glob)) != 0) {
  40392. return int32(m_FcTrue)
  40393. }
  40394. /* short circuit another common case */
  40395. if libc.Xstrchr(tls, glob, int32('*')) == uintptr(0) {
  40396. l1 = libc.Xstrlen(tls, string1)
  40397. l2 = libc.Xstrlen(tls, glob)
  40398. if l1 < l2 {
  40399. return m_FcFalse
  40400. }
  40401. string1 += uintptr(l1 - l2)
  40402. }
  40403. for *(*TFcChar8)(unsafe.Pointer(string1)) != 0 {
  40404. if XFcStrGlobMatch(tls, glob, string1) != 0 {
  40405. return int32(m_FcTrue)
  40406. }
  40407. string1++
  40408. }
  40409. return m_FcFalse
  40410. case int32('?'):
  40411. v3 = string1
  40412. string1++
  40413. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v3))) == int32('\000') {
  40414. return m_FcFalse
  40415. }
  40416. default:
  40417. v4 = string1
  40418. string1++
  40419. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v4))) != libc.Int32FromUint8(c) {
  40420. return m_FcFalse
  40421. }
  40422. break
  40423. }
  40424. }
  40425. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(string1))) == int32('\000'))
  40426. }
  40427. func XIA__FcStrStrIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40428. bp := tls.Alloc(96)
  40429. defer tls.Free(96)
  40430. var c1, c1t, c2, c2t TFcChar8
  40431. var cur uintptr
  40432. var _ /* w1 at bp+0 */ TFcCaseWalker
  40433. var _ /* w1t at bp+48 */ TFcCaseWalker
  40434. var _ /* w2 at bp+24 */ TFcCaseWalker
  40435. var _ /* w2t at bp+72 */ TFcCaseWalker
  40436. _, _, _, _, _ = c1, c1t, c2, c2t, cur
  40437. if !(s1 != 0) || !(s2 != 0) {
  40438. return uintptr(0)
  40439. }
  40440. if s1 == s2 {
  40441. return s1
  40442. }
  40443. _FcStrCaseWalkerInit(tls, s1, bp)
  40444. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40445. c2 = _FcStrCaseWalkerNext(tls, bp+24, libc.UintptrFromInt32(0))
  40446. for {
  40447. cur = (*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc
  40448. c1 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40449. if !(c1 != 0) {
  40450. break
  40451. }
  40452. if libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  40453. *(*TFcCaseWalker)(unsafe.Pointer(bp + 48)) = *(*TFcCaseWalker)(unsafe.Pointer(bp))
  40454. *(*TFcCaseWalker)(unsafe.Pointer(bp + 72)) = *(*TFcCaseWalker)(unsafe.Pointer(bp + 24))
  40455. for {
  40456. c1t = _FcStrCaseWalkerNext(tls, bp+48, libc.UintptrFromInt32(0))
  40457. c2t = _FcStrCaseWalkerNext(tls, bp+72, libc.UintptrFromInt32(0))
  40458. if !(c2t != 0) {
  40459. return cur
  40460. }
  40461. if libc.Int32FromUint8(c2t) != libc.Int32FromUint8(c1t) {
  40462. break
  40463. }
  40464. goto _2
  40465. _2:
  40466. }
  40467. }
  40468. goto _1
  40469. _1:
  40470. }
  40471. return uintptr(0)
  40472. }
  40473. var XFcStrStrIgnoreCase = XIA__FcStrStrIgnoreCase
  40474. func XIA__FcStrStr(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40475. var b, p, v1, v3 uintptr
  40476. var c1, c2 TFcChar8
  40477. _, _, _, _, _, _ = b, c1, c2, p, v1, v3
  40478. p = s1
  40479. b = s2
  40480. if !(s1 != 0) || !(s2 != 0) {
  40481. return uintptr(0)
  40482. }
  40483. if s1 == s2 {
  40484. return s1
  40485. }
  40486. goto again
  40487. again:
  40488. ;
  40489. v1 = s2
  40490. s2++
  40491. c2 = *(*TFcChar8)(unsafe.Pointer(v1))
  40492. if !(c2 != 0) {
  40493. return uintptr(0)
  40494. }
  40495. for {
  40496. p = s1
  40497. v3 = s1
  40498. s1++
  40499. c1 = *(*TFcChar8)(unsafe.Pointer(v3))
  40500. if !(c1 != 0) || libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  40501. break
  40502. }
  40503. goto _2
  40504. _2:
  40505. }
  40506. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40507. return uintptr(0)
  40508. }
  40509. for {
  40510. c1 = *(*TFcChar8)(unsafe.Pointer(s1))
  40511. c2 = *(*TFcChar8)(unsafe.Pointer(s2))
  40512. if c1 != 0 && c2 != 0 && libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40513. s1 = p + uintptr(1)
  40514. s2 = b
  40515. goto again
  40516. }
  40517. if !(c2 != 0) {
  40518. return p
  40519. }
  40520. if !(c1 != 0) {
  40521. return uintptr(0)
  40522. }
  40523. s1++
  40524. s2++
  40525. goto _4
  40526. _4:
  40527. }
  40528. /* never reached. */
  40529. return r
  40530. }
  40531. var XFcStrStr = XIA__FcStrStr
  40532. func XIA__FcUtf8ToUcs4(tls *libc.TLS, src_orig uintptr, dst uintptr, len1 int32) (r int32) {
  40533. var extra, v2 int32
  40534. var result TFcChar32
  40535. var s TFcChar8
  40536. var src, v1, v3 uintptr
  40537. _, _, _, _, _, _, _ = extra, result, s, src, v1, v2, v3
  40538. src = src_orig
  40539. if len1 == 0 {
  40540. return 0
  40541. }
  40542. v1 = src
  40543. src++
  40544. s = *(*TFcChar8)(unsafe.Pointer(v1))
  40545. len1--
  40546. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x80) != 0) {
  40547. result = uint32(s)
  40548. extra = 0
  40549. } else {
  40550. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x40) != 0) {
  40551. return -int32(1)
  40552. } else {
  40553. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x20) != 0) {
  40554. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x1f))
  40555. extra = int32(1)
  40556. } else {
  40557. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x10) != 0) {
  40558. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0xf))
  40559. extra = int32(2)
  40560. } else {
  40561. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x08) != 0) {
  40562. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x07))
  40563. extra = int32(3)
  40564. } else {
  40565. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x04) != 0) {
  40566. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x03))
  40567. extra = int32(4)
  40568. } else {
  40569. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x02) != 0) {
  40570. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x01))
  40571. extra = int32(5)
  40572. } else {
  40573. return -int32(1)
  40574. }
  40575. }
  40576. }
  40577. }
  40578. }
  40579. }
  40580. }
  40581. if extra > len1 {
  40582. return -int32(1)
  40583. }
  40584. for {
  40585. v2 = extra
  40586. extra--
  40587. if !(v2 != 0) {
  40588. break
  40589. }
  40590. result <<= uint32(6)
  40591. v3 = src
  40592. src++
  40593. s = *(*TFcChar8)(unsafe.Pointer(v3))
  40594. if libc.Int32FromUint8(s)&int32(0xc0) != int32(0x80) {
  40595. return -int32(1)
  40596. }
  40597. result |= libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x3f))
  40598. }
  40599. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  40600. return int32(int64(src) - int64(src_orig))
  40601. }
  40602. var XFcUtf8ToUcs4 = XIA__FcUtf8ToUcs4
  40603. func XIA__FcUtf8Len(tls *libc.TLS, string1 uintptr, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  40604. bp := tls.Alloc(16)
  40605. defer tls.Free(16)
  40606. var clen, n int32
  40607. var max TFcChar32
  40608. var _ /* c at bp+0 */ TFcChar32
  40609. _, _, _ = clen, max, n
  40610. n = 0
  40611. max = uint32(0)
  40612. for len1 != 0 {
  40613. clen = XIA__FcUtf8ToUcs4(tls, string1, bp, len1)
  40614. if clen <= 0 { /* malformed UTF8 string */
  40615. return m_FcFalse
  40616. }
  40617. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  40618. max = *(*TFcChar32)(unsafe.Pointer(bp))
  40619. }
  40620. string1 += uintptr(clen)
  40621. len1 -= clen
  40622. n++
  40623. }
  40624. *(*int32)(unsafe.Pointer(nchar)) = n
  40625. if max >= uint32(0x10000) {
  40626. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  40627. } else {
  40628. if max > uint32(0x100) {
  40629. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  40630. } else {
  40631. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  40632. }
  40633. }
  40634. return int32(m_FcTrue)
  40635. }
  40636. var XFcUtf8Len = XIA__FcUtf8Len
  40637. func XIA__FcUcs4ToUtf8(tls *libc.TLS, ucs4 TFcChar32, dest uintptr) (r int32) {
  40638. var bits int32
  40639. var d, v1, v2, v3, v4, v5, v6, v8 uintptr
  40640. _, _, _, _, _, _, _, _, _ = bits, d, v1, v2, v3, v4, v5, v6, v8
  40641. d = dest
  40642. if ucs4 < uint32(0x80) {
  40643. v1 = d
  40644. d++
  40645. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(ucs4)
  40646. bits = -int32(6)
  40647. } else {
  40648. if ucs4 < uint32(0x800) {
  40649. v2 = d
  40650. d++
  40651. *(*TFcChar8)(unsafe.Pointer(v2)) = uint8(ucs4>>libc.Int32FromInt32(6)&uint32(0x1F) | uint32(0xC0))
  40652. bits = 0
  40653. } else {
  40654. if ucs4 < uint32(0x10000) {
  40655. v3 = d
  40656. d++
  40657. *(*TFcChar8)(unsafe.Pointer(v3)) = uint8(ucs4>>libc.Int32FromInt32(12)&uint32(0x0F) | uint32(0xE0))
  40658. bits = int32(6)
  40659. } else {
  40660. if ucs4 < uint32(0x200000) {
  40661. v4 = d
  40662. d++
  40663. *(*TFcChar8)(unsafe.Pointer(v4)) = uint8(ucs4>>libc.Int32FromInt32(18)&uint32(0x07) | uint32(0xF0))
  40664. bits = int32(12)
  40665. } else {
  40666. if ucs4 < uint32(0x4000000) {
  40667. v5 = d
  40668. d++
  40669. *(*TFcChar8)(unsafe.Pointer(v5)) = uint8(ucs4>>libc.Int32FromInt32(24)&uint32(0x03) | uint32(0xF8))
  40670. bits = int32(18)
  40671. } else {
  40672. if ucs4 < uint32(0x80000000) {
  40673. v6 = d
  40674. d++
  40675. *(*TFcChar8)(unsafe.Pointer(v6)) = uint8(ucs4>>libc.Int32FromInt32(30)&uint32(0x01) | uint32(0xFC))
  40676. bits = int32(24)
  40677. } else {
  40678. return 0
  40679. }
  40680. }
  40681. }
  40682. }
  40683. }
  40684. }
  40685. for {
  40686. if !(bits >= 0) {
  40687. break
  40688. }
  40689. v8 = d
  40690. d++
  40691. *(*TFcChar8)(unsafe.Pointer(v8)) = uint8(ucs4>>bits&uint32(0x3F) | uint32(0x80))
  40692. goto _7
  40693. _7:
  40694. ;
  40695. bits -= int32(6)
  40696. }
  40697. return int32(int64(d) - int64(dest))
  40698. }
  40699. var XFcUcs4ToUtf8 = XIA__FcUcs4ToUtf8
  40700. func XIA__FcUtf16ToUcs4(tls *libc.TLS, src_orig uintptr, endian TFcEndian, dst uintptr, len1 int32) (r int32) {
  40701. /* in bytes */
  40702. var a, b TFcChar16
  40703. var result TFcChar32
  40704. var src uintptr
  40705. var v1, v2, v3, v4 int32
  40706. _, _, _, _, _, _, _, _ = a, b, result, src, v1, v2, v3, v4
  40707. src = src_orig
  40708. if len1 < int32(2) {
  40709. return 0
  40710. }
  40711. if endian == int32(_FcEndianBig) {
  40712. v1 = 0
  40713. } else {
  40714. v1 = int32(1)
  40715. }
  40716. if endian == int32(_FcEndianBig) {
  40717. v2 = int32(1)
  40718. } else {
  40719. v2 = 0
  40720. }
  40721. a = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v1))))<<libc.Int32FromInt32(8))) | libc.Int32FromUint16(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v2))))))
  40722. src += uintptr(2)
  40723. len1 -= int32(2)
  40724. /*
  40725. * Check for surrogate
  40726. */
  40727. if libc.Int32FromUint16(a)&int32(0xfc00) == int32(0xd800) {
  40728. if len1 < int32(2) {
  40729. return 0
  40730. }
  40731. if endian == int32(_FcEndianBig) {
  40732. v3 = 0
  40733. } else {
  40734. v3 = int32(1)
  40735. }
  40736. if endian == int32(_FcEndianBig) {
  40737. v4 = int32(1)
  40738. } else {
  40739. v4 = 0
  40740. }
  40741. b = libc.Uint16FromInt32(libc.Int32FromUint16(libc.Uint16FromInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v3))))<<libc.Int32FromInt32(8))) | libc.Int32FromUint16(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v4))))))
  40742. src += uintptr(2)
  40743. len1 -= int32(2)
  40744. /*
  40745. * Check for invalid surrogate sequence
  40746. */
  40747. if libc.Int32FromUint16(b)&int32(0xfc00) != int32(0xdc00) {
  40748. return 0
  40749. }
  40750. result = uint32(a)&uint32(0x3ff)<<int32(10) | uint32(b)&uint32(0x3ff) + uint32(0x10000)
  40751. } else {
  40752. result = uint32(a)
  40753. }
  40754. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  40755. return int32(int64(src) - int64(src_orig))
  40756. }
  40757. var XFcUtf16ToUcs4 = XIA__FcUtf16ToUcs4
  40758. func XIA__FcUtf16Len(tls *libc.TLS, string1 uintptr, endian TFcEndian, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  40759. bp := tls.Alloc(16)
  40760. defer tls.Free(16)
  40761. var clen, n int32
  40762. var max TFcChar32
  40763. var _ /* c at bp+0 */ TFcChar32
  40764. _, _, _ = clen, max, n
  40765. n = 0
  40766. max = uint32(0)
  40767. for len1 != 0 {
  40768. clen = XIA__FcUtf16ToUcs4(tls, string1, endian, bp, len1)
  40769. if clen <= 0 { /* malformed UTF8 string */
  40770. return m_FcFalse
  40771. }
  40772. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  40773. max = *(*TFcChar32)(unsafe.Pointer(bp))
  40774. }
  40775. string1 += uintptr(clen)
  40776. len1 -= clen
  40777. n++
  40778. }
  40779. *(*int32)(unsafe.Pointer(nchar)) = n
  40780. if max >= uint32(0x10000) {
  40781. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  40782. } else {
  40783. if max > uint32(0x100) {
  40784. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  40785. } else {
  40786. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  40787. }
  40788. }
  40789. return int32(m_FcTrue)
  40790. }
  40791. var XFcUtf16Len = XIA__FcUtf16Len
  40792. func XFcStrBufInit(tls *libc.TLS, buf uintptr, init1 uintptr, size int32) {
  40793. if init1 != 0 {
  40794. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = init1
  40795. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  40796. } else {
  40797. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = buf + 24
  40798. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = int32(128)
  40799. }
  40800. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = m_FcFalse
  40801. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = m_FcFalse
  40802. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = 0
  40803. }
  40804. func XFcStrBufDestroy(tls *libc.TLS, buf uintptr) {
  40805. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  40806. libc.Xfree(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf)
  40807. XFcStrBufInit(tls, buf, uintptr(0), 0)
  40808. }
  40809. }
  40810. func XFcStrBufDone(tls *libc.TLS, buf uintptr) (r uintptr) {
  40811. var ret uintptr
  40812. _ = ret
  40813. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  40814. ret = libc.UintptrFromInt32(0)
  40815. } else {
  40816. ret = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1+int32(1)))
  40817. }
  40818. if ret != 0 {
  40819. libc.Xmemcpy(tls, ret, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  40820. *(*TFcChar8)(unsafe.Pointer(ret + uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))) = uint8('\000')
  40821. }
  40822. XFcStrBufDestroy(tls, buf)
  40823. return ret
  40824. }
  40825. func XFcStrBufDoneStatic(tls *libc.TLS, buf uintptr) (r uintptr) {
  40826. XFcStrBufChar(tls, buf, uint8('\000'))
  40827. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  40828. return libc.UintptrFromInt32(0)
  40829. }
  40830. return (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf
  40831. }
  40832. func XFcStrBufChar(tls *libc.TLS, buf uintptr, c TFcChar8) (r TFcBool) {
  40833. var new1, v2 uintptr
  40834. var size, v1 int32
  40835. _, _, _, _ = new1, size, v1, v2
  40836. if (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 == (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize {
  40837. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  40838. return m_FcFalse
  40839. }
  40840. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  40841. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize * int32(2)
  40842. new1 = libc.Xrealloc(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32(size))
  40843. } else {
  40844. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize + int32(64)
  40845. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  40846. if new1 != 0 {
  40847. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = int32(m_FcTrue)
  40848. libc.Xmemcpy(tls, new1, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  40849. }
  40850. }
  40851. if !(new1 != 0) {
  40852. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = int32(m_FcTrue)
  40853. return m_FcFalse
  40854. }
  40855. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  40856. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = new1
  40857. }
  40858. v2 = buf + 16
  40859. v1 = *(*int32)(unsafe.Pointer(v2))
  40860. *(*int32)(unsafe.Pointer(v2))++
  40861. *(*TFcChar8)(unsafe.Pointer((*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(v1))) = c
  40862. return int32(m_FcTrue)
  40863. }
  40864. func XFcStrBufString(tls *libc.TLS, buf uintptr, s uintptr) (r TFcBool) {
  40865. var c, v1 TFcChar8
  40866. var v2 uintptr
  40867. _, _, _ = c, v1, v2
  40868. for {
  40869. v2 = s
  40870. s++
  40871. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  40872. c = v1
  40873. if !(v1 != 0) {
  40874. break
  40875. }
  40876. if !(XFcStrBufChar(tls, buf, c) != 0) {
  40877. return m_FcFalse
  40878. }
  40879. }
  40880. return int32(m_FcTrue)
  40881. }
  40882. func XFcStrBufData(tls *libc.TLS, buf uintptr, s uintptr, len1 int32) (r TFcBool) {
  40883. var v1 int32
  40884. var v2 uintptr
  40885. _, _ = v1, v2
  40886. for {
  40887. v1 = len1
  40888. len1--
  40889. if !(v1 > 0) {
  40890. break
  40891. }
  40892. v2 = s
  40893. s++
  40894. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v2))) != 0) {
  40895. return m_FcFalse
  40896. }
  40897. }
  40898. return int32(m_FcTrue)
  40899. }
  40900. func XFcStrUsesHome(tls *libc.TLS, s uintptr) (r TFcBool) {
  40901. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~'))
  40902. }
  40903. func XFcStrIsAbsoluteFilename(tls *libc.TLS, s uintptr) (r TFcBool) {
  40904. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/'))
  40905. }
  40906. func XFcStrBuildFilename(tls *libc.TLS, path uintptr, va uintptr) (r uintptr) {
  40907. var ap Tva_list
  40908. var len1 Tsize_t
  40909. var list, p, ret, s, sset, v1, v2 uintptr
  40910. _, _, _, _, _, _, _, _, _ = ap, len1, list, p, ret, s, sset, v1, v2
  40911. ret = libc.UintptrFromInt32(0)
  40912. len1 = uint64(0)
  40913. if !(path != 0) {
  40914. return libc.UintptrFromInt32(0)
  40915. }
  40916. sset = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  40917. if !(sset != 0) {
  40918. return libc.UintptrFromInt32(0)
  40919. }
  40920. if !(XIA__FcStrSetAdd(tls, sset, path) != 0) {
  40921. goto bail0
  40922. }
  40923. ap = va
  40924. for int32(1) != 0 {
  40925. s = libc.VaUintptr(&ap)
  40926. if !(s != 0) {
  40927. break
  40928. }
  40929. if !(XIA__FcStrSetAdd(tls, sset, s) != 0) {
  40930. goto bail1
  40931. }
  40932. }
  40933. list = XIA__FcStrListCreate(tls, sset)
  40934. for {
  40935. v1 = XIA__FcStrListNext(tls, list)
  40936. s = v1
  40937. if !(v1 != 0) {
  40938. break
  40939. }
  40940. len1 += libc.Xstrlen(tls, s) + uint64(1)
  40941. }
  40942. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  40943. ret = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  40944. if !(ret != 0) {
  40945. goto bail2
  40946. }
  40947. p = ret
  40948. for {
  40949. v2 = XIA__FcStrListNext(tls, list)
  40950. s = v2
  40951. if !(v2 != 0) {
  40952. break
  40953. }
  40954. if p != ret {
  40955. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('/')
  40956. p++
  40957. }
  40958. len1 = libc.Xstrlen(tls, s)
  40959. libc.Xmemcpy(tls, p, s, len1)
  40960. p += uintptr(len1)
  40961. }
  40962. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  40963. goto bail2
  40964. bail2:
  40965. ;
  40966. XIA__FcStrListDone(tls, list)
  40967. goto bail1
  40968. bail1:
  40969. ;
  40970. _ = ap
  40971. goto bail0
  40972. bail0:
  40973. ;
  40974. XIA__FcStrSetDestroy(tls, sset)
  40975. return ret
  40976. }
  40977. func XIA__FcStrCopyFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  40978. var full, home, new1 uintptr
  40979. var size int32
  40980. _, _, _, _ = full, home, new1, size
  40981. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~') {
  40982. home = XIA__FcConfigHome(tls)
  40983. if !(home != 0) {
  40984. return libc.UintptrFromInt32(0)
  40985. }
  40986. size = libc.Int32FromUint64(libc.Xstrlen(tls, home) + libc.Xstrlen(tls, s))
  40987. full = libc.Xmalloc(tls, libc.Uint64FromInt32(size+int32(1)))
  40988. if !(full != 0) {
  40989. return libc.UintptrFromInt32(0)
  40990. }
  40991. libc.Xstrcpy(tls, full, home)
  40992. libc.Xstrcat(tls, full, s+uintptr(1))
  40993. new1 = XFcStrCanonFilename(tls, full)
  40994. libc.Xfree(tls, full)
  40995. } else {
  40996. new1 = XFcStrCanonFilename(tls, s)
  40997. }
  40998. return new1
  40999. }
  41000. var XFcStrCopyFilename = XIA__FcStrCopyFilename
  41001. func XFcStrLastSlash(tls *libc.TLS, path uintptr) (r uintptr) {
  41002. var slash uintptr
  41003. _ = slash
  41004. slash = libc.Xstrrchr(tls, path, int32('/'))
  41005. return slash
  41006. }
  41007. func XIA__FcStrDirname(tls *libc.TLS, file uintptr) (r uintptr) {
  41008. var dir, slash uintptr
  41009. _, _ = dir, slash
  41010. slash = XFcStrLastSlash(tls, file)
  41011. if !(slash != 0) {
  41012. return XIA__FcStrCopy(tls, __ccgo_ts+6437)
  41013. }
  41014. dir = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(slash)-int64(file)+int64(1)))
  41015. if !(dir != 0) {
  41016. return uintptr(0)
  41017. }
  41018. libc.Xstrncpy(tls, dir, file, libc.Uint64FromInt64(int64(slash)-int64(file)))
  41019. *(*TFcChar8)(unsafe.Pointer(dir + uintptr(int64(slash)-int64(file)))) = uint8('\000')
  41020. return dir
  41021. }
  41022. var XFcStrDirname = XIA__FcStrDirname
  41023. func XIA__FcStrBasename(tls *libc.TLS, file uintptr) (r uintptr) {
  41024. var slash uintptr
  41025. _ = slash
  41026. slash = XFcStrLastSlash(tls, file)
  41027. if !(slash != 0) {
  41028. return XIA__FcStrCopy(tls, file)
  41029. }
  41030. return XIA__FcStrCopy(tls, slash+uintptr(1))
  41031. }
  41032. var XFcStrBasename = XIA__FcStrBasename
  41033. func _FcStrCanonAbsoluteFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  41034. var f, file, slash, v2, v4, v5 uintptr
  41035. var size int32
  41036. var v3 TFcChar8
  41037. _, _, _, _, _, _, _, _ = f, file, size, slash, v2, v3, v4, v5
  41038. size = libc.Int32FromUint64(libc.Xstrlen(tls, s) + uint64(1))
  41039. file = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  41040. if !(file != 0) {
  41041. return libc.UintptrFromInt32(0)
  41042. }
  41043. slash = libc.UintptrFromInt32(0)
  41044. f = file
  41045. for {
  41046. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('\000') {
  41047. if slash != 0 {
  41048. switch int64(s) - int64(slash) {
  41049. case int64(1):
  41050. f -= uintptr(1) /* squash // and trim final / from file */
  41051. case int64(2):
  41052. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6439, uint64(2)) != 0) {
  41053. f -= uintptr(2) /* trim /. from file */
  41054. }
  41055. case int64(3):
  41056. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6442, uint64(3)) != 0) {
  41057. f -= uintptr(3) /* trim /.. from file */
  41058. for f > file {
  41059. f--
  41060. v2 = f
  41061. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2))) == int32('/') {
  41062. break
  41063. }
  41064. }
  41065. }
  41066. break
  41067. }
  41068. }
  41069. slash = s
  41070. }
  41071. v4 = s
  41072. s++
  41073. v3 = *(*TFcChar8)(unsafe.Pointer(v4))
  41074. v5 = f
  41075. f++
  41076. *(*TFcChar8)(unsafe.Pointer(v5)) = v3
  41077. if !(v3 != 0) {
  41078. break
  41079. }
  41080. goto _1
  41081. _1:
  41082. }
  41083. return file
  41084. }
  41085. func XFcStrCanonFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  41086. bp := tls.Alloc(4128)
  41087. defer tls.Free(4128)
  41088. var file, full uintptr
  41089. var _ /* cwd at bp+0 */ [4098]TFcChar8
  41090. _, _ = file, full
  41091. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') {
  41092. return _FcStrCanonAbsoluteFilename(tls, s)
  41093. } else {
  41094. if libc.Xgetcwd(tls, bp, uint64(m_FC_MAX_FILE_LEN)) == libc.UintptrFromInt32(0) {
  41095. return libc.UintptrFromInt32(0)
  41096. }
  41097. full = XFcStrBuildFilename(tls, bp, libc.VaList(bp+4112, s, libc.UintptrFromInt32(0)))
  41098. file = _FcStrCanonAbsoluteFilename(tls, full)
  41099. XIA__FcStrFree(tls, full)
  41100. return file
  41101. }
  41102. return r
  41103. }
  41104. func XIA__FcStrSetCreate(tls *libc.TLS) (r uintptr) {
  41105. return XFcStrSetCreateEx(tls, uint32(m_FCSS_DEFAULT))
  41106. }
  41107. var XFcStrSetCreate = XIA__FcStrSetCreate
  41108. func XFcStrSetCreateEx(tls *libc.TLS, control uint32) (r uintptr) {
  41109. var set uintptr
  41110. _ = set
  41111. set = libc.Xmalloc(tls, uint64(32))
  41112. if !(set != 0) {
  41113. return uintptr(0)
  41114. }
  41115. (*TFcRef)(unsafe.Pointer(set)).Fcount = int32(1)
  41116. (*TFcStrSet)(unsafe.Pointer(set)).Fnum = 0
  41117. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = 0
  41118. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = uintptr(0)
  41119. (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol = control
  41120. return set
  41121. }
  41122. func __FcStrSetGrow(tls *libc.TLS, set uintptr, growElements int32) (r TFcBool) {
  41123. var strs uintptr
  41124. _ = strs
  41125. /* accommodate an additional NULL entry at the end of the array */
  41126. strs = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fsize+growElements+libc.Int32FromInt32(1))*uint64(8))
  41127. if !(strs != 0) {
  41128. return m_FcFalse
  41129. }
  41130. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum != 0 {
  41131. libc.Xmemcpy(tls, strs, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*uint64(8))
  41132. }
  41133. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  41134. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  41135. }
  41136. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = (*TFcStrSet)(unsafe.Pointer(set)).Fsize + growElements
  41137. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = strs
  41138. return int32(m_FcTrue)
  41139. }
  41140. func __FcStrSetAppend(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41141. var growElements, v1, v2 int32
  41142. var v3 uintptr
  41143. _, _, _, _ = growElements, v1, v2, v3
  41144. if !((*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&libc.Uint32FromInt32(m_FCSS_ALLOW_DUPLICATES) != 0) {
  41145. if XIA__FcStrSetMember(tls, set, s) != 0 {
  41146. XIA__FcStrFree(tls, s)
  41147. return int32(m_FcTrue)
  41148. }
  41149. }
  41150. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum == (*TFcStrSet)(unsafe.Pointer(set)).Fsize {
  41151. if (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&uint32(m_FCSS_GROW_BY_64) != 0 {
  41152. v1 = int32(64)
  41153. } else {
  41154. v1 = int32(1)
  41155. }
  41156. growElements = v1
  41157. if !(__FcStrSetGrow(tls, set, growElements) != 0) {
  41158. return m_FcFalse
  41159. }
  41160. }
  41161. v3 = set + 4
  41162. v2 = *(*int32)(unsafe.Pointer(v3))
  41163. *(*int32)(unsafe.Pointer(v3))++
  41164. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(v2)*8)) = s
  41165. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  41166. return int32(m_FcTrue)
  41167. }
  41168. func XIA__FcStrSetMember(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41169. var i int32
  41170. _ = i
  41171. i = 0
  41172. for {
  41173. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  41174. break
  41175. }
  41176. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  41177. return int32(m_FcTrue)
  41178. }
  41179. goto _1
  41180. _1:
  41181. ;
  41182. i++
  41183. }
  41184. return m_FcFalse
  41185. }
  41186. var XFcStrSetMember = XIA__FcStrSetMember
  41187. func XIA__FcStrSetEqual(tls *libc.TLS, sa uintptr, sb uintptr) (r TFcBool) {
  41188. var i int32
  41189. _ = i
  41190. if (*TFcStrSet)(unsafe.Pointer(sa)).Fnum != (*TFcStrSet)(unsafe.Pointer(sb)).Fnum {
  41191. return m_FcFalse
  41192. }
  41193. i = 0
  41194. for {
  41195. if !(i < (*TFcStrSet)(unsafe.Pointer(sa)).Fnum) {
  41196. break
  41197. }
  41198. if !(XIA__FcStrSetMember(tls, sb, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(sa)).Fstrs + uintptr(i)*8))) != 0) {
  41199. return m_FcFalse
  41200. }
  41201. goto _1
  41202. _1:
  41203. ;
  41204. i++
  41205. }
  41206. return int32(m_FcTrue)
  41207. }
  41208. var XFcStrSetEqual = XIA__FcStrSetEqual
  41209. func XIA__FcStrSetAdd(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41210. var new1 uintptr
  41211. _ = new1
  41212. new1 = XIA__FcStrCopy(tls, s)
  41213. if !(new1 != 0) {
  41214. return m_FcFalse
  41215. }
  41216. if !(__FcStrSetAppend(tls, set, new1) != 0) {
  41217. XIA__FcStrFree(tls, new1)
  41218. return m_FcFalse
  41219. }
  41220. return int32(m_FcTrue)
  41221. }
  41222. var XFcStrSetAdd = XIA__FcStrSetAdd
  41223. func XIA__FcStrSetAddFilename(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41224. var new1 uintptr
  41225. _ = new1
  41226. new1 = XIA__FcStrCopyFilename(tls, s)
  41227. if !(new1 != 0) {
  41228. return m_FcFalse
  41229. }
  41230. if !(__FcStrSetAppend(tls, set, new1) != 0) {
  41231. XIA__FcStrFree(tls, new1)
  41232. return m_FcFalse
  41233. }
  41234. return int32(m_FcTrue)
  41235. }
  41236. var XFcStrSetAddFilename = XIA__FcStrSetAddFilename
  41237. func XFcStrSetAddLangs(tls *libc.TLS, strs uintptr, languages uintptr) (r TFcBool) {
  41238. bp := tls.Alloc(128)
  41239. defer tls.Free(128)
  41240. var len1 Tsize_t
  41241. var next, normalized_lang, p, v1 uintptr
  41242. var ret TFcBool
  41243. var v2 uint64
  41244. var _ /* lang at bp+0 */ [128]TFcChar8
  41245. _, _, _, _, _, _, _ = len1, next, normalized_lang, p, ret, v1, v2
  41246. p = languages
  41247. *(*[128]TFcChar8)(unsafe.Pointer(bp)) = [128]TFcChar8{}
  41248. ret = m_FcFalse
  41249. if !(languages != 0) {
  41250. return m_FcFalse
  41251. }
  41252. for {
  41253. v1 = libc.Xstrchr(tls, p, int32(':'))
  41254. next = v1
  41255. if !(v1 != 0) {
  41256. break
  41257. }
  41258. len1 = libc.Uint64FromInt64(int64(next) - int64(p))
  41259. if len1 < libc.Uint64FromInt32(libc.Int32FromInt32(127)) {
  41260. v2 = len1
  41261. } else {
  41262. v2 = libc.Uint64FromInt32(libc.Int32FromInt32(127))
  41263. }
  41264. len1 = v2
  41265. libc.Xstrncpy(tls, bp, p, len1)
  41266. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  41267. /* ignore an empty item */
  41268. if *(*TFcChar8)(unsafe.Pointer(bp)) != 0 {
  41269. normalized_lang = XIA__FcLangNormalize(tls, bp)
  41270. if normalized_lang != 0 {
  41271. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  41272. XIA__FcStrFree(tls, normalized_lang)
  41273. ret = int32(m_FcTrue)
  41274. }
  41275. }
  41276. p = next + uintptr(1)
  41277. }
  41278. if *(*uint8)(unsafe.Pointer(p)) != 0 {
  41279. normalized_lang = XIA__FcLangNormalize(tls, p)
  41280. if normalized_lang != 0 {
  41281. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  41282. XIA__FcStrFree(tls, normalized_lang)
  41283. ret = int32(m_FcTrue)
  41284. }
  41285. }
  41286. return ret
  41287. }
  41288. func XIA__FcStrSetDel(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41289. var i int32
  41290. _ = i
  41291. i = 0
  41292. for {
  41293. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  41294. break
  41295. }
  41296. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  41297. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  41298. /*
  41299. * copy remaining string pointers and trailing
  41300. * NULL
  41301. */
  41302. libc.Xmemmove(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i)*8, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i+int32(1))*8, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum-i)*uint64(8))
  41303. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  41304. return int32(m_FcTrue)
  41305. }
  41306. goto _1
  41307. _1:
  41308. ;
  41309. i++
  41310. }
  41311. return m_FcFalse
  41312. }
  41313. var XFcStrSetDel = XIA__FcStrSetDel
  41314. // C documentation
  41315. //
  41316. // /* TODO Make public */
  41317. func _FcStrSetReference(tls *libc.TLS, set uintptr) (r uintptr) {
  41318. var v1 TFcBool
  41319. var p4 uintptr
  41320. _, _ = v1, p4
  41321. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  41322. goto _2
  41323. _2:
  41324. if v1 != 0 {
  41325. return set
  41326. }
  41327. p4 = set
  41328. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  41329. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  41330. goto _3
  41331. _3:
  41332. ;
  41333. return set
  41334. }
  41335. func XIA__FcStrSetDestroy(tls *libc.TLS, set uintptr) {
  41336. var i, v3 int32
  41337. var v1 TFcBool
  41338. var p5 uintptr
  41339. _, _, _, _ = i, v1, v3, p5
  41340. /* We rely on this in FcGetDefaultLangs for caching. */
  41341. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  41342. goto _2
  41343. _2:
  41344. if v1 != 0 {
  41345. return
  41346. }
  41347. p5 = set
  41348. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  41349. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  41350. goto _4
  41351. _4:
  41352. if v3 != int32(1) {
  41353. return
  41354. }
  41355. i = 0
  41356. for {
  41357. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  41358. break
  41359. }
  41360. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  41361. goto _6
  41362. _6:
  41363. ;
  41364. i++
  41365. }
  41366. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  41367. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  41368. }
  41369. libc.Xfree(tls, set)
  41370. }
  41371. var XFcStrSetDestroy = XIA__FcStrSetDestroy
  41372. func XIA__FcStrListCreate(tls *libc.TLS, set uintptr) (r uintptr) {
  41373. var list uintptr
  41374. _ = list
  41375. list = libc.Xmalloc(tls, uint64(16))
  41376. if !(list != 0) {
  41377. return uintptr(0)
  41378. }
  41379. (*TFcStrList)(unsafe.Pointer(list)).Fset = set
  41380. _FcStrSetReference(tls, set)
  41381. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  41382. return list
  41383. }
  41384. var XFcStrListCreate = XIA__FcStrListCreate
  41385. func XIA__FcStrListFirst(tls *libc.TLS, list uintptr) {
  41386. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  41387. }
  41388. var XFcStrListFirst = XIA__FcStrListFirst
  41389. func XIA__FcStrListNext(tls *libc.TLS, list uintptr) (r uintptr) {
  41390. var v1 int32
  41391. var v2 uintptr
  41392. _, _ = v1, v2
  41393. if (*TFcStrList)(unsafe.Pointer(list)).Fn >= (*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fnum {
  41394. return uintptr(0)
  41395. }
  41396. v2 = list + 8
  41397. v1 = *(*int32)(unsafe.Pointer(v2))
  41398. *(*int32)(unsafe.Pointer(v2))++
  41399. return *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fstrs + uintptr(v1)*8))
  41400. }
  41401. var XFcStrListNext = XIA__FcStrListNext
  41402. func XIA__FcStrListDone(tls *libc.TLS, list uintptr) {
  41403. XIA__FcStrSetDestroy(tls, (*TFcStrList)(unsafe.Pointer(list)).Fset)
  41404. libc.Xfree(tls, list)
  41405. }
  41406. var XFcStrListDone = XIA__FcStrListDone
  41407. const m_FC_DIR_SEPARATOR2 = '/'
  41408. var _map = [13]struct {
  41409. Fot int32
  41410. Ffc int32
  41411. }{
  41412. 0: {},
  41413. 1: {
  41414. Fot: int32(100),
  41415. },
  41416. 2: {
  41417. Fot: int32(200),
  41418. Ffc: int32(m_FC_WEIGHT_EXTRALIGHT),
  41419. },
  41420. 3: {
  41421. Fot: int32(300),
  41422. Ffc: int32(m_FC_WEIGHT_LIGHT),
  41423. },
  41424. 4: {
  41425. Fot: int32(350),
  41426. Ffc: int32(m_FC_WEIGHT_DEMILIGHT),
  41427. },
  41428. 5: {
  41429. Fot: int32(380),
  41430. Ffc: int32(m_FC_WEIGHT_BOOK),
  41431. },
  41432. 6: {
  41433. Fot: int32(400),
  41434. Ffc: int32(m_FC_WEIGHT_REGULAR),
  41435. },
  41436. 7: {
  41437. Fot: int32(500),
  41438. Ffc: int32(m_FC_WEIGHT_MEDIUM),
  41439. },
  41440. 8: {
  41441. Fot: int32(600),
  41442. Ffc: int32(m_FC_WEIGHT_DEMIBOLD),
  41443. },
  41444. 9: {
  41445. Fot: int32(700),
  41446. Ffc: int32(m_FC_WEIGHT_BOLD),
  41447. },
  41448. 10: {
  41449. Fot: int32(800),
  41450. Ffc: int32(m_FC_WEIGHT_EXTRABOLD),
  41451. },
  41452. 11: {
  41453. Fot: int32(900),
  41454. Ffc: int32(m_FC_WEIGHT_BLACK),
  41455. },
  41456. 12: {
  41457. Fot: int32(1000),
  41458. Ffc: int32(m_FC_WEIGHT_EXTRABLACK),
  41459. },
  41460. }
  41461. func _lerp(tls *libc.TLS, x float64, x1 int32, x2 int32, y1 int32, y2 int32) (r float64) {
  41462. var dx, dy int32
  41463. _, _ = dx, dy
  41464. dx = x2 - x1
  41465. dy = y2 - y1
  41466. return float64(y1) + (float64(dy)*(x-float64(x1))+float64(dx/int32(2)))/float64(dx)
  41467. }
  41468. func XIA__FcWeightFromOpenTypeDouble(tls *libc.TLS, ot_weight float64) (r float64) {
  41469. var i int32
  41470. var v1 float64
  41471. _, _ = i, v1
  41472. if ot_weight < libc.Float64FromInt32(0) {
  41473. return float64(-libc.Int32FromInt32(1))
  41474. }
  41475. if ot_weight < float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot) {
  41476. v1 = ot_weight
  41477. } else {
  41478. v1 = float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot)
  41479. }
  41480. ot_weight = v1
  41481. i = int32(1)
  41482. for {
  41483. if !(ot_weight > float64(_map[i].Fot)) {
  41484. break
  41485. }
  41486. goto _2
  41487. _2:
  41488. ;
  41489. i++
  41490. }
  41491. if ot_weight == float64(_map[i].Fot) {
  41492. return float64(_map[i].Ffc)
  41493. }
  41494. /* Interpolate between two items. */
  41495. return _lerp(tls, ot_weight, _map[i-int32(1)].Fot, _map[i].Fot, _map[i-int32(1)].Ffc, _map[i].Ffc)
  41496. }
  41497. var XFcWeightFromOpenTypeDouble = XIA__FcWeightFromOpenTypeDouble
  41498. func XIA__FcWeightToOpenTypeDouble(tls *libc.TLS, fc_weight float64) (r float64) {
  41499. var i int32
  41500. _ = i
  41501. if fc_weight < libc.Float64FromInt32(0) || fc_weight > libc.Float64FromInt32(m_FC_WEIGHT_EXTRABLACK) {
  41502. return float64(-libc.Int32FromInt32(1))
  41503. }
  41504. i = int32(1)
  41505. for {
  41506. if !(fc_weight > float64(_map[i].Ffc)) {
  41507. break
  41508. }
  41509. goto _1
  41510. _1:
  41511. ;
  41512. i++
  41513. }
  41514. if fc_weight == float64(_map[i].Ffc) {
  41515. return float64(_map[i].Fot)
  41516. }
  41517. /* Interpolate between two items. */
  41518. return _lerp(tls, fc_weight, _map[i-int32(1)].Ffc, _map[i].Ffc, _map[i-int32(1)].Fot, _map[i].Fot)
  41519. }
  41520. var XFcWeightToOpenTypeDouble = XIA__FcWeightToOpenTypeDouble
  41521. func XIA__FcWeightFromOpenType(tls *libc.TLS, ot_weight int32) (r int32) {
  41522. return int32(XIA__FcWeightFromOpenTypeDouble(tls, float64(ot_weight)) + float64(0.5))
  41523. }
  41524. var XFcWeightFromOpenType = XIA__FcWeightFromOpenType
  41525. func XIA__FcWeightToOpenType(tls *libc.TLS, fc_weight int32) (r int32) {
  41526. return int32(XIA__FcWeightToOpenTypeDouble(tls, float64(fc_weight)) + float64(0.5))
  41527. }
  41528. var XFcWeightToOpenType = XIA__FcWeightToOpenType
  41529. const m_Expat_External_INCLUDED = 1
  41530. const m_Expat_INCLUDED = 1
  41531. const m_FC_DIR_SEPARATOR3 = 47
  41532. const m_HAVE_XMLPARSE_H = 0
  41533. const m_LC_ALL = 6
  41534. const m_LC_ALL_MASK = 0x7fffffff
  41535. const m_LC_COLLATE = 3
  41536. const m_LC_CTYPE = 0
  41537. const m_LC_MESSAGES = 5
  41538. const m_LC_MONETARY = 4
  41539. const m_LC_NUMERIC = 1
  41540. const m_LC_TIME = 2
  41541. const m_TAIL = ".conf"
  41542. const m_TAIL_LEN = 5
  41543. const m_XML_ENABLE_VISIBILITY = 0
  41544. const m_XML_GetErrorByteIndex = "XML_GetCurrentByteIndex"
  41545. const m_XML_GetErrorColumnNumber = "XML_GetCurrentColumnNumber"
  41546. const m_XML_GetErrorLineNumber = "XML_GetCurrentLineNumber"
  41547. const m_XML_MAJOR_VERSION = 2
  41548. const m_XML_MICRO_VERSION = 10
  41549. const m_XML_MINOR_VERSION = 2
  41550. type TXML_Char = uint8
  41551. type TXML_LChar = uint8
  41552. type TXML_Index = int64
  41553. type TXML_Size = uint64
  41554. type TXML_Parser = uintptr
  41555. type TXML_Bool = uint8
  41556. type _XML_Status = int32
  41557. const _XML_STATUS_ERROR = 0
  41558. const _XML_STATUS_OK = 1
  41559. const _XML_STATUS_SUSPENDED = 2
  41560. type _XML_Error = int32
  41561. const _XML_ERROR_NONE = 0
  41562. const _XML_ERROR_NO_MEMORY = 1
  41563. const _XML_ERROR_SYNTAX = 2
  41564. const _XML_ERROR_NO_ELEMENTS = 3
  41565. const _XML_ERROR_INVALID_TOKEN = 4
  41566. const _XML_ERROR_UNCLOSED_TOKEN = 5
  41567. const _XML_ERROR_PARTIAL_CHAR = 6
  41568. const _XML_ERROR_TAG_MISMATCH = 7
  41569. const _XML_ERROR_DUPLICATE_ATTRIBUTE = 8
  41570. const _XML_ERROR_JUNK_AFTER_DOC_ELEMENT = 9
  41571. const _XML_ERROR_PARAM_ENTITY_REF = 10
  41572. const _XML_ERROR_UNDEFINED_ENTITY = 11
  41573. const _XML_ERROR_RECURSIVE_ENTITY_REF = 12
  41574. const _XML_ERROR_ASYNC_ENTITY = 13
  41575. const _XML_ERROR_BAD_CHAR_REF = 14
  41576. const _XML_ERROR_BINARY_ENTITY_REF = 15
  41577. const _XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
  41578. const _XML_ERROR_MISPLACED_XML_PI = 17
  41579. const _XML_ERROR_UNKNOWN_ENCODING = 18
  41580. const _XML_ERROR_INCORRECT_ENCODING = 19
  41581. const _XML_ERROR_UNCLOSED_CDATA_SECTION = 20
  41582. const _XML_ERROR_EXTERNAL_ENTITY_HANDLING = 21
  41583. const _XML_ERROR_NOT_STANDALONE = 22
  41584. const _XML_ERROR_UNEXPECTED_STATE = 23
  41585. const _XML_ERROR_ENTITY_DECLARED_IN_PE = 24
  41586. const _XML_ERROR_FEATURE_REQUIRES_XML_DTD = 25
  41587. const _XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING = 26
  41588. const _XML_ERROR_UNBOUND_PREFIX = 27
  41589. const _XML_ERROR_UNDECLARING_PREFIX = 28
  41590. const _XML_ERROR_INCOMPLETE_PE = 29
  41591. const _XML_ERROR_XML_DECL = 30
  41592. const _XML_ERROR_TEXT_DECL = 31
  41593. const _XML_ERROR_PUBLICID = 32
  41594. const _XML_ERROR_SUSPENDED = 33
  41595. const _XML_ERROR_NOT_SUSPENDED = 34
  41596. const _XML_ERROR_ABORTED = 35
  41597. const _XML_ERROR_FINISHED = 36
  41598. const _XML_ERROR_SUSPEND_PE = 37
  41599. const _XML_ERROR_RESERVED_PREFIX_XML = 38
  41600. const _XML_ERROR_RESERVED_PREFIX_XMLNS = 39
  41601. const _XML_ERROR_RESERVED_NAMESPACE_URI = 40
  41602. const _XML_ERROR_INVALID_ARGUMENT = 41
  41603. type _XML_Content_Type = int32
  41604. const _XML_CTYPE_EMPTY = 1
  41605. const _XML_CTYPE_ANY = 2
  41606. const _XML_CTYPE_MIXED = 3
  41607. const _XML_CTYPE_NAME = 4
  41608. const _XML_CTYPE_CHOICE = 5
  41609. const _XML_CTYPE_SEQ = 6
  41610. type _XML_Content_Quant = int32
  41611. const _XML_CQUANT_NONE = 0
  41612. const _XML_CQUANT_OPT = 1
  41613. const _XML_CQUANT_REP = 2
  41614. const _XML_CQUANT_PLUS = 3
  41615. type TXML_Content = struct {
  41616. Ftype1 _XML_Content_Type
  41617. Fquant _XML_Content_Quant
  41618. Fname uintptr
  41619. Fnumchildren uint32
  41620. Fchildren uintptr
  41621. }
  41622. type TXML_cp = TXML_Content
  41623. type TXML_ElementDeclHandler = uintptr
  41624. type TXML_AttlistDeclHandler = uintptr
  41625. type TXML_XmlDeclHandler = uintptr
  41626. type TXML_Memory_Handling_Suite = struct {
  41627. Fmalloc_fcn uintptr
  41628. Frealloc_fcn uintptr
  41629. Ffree_fcn uintptr
  41630. }
  41631. type TXML_StartElementHandler = uintptr
  41632. type TXML_EndElementHandler = uintptr
  41633. type TXML_CharacterDataHandler = uintptr
  41634. type TXML_ProcessingInstructionHandler = uintptr
  41635. type TXML_CommentHandler = uintptr
  41636. type TXML_StartCdataSectionHandler = uintptr
  41637. type TXML_EndCdataSectionHandler = uintptr
  41638. type TXML_DefaultHandler = uintptr
  41639. type TXML_StartDoctypeDeclHandler = uintptr
  41640. type TXML_EndDoctypeDeclHandler = uintptr
  41641. type TXML_EntityDeclHandler = uintptr
  41642. type TXML_UnparsedEntityDeclHandler = uintptr
  41643. type TXML_NotationDeclHandler = uintptr
  41644. type TXML_StartNamespaceDeclHandler = uintptr
  41645. type TXML_EndNamespaceDeclHandler = uintptr
  41646. type TXML_NotStandaloneHandler = uintptr
  41647. type TXML_ExternalEntityRefHandler = uintptr
  41648. type TXML_SkippedEntityHandler = uintptr
  41649. type TXML_Encoding = struct {
  41650. Fmap1 [256]int32
  41651. Fdata uintptr
  41652. Fconvert uintptr
  41653. Frelease uintptr
  41654. }
  41655. type TXML_UnknownEncodingHandler = uintptr
  41656. type _XML_Parsing = int32
  41657. const _XML_INITIALIZED = 0
  41658. const _XML_PARSING = 1
  41659. const _XML_FINISHED = 2
  41660. const _XML_SUSPENDED = 3
  41661. type TXML_ParsingStatus = struct {
  41662. Fparsing _XML_Parsing
  41663. FfinalBuffer TXML_Bool
  41664. }
  41665. type _XML_ParamEntityParsing = int32
  41666. const _XML_PARAM_ENTITY_PARSING_NEVER = 0
  41667. const _XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1
  41668. const _XML_PARAM_ENTITY_PARSING_ALWAYS = 2
  41669. type TXML_Expat_Version = struct {
  41670. Fmajor int32
  41671. Fminor int32
  41672. Fmicro int32
  41673. }
  41674. type _XML_FeatureEnum = int32
  41675. const _XML_FEATURE_END = 0
  41676. const _XML_FEATURE_UNICODE = 1
  41677. const _XML_FEATURE_UNICODE_WCHAR_T = 2
  41678. const _XML_FEATURE_DTD = 3
  41679. const _XML_FEATURE_CONTEXT_BYTES = 4
  41680. const _XML_FEATURE_MIN_SIZE = 5
  41681. const _XML_FEATURE_SIZEOF_XML_CHAR = 6
  41682. const _XML_FEATURE_SIZEOF_XML_LCHAR = 7
  41683. const _XML_FEATURE_NS = 8
  41684. const _XML_FEATURE_LARGE_SIZE = 9
  41685. const _XML_FEATURE_ATTR_INFO = 10
  41686. type TXML_Feature = struct {
  41687. Ffeature _XML_FeatureEnum
  41688. Fname uintptr
  41689. Fvalue int64
  41690. }
  41691. /* Expat follows the semantic versioning convention.
  41692. See http://semver.org.
  41693. */
  41694. var ___fc_userdir = libc.UintptrFromInt32(0)
  41695. var ___fc_userconf = libc.UintptrFromInt32(0)
  41696. func XFcTestDestroy(tls *libc.TLS, test uintptr) {
  41697. _FcExprDestroy(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  41698. libc.Xfree(tls, test)
  41699. }
  41700. func XFcRuleDestroy(tls *libc.TLS, rule uintptr) {
  41701. var n uintptr
  41702. _ = n
  41703. n = (*TFcRule)(unsafe.Pointer(rule)).Fnext
  41704. switch (*TFcRule)(unsafe.Pointer(rule)).Ftype1 {
  41705. case int32(_FcRuleTest):
  41706. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  41707. case int32(_FcRuleEdit):
  41708. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  41709. case int32(_FcRuleUnknown):
  41710. fallthrough
  41711. default:
  41712. break
  41713. }
  41714. libc.Xfree(tls, rule)
  41715. if n != 0 {
  41716. XFcRuleDestroy(tls, n)
  41717. }
  41718. }
  41719. func _FcExprCreateInteger(tls *libc.TLS, config uintptr, i int32) (r uintptr) {
  41720. var e uintptr
  41721. _ = e
  41722. e = XFcConfigAllocExpr(tls, config)
  41723. if e != 0 {
  41724. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpInteger)
  41725. (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival = i
  41726. }
  41727. return e
  41728. }
  41729. func _FcExprCreateDouble(tls *libc.TLS, config uintptr, d float64) (r uintptr) {
  41730. var e uintptr
  41731. _ = e
  41732. e = XFcConfigAllocExpr(tls, config)
  41733. if e != 0 {
  41734. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpDouble)
  41735. *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = d
  41736. }
  41737. return e
  41738. }
  41739. func _FcExprCreateString(tls *libc.TLS, config uintptr, s uintptr) (r uintptr) {
  41740. var e uintptr
  41741. _ = e
  41742. e = XFcConfigAllocExpr(tls, config)
  41743. if e != 0 {
  41744. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpString)
  41745. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, s)
  41746. }
  41747. return e
  41748. }
  41749. func _FcExprMatrixCopyShallow(tls *libc.TLS, matrix uintptr) (r uintptr) {
  41750. var m uintptr
  41751. _ = m
  41752. m = libc.Xmalloc(tls, uint64(32))
  41753. if m != 0 {
  41754. *(*TFcExprMatrix)(unsafe.Pointer(m)) = *(*TFcExprMatrix)(unsafe.Pointer(matrix))
  41755. }
  41756. return m
  41757. }
  41758. func _FcExprMatrixFreeShallow(tls *libc.TLS, m uintptr) {
  41759. if !(m != 0) {
  41760. return
  41761. }
  41762. libc.Xfree(tls, m)
  41763. }
  41764. func _FcExprMatrixFree(tls *libc.TLS, m uintptr) {
  41765. if !(m != 0) {
  41766. return
  41767. }
  41768. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxx)
  41769. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxy)
  41770. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyx)
  41771. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyy)
  41772. libc.Xfree(tls, m)
  41773. }
  41774. func _FcExprCreateMatrix(tls *libc.TLS, config uintptr, matrix uintptr) (r uintptr) {
  41775. var e uintptr
  41776. _ = e
  41777. e = XFcConfigAllocExpr(tls, config)
  41778. if e != 0 {
  41779. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpMatrix)
  41780. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  41781. }
  41782. return e
  41783. }
  41784. func _FcExprCreateRange(tls *libc.TLS, config uintptr, range1 uintptr) (r uintptr) {
  41785. var e uintptr
  41786. _ = e
  41787. e = XFcConfigAllocExpr(tls, config)
  41788. if e != 0 {
  41789. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpRange)
  41790. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcRangeCopy(tls, range1)
  41791. }
  41792. return e
  41793. }
  41794. func _FcExprCreateBool(tls *libc.TLS, config uintptr, b TFcBool) (r uintptr) {
  41795. var e uintptr
  41796. _ = e
  41797. e = XFcConfigAllocExpr(tls, config)
  41798. if e != 0 {
  41799. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpBool)
  41800. *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = b
  41801. }
  41802. return e
  41803. }
  41804. func _FcExprCreateCharSet(tls *libc.TLS, config uintptr, charset uintptr) (r uintptr) {
  41805. var e uintptr
  41806. _ = e
  41807. e = XFcConfigAllocExpr(tls, config)
  41808. if e != 0 {
  41809. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpCharSet)
  41810. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcCharSetCopy(tls, charset)
  41811. }
  41812. return e
  41813. }
  41814. func _FcExprCreateLangSet(tls *libc.TLS, config uintptr, langset uintptr) (r uintptr) {
  41815. var e uintptr
  41816. _ = e
  41817. e = XFcConfigAllocExpr(tls, config)
  41818. if e != 0 {
  41819. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpLangSet)
  41820. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcLangSetCopy(tls, langset)
  41821. }
  41822. return e
  41823. }
  41824. func _FcExprCreateName(tls *libc.TLS, config uintptr, name TFcExprName) (r uintptr) {
  41825. var e uintptr
  41826. _ = e
  41827. e = XFcConfigAllocExpr(tls, config)
  41828. if e != 0 {
  41829. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpField)
  41830. *(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = name
  41831. }
  41832. return e
  41833. }
  41834. func _FcExprCreateConst(tls *libc.TLS, config uintptr, constant uintptr) (r uintptr) {
  41835. var e uintptr
  41836. _ = e
  41837. e = XFcConfigAllocExpr(tls, config)
  41838. if e != 0 {
  41839. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpConst)
  41840. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, constant)
  41841. }
  41842. return e
  41843. }
  41844. func _FcExprCreateOp(tls *libc.TLS, config uintptr, left uintptr, op TFcOp, right uintptr) (r uintptr) {
  41845. var e uintptr
  41846. _ = e
  41847. e = XFcConfigAllocExpr(tls, config)
  41848. if e != 0 {
  41849. (*TFcExpr)(unsafe.Pointer(e)).Fop = op
  41850. (*(*struct {
  41851. Fleft uintptr
  41852. Fright uintptr
  41853. })(unsafe.Pointer(e + 8))).Fleft = left
  41854. (*(*struct {
  41855. Fleft uintptr
  41856. Fright uintptr
  41857. })(unsafe.Pointer(e + 8))).Fright = right
  41858. }
  41859. return e
  41860. }
  41861. func _FcExprDestroy(tls *libc.TLS, e uintptr) {
  41862. if !(e != 0) {
  41863. return
  41864. }
  41865. switch (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff) {
  41866. case int32(_FcOpInteger):
  41867. case int32(_FcOpDouble):
  41868. case int32(_FcOpString):
  41869. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41870. case int32(_FcOpMatrix):
  41871. _FcExprMatrixFree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41872. case int32(_FcOpRange):
  41873. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41874. case int32(_FcOpCharSet):
  41875. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41876. case int32(_FcOpLangSet):
  41877. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41878. case int32(_FcOpBool):
  41879. case int32(_FcOpField):
  41880. case int32(_FcOpConst):
  41881. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41882. case int32(_FcOpAssign):
  41883. fallthrough
  41884. case int32(_FcOpAssignReplace):
  41885. fallthrough
  41886. case int32(_FcOpPrepend):
  41887. fallthrough
  41888. case int32(_FcOpPrependFirst):
  41889. fallthrough
  41890. case int32(_FcOpAppend):
  41891. fallthrough
  41892. case int32(_FcOpAppendLast):
  41893. fallthrough
  41894. case int32(_FcOpDelete):
  41895. fallthrough
  41896. case int32(_FcOpDeleteAll):
  41897. case int32(_FcOpOr):
  41898. fallthrough
  41899. case int32(_FcOpAnd):
  41900. fallthrough
  41901. case int32(_FcOpEqual):
  41902. fallthrough
  41903. case int32(_FcOpNotEqual):
  41904. fallthrough
  41905. case int32(_FcOpLess):
  41906. fallthrough
  41907. case int32(_FcOpLessEqual):
  41908. fallthrough
  41909. case int32(_FcOpMore):
  41910. fallthrough
  41911. case int32(_FcOpMoreEqual):
  41912. fallthrough
  41913. case int32(_FcOpContains):
  41914. fallthrough
  41915. case int32(_FcOpListing):
  41916. fallthrough
  41917. case int32(_FcOpNotContains):
  41918. fallthrough
  41919. case int32(_FcOpPlus):
  41920. fallthrough
  41921. case int32(_FcOpMinus):
  41922. fallthrough
  41923. case int32(_FcOpTimes):
  41924. fallthrough
  41925. case int32(_FcOpDivide):
  41926. fallthrough
  41927. case int32(_FcOpQuest):
  41928. fallthrough
  41929. case int32(_FcOpComma):
  41930. _FcExprDestroy(tls, (*(*struct {
  41931. Fleft uintptr
  41932. Fright uintptr
  41933. })(unsafe.Pointer(e + 8))).Fright)
  41934. /* fall through */
  41935. fallthrough
  41936. case int32(_FcOpNot):
  41937. fallthrough
  41938. case int32(_FcOpFloor):
  41939. fallthrough
  41940. case int32(_FcOpCeil):
  41941. fallthrough
  41942. case int32(_FcOpRound):
  41943. fallthrough
  41944. case int32(_FcOpTrunc):
  41945. _FcExprDestroy(tls, (*(*struct {
  41946. Fleft uintptr
  41947. Fright uintptr
  41948. })(unsafe.Pointer(e + 8))).Fleft)
  41949. case int32(_FcOpNil):
  41950. fallthrough
  41951. case int32(_FcOpInvalid):
  41952. break
  41953. }
  41954. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpNil)
  41955. }
  41956. func XFcEditDestroy(tls *libc.TLS, e uintptr) {
  41957. if (*TFcEdit)(unsafe.Pointer(e)).Fexpr != 0 {
  41958. _FcExprDestroy(tls, (*TFcEdit)(unsafe.Pointer(e)).Fexpr)
  41959. }
  41960. libc.Xfree(tls, e)
  41961. }
  41962. type TFcElement = int32
  41963. type __FcElement = int32
  41964. const _FcElementNone = 0
  41965. const _FcElementFontconfig = 1
  41966. const _FcElementDir = 2
  41967. const _FcElementCacheDir = 3
  41968. const _FcElementCache = 4
  41969. const _FcElementInclude = 5
  41970. const _FcElementConfig = 6
  41971. const _FcElementMatch = 7
  41972. const _FcElementAlias = 8
  41973. const _FcElementDescription = 9
  41974. const _FcElementRescan = 10
  41975. const _FcElementPrefer = 11
  41976. const _FcElementAccept = 12
  41977. const _FcElementDefault = 13
  41978. const _FcElementFamily = 14
  41979. const _FcElementSelectfont = 15
  41980. const _FcElementAcceptfont = 16
  41981. const _FcElementRejectfont = 17
  41982. const _FcElementGlob = 18
  41983. const _FcElementPattern = 19
  41984. const _FcElementPatelt = 20
  41985. const _FcElementTest = 21
  41986. const _FcElementEdit = 22
  41987. const _FcElementInt = 23
  41988. const _FcElementDouble = 24
  41989. const _FcElementString = 25
  41990. const _FcElementMatrix = 26
  41991. const _FcElementRange = 27
  41992. const _FcElementBool = 28
  41993. const _FcElementCharSet = 29
  41994. const _FcElementLangSet = 30
  41995. const _FcElementName = 31
  41996. const _FcElementConst = 32
  41997. const _FcElementOr = 33
  41998. const _FcElementAnd = 34
  41999. const _FcElementEq = 35
  42000. const _FcElementNotEq = 36
  42001. const _FcElementLess = 37
  42002. const _FcElementLessEq = 38
  42003. const _FcElementMore = 39
  42004. const _FcElementMoreEq = 40
  42005. const _FcElementContains = 41
  42006. const _FcElementNotContains = 42
  42007. const _FcElementPlus = 43
  42008. const _FcElementMinus = 44
  42009. const _FcElementTimes = 45
  42010. const _FcElementDivide = 46
  42011. const _FcElementNot = 47
  42012. const _FcElementIf = 48
  42013. const _FcElementFloor = 49
  42014. const _FcElementCeil = 50
  42015. const _FcElementRound = 51
  42016. const _FcElementTrunc = 52
  42017. const _FcElementUnknown = 53
  42018. var _fcElementMap = [52]struct {
  42019. Fname [16]uint8
  42020. Felement TFcElement
  42021. }{
  42022. 0: {
  42023. Fname: [16]uint8{'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g'},
  42024. Felement: int32(_FcElementFontconfig),
  42025. },
  42026. 1: {
  42027. Fname: [16]uint8{'d', 'i', 'r'},
  42028. Felement: int32(_FcElementDir),
  42029. },
  42030. 2: {
  42031. Fname: [16]uint8{'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r'},
  42032. Felement: int32(_FcElementCacheDir),
  42033. },
  42034. 3: {
  42035. Fname: [16]uint8{'c', 'a', 'c', 'h', 'e'},
  42036. Felement: int32(_FcElementCache),
  42037. },
  42038. 4: {
  42039. Fname: [16]uint8{'i', 'n', 'c', 'l', 'u', 'd', 'e'},
  42040. Felement: int32(_FcElementInclude),
  42041. },
  42042. 5: {
  42043. Fname: [16]uint8{'c', 'o', 'n', 'f', 'i', 'g'},
  42044. Felement: int32(_FcElementConfig),
  42045. },
  42046. 6: {
  42047. Fname: [16]uint8{'m', 'a', 't', 'c', 'h'},
  42048. Felement: int32(_FcElementMatch),
  42049. },
  42050. 7: {
  42051. Fname: [16]uint8{'a', 'l', 'i', 'a', 's'},
  42052. Felement: int32(_FcElementAlias),
  42053. },
  42054. 8: {
  42055. Fname: [16]uint8{'d', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n'},
  42056. Felement: int32(_FcElementDescription),
  42057. },
  42058. 9: {
  42059. Fname: [16]uint8{'r', 'e', 's', 'c', 'a', 'n'},
  42060. Felement: int32(_FcElementRescan),
  42061. },
  42062. 10: {
  42063. Fname: [16]uint8{'p', 'r', 'e', 'f', 'e', 'r'},
  42064. Felement: int32(_FcElementPrefer),
  42065. },
  42066. 11: {
  42067. Fname: [16]uint8{'a', 'c', 'c', 'e', 'p', 't'},
  42068. Felement: int32(_FcElementAccept),
  42069. },
  42070. 12: {
  42071. Fname: [16]uint8{'d', 'e', 'f', 'a', 'u', 'l', 't'},
  42072. Felement: int32(_FcElementDefault),
  42073. },
  42074. 13: {
  42075. Fname: [16]uint8{'f', 'a', 'm', 'i', 'l', 'y'},
  42076. Felement: int32(_FcElementFamily),
  42077. },
  42078. 14: {
  42079. Fname: [16]uint8{'s', 'e', 'l', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  42080. Felement: int32(_FcElementSelectfont),
  42081. },
  42082. 15: {
  42083. Fname: [16]uint8{'a', 'c', 'c', 'e', 'p', 't', 'f', 'o', 'n', 't'},
  42084. Felement: int32(_FcElementAcceptfont),
  42085. },
  42086. 16: {
  42087. Fname: [16]uint8{'r', 'e', 'j', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  42088. Felement: int32(_FcElementRejectfont),
  42089. },
  42090. 17: {
  42091. Fname: [16]uint8{'g', 'l', 'o', 'b'},
  42092. Felement: int32(_FcElementGlob),
  42093. },
  42094. 18: {
  42095. Fname: [16]uint8{'p', 'a', 't', 't', 'e', 'r', 'n'},
  42096. Felement: int32(_FcElementPattern),
  42097. },
  42098. 19: {
  42099. Fname: [16]uint8{'p', 'a', 't', 'e', 'l', 't'},
  42100. Felement: int32(_FcElementPatelt),
  42101. },
  42102. 20: {
  42103. Fname: [16]uint8{'t', 'e', 's', 't'},
  42104. Felement: int32(_FcElementTest),
  42105. },
  42106. 21: {
  42107. Fname: [16]uint8{'e', 'd', 'i', 't'},
  42108. Felement: int32(_FcElementEdit),
  42109. },
  42110. 22: {
  42111. Fname: [16]uint8{'i', 'n', 't'},
  42112. Felement: int32(_FcElementInt),
  42113. },
  42114. 23: {
  42115. Fname: [16]uint8{'d', 'o', 'u', 'b', 'l', 'e'},
  42116. Felement: int32(_FcElementDouble),
  42117. },
  42118. 24: {
  42119. Fname: [16]uint8{'s', 't', 'r', 'i', 'n', 'g'},
  42120. Felement: int32(_FcElementString),
  42121. },
  42122. 25: {
  42123. Fname: [16]uint8{'m', 'a', 't', 'r', 'i', 'x'},
  42124. Felement: int32(_FcElementMatrix),
  42125. },
  42126. 26: {
  42127. Fname: [16]uint8{'r', 'a', 'n', 'g', 'e'},
  42128. Felement: int32(_FcElementRange),
  42129. },
  42130. 27: {
  42131. Fname: [16]uint8{'b', 'o', 'o', 'l'},
  42132. Felement: int32(_FcElementBool),
  42133. },
  42134. 28: {
  42135. Fname: [16]uint8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  42136. Felement: int32(_FcElementCharSet),
  42137. },
  42138. 29: {
  42139. Fname: [16]uint8{'l', 'a', 'n', 'g', 's', 'e', 't'},
  42140. Felement: int32(_FcElementLangSet),
  42141. },
  42142. 30: {
  42143. Fname: [16]uint8{'n', 'a', 'm', 'e'},
  42144. Felement: int32(_FcElementName),
  42145. },
  42146. 31: {
  42147. Fname: [16]uint8{'c', 'o', 'n', 's', 't'},
  42148. Felement: int32(_FcElementConst),
  42149. },
  42150. 32: {
  42151. Fname: [16]uint8{'o', 'r'},
  42152. Felement: int32(_FcElementOr),
  42153. },
  42154. 33: {
  42155. Fname: [16]uint8{'a', 'n', 'd'},
  42156. Felement: int32(_FcElementAnd),
  42157. },
  42158. 34: {
  42159. Fname: [16]uint8{'e', 'q'},
  42160. Felement: int32(_FcElementEq),
  42161. },
  42162. 35: {
  42163. Fname: [16]uint8{'n', 'o', 't', '_', 'e', 'q'},
  42164. Felement: int32(_FcElementNotEq),
  42165. },
  42166. 36: {
  42167. Fname: [16]uint8{'l', 'e', 's', 's'},
  42168. Felement: int32(_FcElementLess),
  42169. },
  42170. 37: {
  42171. Fname: [16]uint8{'l', 'e', 's', 's', '_', 'e', 'q'},
  42172. Felement: int32(_FcElementLessEq),
  42173. },
  42174. 38: {
  42175. Fname: [16]uint8{'m', 'o', 'r', 'e'},
  42176. Felement: int32(_FcElementMore),
  42177. },
  42178. 39: {
  42179. Fname: [16]uint8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  42180. Felement: int32(_FcElementMoreEq),
  42181. },
  42182. 40: {
  42183. Fname: [16]uint8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  42184. Felement: int32(_FcElementContains),
  42185. },
  42186. 41: {
  42187. Fname: [16]uint8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  42188. Felement: int32(_FcElementNotContains),
  42189. },
  42190. 42: {
  42191. Fname: [16]uint8{'p', 'l', 'u', 's'},
  42192. Felement: int32(_FcElementPlus),
  42193. },
  42194. 43: {
  42195. Fname: [16]uint8{'m', 'i', 'n', 'u', 's'},
  42196. Felement: int32(_FcElementMinus),
  42197. },
  42198. 44: {
  42199. Fname: [16]uint8{'t', 'i', 'm', 'e', 's'},
  42200. Felement: int32(_FcElementTimes),
  42201. },
  42202. 45: {
  42203. Fname: [16]uint8{'d', 'i', 'v', 'i', 'd', 'e'},
  42204. Felement: int32(_FcElementDivide),
  42205. },
  42206. 46: {
  42207. Fname: [16]uint8{'n', 'o', 't'},
  42208. Felement: int32(_FcElementNot),
  42209. },
  42210. 47: {
  42211. Fname: [16]uint8{'i', 'f'},
  42212. Felement: int32(_FcElementIf),
  42213. },
  42214. 48: {
  42215. Fname: [16]uint8{'f', 'l', 'o', 'o', 'r'},
  42216. Felement: int32(_FcElementFloor),
  42217. },
  42218. 49: {
  42219. Fname: [16]uint8{'c', 'e', 'i', 'l'},
  42220. Felement: int32(_FcElementCeil),
  42221. },
  42222. 50: {
  42223. Fname: [16]uint8{'r', 'o', 'u', 'n', 'd'},
  42224. Felement: int32(_FcElementRound),
  42225. },
  42226. 51: {
  42227. Fname: [16]uint8{'t', 'r', 'u', 'n', 'c'},
  42228. Felement: int32(_FcElementTrunc),
  42229. },
  42230. }
  42231. var _fcElementIgnoreName = [16]uintptr{
  42232. 0: __ccgo_ts + 6446,
  42233. 1: libc.UintptrFromInt32(0),
  42234. }
  42235. func _FcElementMap(tls *libc.TLS, name uintptr) (r TFcElement) {
  42236. var i int32
  42237. _ = i
  42238. i = 0
  42239. for {
  42240. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(1040)/libc.Uint64FromInt64(20))) {
  42241. break
  42242. }
  42243. if !(libc.Xstrcmp(tls, name, uintptr(unsafe.Pointer(&_fcElementMap))+uintptr(i)*20) != 0) {
  42244. return _fcElementMap[i].Felement
  42245. }
  42246. goto _1
  42247. _1:
  42248. ;
  42249. i++
  42250. }
  42251. i = 0
  42252. for {
  42253. if !(_fcElementIgnoreName[i] != libc.UintptrFromInt32(0)) {
  42254. break
  42255. }
  42256. if !(libc.Xstrncmp(tls, name, _fcElementIgnoreName[i], libc.Xstrlen(tls, _fcElementIgnoreName[i])) != 0) {
  42257. return int32(_FcElementNone)
  42258. }
  42259. goto _2
  42260. _2:
  42261. ;
  42262. i++
  42263. }
  42264. return int32(_FcElementUnknown)
  42265. }
  42266. type TFcPStack = struct {
  42267. Fprev uintptr
  42268. Felement TFcElement
  42269. Fattr uintptr
  42270. Fstr TFcStrBuf
  42271. Fattr_buf_static [16]uintptr
  42272. }
  42273. type T_FcPStack = TFcPStack
  42274. type TFcVStackTag = int32
  42275. type __FcVStackTag = int32
  42276. const _FcVStackNone = 0
  42277. const _FcVStackString = 1
  42278. const _FcVStackFamily = 2
  42279. const _FcVStackConstant = 3
  42280. const _FcVStackGlob = 4
  42281. const _FcVStackName = 5
  42282. const _FcVStackPattern = 6
  42283. const _FcVStackPrefer = 7
  42284. const _FcVStackAccept = 8
  42285. const _FcVStackDefault = 9
  42286. const _FcVStackInteger = 10
  42287. const _FcVStackDouble = 11
  42288. const _FcVStackMatrix = 12
  42289. const _FcVStackRange = 13
  42290. const _FcVStackBool = 14
  42291. const _FcVStackCharSet = 15
  42292. const _FcVStackLangSet = 16
  42293. const _FcVStackTest = 17
  42294. const _FcVStackExpr = 18
  42295. const _FcVStackEdit = 19
  42296. type TFcVStack = struct {
  42297. Fprev uintptr
  42298. Fpstack uintptr
  42299. Ftag TFcVStackTag
  42300. Fu struct {
  42301. Finteger [0]int32
  42302. F_double [0]float64
  42303. Fmatrix [0]uintptr
  42304. Frange1 [0]uintptr
  42305. Fbool_ [0]TFcBool
  42306. Fcharset [0]uintptr
  42307. Flangset [0]uintptr
  42308. Fname [0]TFcExprName
  42309. Ftest [0]uintptr
  42310. Fqual [0]TFcQual
  42311. Fop [0]TFcOp
  42312. Fexpr [0]uintptr
  42313. Fedit [0]uintptr
  42314. Fpattern [0]uintptr
  42315. Fstring1 uintptr
  42316. }
  42317. }
  42318. type T_FcVStack = TFcVStack
  42319. type TFcConfigParse = struct {
  42320. Fpstack uintptr
  42321. Fvstack uintptr
  42322. Ferror1 TFcBool
  42323. Fname uintptr
  42324. Fconfig uintptr
  42325. Fruleset uintptr
  42326. Fparser TXML_Parser
  42327. Fpstack_static_used uint32
  42328. Fpstack_static [8]TFcPStack
  42329. Fvstack_static_used uint32
  42330. Fvstack_static [64]TFcVStack
  42331. FscanOnly TFcBool
  42332. }
  42333. type T_FcConfigParse = TFcConfigParse
  42334. type TFcConfigSeverity = int32
  42335. type __FcConfigSeverity = int32
  42336. const _FcSevereInfo = 0
  42337. const _FcSevereWarning = 1
  42338. const _FcSevereError = 2
  42339. func _FcConfigMessage(tls *libc.TLS, parse uintptr, severe TFcConfigSeverity, fmt uintptr, va uintptr) {
  42340. bp := tls.Alloc(32)
  42341. defer tls.Free(32)
  42342. var args Tva_list
  42343. var s uintptr
  42344. _, _ = args, s
  42345. s = __ccgo_ts + 4642
  42346. args = va
  42347. switch severe {
  42348. case int32(_FcSevereInfo):
  42349. s = __ccgo_ts + 6451
  42350. case int32(_FcSevereWarning):
  42351. s = __ccgo_ts + 6456
  42352. case int32(_FcSevereError):
  42353. s = __ccgo_ts + 6464
  42354. break
  42355. }
  42356. if parse != 0 {
  42357. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fname != 0 {
  42358. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6470, libc.VaList(bp+8, s, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  42359. } else {
  42360. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6501, libc.VaList(bp+8, s, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  42361. }
  42362. if severe >= int32(_FcSevereError) {
  42363. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  42364. }
  42365. } else {
  42366. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6526, libc.VaList(bp+8, s))
  42367. }
  42368. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  42369. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1097, 0)
  42370. _ = args
  42371. }
  42372. func _FcTypeName(tls *libc.TLS, type1 TFcType) (r uintptr) {
  42373. switch type1 {
  42374. case int32(_FcTypeVoid):
  42375. return __ccgo_ts + 6542
  42376. case int32(_FcTypeInteger):
  42377. fallthrough
  42378. case int32(_FcTypeDouble):
  42379. return __ccgo_ts + 6547
  42380. case int32(_FcTypeString):
  42381. return __ccgo_ts + 6554
  42382. case int32(_FcTypeBool):
  42383. return __ccgo_ts + 6561
  42384. case int32(_FcTypeMatrix):
  42385. return __ccgo_ts + 6039
  42386. case int32(_FcTypeCharSet):
  42387. return __ccgo_ts + 4702
  42388. case int32(_FcTypeFTFace):
  42389. return __ccgo_ts + 6566
  42390. case int32(_FcTypeLangSet):
  42391. return __ccgo_ts + 6574
  42392. case int32(_FcTypeRange):
  42393. return __ccgo_ts + 6582
  42394. case int32(_FcTypeUnknown):
  42395. fallthrough
  42396. default:
  42397. return __ccgo_ts + 4642
  42398. }
  42399. return r
  42400. }
  42401. func _FcTypecheckValue(tls *libc.TLS, parse uintptr, value TFcType, type1 TFcType) {
  42402. bp := tls.Alloc(32)
  42403. defer tls.Free(32)
  42404. if value == int32(_FcTypeInteger) {
  42405. value = int32(_FcTypeDouble)
  42406. }
  42407. if type1 == int32(_FcTypeInteger) {
  42408. type1 = int32(_FcTypeDouble)
  42409. }
  42410. if value != type1 {
  42411. if value == int32(_FcTypeLangSet) && type1 == int32(_FcTypeString) || value == int32(_FcTypeString) && type1 == int32(_FcTypeLangSet) || value == int32(_FcTypeDouble) && type1 == int32(_FcTypeRange) {
  42412. return
  42413. }
  42414. if type1 == int32(_FcTypeUnknown) {
  42415. return
  42416. }
  42417. /* It's perfectly fine to use user-define elements in expressions,
  42418. * so don't warn in that case. */
  42419. if value == int32(_FcTypeUnknown) {
  42420. return
  42421. }
  42422. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6588, libc.VaList(bp+8, _FcTypeName(tls, value), _FcTypeName(tls, type1)))
  42423. }
  42424. }
  42425. func _FcTypecheckExpr(tls *libc.TLS, parse uintptr, expr uintptr, type1 TFcType) {
  42426. bp := tls.Alloc(16)
  42427. defer tls.Free(16)
  42428. var c, o uintptr
  42429. _, _ = c, o
  42430. /* If parsing the expression failed, some nodes may be NULL */
  42431. if !(expr != 0) {
  42432. return
  42433. }
  42434. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  42435. case int32(_FcOpInteger):
  42436. fallthrough
  42437. case int32(_FcOpDouble):
  42438. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  42439. case int32(_FcOpString):
  42440. _FcTypecheckValue(tls, parse, int32(_FcTypeString), type1)
  42441. case int32(_FcOpMatrix):
  42442. _FcTypecheckValue(tls, parse, int32(_FcTypeMatrix), type1)
  42443. case int32(_FcOpBool):
  42444. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  42445. case int32(_FcOpCharSet):
  42446. _FcTypecheckValue(tls, parse, int32(_FcTypeCharSet), type1)
  42447. case int32(_FcOpLangSet):
  42448. _FcTypecheckValue(tls, parse, int32(_FcTypeLangSet), type1)
  42449. case int32(_FcOpRange):
  42450. _FcTypecheckValue(tls, parse, int32(_FcTypeRange), type1)
  42451. case int32(_FcOpNil):
  42452. case int32(_FcOpField):
  42453. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject))
  42454. if o != 0 {
  42455. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  42456. }
  42457. case int32(_FcOpConst):
  42458. c = XIA__FcNameGetConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  42459. if c != 0 {
  42460. o = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  42461. if o != 0 {
  42462. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  42463. }
  42464. } else {
  42465. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6608, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  42466. }
  42467. case int32(_FcOpQuest):
  42468. _FcTypecheckExpr(tls, parse, (*(*struct {
  42469. Fleft uintptr
  42470. Fright uintptr
  42471. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  42472. _FcTypecheckExpr(tls, parse, (*(*struct {
  42473. Fleft uintptr
  42474. Fright uintptr
  42475. })(unsafe.Pointer((*(*struct {
  42476. Fleft uintptr
  42477. Fright uintptr
  42478. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft, type1)
  42479. _FcTypecheckExpr(tls, parse, (*(*struct {
  42480. Fleft uintptr
  42481. Fright uintptr
  42482. })(unsafe.Pointer((*(*struct {
  42483. Fleft uintptr
  42484. Fright uintptr
  42485. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright, type1)
  42486. case int32(_FcOpAssign):
  42487. fallthrough
  42488. case int32(_FcOpAssignReplace):
  42489. case int32(_FcOpEqual):
  42490. fallthrough
  42491. case int32(_FcOpNotEqual):
  42492. fallthrough
  42493. case int32(_FcOpLess):
  42494. fallthrough
  42495. case int32(_FcOpLessEqual):
  42496. fallthrough
  42497. case int32(_FcOpMore):
  42498. fallthrough
  42499. case int32(_FcOpMoreEqual):
  42500. fallthrough
  42501. case int32(_FcOpContains):
  42502. fallthrough
  42503. case int32(_FcOpNotContains):
  42504. fallthrough
  42505. case int32(_FcOpListing):
  42506. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  42507. case int32(_FcOpComma):
  42508. fallthrough
  42509. case int32(_FcOpOr):
  42510. fallthrough
  42511. case int32(_FcOpAnd):
  42512. fallthrough
  42513. case int32(_FcOpPlus):
  42514. fallthrough
  42515. case int32(_FcOpMinus):
  42516. fallthrough
  42517. case int32(_FcOpTimes):
  42518. fallthrough
  42519. case int32(_FcOpDivide):
  42520. _FcTypecheckExpr(tls, parse, (*(*struct {
  42521. Fleft uintptr
  42522. Fright uintptr
  42523. })(unsafe.Pointer(expr + 8))).Fleft, type1)
  42524. _FcTypecheckExpr(tls, parse, (*(*struct {
  42525. Fleft uintptr
  42526. Fright uintptr
  42527. })(unsafe.Pointer(expr + 8))).Fright, type1)
  42528. case int32(_FcOpNot):
  42529. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  42530. _FcTypecheckExpr(tls, parse, (*(*struct {
  42531. Fleft uintptr
  42532. Fright uintptr
  42533. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  42534. case int32(_FcOpFloor):
  42535. fallthrough
  42536. case int32(_FcOpCeil):
  42537. fallthrough
  42538. case int32(_FcOpRound):
  42539. fallthrough
  42540. case int32(_FcOpTrunc):
  42541. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  42542. _FcTypecheckExpr(tls, parse, (*(*struct {
  42543. Fleft uintptr
  42544. Fright uintptr
  42545. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeDouble))
  42546. default:
  42547. break
  42548. }
  42549. }
  42550. func _FcTestCreate(tls *libc.TLS, parse uintptr, kind TFcMatchKind, qual TFcQual, field uintptr, compare uint32, expr uintptr) (r uintptr) {
  42551. var o, test uintptr
  42552. _, _ = o, test
  42553. test = libc.Xmalloc(tls, uint64(24))
  42554. if test != 0 {
  42555. (*TFcTest)(unsafe.Pointer(test)).Fkind = kind
  42556. (*TFcTest)(unsafe.Pointer(test)).Fqual = qual
  42557. (*TFcTest)(unsafe.Pointer(test)).Fobject = XFcObjectFromName(tls, field)
  42558. (*TFcTest)(unsafe.Pointer(test)).Fop = libc.Int32FromUint32(compare)
  42559. (*TFcTest)(unsafe.Pointer(test)).Fexpr = expr
  42560. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject))
  42561. if o != 0 {
  42562. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  42563. }
  42564. }
  42565. return test
  42566. }
  42567. func _FcEditCreate(tls *libc.TLS, parse uintptr, object TFcObject, op TFcOp, expr uintptr, binding TFcValueBinding) (r uintptr) {
  42568. var e, o uintptr
  42569. _, _ = e, o
  42570. e = libc.Xmalloc(tls, uint64(24))
  42571. if e != 0 {
  42572. (*TFcEdit)(unsafe.Pointer(e)).Fobject = object
  42573. (*TFcEdit)(unsafe.Pointer(e)).Fop = op
  42574. (*TFcEdit)(unsafe.Pointer(e)).Fexpr = expr
  42575. (*TFcEdit)(unsafe.Pointer(e)).Fbinding = binding
  42576. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(e)).Fobject))
  42577. if o != 0 {
  42578. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  42579. }
  42580. }
  42581. return e
  42582. }
  42583. func _FcRuleCreate(tls *libc.TLS, type1 TFcRuleType, p uintptr) (r1 uintptr) {
  42584. var r uintptr
  42585. _ = r
  42586. r = libc.Xmalloc(tls, uint64(24))
  42587. if !(r != 0) {
  42588. return libc.UintptrFromInt32(0)
  42589. }
  42590. (*TFcRule)(unsafe.Pointer(r)).Fnext = libc.UintptrFromInt32(0)
  42591. (*TFcRule)(unsafe.Pointer(r)).Ftype1 = type1
  42592. switch type1 {
  42593. case int32(_FcRuleTest):
  42594. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  42595. case int32(_FcRuleEdit):
  42596. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  42597. case int32(_FcRuleUnknown):
  42598. fallthrough
  42599. default:
  42600. libc.Xfree(tls, r)
  42601. r = libc.UintptrFromInt32(0)
  42602. break
  42603. }
  42604. return r
  42605. }
  42606. func _FcVStackCreateAndPush(tls *libc.TLS, parse uintptr) (r uintptr) {
  42607. var new1, v2, v3 uintptr
  42608. var v1 uint32
  42609. _, _, _, _ = new1, v1, v2, v3
  42610. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used) < libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(32) {
  42611. v2 = parse + 2496
  42612. v1 = *(*uint32)(unsafe.Pointer(v2))
  42613. *(*uint32)(unsafe.Pointer(v2))++
  42614. new1 = parse + 2504 + uintptr(v1)*32
  42615. } else {
  42616. new1 = libc.Xmalloc(tls, uint64(32))
  42617. if !(new1 != 0) {
  42618. return uintptr(0)
  42619. }
  42620. }
  42621. (*TFcVStack)(unsafe.Pointer(new1)).Ftag = int32(_FcVStackNone)
  42622. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = uintptr(0)
  42623. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42624. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  42625. v3 = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fprev
  42626. } else {
  42627. v3 = uintptr(0)
  42628. }
  42629. (*TFcVStack)(unsafe.Pointer(new1)).Fpstack = v3
  42630. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = new1
  42631. return new1
  42632. }
  42633. func _FcVStackPushString(tls *libc.TLS, parse uintptr, tag TFcVStackTag, string1 uintptr) (r TFcBool) {
  42634. var vstack uintptr
  42635. _ = vstack
  42636. vstack = _FcVStackCreateAndPush(tls, parse)
  42637. if !(vstack != 0) {
  42638. return m_FcFalse
  42639. }
  42640. *(*uintptr)(unsafe.Pointer(vstack + 24)) = string1
  42641. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  42642. return int32(m_FcTrue)
  42643. }
  42644. func _FcVStackPushInteger(tls *libc.TLS, parse uintptr, integer int32) (r TFcBool) {
  42645. var vstack uintptr
  42646. _ = vstack
  42647. vstack = _FcVStackCreateAndPush(tls, parse)
  42648. if !(vstack != 0) {
  42649. return m_FcFalse
  42650. }
  42651. *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = integer
  42652. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackInteger)
  42653. return int32(m_FcTrue)
  42654. }
  42655. func _FcVStackPushDouble(tls *libc.TLS, parse uintptr, _double float64) (r TFcBool) {
  42656. var vstack uintptr
  42657. _ = vstack
  42658. vstack = _FcVStackCreateAndPush(tls, parse)
  42659. if !(vstack != 0) {
  42660. return m_FcFalse
  42661. }
  42662. *(*float64)(unsafe.Pointer(vstack + 24)) = _double
  42663. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackDouble)
  42664. return int32(m_FcTrue)
  42665. }
  42666. func _FcVStackPushMatrix(tls *libc.TLS, parse uintptr, matrix uintptr) (r TFcBool) {
  42667. var vstack uintptr
  42668. _ = vstack
  42669. vstack = _FcVStackCreateAndPush(tls, parse)
  42670. if !(vstack != 0) {
  42671. return m_FcFalse
  42672. }
  42673. *(*uintptr)(unsafe.Pointer(vstack + 24)) = _FcExprMatrixCopyShallow(tls, matrix)
  42674. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackMatrix)
  42675. return int32(m_FcTrue)
  42676. }
  42677. func _FcVStackPushRange(tls *libc.TLS, parse uintptr, range1 uintptr) (r TFcBool) {
  42678. var vstack uintptr
  42679. _ = vstack
  42680. vstack = _FcVStackCreateAndPush(tls, parse)
  42681. if !(vstack != 0) {
  42682. return m_FcFalse
  42683. }
  42684. *(*uintptr)(unsafe.Pointer(vstack + 24)) = range1
  42685. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackRange)
  42686. return int32(m_FcTrue)
  42687. }
  42688. func _FcVStackPushBool(tls *libc.TLS, parse uintptr, bool_ TFcBool) (r TFcBool) {
  42689. var vstack uintptr
  42690. _ = vstack
  42691. vstack = _FcVStackCreateAndPush(tls, parse)
  42692. if !(vstack != 0) {
  42693. return m_FcFalse
  42694. }
  42695. *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = bool_
  42696. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackBool)
  42697. return int32(m_FcTrue)
  42698. }
  42699. func _FcVStackPushCharSet(tls *libc.TLS, parse uintptr, charset uintptr) (r TFcBool) {
  42700. var vstack uintptr
  42701. _ = vstack
  42702. if !(charset != 0) {
  42703. return m_FcFalse
  42704. }
  42705. vstack = _FcVStackCreateAndPush(tls, parse)
  42706. if !(vstack != 0) {
  42707. return m_FcFalse
  42708. }
  42709. *(*uintptr)(unsafe.Pointer(vstack + 24)) = charset
  42710. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackCharSet)
  42711. return int32(m_FcTrue)
  42712. }
  42713. func _FcVStackPushLangSet(tls *libc.TLS, parse uintptr, langset uintptr) (r TFcBool) {
  42714. var vstack uintptr
  42715. _ = vstack
  42716. if !(langset != 0) {
  42717. return m_FcFalse
  42718. }
  42719. vstack = _FcVStackCreateAndPush(tls, parse)
  42720. if !(vstack != 0) {
  42721. return m_FcFalse
  42722. }
  42723. *(*uintptr)(unsafe.Pointer(vstack + 24)) = langset
  42724. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackLangSet)
  42725. return int32(m_FcTrue)
  42726. }
  42727. func _FcVStackPushName(tls *libc.TLS, parse uintptr, kind TFcMatchKind, object TFcObject) (r TFcBool) {
  42728. var vstack uintptr
  42729. _ = vstack
  42730. vstack = _FcVStackCreateAndPush(tls, parse)
  42731. if !(vstack != 0) {
  42732. return m_FcFalse
  42733. }
  42734. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fobject = object
  42735. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fkind = kind
  42736. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackName)
  42737. return int32(m_FcTrue)
  42738. }
  42739. func _FcVStackPushTest(tls *libc.TLS, parse uintptr, test uintptr) (r TFcBool) {
  42740. var vstack uintptr
  42741. _ = vstack
  42742. vstack = _FcVStackCreateAndPush(tls, parse)
  42743. if !(vstack != 0) {
  42744. return m_FcFalse
  42745. }
  42746. *(*uintptr)(unsafe.Pointer(vstack + 24)) = test
  42747. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackTest)
  42748. return int32(m_FcTrue)
  42749. }
  42750. func _FcVStackPushExpr(tls *libc.TLS, parse uintptr, tag TFcVStackTag, expr uintptr) (r TFcBool) {
  42751. var vstack uintptr
  42752. _ = vstack
  42753. vstack = _FcVStackCreateAndPush(tls, parse)
  42754. if !(vstack != 0) {
  42755. return m_FcFalse
  42756. }
  42757. *(*uintptr)(unsafe.Pointer(vstack + 24)) = expr
  42758. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  42759. return int32(m_FcTrue)
  42760. }
  42761. func _FcVStackPushEdit(tls *libc.TLS, parse uintptr, edit uintptr) (r TFcBool) {
  42762. var vstack uintptr
  42763. _ = vstack
  42764. vstack = _FcVStackCreateAndPush(tls, parse)
  42765. if !(vstack != 0) {
  42766. return m_FcFalse
  42767. }
  42768. *(*uintptr)(unsafe.Pointer(vstack + 24)) = edit
  42769. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackEdit)
  42770. return int32(m_FcTrue)
  42771. }
  42772. func _FcVStackPushPattern(tls *libc.TLS, parse uintptr, pattern uintptr) (r TFcBool) {
  42773. var vstack uintptr
  42774. _ = vstack
  42775. vstack = _FcVStackCreateAndPush(tls, parse)
  42776. if !(vstack != 0) {
  42777. return m_FcFalse
  42778. }
  42779. *(*uintptr)(unsafe.Pointer(vstack + 24)) = pattern
  42780. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackPattern)
  42781. return int32(m_FcTrue)
  42782. }
  42783. func _FcVStackFetch(tls *libc.TLS, parse uintptr, off int32) (r uintptr) {
  42784. var vstack uintptr
  42785. var v2 int32
  42786. var v3 bool
  42787. _, _, _ = vstack, v2, v3
  42788. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42789. for {
  42790. if v3 = vstack != 0; v3 {
  42791. v2 = off
  42792. off--
  42793. }
  42794. if !(v3 && v2 > 0) {
  42795. break
  42796. }
  42797. goto _1
  42798. _1:
  42799. ;
  42800. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  42801. }
  42802. return vstack
  42803. }
  42804. func _FcVStackPeek(tls *libc.TLS, parse uintptr) (r uintptr) {
  42805. var vstack, v1 uintptr
  42806. _, _ = vstack, v1
  42807. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42808. if vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  42809. v1 = vstack
  42810. } else {
  42811. v1 = uintptr(0)
  42812. }
  42813. return v1
  42814. }
  42815. func _FcVStackPopAndDestroy(tls *libc.TLS, parse uintptr) {
  42816. var vstack uintptr
  42817. _ = vstack
  42818. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42819. if !(vstack != 0) || (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack != (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  42820. return
  42821. }
  42822. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  42823. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  42824. case int32(_FcVStackNone):
  42825. case int32(_FcVStackName):
  42826. case int32(_FcVStackFamily):
  42827. case int32(_FcVStackString):
  42828. fallthrough
  42829. case int32(_FcVStackConstant):
  42830. fallthrough
  42831. case int32(_FcVStackGlob):
  42832. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42833. case int32(_FcVStackPattern):
  42834. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42835. case int32(_FcVStackInteger):
  42836. fallthrough
  42837. case int32(_FcVStackDouble):
  42838. case int32(_FcVStackMatrix):
  42839. _FcExprMatrixFreeShallow(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42840. case int32(_FcVStackBool):
  42841. case int32(_FcVStackRange):
  42842. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42843. case int32(_FcVStackCharSet):
  42844. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42845. case int32(_FcVStackLangSet):
  42846. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42847. case int32(_FcVStackTest):
  42848. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42849. case int32(_FcVStackExpr):
  42850. fallthrough
  42851. case int32(_FcVStackPrefer):
  42852. fallthrough
  42853. case int32(_FcVStackAccept):
  42854. fallthrough
  42855. case int32(_FcVStackDefault):
  42856. _FcExprDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42857. case int32(_FcVStackEdit):
  42858. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42859. break
  42860. }
  42861. if vstack == parse+2504+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used-uint32(1))*32 {
  42862. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used--
  42863. } else {
  42864. libc.Xfree(tls, vstack)
  42865. }
  42866. }
  42867. func _FcVStackClear(tls *libc.TLS, parse uintptr) {
  42868. for _FcVStackPeek(tls, parse) != 0 {
  42869. _FcVStackPopAndDestroy(tls, parse)
  42870. }
  42871. }
  42872. func _FcVStackElements(tls *libc.TLS, parse uintptr) (r int32) {
  42873. var h int32
  42874. var vstack uintptr
  42875. _, _ = h, vstack
  42876. h = 0
  42877. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42878. for vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  42879. h++
  42880. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  42881. }
  42882. return h
  42883. }
  42884. func _FcConfigSaveAttr(tls *libc.TLS, attr uintptr, buf uintptr, size_bytes int32) (r uintptr) {
  42885. var i, slen int32
  42886. var new1, s uintptr
  42887. _, _, _, _ = i, new1, s, slen
  42888. if !(attr != 0) {
  42889. return uintptr(0)
  42890. }
  42891. slen = 0
  42892. i = 0
  42893. for {
  42894. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  42895. break
  42896. }
  42897. slen = int32(uint64(slen) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8))) + libc.Uint64FromInt32(1)))
  42898. goto _1
  42899. _1:
  42900. ;
  42901. i++
  42902. }
  42903. if i == 0 {
  42904. return uintptr(0)
  42905. }
  42906. slen = int32(uint64(slen) + libc.Uint64FromInt32(i+libc.Int32FromInt32(1))*libc.Uint64FromInt64(8))
  42907. if slen <= size_bytes {
  42908. new1 = buf
  42909. } else {
  42910. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(slen))
  42911. if !(new1 != 0) {
  42912. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+6635, 0)
  42913. return uintptr(0)
  42914. }
  42915. }
  42916. s = new1 + uintptr(i+libc.Int32FromInt32(1))*8
  42917. i = 0
  42918. for {
  42919. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  42920. break
  42921. }
  42922. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = s
  42923. libc.Xstrcpy(tls, s, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)))
  42924. s += uintptr(libc.Xstrlen(tls, s) + uint64(1))
  42925. goto _2
  42926. _2:
  42927. ;
  42928. i++
  42929. }
  42930. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = uintptr(0)
  42931. return new1
  42932. }
  42933. func _FcPStackPush(tls *libc.TLS, parse uintptr, element TFcElement, attr uintptr) (r TFcBool) {
  42934. var new1, v2 uintptr
  42935. var v1 uint32
  42936. _, _, _ = new1, v1, v2
  42937. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used) < libc.Uint64FromInt64(2432)/libc.Uint64FromInt64(304) {
  42938. v2 = parse + 56
  42939. v1 = *(*uint32)(unsafe.Pointer(v2))
  42940. *(*uint32)(unsafe.Pointer(v2))++
  42941. new1 = parse + 64 + uintptr(v1)*304
  42942. } else {
  42943. new1 = libc.Xmalloc(tls, uint64(304))
  42944. if !(new1 != 0) {
  42945. return m_FcFalse
  42946. }
  42947. }
  42948. (*TFcPStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  42949. (*TFcPStack)(unsafe.Pointer(new1)).Felement = element
  42950. (*TFcPStack)(unsafe.Pointer(new1)).Fattr = _FcConfigSaveAttr(tls, attr, new1+176, int32(128))
  42951. XFcStrBufInit(tls, new1+24, uintptr(0), 0)
  42952. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = new1
  42953. return int32(m_FcTrue)
  42954. }
  42955. func _FcPStackPop(tls *libc.TLS, parse uintptr) (r TFcBool) {
  42956. bp := tls.Alloc(16)
  42957. defer tls.Free(16)
  42958. var attrs, old uintptr
  42959. _, _ = attrs, old
  42960. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  42961. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6649, 0)
  42962. return m_FcFalse
  42963. }
  42964. /* Don't check the attributes for FcElementNone */
  42965. if (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement != int32(_FcElementNone) && (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr != 0 {
  42966. /* Warn about unused attrs. */
  42967. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  42968. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  42969. if *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) != 0 {
  42970. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6669, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(attrs))))
  42971. }
  42972. attrs += uintptr(2) * 8
  42973. }
  42974. }
  42975. _FcVStackClear(tls, parse)
  42976. old = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  42977. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = (*TFcPStack)(unsafe.Pointer(old)).Fprev
  42978. XFcStrBufDestroy(tls, old+24)
  42979. if (*TFcPStack)(unsafe.Pointer(old)).Fattr != 0 && (*TFcPStack)(unsafe.Pointer(old)).Fattr != old+176 {
  42980. libc.Xfree(tls, (*TFcPStack)(unsafe.Pointer(old)).Fattr)
  42981. }
  42982. if old == parse+64+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used-uint32(1))*304 {
  42983. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used--
  42984. } else {
  42985. libc.Xfree(tls, old)
  42986. }
  42987. return int32(m_FcTrue)
  42988. }
  42989. func _FcConfigParseInit(tls *libc.TLS, parse uintptr, name uintptr, config uintptr, parser TXML_Parser, enabled TFcBool) (r TFcBool) {
  42990. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = uintptr(0)
  42991. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used = uint32(0)
  42992. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = uintptr(0)
  42993. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used = uint32(0)
  42994. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = m_FcFalse
  42995. (*TFcConfigParse)(unsafe.Pointer(parse)).Fname = name
  42996. (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig = config
  42997. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, name)
  42998. (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser = parser
  42999. (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly = libc.BoolInt32(!(enabled != 0))
  43000. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, enabled)
  43001. return int32(m_FcTrue)
  43002. }
  43003. func _FcConfigCleanup(tls *libc.TLS, parse uintptr) {
  43004. for (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  43005. _FcPStackPop(tls, parse)
  43006. }
  43007. XFcRuleSetDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset)
  43008. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = libc.UintptrFromInt32(0)
  43009. }
  43010. func _FcConfigGetAttribute(tls *libc.TLS, parse uintptr, attr uintptr) (r uintptr) {
  43011. var attrs uintptr
  43012. _ = attrs
  43013. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43014. return uintptr(0)
  43015. }
  43016. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  43017. if !(attrs != 0) {
  43018. return uintptr(0)
  43019. }
  43020. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  43021. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(attrs)), attr) != 0) {
  43022. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) = uint8('\000') /* Mark as used. */
  43023. return *(*uintptr)(unsafe.Pointer(attrs + 1*8))
  43024. }
  43025. attrs += uintptr(2) * 8
  43026. }
  43027. return uintptr(0)
  43028. }
  43029. func _FcStartElement(tls *libc.TLS, userData uintptr, name uintptr, attr uintptr) {
  43030. bp := tls.Alloc(16)
  43031. defer tls.Free(16)
  43032. var element TFcElement
  43033. var parse uintptr
  43034. _, _ = element, parse
  43035. parse = userData
  43036. element = _FcElementMap(tls, name)
  43037. if element == int32(_FcElementUnknown) {
  43038. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6692, libc.VaList(bp+8, name))
  43039. }
  43040. if !(_FcPStackPush(tls, parse, element, attr) != 0) {
  43041. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43042. return
  43043. }
  43044. return
  43045. }
  43046. func _FcParseRescan(tls *libc.TLS, parse uintptr) {
  43047. var n, v1 int32
  43048. var v uintptr
  43049. _, _, _ = n, v, v1
  43050. n = _FcVStackElements(tls, parse)
  43051. for {
  43052. v1 = n
  43053. n--
  43054. if !(v1 > 0) {
  43055. break
  43056. }
  43057. v = _FcVStackFetch(tls, parse, n)
  43058. if (*TFcVStack)(unsafe.Pointer(v)).Ftag != int32(_FcVStackInteger) {
  43059. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6713, 0)
  43060. } else {
  43061. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FrescanInterval = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(v)).Fu))
  43062. }
  43063. }
  43064. }
  43065. func _FcParseInt(tls *libc.TLS, parse uintptr) {
  43066. bp := tls.Alloc(32)
  43067. defer tls.Free(32)
  43068. var l int32
  43069. var s uintptr
  43070. var _ /* end at bp+0 */ uintptr
  43071. _, _ = l, s
  43072. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43073. return
  43074. }
  43075. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43076. if !(s != 0) {
  43077. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43078. return
  43079. }
  43080. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  43081. l = int32(libc.Xstrtol(tls, s, bp, 0))
  43082. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  43083. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6732, libc.VaList(bp+16, s))
  43084. } else {
  43085. _FcVStackPushInteger(tls, parse, l)
  43086. }
  43087. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43088. }
  43089. type Tlconv = struct {
  43090. Fdecimal_point uintptr
  43091. Fthousands_sep uintptr
  43092. Fgrouping uintptr
  43093. Fint_curr_symbol uintptr
  43094. Fcurrency_symbol uintptr
  43095. Fmon_decimal_point uintptr
  43096. Fmon_thousands_sep uintptr
  43097. Fmon_grouping uintptr
  43098. Fpositive_sign uintptr
  43099. Fnegative_sign uintptr
  43100. Fint_frac_digits uint8
  43101. Ffrac_digits uint8
  43102. Fp_cs_precedes uint8
  43103. Fp_sep_by_space uint8
  43104. Fn_cs_precedes uint8
  43105. Fn_sep_by_space uint8
  43106. Fp_sign_posn uint8
  43107. Fn_sign_posn uint8
  43108. Fint_p_cs_precedes uint8
  43109. Fint_p_sep_by_space uint8
  43110. Fint_n_cs_precedes uint8
  43111. Fint_n_sep_by_space uint8
  43112. Fint_p_sign_posn uint8
  43113. Fint_n_sign_posn uint8
  43114. }
  43115. func _FcStrtod(tls *libc.TLS, s uintptr, end uintptr) (r float64) {
  43116. bp := tls.Alloc(144)
  43117. defer tls.Free(144)
  43118. var decimal_point, dot, locale_data, v1 uintptr
  43119. var dlen, slen int32
  43120. var v float64
  43121. var _ /* buf at bp+0 */ [128]uint8
  43122. var _ /* buf_end at bp+128 */ uintptr
  43123. _, _, _, _, _, _, _ = decimal_point, dlen, dot, locale_data, slen, v, v1
  43124. /*
  43125. * Have to swap the decimal point to match the current locale
  43126. * if that locale doesn't use 0x2e
  43127. */
  43128. locale_data = libc.Xlocaleconv(tls)
  43129. decimal_point = (*Tlconv)(unsafe.Pointer(locale_data)).Fdecimal_point
  43130. dlen = libc.Int32FromUint64(libc.Xstrlen(tls, decimal_point))
  43131. v1 = libc.Xstrchr(tls, s, int32(0x2e))
  43132. dot = v1
  43133. if v1 != 0 && (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(decimal_point))) != int32(0x2e) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(decimal_point + 1))) != 0) {
  43134. slen = libc.Int32FromUint64(libc.Xstrlen(tls, s))
  43135. if slen+dlen > libc.Int32FromInt64(128) {
  43136. if end != 0 {
  43137. *(*uintptr)(unsafe.Pointer(end)) = s
  43138. }
  43139. v = libc.Float64FromInt32(0)
  43140. } else {
  43141. /* mantissa */
  43142. libc.Xstrncpy(tls, bp, s, libc.Uint64FromInt64(int64(dot)-int64(s)))
  43143. /* decimal point */
  43144. libc.Xstrcpy(tls, bp+uintptr(int64(dot)-int64(s)), decimal_point)
  43145. /* rest of number */
  43146. libc.Xstrcpy(tls, bp+uintptr(int64(dot)-int64(s))+uintptr(dlen), dot+uintptr(1))
  43147. *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
  43148. v = libc.Xstrtod(tls, bp, bp+128)
  43149. if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 {
  43150. *(*uintptr)(unsafe.Pointer(bp + 128)) = s + uintptr(int64(*(*uintptr)(unsafe.Pointer(bp + 128)))-t__predefined_ptrdiff_t(bp))
  43151. if *(*uintptr)(unsafe.Pointer(bp + 128)) > dot {
  43152. *(*uintptr)(unsafe.Pointer(bp + 128)) -= uintptr(dlen - int32(1))
  43153. }
  43154. }
  43155. if end != 0 {
  43156. *(*uintptr)(unsafe.Pointer(end)) = *(*uintptr)(unsafe.Pointer(bp + 128))
  43157. }
  43158. }
  43159. } else {
  43160. v = libc.Xstrtod(tls, s, end)
  43161. }
  43162. return v
  43163. }
  43164. func _FcParseDouble(tls *libc.TLS, parse uintptr) {
  43165. bp := tls.Alloc(32)
  43166. defer tls.Free(32)
  43167. var d float64
  43168. var s uintptr
  43169. var _ /* end at bp+0 */ uintptr
  43170. _, _ = d, s
  43171. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43172. return
  43173. }
  43174. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43175. if !(s != 0) {
  43176. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43177. return
  43178. }
  43179. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  43180. d = _FcStrtod(tls, s, bp)
  43181. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  43182. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6758, libc.VaList(bp+16, s))
  43183. } else {
  43184. _FcVStackPushDouble(tls, parse, d)
  43185. }
  43186. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43187. }
  43188. func _FcParseString(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  43189. var s uintptr
  43190. _ = s
  43191. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43192. return
  43193. }
  43194. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43195. if !(s != 0) {
  43196. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43197. return
  43198. }
  43199. if !(_FcVStackPushString(tls, parse, tag, s) != 0) {
  43200. XIA__FcStrFree(tls, s)
  43201. }
  43202. }
  43203. func _FcParseName(tls *libc.TLS, parse uintptr) {
  43204. bp := tls.Alloc(16)
  43205. defer tls.Free(16)
  43206. var kind TFcMatchKind
  43207. var kind_string, s uintptr
  43208. var object TFcObject
  43209. _, _, _, _ = kind, kind_string, object, s
  43210. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+6783)
  43211. if !(kind_string != 0) {
  43212. kind = -libc.Int32FromInt32(1)
  43213. } else {
  43214. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6790) != 0) {
  43215. kind = int32(_FcMatchPattern)
  43216. } else {
  43217. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6798) != 0) {
  43218. kind = int32(_FcMatchFont)
  43219. } else {
  43220. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6803) != 0) {
  43221. kind = -libc.Int32FromInt32(1)
  43222. } else {
  43223. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6811, libc.VaList(bp+8, kind_string))
  43224. return
  43225. }
  43226. }
  43227. }
  43228. }
  43229. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43230. return
  43231. }
  43232. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43233. if !(s != 0) {
  43234. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43235. return
  43236. }
  43237. object = XFcObjectFromName(tls, s)
  43238. _FcVStackPushName(tls, parse, kind, object)
  43239. XIA__FcStrFree(tls, s)
  43240. }
  43241. func _FcParseMatrix(tls *libc.TLS, parse uintptr) {
  43242. bp := tls.Alloc(32)
  43243. defer tls.Free(32)
  43244. var _ /* m at bp+0 */ TFcExprMatrix
  43245. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy = _FcPopExpr(tls, parse)
  43246. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx = _FcPopExpr(tls, parse)
  43247. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy = _FcPopExpr(tls, parse)
  43248. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx = _FcPopExpr(tls, parse)
  43249. if _FcPopExpr(tls, parse) != 0 {
  43250. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6836, 0)
  43251. } else {
  43252. _FcVStackPushMatrix(tls, parse, bp)
  43253. }
  43254. }
  43255. func _FcParseRange(tls *libc.TLS, parse uintptr) {
  43256. var count int32
  43257. var d [2]float64
  43258. var dflag TFcBool
  43259. var n [2]TFcChar32
  43260. var r, vstack, v1 uintptr
  43261. _, _, _, _, _, _, _ = count, d, dflag, n, r, vstack, v1
  43262. n = [2]TFcChar32{}
  43263. count = int32(1)
  43264. d = [2]float64{}
  43265. dflag = m_FcFalse
  43266. for {
  43267. v1 = _FcVStackPeek(tls, parse)
  43268. vstack = v1
  43269. if !(v1 != 0) {
  43270. break
  43271. }
  43272. if count < 0 {
  43273. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6868, 0)
  43274. return
  43275. }
  43276. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43277. case int32(_FcVStackInteger):
  43278. if dflag != 0 {
  43279. d[count] = float64(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  43280. } else {
  43281. n[count] = libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  43282. }
  43283. case int32(_FcVStackDouble):
  43284. if count == 0 && !(dflag != 0) {
  43285. d[int32(1)] = float64(n[int32(1)])
  43286. }
  43287. d[count] = *(*float64)(unsafe.Pointer(vstack + 24))
  43288. dflag = int32(m_FcTrue)
  43289. default:
  43290. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6895, 0)
  43291. if dflag != 0 {
  43292. d[count] = libc.Float64FromFloat64(0)
  43293. } else {
  43294. n[count] = uint32(0)
  43295. }
  43296. break
  43297. }
  43298. count--
  43299. _FcVStackPopAndDestroy(tls, parse)
  43300. }
  43301. if count >= 0 {
  43302. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6920, 0)
  43303. return
  43304. }
  43305. if dflag != 0 {
  43306. if d[0] > d[int32(1)] {
  43307. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6920, 0)
  43308. return
  43309. }
  43310. r = XIA__FcRangeCreateDouble(tls, d[0], d[int32(1)])
  43311. } else {
  43312. if n[0] > n[int32(1)] {
  43313. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6920, 0)
  43314. return
  43315. }
  43316. r = XIA__FcRangeCreateInteger(tls, n[0], n[int32(1)])
  43317. }
  43318. _FcVStackPushRange(tls, parse, r)
  43319. }
  43320. func _FcConfigLexBool(tls *libc.TLS, parse uintptr, bool_ uintptr) (r TFcBool) {
  43321. bp := tls.Alloc(32)
  43322. defer tls.Free(32)
  43323. var _ /* result at bp+0 */ TFcBool
  43324. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  43325. if !(XFcNameBool(tls, bool_, bp) != 0) {
  43326. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6934, libc.VaList(bp+16, bool_))
  43327. }
  43328. return *(*TFcBool)(unsafe.Pointer(bp))
  43329. }
  43330. func _FcParseBool(tls *libc.TLS, parse uintptr) {
  43331. var s uintptr
  43332. _ = s
  43333. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43334. return
  43335. }
  43336. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43337. if !(s != 0) {
  43338. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43339. return
  43340. }
  43341. _FcVStackPushBool(tls, parse, _FcConfigLexBool(tls, parse, s))
  43342. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43343. }
  43344. func _FcParseCharSet(tls *libc.TLS, parse uintptr) {
  43345. bp := tls.Alloc(16)
  43346. defer tls.Free(16)
  43347. var begin, end, i TFcChar32
  43348. var charset, vstack, v1 uintptr
  43349. var n int32
  43350. _, _, _, _, _, _, _ = begin, charset, end, i, n, vstack, v1
  43351. charset = XIA__FcCharSetCreate(tls)
  43352. n = 0
  43353. for {
  43354. v1 = _FcVStackPeek(tls, parse)
  43355. vstack = v1
  43356. if !(v1 != 0) {
  43357. break
  43358. }
  43359. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43360. case int32(_FcVStackInteger):
  43361. if !(XIA__FcCharSetAddChar(tls, charset, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))) != 0) {
  43362. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6960, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))))
  43363. } else {
  43364. n++
  43365. }
  43366. case int32(_FcVStackRange):
  43367. begin = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fbegin)
  43368. end = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fend)
  43369. if begin <= end {
  43370. i = begin
  43371. for {
  43372. if !(i <= end) {
  43373. break
  43374. }
  43375. if !(XIA__FcCharSetAddChar(tls, charset, i) != 0) {
  43376. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6960, libc.VaList(bp+8, i))
  43377. } else {
  43378. n++
  43379. }
  43380. goto _2
  43381. _2:
  43382. ;
  43383. i++
  43384. }
  43385. }
  43386. default:
  43387. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6986, 0)
  43388. break
  43389. }
  43390. _FcVStackPopAndDestroy(tls, parse)
  43391. }
  43392. if n > 0 {
  43393. _FcVStackPushCharSet(tls, parse, charset)
  43394. } else {
  43395. XIA__FcCharSetDestroy(tls, charset)
  43396. }
  43397. }
  43398. func _FcParseLangSet(tls *libc.TLS, parse uintptr) {
  43399. bp := tls.Alloc(16)
  43400. defer tls.Free(16)
  43401. var langset, vstack, v1 uintptr
  43402. var n int32
  43403. _, _, _, _ = langset, n, vstack, v1
  43404. langset = XIA__FcLangSetCreate(tls)
  43405. n = 0
  43406. for {
  43407. v1 = _FcVStackPeek(tls, parse)
  43408. vstack = v1
  43409. if !(v1 != 0) {
  43410. break
  43411. }
  43412. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43413. case int32(_FcVStackString):
  43414. if !(XIA__FcLangSetAdd(tls, langset, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  43415. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7013, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(vstack + 24))))
  43416. } else {
  43417. n++
  43418. }
  43419. default:
  43420. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7033, 0)
  43421. break
  43422. }
  43423. _FcVStackPopAndDestroy(tls, parse)
  43424. }
  43425. if n > 0 {
  43426. _FcVStackPushLangSet(tls, parse, langset)
  43427. } else {
  43428. XIA__FcLangSetDestroy(tls, langset)
  43429. }
  43430. }
  43431. func _FcConfigLexBinding(tls *libc.TLS, parse uintptr, binding_string uintptr, binding_ret uintptr) (r TFcBool) {
  43432. bp := tls.Alloc(16)
  43433. defer tls.Free(16)
  43434. var binding TFcValueBinding
  43435. _ = binding
  43436. if !(binding_string != 0) {
  43437. binding = int32(_FcValueBindingWeak)
  43438. } else {
  43439. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7060) != 0) {
  43440. binding = int32(_FcValueBindingWeak)
  43441. } else {
  43442. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7065) != 0) {
  43443. binding = int32(_FcValueBindingStrong)
  43444. } else {
  43445. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7072) != 0) {
  43446. binding = int32(_FcValueBindingSame)
  43447. } else {
  43448. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7077, libc.VaList(bp+8, binding_string))
  43449. return m_FcFalse
  43450. }
  43451. }
  43452. }
  43453. }
  43454. *(*TFcValueBinding)(unsafe.Pointer(binding_ret)) = binding
  43455. return int32(m_FcTrue)
  43456. }
  43457. func _FcParseFamilies(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  43458. var expr, left, new1, vstack, v1 uintptr
  43459. _, _, _, _, _ = expr, left, new1, vstack, v1
  43460. expr = uintptr(0)
  43461. for {
  43462. v1 = _FcVStackPeek(tls, parse)
  43463. vstack = v1
  43464. if !(v1 != 0) {
  43465. break
  43466. }
  43467. if (*TFcVStack)(unsafe.Pointer(vstack)).Ftag != int32(_FcVStackFamily) {
  43468. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7098, 0)
  43469. _FcVStackPopAndDestroy(tls, parse)
  43470. continue
  43471. }
  43472. left = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43473. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43474. _FcVStackPopAndDestroy(tls, parse)
  43475. if expr != 0 {
  43476. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, int32(_FcOpComma), expr)
  43477. if !(new1 != 0) {
  43478. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43479. _FcExprDestroy(tls, left)
  43480. _FcExprDestroy(tls, expr)
  43481. break
  43482. }
  43483. expr = new1
  43484. } else {
  43485. expr = left
  43486. }
  43487. }
  43488. if expr != 0 {
  43489. if !(_FcVStackPushExpr(tls, parse, tag, expr) != 0) {
  43490. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43491. _FcExprDestroy(tls, expr)
  43492. }
  43493. }
  43494. }
  43495. func _FcParseFamily(tls *libc.TLS, parse uintptr) {
  43496. var expr, s uintptr
  43497. _, _ = expr, s
  43498. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43499. return
  43500. }
  43501. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43502. if !(s != 0) {
  43503. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43504. return
  43505. }
  43506. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  43507. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43508. if expr != 0 {
  43509. _FcVStackPushExpr(tls, parse, int32(_FcVStackFamily), expr)
  43510. }
  43511. }
  43512. func _FcParseAlias(tls *libc.TLS, parse uintptr) {
  43513. bp := tls.Alloc(16)
  43514. defer tls.Free(16)
  43515. var accept, def, edit, family, new1, prefer, r, rule, t, vstack, v1, v3 uintptr
  43516. var n, v4 int32
  43517. var _ /* binding at bp+0 */ TFcValueBinding
  43518. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = accept, def, edit, family, n, new1, prefer, r, rule, t, vstack, v1, v3, v4
  43519. family = uintptr(0)
  43520. accept = uintptr(0)
  43521. prefer = uintptr(0)
  43522. def = uintptr(0)
  43523. new1 = uintptr(0)
  43524. edit = uintptr(0)
  43525. rule = libc.UintptrFromInt32(0)
  43526. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7109), bp) != 0) {
  43527. return
  43528. }
  43529. for {
  43530. v1 = _FcVStackPeek(tls, parse)
  43531. vstack = v1
  43532. if !(v1 != 0) {
  43533. break
  43534. }
  43535. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43536. case int32(_FcVStackFamily):
  43537. if family != 0 {
  43538. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7117, 0)
  43539. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), int32(_FcOpComma), family)
  43540. if !(new1 != 0) {
  43541. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43542. } else {
  43543. family = new1
  43544. }
  43545. } else {
  43546. new1 = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43547. }
  43548. if new1 != 0 {
  43549. family = new1
  43550. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43551. }
  43552. case int32(_FcVStackPrefer):
  43553. if prefer != 0 {
  43554. _FcExprDestroy(tls, prefer)
  43555. }
  43556. prefer = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43557. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43558. case int32(_FcVStackAccept):
  43559. if accept != 0 {
  43560. _FcExprDestroy(tls, accept)
  43561. }
  43562. accept = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43563. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43564. case int32(_FcVStackDefault):
  43565. if def != 0 {
  43566. _FcExprDestroy(tls, def)
  43567. }
  43568. def = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43569. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43570. case int32(_FcVStackTest):
  43571. if rule != 0 {
  43572. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43573. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  43574. rule = r
  43575. } else {
  43576. rule = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43577. }
  43578. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43579. default:
  43580. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7198, 0)
  43581. break
  43582. }
  43583. _FcVStackPopAndDestroy(tls, parse)
  43584. }
  43585. if !(family != 0) {
  43586. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7208, 0)
  43587. if prefer != 0 {
  43588. _FcExprDestroy(tls, prefer)
  43589. }
  43590. if accept != 0 {
  43591. _FcExprDestroy(tls, accept)
  43592. }
  43593. if def != 0 {
  43594. _FcExprDestroy(tls, def)
  43595. }
  43596. if rule != 0 {
  43597. XFcRuleDestroy(tls, rule)
  43598. }
  43599. return
  43600. }
  43601. if !(prefer != 0) && !(accept != 0) && !(def != 0) {
  43602. _FcExprDestroy(tls, family)
  43603. if rule != 0 {
  43604. XFcRuleDestroy(tls, rule)
  43605. }
  43606. return
  43607. } else {
  43608. t = _FcTestCreate(tls, parse, int32(_FcMatchPattern), int32(_FcQualAny), __ccgo_ts+4049, libc.Uint32FromInt32(int32(_FcOpEqual)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), family)
  43609. if rule != 0 {
  43610. r = rule
  43611. for {
  43612. if !((*TFcRule)(unsafe.Pointer(r)).Fnext != 0) {
  43613. break
  43614. }
  43615. goto _2
  43616. _2:
  43617. ;
  43618. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43619. }
  43620. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  43621. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43622. } else {
  43623. v3 = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  43624. rule = v3
  43625. r = v3
  43626. }
  43627. }
  43628. if prefer != 0 {
  43629. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpPrepend), prefer, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  43630. if !(edit != 0) {
  43631. _FcExprDestroy(tls, prefer)
  43632. } else {
  43633. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  43634. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43635. }
  43636. }
  43637. if accept != 0 {
  43638. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppend), accept, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  43639. if !(edit != 0) {
  43640. _FcExprDestroy(tls, accept)
  43641. } else {
  43642. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  43643. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43644. }
  43645. }
  43646. if def != 0 {
  43647. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppendLast), def, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  43648. if !(edit != 0) {
  43649. _FcExprDestroy(tls, def)
  43650. } else {
  43651. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  43652. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43653. }
  43654. }
  43655. v4 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, int32(_FcMatchPattern))
  43656. n = v4
  43657. if v4 == -int32(1) {
  43658. XFcRuleDestroy(tls, rule)
  43659. } else {
  43660. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  43661. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  43662. }
  43663. }
  43664. }
  43665. func _FcParseDescription(tls *libc.TLS, parse uintptr) {
  43666. var desc, domain uintptr
  43667. _, _ = desc, domain
  43668. domain = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7232)
  43669. desc = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43670. if !(desc != 0) {
  43671. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43672. return
  43673. }
  43674. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, domain, desc)
  43675. XIA__FcStrFree(tls, desc)
  43676. }
  43677. func _FcPopExpr(tls *libc.TLS, parse uintptr) (r uintptr) {
  43678. var expr, vstack uintptr
  43679. _, _ = expr, vstack
  43680. vstack = _FcVStackPeek(tls, parse)
  43681. expr = uintptr(0)
  43682. if !(vstack != 0) {
  43683. return uintptr(0)
  43684. }
  43685. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43686. case int32(_FcVStackNone):
  43687. case int32(_FcVStackString):
  43688. fallthrough
  43689. case int32(_FcVStackFamily):
  43690. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43691. case int32(_FcVStackName):
  43692. expr = _FcExprCreateName(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcExprName)(unsafe.Pointer(vstack + 24)))
  43693. case int32(_FcVStackConstant):
  43694. expr = _FcExprCreateConst(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43695. case int32(_FcVStackGlob):
  43696. /* XXX: What's the correct action here? (CDW) */
  43697. case int32(_FcVStackPrefer):
  43698. fallthrough
  43699. case int32(_FcVStackAccept):
  43700. fallthrough
  43701. case int32(_FcVStackDefault):
  43702. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43703. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43704. case int32(_FcVStackInteger):
  43705. expr = _FcExprCreateInteger(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  43706. case int32(_FcVStackDouble):
  43707. expr = _FcExprCreateDouble(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*float64)(unsafe.Pointer(vstack + 24)))
  43708. case int32(_FcVStackMatrix):
  43709. expr = _FcExprCreateMatrix(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43710. case int32(_FcVStackRange):
  43711. expr = _FcExprCreateRange(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43712. case int32(_FcVStackBool):
  43713. expr = _FcExprCreateBool(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  43714. case int32(_FcVStackCharSet):
  43715. expr = _FcExprCreateCharSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43716. case int32(_FcVStackLangSet):
  43717. expr = _FcExprCreateLangSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43718. case int32(_FcVStackTest):
  43719. case int32(_FcVStackExpr):
  43720. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43721. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43722. case int32(_FcVStackEdit):
  43723. default:
  43724. break
  43725. }
  43726. _FcVStackPopAndDestroy(tls, parse)
  43727. return expr
  43728. }
  43729. // C documentation
  43730. //
  43731. // /*
  43732. // * This builds a tree of binary operations. Note
  43733. // * that every operator is defined so that if only
  43734. // * a single operand is contained, the value of the
  43735. // * whole expression is the value of the operand.
  43736. // *
  43737. // * This code reduces in that case to returning that
  43738. // * operand.
  43739. // */
  43740. func _FcPopBinary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  43741. var expr, left, new1, v1 uintptr
  43742. _, _, _, _ = expr, left, new1, v1
  43743. expr = uintptr(0)
  43744. for {
  43745. v1 = _FcPopExpr(tls, parse)
  43746. left = v1
  43747. if !(v1 != 0) {
  43748. break
  43749. }
  43750. if expr != 0 {
  43751. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, op, expr)
  43752. if !(new1 != 0) {
  43753. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43754. _FcExprDestroy(tls, left)
  43755. _FcExprDestroy(tls, expr)
  43756. return uintptr(0)
  43757. }
  43758. expr = new1
  43759. } else {
  43760. expr = left
  43761. }
  43762. }
  43763. return expr
  43764. }
  43765. func _FcParseBinary(tls *libc.TLS, parse uintptr, op TFcOp) {
  43766. var expr uintptr
  43767. _ = expr
  43768. expr = _FcPopBinary(tls, parse, op)
  43769. if expr != 0 {
  43770. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  43771. }
  43772. }
  43773. /*
  43774. * This builds a a unary operator, it consumes only
  43775. * a single operand
  43776. */
  43777. func _FcPopUnary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  43778. var new1, operand, v1 uintptr
  43779. _, _, _ = new1, operand, v1
  43780. new1 = uintptr(0)
  43781. v1 = _FcPopExpr(tls, parse)
  43782. operand = v1
  43783. if v1 != 0 {
  43784. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, operand, op, uintptr(0))
  43785. if !(new1 != 0) {
  43786. _FcExprDestroy(tls, operand)
  43787. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43788. }
  43789. }
  43790. return new1
  43791. }
  43792. func _FcParseUnary(tls *libc.TLS, parse uintptr, op TFcOp) {
  43793. var expr uintptr
  43794. _ = expr
  43795. expr = _FcPopUnary(tls, parse, op)
  43796. if expr != 0 {
  43797. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  43798. }
  43799. }
  43800. func _FcParseDir(tls *libc.TLS, parse uintptr) {
  43801. bp := tls.Alloc(16)
  43802. defer tls.Free(16)
  43803. var attr, data, p, prefix uintptr
  43804. var dlen, plen Tsize_t
  43805. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  43806. prefix = libc.UintptrFromInt32(0)
  43807. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7239)
  43808. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7246) == 0 {
  43809. prefix = XFcConfigXdgDataHome(tls)
  43810. /* home directory might be disabled.
  43811. * simply ignore this element.
  43812. */
  43813. if !(prefix != 0) {
  43814. goto bail
  43815. }
  43816. }
  43817. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43818. if !(data != 0) {
  43819. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43820. data = prefix
  43821. goto bail
  43822. }
  43823. if prefix != 0 {
  43824. plen = libc.Xstrlen(tls, prefix)
  43825. dlen = libc.Xstrlen(tls, data)
  43826. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  43827. if !(p != 0) {
  43828. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43829. goto bail
  43830. }
  43831. prefix = p
  43832. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  43833. libc.Xmemcpy(tls, prefix+uintptr(plen+uint64(1)), data, dlen)
  43834. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  43835. data = prefix
  43836. }
  43837. if libc.Xstrlen(tls, data) == uint64(0) {
  43838. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7250, 0)
  43839. } else {
  43840. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XIA__FcConfigHome(tls) != 0) {
  43841. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  43842. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7284, libc.VaList(bp+8, data))
  43843. }
  43844. }
  43845. }
  43846. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43847. goto bail
  43848. bail:
  43849. ;
  43850. if prefix != 0 {
  43851. XIA__FcStrFree(tls, prefix)
  43852. }
  43853. }
  43854. func _FcParseCacheDir(tls *libc.TLS, parse uintptr) {
  43855. bp := tls.Alloc(16)
  43856. defer tls.Free(16)
  43857. var attr, data, p, prefix uintptr
  43858. var dlen, plen Tsize_t
  43859. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  43860. prefix = libc.UintptrFromInt32(0)
  43861. data = libc.UintptrFromInt32(0)
  43862. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7239)
  43863. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7246) == 0 {
  43864. prefix = XFcConfigXdgCacheHome(tls)
  43865. /* home directory might be disabled.
  43866. * simply ignore this element.
  43867. */
  43868. if !(prefix != 0) {
  43869. goto bail
  43870. }
  43871. }
  43872. data = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43873. if !(data != 0) {
  43874. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43875. data = prefix
  43876. goto bail
  43877. }
  43878. if prefix != 0 {
  43879. plen = libc.Xstrlen(tls, prefix)
  43880. dlen = libc.Xstrlen(tls, data)
  43881. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  43882. if !(p != 0) {
  43883. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43884. XIA__FcStrFree(tls, prefix)
  43885. goto bail
  43886. }
  43887. prefix = p
  43888. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  43889. libc.Xmemcpy(tls, prefix+uintptr(plen+uint64(1)), data, dlen)
  43890. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  43891. XIA__FcStrFree(tls, data)
  43892. data = prefix
  43893. }
  43894. if libc.Xstrlen(tls, data) == uint64(0) {
  43895. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7323, 0)
  43896. } else {
  43897. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XIA__FcConfigHome(tls) != 0) {
  43898. if !(XFcConfigAddCacheDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  43899. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7358, libc.VaList(bp+8, data))
  43900. }
  43901. }
  43902. }
  43903. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43904. goto bail
  43905. bail:
  43906. ;
  43907. if data != 0 {
  43908. XIA__FcStrFree(tls, data)
  43909. }
  43910. }
  43911. func XFcConfigPathFini(tls *libc.TLS) {
  43912. var s uintptr
  43913. var v1, v2 int32
  43914. _, _, _ = s, v1, v2
  43915. goto retry_dir
  43916. retry_dir:
  43917. ;
  43918. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  43919. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == s {
  43920. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = libc.UintptrFromInt32(0)
  43921. v1 = libc.Int32FromInt32(m_FcTrue)
  43922. } else {
  43923. v1 = m_FcFalse
  43924. }
  43925. if !(v1 != 0) {
  43926. goto retry_dir
  43927. }
  43928. libc.Xfree(tls, s)
  43929. goto retry_conf
  43930. retry_conf:
  43931. ;
  43932. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  43933. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == s {
  43934. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = libc.UintptrFromInt32(0)
  43935. v2 = libc.Int32FromInt32(m_FcTrue)
  43936. } else {
  43937. v2 = m_FcFalse
  43938. }
  43939. if !(v2 != 0) {
  43940. goto retry_conf
  43941. }
  43942. libc.Xfree(tls, s)
  43943. }
  43944. func _FcParseInclude(tls *libc.TLS, parse uintptr) {
  43945. bp := tls.Alloc(48)
  43946. defer tls.Free(48)
  43947. var attr, filename, p, parent, parent1, prefix, ruleset, s, u, userconf, userdir uintptr
  43948. var deprecated, ignore_missing TFcBool
  43949. var dlen, plen Tsize_t
  43950. var k TFcMatchKind
  43951. var v3, v6 int32
  43952. var _ /* iter at bp+0 */ TFcPtrListIter
  43953. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = attr, deprecated, dlen, filename, ignore_missing, k, p, parent, parent1, plen, prefix, ruleset, s, u, userconf, userdir, v3, v6
  43954. ignore_missing = m_FcFalse
  43955. deprecated = m_FcFalse
  43956. prefix = libc.UintptrFromInt32(0)
  43957. userdir = libc.UintptrFromInt32(0)
  43958. userconf = libc.UintptrFromInt32(0)
  43959. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43960. if !(s != 0) {
  43961. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43962. goto bail
  43963. }
  43964. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7403)
  43965. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  43966. ignore_missing = int32(m_FcTrue)
  43967. }
  43968. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7418)
  43969. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  43970. deprecated = int32(m_FcTrue)
  43971. }
  43972. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7239)
  43973. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7246) == 0 {
  43974. prefix = XFcConfigXdgConfigHome(tls)
  43975. /* home directory might be disabled.
  43976. * simply ignore this element.
  43977. */
  43978. if !(prefix != 0) {
  43979. goto bail
  43980. }
  43981. }
  43982. if prefix != 0 {
  43983. plen = libc.Xstrlen(tls, prefix)
  43984. dlen = libc.Xstrlen(tls, s)
  43985. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  43986. if !(p != 0) {
  43987. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43988. goto bail
  43989. }
  43990. prefix = p
  43991. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  43992. libc.Xmemcpy(tls, prefix+uintptr(plen+uint64(1)), s, dlen)
  43993. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  43994. s = prefix
  43995. if !(XIA__FcFileIsDir(tls, s) != 0) {
  43996. goto _1
  43997. }
  43998. goto userdir
  43999. userdir:
  44000. ;
  44001. userdir = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  44002. if !(userdir != 0) {
  44003. u = libc.Xstrdup(tls, s)
  44004. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == userdir {
  44005. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = u
  44006. v3 = libc.Int32FromInt32(m_FcTrue)
  44007. } else {
  44008. v3 = m_FcFalse
  44009. }
  44010. if !(v3 != 0) {
  44011. libc.Xfree(tls, u)
  44012. goto userdir
  44013. }
  44014. userdir = u
  44015. }
  44016. goto _2
  44017. _1:
  44018. ;
  44019. if !(XFcFileIsFile(tls, s) != 0) {
  44020. goto _4
  44021. }
  44022. goto userconf
  44023. userconf:
  44024. ;
  44025. userconf = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  44026. if !(userconf != 0) {
  44027. u = libc.Xstrdup(tls, s)
  44028. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == userconf {
  44029. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = u
  44030. v6 = libc.Int32FromInt32(m_FcTrue)
  44031. } else {
  44032. v6 = m_FcFalse
  44033. }
  44034. if !(v6 != 0) {
  44035. libc.Xfree(tls, u)
  44036. goto userconf
  44037. }
  44038. userconf = u
  44039. }
  44040. goto _5
  44041. _4:
  44042. ;
  44043. /* No config dir nor file on the XDG directory spec compliant place
  44044. * so need to guess what it is supposed to be.
  44045. */
  44046. if XIA__FcStrStr(tls, s, __ccgo_ts+7429) != libc.UintptrFromInt32(0) {
  44047. goto userdir
  44048. } else {
  44049. goto userconf
  44050. }
  44051. _5:
  44052. ;
  44053. _2:
  44054. }
  44055. /* flush the ruleset into the queue */
  44056. ruleset = (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset
  44057. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fname)
  44058. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fenabled)
  44059. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdomain, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdescription)
  44060. k = int32(_FcMatchKindBegin)
  44061. for {
  44062. if !(k < int32(_FcMatchKindEnd)) {
  44063. break
  44064. }
  44065. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp)
  44066. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp) != 0 {
  44067. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 32 + uintptr(k)*8)), bp)
  44068. XFcRuleSetReference(tls, ruleset)
  44069. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 32 + uintptr(k)*8)), bp, ruleset)
  44070. }
  44071. goto _7
  44072. _7:
  44073. ;
  44074. k++
  44075. }
  44076. XFcRuleSetDestroy(tls, ruleset)
  44077. if !(__FcConfigParse(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s, libc.BoolInt32(!(ignore_missing != 0)), libc.BoolInt32(!((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0))) != 0) {
  44078. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  44079. } else {
  44080. filename = XIA__FcConfigFilename(tls, s)
  44081. if deprecated == int32(m_FcTrue) && filename != libc.UintptrFromInt32(0) && userdir != libc.UintptrFromInt32(0) && !(XFcFileIsLink(tls, filename) != 0) {
  44082. if XIA__FcFileIsDir(tls, filename) != 0 {
  44083. parent = XIA__FcStrDirname(tls, userdir)
  44084. if !(XIA__FcFileIsDir(tls, parent) != 0) {
  44085. XFcMakeDirectory(tls, parent)
  44086. }
  44087. XIA__FcStrFree(tls, parent)
  44088. if XIA__FcFileIsDir(tls, userdir) != 0 || libc.Xrename(tls, filename, userdir) != 0 || libc.Xsymlink(tls, userdir, filename) != 0 {
  44089. if !(_warn_confd != 0) {
  44090. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7436, libc.VaList(bp+32, s, userdir))
  44091. _warn_confd = int32(m_FcTrue)
  44092. }
  44093. }
  44094. } else {
  44095. parent1 = XIA__FcStrDirname(tls, userconf)
  44096. if !(XIA__FcFileIsDir(tls, parent1) != 0) {
  44097. XFcMakeDirectory(tls, parent1)
  44098. }
  44099. XIA__FcStrFree(tls, parent1)
  44100. if XFcFileIsFile(tls, userconf) != 0 || libc.Xrename(tls, filename, userconf) != 0 || libc.Xsymlink(tls, userconf, filename) != 0 {
  44101. if !(_warn_conf != 0) {
  44102. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7436, libc.VaList(bp+32, s, userconf))
  44103. _warn_conf = int32(m_FcTrue)
  44104. }
  44105. }
  44106. }
  44107. }
  44108. if filename != 0 {
  44109. XIA__FcStrFree(tls, filename)
  44110. }
  44111. }
  44112. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  44113. goto bail
  44114. bail:
  44115. ;
  44116. if prefix != 0 {
  44117. XIA__FcStrFree(tls, prefix)
  44118. }
  44119. }
  44120. var _warn_conf TFcBool
  44121. var _warn_confd TFcBool
  44122. type TFcOpMap = struct {
  44123. Fname [16]uint8
  44124. Fop TFcOp
  44125. }
  44126. type T_FcOpMap = TFcOpMap
  44127. func _FcConfigLexOp(tls *libc.TLS, op uintptr, map1 uintptr, nmap int32) (r TFcOp) {
  44128. var i int32
  44129. _ = i
  44130. i = 0
  44131. for {
  44132. if !(i < nmap) {
  44133. break
  44134. }
  44135. if !(libc.Xstrcmp(tls, op, map1+uintptr(i)*20) != 0) {
  44136. return (*(*TFcOpMap)(unsafe.Pointer(map1 + uintptr(i)*20))).Fop
  44137. }
  44138. goto _1
  44139. _1:
  44140. ;
  44141. i++
  44142. }
  44143. return int32(_FcOpInvalid)
  44144. }
  44145. var _fcCompareOps = [8]TFcOpMap{
  44146. 0: {
  44147. Fname: [16]uint8{'e', 'q'},
  44148. Fop: int32(_FcOpEqual),
  44149. },
  44150. 1: {
  44151. Fname: [16]uint8{'n', 'o', 't', '_', 'e', 'q'},
  44152. Fop: int32(_FcOpNotEqual),
  44153. },
  44154. 2: {
  44155. Fname: [16]uint8{'l', 'e', 's', 's'},
  44156. Fop: int32(_FcOpLess),
  44157. },
  44158. 3: {
  44159. Fname: [16]uint8{'l', 'e', 's', 's', '_', 'e', 'q'},
  44160. Fop: int32(_FcOpLessEqual),
  44161. },
  44162. 4: {
  44163. Fname: [16]uint8{'m', 'o', 'r', 'e'},
  44164. Fop: int32(_FcOpMore),
  44165. },
  44166. 5: {
  44167. Fname: [16]uint8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  44168. Fop: int32(_FcOpMoreEqual),
  44169. },
  44170. 6: {
  44171. Fname: [16]uint8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44172. Fop: int32(_FcOpContains),
  44173. },
  44174. 7: {
  44175. Fname: [16]uint8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44176. Fop: int32(_FcOpNotContains),
  44177. },
  44178. }
  44179. func _FcConfigLexCompare(tls *libc.TLS, compare uintptr) (r TFcOp) {
  44180. return _FcConfigLexOp(tls, compare, uintptr(unsafe.Pointer(&_fcCompareOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  44181. }
  44182. func _FcParseTest(tls *libc.TLS, parse uintptr) {
  44183. bp := tls.Alloc(32)
  44184. defer tls.Free(32)
  44185. var compare TFcOp
  44186. var compare_string, expr, iblanks_string, kind_string, name, qual_string, test uintptr
  44187. var flags int32
  44188. var kind TFcMatchKind
  44189. var qual TFcQual
  44190. var _ /* f at bp+0 */ TFcBool
  44191. _, _, _, _, _, _, _, _, _, _, _ = compare, compare_string, expr, flags, iblanks_string, kind, kind_string, name, qual, qual_string, test
  44192. flags = 0
  44193. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+6783)
  44194. if !(kind_string != 0) {
  44195. kind = -libc.Int32FromInt32(1)
  44196. } else {
  44197. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6790) != 0) {
  44198. kind = int32(_FcMatchPattern)
  44199. } else {
  44200. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6798) != 0) {
  44201. kind = int32(_FcMatchFont)
  44202. } else {
  44203. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7512) != 0) {
  44204. kind = int32(_FcMatchScan)
  44205. } else {
  44206. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6803) != 0) {
  44207. kind = -libc.Int32FromInt32(1)
  44208. } else {
  44209. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7517, libc.VaList(bp+16, kind_string))
  44210. return
  44211. }
  44212. }
  44213. }
  44214. }
  44215. }
  44216. qual_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7542)
  44217. if !(qual_string != 0) {
  44218. qual = int32(_FcQualAny)
  44219. } else {
  44220. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+7547) != 0) {
  44221. qual = int32(_FcQualAny)
  44222. } else {
  44223. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+7551) != 0) {
  44224. qual = int32(_FcQualAll)
  44225. } else {
  44226. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+7555) != 0) {
  44227. qual = int32(_FcQualFirst)
  44228. } else {
  44229. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+7561) != 0) {
  44230. qual = int32(_FcQualNotFirst)
  44231. } else {
  44232. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7571, libc.VaList(bp+16, qual_string))
  44233. return
  44234. }
  44235. }
  44236. }
  44237. }
  44238. }
  44239. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7594)
  44240. if !(name != 0) {
  44241. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7599, 0)
  44242. return
  44243. }
  44244. compare_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7617)
  44245. if !(compare_string != 0) {
  44246. compare = int32(_FcOpEqual)
  44247. } else {
  44248. compare = _FcConfigLexCompare(tls, compare_string)
  44249. if compare == int32(_FcOpInvalid) {
  44250. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7625, libc.VaList(bp+16, compare_string))
  44251. return
  44252. }
  44253. }
  44254. iblanks_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7651)
  44255. if iblanks_string != 0 {
  44256. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  44257. if !(XFcNameBool(tls, iblanks_string, bp) != 0) {
  44258. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7665, libc.VaList(bp+16, iblanks_string))
  44259. }
  44260. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  44261. flags |= int32(_FcOpFlagIgnoreBlanks)
  44262. }
  44263. }
  44264. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  44265. if !(expr != 0) {
  44266. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7697, 0)
  44267. return
  44268. }
  44269. if (*TFcExpr)(unsafe.Pointer(expr)).Fop == int32(_FcOpComma) {
  44270. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7721, 0)
  44271. }
  44272. test = _FcTestCreate(tls, parse, kind, qual, name, libc.Uint32FromInt32(compare&libc.Int32FromInt32(0xffff)|flags<<libc.Int32FromInt32(16)), expr)
  44273. if !(test != 0) {
  44274. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44275. return
  44276. }
  44277. _FcVStackPushTest(tls, parse, test)
  44278. }
  44279. var _fcModeOps = [8]TFcOpMap{
  44280. 0: {
  44281. Fname: [16]uint8{'a', 's', 's', 'i', 'g', 'n'},
  44282. Fop: int32(_FcOpAssign),
  44283. },
  44284. 1: {
  44285. Fname: [16]uint8{'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'p', 'l', 'a', 'c', 'e'},
  44286. Fop: int32(_FcOpAssignReplace),
  44287. },
  44288. 2: {
  44289. Fname: [16]uint8{'p', 'r', 'e', 'p', 'e', 'n', 'd'},
  44290. Fop: int32(_FcOpPrepend),
  44291. },
  44292. 3: {
  44293. Fname: [16]uint8{'p', 'r', 'e', 'p', 'e', 'n', 'd', '_', 'f', 'i', 'r', 's', 't'},
  44294. Fop: int32(_FcOpPrependFirst),
  44295. },
  44296. 4: {
  44297. Fname: [16]uint8{'a', 'p', 'p', 'e', 'n', 'd'},
  44298. Fop: int32(_FcOpAppend),
  44299. },
  44300. 5: {
  44301. Fname: [16]uint8{'a', 'p', 'p', 'e', 'n', 'd', '_', 'l', 'a', 's', 't'},
  44302. Fop: int32(_FcOpAppendLast),
  44303. },
  44304. 6: {
  44305. Fname: [16]uint8{'d', 'e', 'l', 'e', 't', 'e'},
  44306. Fop: int32(_FcOpDelete),
  44307. },
  44308. 7: {
  44309. Fname: [16]uint8{'d', 'e', 'l', 'e', 't', 'e', '_', 'a', 'l', 'l'},
  44310. Fop: int32(_FcOpDeleteAll),
  44311. },
  44312. }
  44313. func _FcConfigLexMode(tls *libc.TLS, mode uintptr) (r TFcOp) {
  44314. return _FcConfigLexOp(tls, mode, uintptr(unsafe.Pointer(&_fcModeOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  44315. }
  44316. func _FcParseEdit(tls *libc.TLS, parse uintptr) {
  44317. bp := tls.Alloc(32)
  44318. defer tls.Free(32)
  44319. var edit, expr, mode_string, name uintptr
  44320. var mode TFcOp
  44321. var _ /* binding at bp+0 */ TFcValueBinding
  44322. _, _, _, _, _ = edit, expr, mode, mode_string, name
  44323. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7594)
  44324. if !(name != 0) {
  44325. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7799, 0)
  44326. return
  44327. }
  44328. mode_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7817)
  44329. if !(mode_string != 0) {
  44330. mode = int32(_FcOpAssign)
  44331. } else {
  44332. mode = _FcConfigLexMode(tls, mode_string)
  44333. if mode == int32(_FcOpInvalid) {
  44334. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7822, libc.VaList(bp+16, mode_string))
  44335. return
  44336. }
  44337. }
  44338. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7109), bp) != 0) {
  44339. return
  44340. }
  44341. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  44342. if (mode == int32(_FcOpDelete) || mode == int32(_FcOpDeleteAll)) && expr != libc.UintptrFromInt32(0) {
  44343. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7845, 0)
  44344. _FcExprDestroy(tls, expr)
  44345. expr = libc.UintptrFromInt32(0)
  44346. }
  44347. edit = _FcEditCreate(tls, parse, XFcObjectFromName(tls, name), mode, expr, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  44348. if !(edit != 0) {
  44349. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44350. _FcExprDestroy(tls, expr)
  44351. return
  44352. }
  44353. if !(_FcVStackPushEdit(tls, parse, edit) != 0) {
  44354. XFcEditDestroy(tls, edit)
  44355. }
  44356. }
  44357. func _FcParseMatch(tls *libc.TLS, parse uintptr) {
  44358. bp := tls.Alloc(16)
  44359. defer tls.Free(16)
  44360. var kind TFcMatchKind
  44361. var kind_name, r, rule, vstack, v1 uintptr
  44362. var n, v2 int32
  44363. _, _, _, _, _, _, _, _ = kind, kind_name, n, r, rule, vstack, v1, v2
  44364. rule = libc.UintptrFromInt32(0)
  44365. kind_name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+6783)
  44366. if !(kind_name != 0) {
  44367. kind = int32(_FcMatchPattern)
  44368. } else {
  44369. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+6790) != 0) {
  44370. kind = int32(_FcMatchPattern)
  44371. } else {
  44372. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+6798) != 0) {
  44373. kind = int32(_FcMatchFont)
  44374. } else {
  44375. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7512) != 0) {
  44376. kind = int32(_FcMatchScan)
  44377. } else {
  44378. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7907, libc.VaList(bp+8, kind_name))
  44379. return
  44380. }
  44381. }
  44382. }
  44383. }
  44384. for {
  44385. v1 = _FcVStackPeek(tls, parse)
  44386. vstack = v1
  44387. if !(v1 != 0) {
  44388. break
  44389. }
  44390. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44391. case int32(_FcVStackTest):
  44392. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44393. if rule != 0 {
  44394. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  44395. }
  44396. rule = r
  44397. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  44398. case int32(_FcVStackEdit):
  44399. if kind == int32(_FcMatchScan) && (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) {
  44400. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7933, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject)))
  44401. if rule != 0 {
  44402. XFcRuleDestroy(tls, rule)
  44403. }
  44404. return
  44405. }
  44406. r = _FcRuleCreate(tls, int32(_FcRuleEdit), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44407. if rule != 0 {
  44408. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  44409. }
  44410. rule = r
  44411. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  44412. default:
  44413. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7992, 0)
  44414. break
  44415. }
  44416. _FcVStackPopAndDestroy(tls, parse)
  44417. }
  44418. if !(rule != 0) {
  44419. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8014, 0)
  44420. return
  44421. }
  44422. v2 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, kind)
  44423. n = v2
  44424. if v2 == -int32(1) {
  44425. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44426. XFcRuleDestroy(tls, rule)
  44427. } else {
  44428. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  44429. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  44430. }
  44431. }
  44432. }
  44433. func _FcParseAcceptRejectFont(tls *libc.TLS, parse uintptr, element TFcElement) {
  44434. var vstack, v1 uintptr
  44435. _, _ = vstack, v1
  44436. for {
  44437. v1 = _FcVStackPeek(tls, parse)
  44438. vstack = v1
  44439. if !(v1 != 0) {
  44440. break
  44441. }
  44442. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44443. case int32(_FcVStackGlob):
  44444. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigGlobAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  44445. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44446. } else {
  44447. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  44448. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44449. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  44450. }
  44451. }
  44452. case int32(_FcVStackPattern):
  44453. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigPatternsAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  44454. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44455. } else {
  44456. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  44457. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44458. }
  44459. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  44460. }
  44461. default:
  44462. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8055, 0)
  44463. break
  44464. }
  44465. _FcVStackPopAndDestroy(tls, parse)
  44466. }
  44467. }
  44468. func _FcPopValue(tls *libc.TLS, parse uintptr) (r TFcValue) {
  44469. bp := tls.Alloc(32)
  44470. defer tls.Free(32)
  44471. var vstack uintptr
  44472. var _ /* value at bp+0 */ TFcValue
  44473. _ = vstack
  44474. vstack = _FcVStackPeek(tls, parse)
  44475. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  44476. if !(vstack != 0) {
  44477. return *(*TFcValue)(unsafe.Pointer(bp))
  44478. }
  44479. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44480. case int32(_FcVStackString):
  44481. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44482. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  44483. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  44484. }
  44485. case int32(_FcVStackConstant):
  44486. if XIA__FcNameConstant(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)), bp+8) != 0 {
  44487. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  44488. }
  44489. case int32(_FcVStackInteger):
  44490. *(*int32)(unsafe.Pointer(bp + 8)) = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  44491. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  44492. case int32(_FcVStackDouble):
  44493. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(vstack + 24))
  44494. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  44495. case int32(_FcVStackBool):
  44496. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  44497. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  44498. case int32(_FcVStackCharSet):
  44499. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44500. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  44501. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  44502. }
  44503. case int32(_FcVStackLangSet):
  44504. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44505. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  44506. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  44507. }
  44508. case int32(_FcVStackRange):
  44509. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44510. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  44511. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  44512. }
  44513. default:
  44514. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8073, libc.VaList(bp+24, (*TFcVStack)(unsafe.Pointer(vstack)).Ftag))
  44515. break
  44516. }
  44517. _FcVStackPopAndDestroy(tls, parse)
  44518. return *(*TFcValue)(unsafe.Pointer(bp))
  44519. }
  44520. func _FcParsePatelt(tls *libc.TLS, parse uintptr) {
  44521. var name, pattern uintptr
  44522. var value TFcValue
  44523. _, _, _ = name, pattern, value
  44524. pattern = XIA__FcPatternCreate(tls)
  44525. if !(pattern != 0) {
  44526. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44527. return
  44528. }
  44529. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7594)
  44530. if !(name != 0) {
  44531. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8100, 0)
  44532. XIA__FcPatternDestroy(tls, pattern)
  44533. return
  44534. }
  44535. for {
  44536. value = _FcPopValue(tls, parse)
  44537. if value.Ftype1 == int32(_FcTypeVoid) {
  44538. break
  44539. }
  44540. if !(XIA__FcPatternAdd(tls, pattern, name, value, int32(m_FcTrue)) != 0) {
  44541. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44542. XIA__FcValueDestroy(tls, value)
  44543. break
  44544. }
  44545. XIA__FcValueDestroy(tls, value)
  44546. goto _1
  44547. _1:
  44548. }
  44549. _FcVStackPushPattern(tls, parse, pattern)
  44550. }
  44551. func _FcParsePattern(tls *libc.TLS, parse uintptr) {
  44552. var pattern, vstack, v1 uintptr
  44553. _, _, _ = pattern, vstack, v1
  44554. pattern = XIA__FcPatternCreate(tls)
  44555. if !(pattern != 0) {
  44556. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44557. return
  44558. }
  44559. for {
  44560. v1 = _FcVStackPeek(tls, parse)
  44561. vstack = v1
  44562. if !(v1 != 0) {
  44563. break
  44564. }
  44565. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44566. case int32(_FcVStackPattern):
  44567. if !(XFcPatternAppend(tls, pattern, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  44568. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44569. XIA__FcPatternDestroy(tls, pattern)
  44570. return
  44571. }
  44572. default:
  44573. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8129, 0)
  44574. break
  44575. }
  44576. _FcVStackPopAndDestroy(tls, parse)
  44577. }
  44578. _FcVStackPushPattern(tls, parse, pattern)
  44579. }
  44580. func _FcEndElement(tls *libc.TLS, userData uintptr, name uintptr) {
  44581. var data, parse uintptr
  44582. _, _ = data, parse
  44583. parse = userData
  44584. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44585. return
  44586. }
  44587. switch (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement {
  44588. case int32(_FcElementNone):
  44589. case int32(_FcElementFontconfig):
  44590. case int32(_FcElementDir):
  44591. _FcParseDir(tls, parse)
  44592. case int32(_FcElementCacheDir):
  44593. _FcParseCacheDir(tls, parse)
  44594. case int32(_FcElementCache):
  44595. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  44596. if !(data != 0) {
  44597. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44598. break
  44599. }
  44600. /* discard this data; no longer used */
  44601. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  44602. case int32(_FcElementInclude):
  44603. _FcParseInclude(tls, parse)
  44604. case int32(_FcElementConfig):
  44605. case int32(_FcElementMatch):
  44606. _FcParseMatch(tls, parse)
  44607. case int32(_FcElementAlias):
  44608. _FcParseAlias(tls, parse)
  44609. case int32(_FcElementDescription):
  44610. _FcParseDescription(tls, parse)
  44611. case int32(_FcElementRescan):
  44612. _FcParseRescan(tls, parse)
  44613. case int32(_FcElementPrefer):
  44614. _FcParseFamilies(tls, parse, int32(_FcVStackPrefer))
  44615. case int32(_FcElementAccept):
  44616. _FcParseFamilies(tls, parse, int32(_FcVStackAccept))
  44617. case int32(_FcElementDefault):
  44618. _FcParseFamilies(tls, parse, int32(_FcVStackDefault))
  44619. case int32(_FcElementFamily):
  44620. _FcParseFamily(tls, parse)
  44621. case int32(_FcElementTest):
  44622. _FcParseTest(tls, parse)
  44623. case int32(_FcElementEdit):
  44624. _FcParseEdit(tls, parse)
  44625. case int32(_FcElementInt):
  44626. _FcParseInt(tls, parse)
  44627. case int32(_FcElementDouble):
  44628. _FcParseDouble(tls, parse)
  44629. case int32(_FcElementString):
  44630. _FcParseString(tls, parse, int32(_FcVStackString))
  44631. case int32(_FcElementMatrix):
  44632. _FcParseMatrix(tls, parse)
  44633. case int32(_FcElementRange):
  44634. _FcParseRange(tls, parse)
  44635. case int32(_FcElementBool):
  44636. _FcParseBool(tls, parse)
  44637. case int32(_FcElementCharSet):
  44638. _FcParseCharSet(tls, parse)
  44639. case int32(_FcElementLangSet):
  44640. _FcParseLangSet(tls, parse)
  44641. case int32(_FcElementSelectfont):
  44642. case int32(_FcElementAcceptfont):
  44643. fallthrough
  44644. case int32(_FcElementRejectfont):
  44645. _FcParseAcceptRejectFont(tls, parse, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)
  44646. case int32(_FcElementGlob):
  44647. _FcParseString(tls, parse, int32(_FcVStackGlob))
  44648. case int32(_FcElementPattern):
  44649. _FcParsePattern(tls, parse)
  44650. case int32(_FcElementPatelt):
  44651. _FcParsePatelt(tls, parse)
  44652. case int32(_FcElementName):
  44653. _FcParseName(tls, parse)
  44654. case int32(_FcElementConst):
  44655. _FcParseString(tls, parse, int32(_FcVStackConstant))
  44656. case int32(_FcElementOr):
  44657. _FcParseBinary(tls, parse, int32(_FcOpOr))
  44658. case int32(_FcElementAnd):
  44659. _FcParseBinary(tls, parse, int32(_FcOpAnd))
  44660. case int32(_FcElementEq):
  44661. _FcParseBinary(tls, parse, int32(_FcOpEqual))
  44662. case int32(_FcElementNotEq):
  44663. _FcParseBinary(tls, parse, int32(_FcOpNotEqual))
  44664. case int32(_FcElementLess):
  44665. _FcParseBinary(tls, parse, int32(_FcOpLess))
  44666. case int32(_FcElementLessEq):
  44667. _FcParseBinary(tls, parse, int32(_FcOpLessEqual))
  44668. case int32(_FcElementMore):
  44669. _FcParseBinary(tls, parse, int32(_FcOpMore))
  44670. case int32(_FcElementMoreEq):
  44671. _FcParseBinary(tls, parse, int32(_FcOpMoreEqual))
  44672. case int32(_FcElementContains):
  44673. _FcParseBinary(tls, parse, int32(_FcOpContains))
  44674. case int32(_FcElementNotContains):
  44675. _FcParseBinary(tls, parse, int32(_FcOpNotContains))
  44676. case int32(_FcElementPlus):
  44677. _FcParseBinary(tls, parse, int32(_FcOpPlus))
  44678. case int32(_FcElementMinus):
  44679. _FcParseBinary(tls, parse, int32(_FcOpMinus))
  44680. case int32(_FcElementTimes):
  44681. _FcParseBinary(tls, parse, int32(_FcOpTimes))
  44682. case int32(_FcElementDivide):
  44683. _FcParseBinary(tls, parse, int32(_FcOpDivide))
  44684. case int32(_FcElementNot):
  44685. _FcParseUnary(tls, parse, int32(_FcOpNot))
  44686. case int32(_FcElementIf):
  44687. _FcParseBinary(tls, parse, int32(_FcOpQuest))
  44688. case int32(_FcElementFloor):
  44689. _FcParseUnary(tls, parse, int32(_FcOpFloor))
  44690. case int32(_FcElementCeil):
  44691. _FcParseUnary(tls, parse, int32(_FcOpCeil))
  44692. case int32(_FcElementRound):
  44693. _FcParseUnary(tls, parse, int32(_FcOpRound))
  44694. case int32(_FcElementTrunc):
  44695. _FcParseUnary(tls, parse, int32(_FcOpTrunc))
  44696. case int32(_FcElementUnknown):
  44697. break
  44698. }
  44699. _FcPStackPop(tls, parse)
  44700. }
  44701. func _FcCharacterData(tls *libc.TLS, userData uintptr, s uintptr, len1 int32) {
  44702. var parse uintptr
  44703. _ = parse
  44704. parse = userData
  44705. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44706. return
  44707. }
  44708. if !(XFcStrBufData(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24, s, len1) != 0) {
  44709. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44710. }
  44711. }
  44712. func _FcStartDoctypeDecl(tls *libc.TLS, userData uintptr, doctypeName uintptr, sysid uintptr, pubid uintptr, has_internal_subset int32) {
  44713. bp := tls.Alloc(16)
  44714. defer tls.Free(16)
  44715. var parse uintptr
  44716. _ = parse
  44717. parse = userData
  44718. if libc.Xstrcmp(tls, doctypeName, __ccgo_ts+1502) != 0 {
  44719. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8153, libc.VaList(bp+8, doctypeName))
  44720. }
  44721. }
  44722. func _FcEndDoctypeDecl(tls *libc.TLS, userData uintptr) {
  44723. }
  44724. func _FcSortCmpStr(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  44725. var as, bs uintptr
  44726. _, _ = as, bs
  44727. as = *(*uintptr)(unsafe.Pointer(a))
  44728. bs = *(*uintptr)(unsafe.Pointer(b))
  44729. return XIA__FcStrCmp(tls, as, bs)
  44730. }
  44731. func _FcConfigParseAndLoadDir(tls *libc.TLS, config uintptr, name uintptr, dir uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  44732. bp := tls.Alloc(16)
  44733. defer tls.Free(16)
  44734. var base, d, e, file, files, v1 uintptr
  44735. var d_len, i, v3 int32
  44736. var ret TFcBool
  44737. var v2, v4 bool
  44738. _, _, _, _, _, _, _, _, _, _, _, _ = base, d, d_len, e, file, files, i, ret, v1, v2, v3, v4
  44739. ret = int32(m_FcTrue)
  44740. d = libc.Xopendir(tls, dir)
  44741. if !(d != 0) {
  44742. if complain != 0 {
  44743. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8174, libc.VaList(bp+8, name))
  44744. }
  44745. ret = m_FcFalse
  44746. goto bail0
  44747. }
  44748. /* freed below */
  44749. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  44750. if !(file != 0) {
  44751. ret = m_FcFalse
  44752. goto bail1
  44753. }
  44754. libc.Xstrcpy(tls, file, dir)
  44755. libc.Xstrcat(tls, file, __ccgo_ts+1317)
  44756. base = file + uintptr(libc.Xstrlen(tls, file))
  44757. files = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  44758. if !(files != 0) {
  44759. ret = m_FcFalse
  44760. goto bail2
  44761. }
  44762. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  44763. libc.Xprintf(tls, __ccgo_ts+8202, libc.VaList(bp+8, dir))
  44764. }
  44765. if load != 0 {
  44766. XFcConfigAddConfigDir(tls, config, dir)
  44767. }
  44768. for {
  44769. if v2 = ret != 0; v2 {
  44770. v1 = libc.Xreaddir(tls, d)
  44771. e = v1
  44772. }
  44773. if !(v2 && v1 != 0) {
  44774. break
  44775. }
  44776. /*
  44777. * Add all files of the form [0-9]*.conf
  44778. */
  44779. if v4 = int32('0') <= libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) <= int32('9'); v4 {
  44780. v3 = libc.Int32FromUint64(libc.Xstrlen(tls, e+19))
  44781. d_len = v3
  44782. }
  44783. if v4 && v3 < int32(m_FC_MAX_FILE_LEN) && d_len > int32(m_TAIL_LEN) && libc.Xstrcmp(tls, e+19+uintptr(d_len)-uintptr(m_TAIL_LEN), __ccgo_ts+8227) == 0 {
  44784. libc.Xstrcpy(tls, base, e+19)
  44785. if !(XIA__FcStrSetAdd(tls, files, file) != 0) {
  44786. ret = m_FcFalse
  44787. goto bail3
  44788. }
  44789. }
  44790. }
  44791. if ret != 0 {
  44792. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_FcSortCmpStr))
  44793. i = 0
  44794. for {
  44795. if !(ret != 0 && i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  44796. break
  44797. }
  44798. ret = __FcConfigParse(tls, config, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), complain, load)
  44799. goto _5
  44800. _5:
  44801. ;
  44802. i++
  44803. }
  44804. }
  44805. goto bail3
  44806. bail3:
  44807. ;
  44808. XIA__FcStrSetDestroy(tls, files)
  44809. goto bail2
  44810. bail2:
  44811. ;
  44812. libc.Xfree(tls, file)
  44813. goto bail1
  44814. bail1:
  44815. ;
  44816. libc.Xclosedir(tls, d)
  44817. goto bail0
  44818. bail0:
  44819. ;
  44820. return libc.BoolInt32(ret != 0 || !(complain != 0))
  44821. return r
  44822. }
  44823. func _FcConfigParseAndLoadFromMemoryInternal(tls *libc.TLS, config uintptr, filename uintptr, buffer uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  44824. bp := tls.Alloc(4640)
  44825. defer tls.Free(4640)
  44826. var buf, s, v1, v3, v4 uintptr
  44827. var buflen, len1 Tsize_t
  44828. var error1 TFcBool
  44829. var k TFcMatchKind
  44830. var p TXML_Parser
  44831. var _ /* iter at bp+4584 */ TFcPtrListIter
  44832. var _ /* liter at bp+4560 */ TFcPtrListIter
  44833. var _ /* parse at bp+0 */ TFcConfigParse
  44834. _, _, _, _, _, _, _, _, _, _ = buf, buflen, error1, k, len1, p, s, v1, v3, v4
  44835. error1 = int32(m_FcTrue)
  44836. if !(buffer != 0) {
  44837. return m_FcFalse
  44838. }
  44839. len1 = libc.Xstrlen(tls, buffer)
  44840. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  44841. if load != 0 {
  44842. v1 = __ccgo_ts + 8233
  44843. } else {
  44844. v1 = __ccgo_ts + 8241
  44845. }
  44846. libc.Xprintf(tls, __ccgo_ts+8250, libc.VaList(bp+4616, v1, filename))
  44847. }
  44848. p = libexpat.XXML_ParserCreate(tls, __ccgo_ts+8275)
  44849. if !(p != 0) {
  44850. goto bail1
  44851. }
  44852. if !(_FcConfigParseInit(tls, bp, filename, config, p, load) != 0) {
  44853. goto bail2
  44854. }
  44855. libexpat.XXML_SetUserData(tls, p, bp)
  44856. libexpat.XXML_SetDoctypeDeclHandler(tls, p, __ccgo_fp(_FcStartDoctypeDecl), __ccgo_fp(_FcEndDoctypeDecl))
  44857. libexpat.XXML_SetElementHandler(tls, p, __ccgo_fp(_FcStartElement), __ccgo_fp(_FcEndElement))
  44858. libexpat.XXML_SetCharacterDataHandler(tls, p, __ccgo_fp(_FcCharacterData))
  44859. s = buffer
  44860. for cond := true; cond; cond = buflen != uint64(0) {
  44861. buf = libexpat.XXML_GetBuffer(tls, p, int32(m_BUFSIZ))
  44862. if !(buf != 0) {
  44863. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+8281, 0)
  44864. goto bail3
  44865. }
  44866. if len1 > uint64(m_BUFSIZ) {
  44867. buflen = uint64(m_BUFSIZ)
  44868. len1 -= uint64(m_BUFSIZ)
  44869. } else {
  44870. buflen = len1
  44871. len1 = uint64(0)
  44872. }
  44873. libc.Xmemcpy(tls, buf, s, buflen)
  44874. s = s + uintptr(buflen)
  44875. if !(libexpat.XXML_ParseBuffer(tls, p, libc.Int32FromUint64(buflen), libc.BoolInt32(buflen == uint64(0))) != 0) {
  44876. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+1704, libc.VaList(bp+4616, libexpat.XXML_ErrorString(tls, libexpat.XXML_GetErrorCode(tls, p))))
  44877. goto bail3
  44878. }
  44879. }
  44880. error1 = (*(*TFcConfigParse)(unsafe.Pointer(bp))).Ferror1
  44881. if load != 0 {
  44882. k = int32(_FcMatchKindBegin)
  44883. for {
  44884. if !(k < int32(_FcMatchKindEnd)) {
  44885. break
  44886. }
  44887. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584)
  44888. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584) != 0 {
  44889. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 32 + uintptr(k)*8)), bp+4584)
  44890. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  44891. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 32 + uintptr(k)*8)), bp+4584, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  44892. }
  44893. goto _2
  44894. _2:
  44895. ;
  44896. k++
  44897. }
  44898. }
  44899. XFcPtrListIterInitAtLast(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560)
  44900. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  44901. XFcPtrListIterAdd(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  44902. goto bail3
  44903. bail3:
  44904. ;
  44905. _FcConfigCleanup(tls, bp)
  44906. goto bail2
  44907. bail2:
  44908. ;
  44909. libexpat.XXML_ParserFree(tls, p)
  44910. goto bail1
  44911. bail1:
  44912. ;
  44913. if error1 != 0 && complain != 0 {
  44914. if load != 0 {
  44915. v3 = __ccgo_ts + 8305
  44916. } else {
  44917. v3 = __ccgo_ts + 7512
  44918. }
  44919. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8310, libc.VaList(bp+4616, v3, filename))
  44920. return m_FcFalse
  44921. }
  44922. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  44923. if load != 0 {
  44924. v4 = __ccgo_ts + 8233
  44925. } else {
  44926. v4 = __ccgo_ts + 8241
  44927. }
  44928. libc.Xprintf(tls, __ccgo_ts+8340, libc.VaList(bp+4616, v4, filename))
  44929. }
  44930. return int32(m_FcTrue)
  44931. }
  44932. func __FcConfigParse(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  44933. bp := tls.Alloc(2240)
  44934. defer tls.Free(2240)
  44935. var errno_, fd, len1 int32
  44936. var filename, realfilename, v1, v2 uintptr
  44937. var ret TFcBool
  44938. var _ /* buf at bp+152 */ [1024]uint8
  44939. var _ /* ebuf at bp+1176 */ [1025]uint8
  44940. var _ /* sbuf at bp+0 */ TFcStrBuf
  44941. _, _, _, _, _, _, _, _ = errno_, fd, filename, len1, realfilename, ret, v1, v2
  44942. filename = libc.UintptrFromInt32(0)
  44943. realfilename = libc.UintptrFromInt32(0)
  44944. ret = m_FcFalse
  44945. filename = XIA__FcConfigFilename(tls, name)
  44946. if !(filename != 0) {
  44947. goto bail0
  44948. }
  44949. realfilename = XFcConfigRealFilename(tls, config, name)
  44950. if !(realfilename != 0) {
  44951. goto bail0
  44952. }
  44953. if XIA__FcStrSetMember(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0 {
  44954. XIA__FcStrFree(tls, filename)
  44955. XIA__FcStrFree(tls, realfilename)
  44956. return int32(m_FcTrue)
  44957. }
  44958. if load != 0 {
  44959. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, filename) != 0) {
  44960. goto bail0
  44961. }
  44962. }
  44963. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0) {
  44964. goto bail0
  44965. }
  44966. if XIA__FcFileIsDir(tls, realfilename) != 0 {
  44967. ret = _FcConfigParseAndLoadDir(tls, config, name, realfilename, complain, load)
  44968. XIA__FcStrFree(tls, filename)
  44969. XIA__FcStrFree(tls, realfilename)
  44970. return ret
  44971. }
  44972. XFcStrBufInit(tls, bp, libc.UintptrFromInt32(0), 0)
  44973. fd = XFcOpen(tls, realfilename, m_O_RDONLY2, 0)
  44974. if fd == -int32(1) {
  44975. goto bail1
  44976. }
  44977. for cond := true; cond; cond = len1 != 0 {
  44978. len1 = int32(libc.Xread(tls, fd, bp+152, uint64(m_BUFSIZ)))
  44979. if len1 < 0 {
  44980. errno_ = *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))
  44981. libc.Xstrerror_r(tls, errno_, bp+1176, uint64(m_BUFSIZ))
  44982. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8370, libc.VaList(bp+2216, realfilename, bp+1176, errno_))
  44983. libc.Xclose(tls, fd)
  44984. goto bail1
  44985. }
  44986. XFcStrBufData(tls, bp, bp+152, len1)
  44987. }
  44988. libc.Xclose(tls, fd)
  44989. ret = _FcConfigParseAndLoadFromMemoryInternal(tls, config, filename, XFcStrBufDoneStatic(tls, bp), complain, load)
  44990. complain = m_FcFalse /* no need to reclaim here */
  44991. goto bail1
  44992. bail1:
  44993. ;
  44994. XFcStrBufDestroy(tls, bp)
  44995. goto bail0
  44996. bail0:
  44997. ;
  44998. if filename != 0 {
  44999. XIA__FcStrFree(tls, filename)
  45000. }
  45001. if realfilename != 0 {
  45002. XIA__FcStrFree(tls, realfilename)
  45003. }
  45004. if !(ret != 0) && complain != 0 {
  45005. if name != 0 {
  45006. if load != 0 {
  45007. v1 = __ccgo_ts + 8305
  45008. } else {
  45009. v1 = __ccgo_ts + 7512
  45010. }
  45011. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8416, libc.VaList(bp+2216, v1, name))
  45012. } else {
  45013. if load != 0 {
  45014. v2 = __ccgo_ts + 8305
  45015. } else {
  45016. v2 = __ccgo_ts + 7512
  45017. }
  45018. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8443, libc.VaList(bp+2216, v2))
  45019. }
  45020. return m_FcFalse
  45021. }
  45022. return int32(m_FcTrue)
  45023. }
  45024. func XFcConfigParseOnly(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  45025. return __FcConfigParse(tls, config, name, complain, m_FcFalse)
  45026. }
  45027. func XIA__FcConfigParseAndLoad(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  45028. return __FcConfigParse(tls, config, name, complain, int32(m_FcTrue))
  45029. }
  45030. var XFcConfigParseAndLoad = XIA__FcConfigParseAndLoad
  45031. func XIA__FcConfigParseAndLoadFromMemory(tls *libc.TLS, config uintptr, buffer uintptr, complain TFcBool) (r TFcBool) {
  45032. return _FcConfigParseAndLoadFromMemoryInternal(tls, config, __ccgo_ts+8473, buffer, complain, int32(m_FcTrue))
  45033. }
  45034. var XFcConfigParseAndLoadFromMemory = XIA__FcConfigParseAndLoadFromMemory
  45035. const m_FC_DIR_SEPARATOR4 = '/'
  45036. // C documentation
  45037. //
  45038. // /* only used internally */
  45039. func _ftglue_qalloc(tls *libc.TLS, memory TFT_Memory, size TFT_ULong, perror uintptr) (r TFT_Pointer) {
  45040. var block TFT_Pointer
  45041. var error1 TFT_Error
  45042. _, _ = block, error1
  45043. error1 = 0
  45044. block = libc.UintptrFromInt32(0)
  45045. if size > uint64(0) {
  45046. block = (*(*func(*libc.TLS, TFT_Memory, int64) uintptr)(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Falloc})))(tls, memory, libc.Int64FromUint64(size))
  45047. if !(block != 0) {
  45048. error1 = int32(_FT_Err_Out_Of_Memory)
  45049. }
  45050. }
  45051. *(*TFT_Error)(unsafe.Pointer(perror)) = error1
  45052. return block
  45053. }
  45054. func _ftglue_free(tls *libc.TLS, memory TFT_Memory, block TFT_Pointer) {
  45055. if block != 0 {
  45056. (*(*func(*libc.TLS, TFT_Memory, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Ffree})))(tls, memory, block)
  45057. }
  45058. }
  45059. func Xftglue_stream_pos(tls *libc.TLS, stream TFT_Stream) (r TFT_Long) {
  45060. return libc.Int64FromUint64((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  45061. }
  45062. func Xftglue_stream_seek(tls *libc.TLS, stream TFT_Stream, pos TFT_Long) (r TFT_Error) {
  45063. var error1 TFT_Error
  45064. _ = error1
  45065. error1 = 0
  45066. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  45067. if (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, libc.Uint64FromInt64(pos), uintptr(0), uint64(0)) != 0 {
  45068. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  45069. }
  45070. } else {
  45071. if pos < 0 || libc.Uint64FromInt64(pos) > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  45072. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  45073. }
  45074. }
  45075. if !(error1 != 0) {
  45076. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos = libc.Uint64FromInt64(pos)
  45077. }
  45078. return error1
  45079. }
  45080. func Xftglue_stream_frame_enter(tls *libc.TLS, stream TFT_Stream, count TFT_ULong) (r TFT_Error) {
  45081. bp := tls.Alloc(16)
  45082. defer tls.Free(16)
  45083. var memory TFT_Memory
  45084. var read_bytes TFT_ULong
  45085. var _ /* error at bp+0 */ TFT_Error
  45086. _, _ = memory, read_bytes
  45087. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Ok)
  45088. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  45089. /* allocate the frame in memory */
  45090. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  45091. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = _ftglue_qalloc(tls, memory, count, bp)
  45092. if *(*TFT_Error)(unsafe.Pointer(bp)) != libc.Int32FromInt32(0) {
  45093. goto Exit
  45094. }
  45095. /* read it */
  45096. read_bytes = (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase, count)
  45097. if read_bytes < count {
  45098. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  45099. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  45100. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  45101. }
  45102. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  45103. }
  45104. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase
  45105. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  45106. *(*uint64)(unsafe.Pointer(stream + 16)) += read_bytes
  45107. } else {
  45108. /* check current and new position */
  45109. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos >= (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize || (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos+count > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  45110. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  45111. goto Exit
  45112. }
  45113. /* set cursor */
  45114. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase + uintptr((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  45115. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  45116. *(*uint64)(unsafe.Pointer(stream + 16)) += count
  45117. }
  45118. goto Exit
  45119. Exit:
  45120. ;
  45121. return *(*TFT_Error)(unsafe.Pointer(bp))
  45122. }
  45123. func Xftglue_stream_frame_exit(tls *libc.TLS, stream TFT_Stream) {
  45124. var memory TFT_Memory
  45125. _ = memory
  45126. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  45127. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  45128. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  45129. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  45130. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  45131. }
  45132. }
  45133. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = uintptr(0)
  45134. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = uintptr(0)
  45135. }
  45136. func Xftglue_face_goto_table(tls *libc.TLS, face TFT_Face, the_tag TFT_ULong, stream TFT_Stream) (r TFT_Error) {
  45137. var checksum, offset, sig, size, start, tag TFT_ULong
  45138. var count, nn TFT_UInt
  45139. var error1, v1, v10, v11, v2, v4, v5, v7, v8 TFT_Error
  45140. var v12, v3, v6, v9 bool
  45141. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = checksum, count, error1, nn, offset, sig, size, start, tag, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9
  45142. if !!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(3)) != 0) {
  45143. error1 = int32(_FT_Err_Invalid_Face_Handle)
  45144. } else {
  45145. /* parse the directory table directly, without using
  45146. * FreeType's built-in data structures
  45147. */
  45148. offset = uint64(0)
  45149. v1 = Xftglue_stream_seek(tls, stream, 0)
  45150. error1 = v1
  45151. if v3 = v1 != 0; !v3 {
  45152. v2 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  45153. error1 = v2
  45154. }
  45155. if v3 || v2 != 0 {
  45156. goto Exit
  45157. }
  45158. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45159. sig = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  45160. Xftglue_stream_frame_exit(tls, stream)
  45161. if sig == uint64(uint32(libc.Uint64FromUint8('t')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('t')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('c')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('f'))) {
  45162. /* deal with TrueType collections */
  45163. v4 = Xftglue_stream_seek(tls, stream, int64(12)+(*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_index*int64(4))
  45164. error1 = v4
  45165. if v6 = v4 != 0; !v6 {
  45166. v5 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  45167. error1 = v5
  45168. }
  45169. if v6 || v5 != 0 {
  45170. goto Exit
  45171. }
  45172. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45173. offset = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  45174. Xftglue_stream_frame_exit(tls, stream)
  45175. }
  45176. v7 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(4)))
  45177. error1 = v7
  45178. if v9 = v7 != 0; !v9 {
  45179. v8 = Xftglue_stream_frame_enter(tls, stream, uint64(2))
  45180. error1 = v8
  45181. }
  45182. if v9 || v8 != 0 {
  45183. goto Exit
  45184. }
  45185. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  45186. count = uint32(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  45187. Xftglue_stream_frame_exit(tls, stream)
  45188. v10 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(12)))
  45189. error1 = v10
  45190. if v12 = v10 != 0; !v12 {
  45191. v11 = Xftglue_stream_frame_enter(tls, stream, uint64(count*uint32(16)))
  45192. error1 = v11
  45193. }
  45194. if v12 || v11 != 0 {
  45195. goto Exit
  45196. }
  45197. nn = uint32(0)
  45198. for {
  45199. if !(nn < count) {
  45200. break
  45201. }
  45202. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45203. tag = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  45204. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45205. checksum = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  45206. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45207. start = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  45208. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45209. size = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  45210. checksum = checksum
  45211. size = size
  45212. if tag == the_tag {
  45213. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(start))
  45214. goto FoundIt
  45215. }
  45216. goto _13
  45217. _13:
  45218. ;
  45219. nn++
  45220. }
  45221. error1 = int32(_FT_Err_Table_Missing)
  45222. goto FoundIt
  45223. FoundIt:
  45224. ;
  45225. Xftglue_stream_frame_exit(tls, stream)
  45226. }
  45227. goto Exit
  45228. Exit:
  45229. ;
  45230. return error1
  45231. }
  45232. func __ccgo_fp(f interface{}) uintptr {
  45233. type iface [2]uintptr
  45234. return (*iface)(unsafe.Pointer(&f))[1]
  45235. }
  45236. var XFcDebugVal int32
  45237. var XFcIdentityMatrix = TFcMatrix{
  45238. Fxx: libc.Float64FromInt32(1),
  45239. Fyy: libc.Float64FromInt32(1),
  45240. }
  45241. var Xdefault_langs uintptr
  45242. var Xother_types uintptr
  45243. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  45244. var __ccgo_ts1 = ".NEW\x00.LCK\x00.TMP-XXXXXX\x00w\x00%ld\n\x00.uuid\x00FcDirCacheCreateUUID %s: %s\n\x00Unable to revert mtime: %s\n\x00FcDirCacheReadUUID %s -> %s\n\x00FcDirCacheReadUUID Unable to read %s\n\x00FONTCONFIG_USE_MMAP\x00-be64.cache-7\x00FcCacheTimeValid dir \"%s\" cache checksum %d.%ld dir checksum %d.%ld\n\x00SOURCE_DATE_EPOCH\x00Fontconfig: SOURCE_DATE_EPOCH invalid\n\x00Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n\x00Fontconfig: SOURCE_DATE_EPOCH has trailing garbage\n\x00Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n\x00FcDirCacheWriteDir dir \"%s\" file \"%s\"\n\x00write cache\x00Fontconfig error: %s: out of memory\n\x00unwritable\x00non-existent\x00%s: not cleaning %s cache directory\n\x00%s: cleaning cache directory\n\x00Fontconfig error: %s: allocation failure\n\x00%s: invalid cache file: %s\n\x00%s: %s: missing directory: %s \n\x00CACHEDIR.TAG\x00wb\x00Created CACHEDIR.TAG at %s\n\x00Unable to create CACHEDIR.TAG at %s\n\x00Fontconfig warning: Directory/file mtime in the future. New fonts may not be detected.\n\x00adding fonts from %s\n\x00Fontconfig warning: <name> tag has target=\"font\" in a <match target=\"pattern\">.\n\x00Fontconfig warning: FcPattern object %s does not accept value\x00\n\x00Not adding\n\x00position not on list\n\x00Append\x00Prepend\x00%s list before \x00%s list after \x00und\x00FcConfigSubstitute \x00\nRule Set: %s\n\x00FcConfigSubstitute test \x00No match\n\x00Substitute \x00\n\n\x00FcConfigSubstitute edit\x00FcConfigSubstitute done\x00\x00/\x00FONTCONFIG_PATH\x00/etc/fonts\x00HOME\x00XDG_CACHE_HOME\x00/.cache\x00XDG_CONFIG_HOME\x00/.config\x00XDG_DATA_HOME\x00/.local/share\x00FONTCONFIG_FILE\x00fonts.conf\x00FONTCONFIG_SYSROOT\x00Add Rule(kind:%d, name: %s) \x00fontconfig\x00No description\x00fontconfig-conf\x00%x\x00\ncharsets %d -> %d leaves %d -> %d\n\x00<unknown>\x00<void>\x00%d(i)\x00%g(f)\x00\"%s\"\x00True\x00False\x00DontCare\x00[%g %g; %g %g]\x00face\x00[%g %g]\x00 \x00 [marker] \x00(w)\x00(s)\x00(=)\x00(?)\x00 [marker]\x00%s\x00langset (alloc error)\x00\t\x00%04x:\x00 %08x\x00Null pattern\n\x00Pattern has %d elts (size %d)\n\x00\t%s:\x00Pattern has %d elts (size %d), %d elts (size %d)\n\x00\t%s: (None) -> \x00 -> (None)\n\x00 -> \x00Integer\x00Double\x00String\x00Matrix\x00Range\x00Bool\x00CharSet\x00LangSet\x00Field\x00Const\x00Assign\x00AssignReplace\x00PrependFirst\x00AppendLast\x00Delete\x00DeleteAll\x00Quest\x00Or\x00And\x00Equal\x00(ignore blanks)\x00NotEqual\x00Less\x00LessEqual\x00More\x00MoreEqual\x00Contains\x00NotContains\x00Plus\x00Minus\x00Times\x00Divide\x00Not\x00Nil\x00Comma\x00Floor\x00Ceil\x00Round\x00Trunc\x00Listing\x00Invalid\x00none\x00%d\x00%g\x00[\x00; \x00]\x00(%g, %g)\x00true\x00false\x00charset\n\x00langset:\x00nil\n\x00%s \x00(pattern) \x00(font) \x00 quest \x00 colon \x00Not \x00Floor \x00Ceil \x00Round \x00Trunc \x00pattern \x00font \x00scan \x00any \x00all \x00first \x00not_first \x00Edit %s \x00[test]\n\x00[edit]\n\x00;\n\x00FontSet %d of %d\n\x00Font %d \x00FC_DEBUG\x00FC_DEBUG=%s\n\x00FC_LANG\x00LC_ALL\x00LC_CTYPE\x00LANG\x00en\x00/proc/self/exe\x00en-us\x00\tScanning file %s...\x00done\n\x00Final font pattern:\n\x00\tScanning dir %s\n\x00cache scan dir %s\n\x00Fontconfig: Pattern format error: \x00.\n\x00format ended while expecting '%c'\x00expected '%c' at %d\x00expected identifier at %d\x00expected character data at %d\x00unparse\x00fccat\x00\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"\x00fcmatch\x00%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\"\x00fclist\x00%{?file{%{file}: }}%{-file{%{=unparse}}}\x00pkgkit\x00%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}\x00unknown builtin \"%s\"\x00expected non-negative number at %d\x00'\\''\x00&amp;\x00&lt;\x00&gt;\x00downcase\x00basename\x00dirname\x00cescape\x00shescape\x00xmlescape\x00delete\x00escape\x00translate\x00unknown converter \"%s\"\x00MACINTOSH\x00SJIS\x00UCS-2BE\x00UTF-16BE\x00ASCII\x00ISO-8859-1\x00Adobe\x00adobe\x00Bigelow\x00b&h\x00Bitstream\x00bitstream\x00Gnat\x00culmus\x00Iorsh\x00HanYang System\x00hanyang\x00Font21\x00hwan\x00IBM\x00ibm\x00International Typeface Corporation\x00itc\x00Linotype\x00linotype\x00LINOTYPE-HELL\x00Microsoft\x00microsoft\x00Monotype\x00monotype\x00Omega\x00omega\x00Tiro Typeworks\x00tiro\x00URW\x00urw\x00XFree86\x00xfree86\x00Xorg\x00xorg\x00thin\x00extralight\x00ultralight\x00demilight\x00semilight\x00light\x00book\x00regular\x00normal\x00medium\x00demibold\x00demi\x00semibold\x00extrabold\x00superbold\x00ultrabold\x00bold\x00ultrablack\x00superblack\x00extrablack\x00<ultra\x00black\x00heavy\x00ultracondensed\x00extracondensed\x00semicondensed\x00condensed\x00semiexpanded\x00extraexpanded\x00ultraexpanded\x00expanded\x00extended\x00italic\x00kursiv\x00oblique\x00shadow\x00caps\x00antiqua\x00romansc\x00embosed\x00dunhill\x00PIXEL_SIZE\x00outline\x00color\x00scalable\x00weight\x00width\x00size\x00variable\x00found family (n %2d p %d e %d l 0x%04x)\x00family\x00familylang\x00found full (n %2d p %d e %d l 0x%04x)\x00fullname\x00fullnamelang\x00found style (n %2d p %d e %d l 0x%04x) \x00style\x00stylelang\x00%s\n\x00using FreeType family \"%s\"\n\x00using FreeType style \"%s\"\n\x00using filename for family %s\n\x00postscriptname\x00file\x00index\x00fontversion\x00\tos2 weight class %d multiplier %g maps to weight %g\n\x00\tos2 width class %d multiplier %g maps to width %g\n\x00capability\x00\tType1 weight %s maps to %g\n\x00FOUNDRY\x00RELATIVE_SETWIDTH\x00SETWIDTH_NAME\x00\tsetwidth %s maps to %g\n\x00\tStyle %s maps to weight %g\n\x00\tStyle %s maps to width %g\n\x00\tStyle %s maps to slant %d\n\x00\tStyle %s maps to decorative %d\n\x00unknown\x00slant\x00foundry\x00decorative\x00symbol\x00SPACING\x00c\x00C\x00m\x00M\x00p\x00P\x00charset\x00lang\x00spacing\x00pixelsize\x00antialias\x00fontformat\x00otlayout:\x00ttable:Silf \x00complex_ features in this font: %s\n\x00<fontconfig> <dir>/usr/share/fonts</dir> <dir prefix=\"xdg\">fonts</dir> <cachedir>/usr/var/cache/fontconfig</cachedir> <cachedir prefix=\"xdg\">fontconfig</cachedir> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/fonts.conf</include></fontconfig>\x00/usr/share/fontconfig/conf.avail\x00Fontconfig warning: no <cachedir> elements found. Check configuration.\n\x00Fontconfig warning: adding <cachedir>%s</cachedir>\n\x00/usr/var/cache/fontconfig\x00/fontconfig\x00Fontconfig warning: adding <cachedir prefix=\"xdg\">fontconfig</cachedir>\n\x00Fontconfig error: out of memory\x00font charset\x00%s charset\x00\n%s(%u) \x00{\x00 %04x\x00 }\n\t\x00%s(%u) \x00C.UTF-8\x00C.utf8\x00POSIX\x00Fontconfig warning: ignoring %s: not a valid language tag\n\x00Fontconfig warning: ignoring %s: not a valid region tag\n\x00Checking the existence of %s.orth\n\x00normalized: %s -> %s\n\x00Unable to normalize %s\n\x00FcLangSet \x00 contains \x00\tMissing bitmap %s\n\x00\tMissing string %s\n\x00 -\x00 %s: %g \x00, \x00 \x00wght\x00wdth\x00opsz\x00%4s=%g\x00Match \x00Score\x00 %g\x00Best score\x00FC_DBG_MATCH_FILTER\x00Add \x00Sort \x00Font %s:%s matches language %d\n\x00First font \x00aspect\x00hintstyle\x00hinting\x00verticallayout\x00autohint\x00globaladvance\x00rasterizer\x00dpi\x00rgba\x00scale\x00minspace\x00charwidth\x00charheight\x00matrix\x00embolden\x00embeddedbitmap\x00lcdfilter\x00namelang\x00fontfeatures\x00prgname\x00hash\x00fontvariations\x00roman\x00proportional\x00dual\x00mono\x00charcell\x00rgb\x00bgr\x00vrgb\x00vbgr\x00hintnone\x00hintslight\x00hintmedium\x00hintfull\x00lcdnone\x00lcddefault\x00lcdlight\x00lcdlegacy\x00%lg %lg %lg %lg\x00[%lg %lg]\x00[%s %[^]]]\x00-,:\x00=_:\x00:,\x00%g %g %g %g\x00,\x00\\-:,\x00-\x00:\x00\\=_:,\x00=\x00Fontconfig error: No object ID to assign\n\x00Raw pattern:\n\x00Serialized pattern:\n\x00nfs\x00msdosfs\x00pcfs\x00.\x00/.\x00/..\x00its:\x00info\x00warning\x00error\x00Fontconfig %s: \"%s\", line %d: \x00Fontconfig %s: line %d: \x00Fontconfig %s: \x00void\x00number\x00string\x00bool\x00FT_Face\x00langset\x00range\x00saw %s, expected %s\x00invalid constant used : %s\x00out of memory\x00mismatching element\x00invalid attribute '%s'\x00unknown element \"%s\"\x00non-integer rescan\x00\"%s\": not a valid integer\x00\"%s\": not a valid double\x00target\x00pattern\x00font\x00default\x00invalid name target \"%s\"\x00wrong number of matrix elements\x00too many elements in range\x00invalid element in range\x00invalid range\x00\"%s\" is not known boolean\x00invalid character: 0x%04x\x00invalid element in charset\x00invalid langset: %s\x00invalid element in langset\x00weak\x00strong\x00same\x00invalid binding \"%s\"\x00non-family\x00binding\x00Having multiple <family> in <alias> isn't supported and may not work as expected\x00bad alias\x00missing family in alias\x00domain\x00prefix\x00xdg\x00empty font directory name ignored\x00out of memory; cannot add directory %s\x00empty cache directory name ignored\x00out of memory; cannot add cache directory %s\x00ignore_missing\x00deprecated\x00conf.d\x00reading configurations from %s is deprecated. please move it to %s manually\x00scan\x00invalid test target \"%s\"\x00qual\x00any\x00all\x00first\x00not_first\x00invalid test qual \"%s\"\x00name\x00missing test name\x00compare\x00invalid test compare \"%s\"\x00ignore-blanks\x00invalid test ignore-blanks \"%s\"\x00missing test expression\x00Having multiple values in <test> isn't supported and may not work as expected\x00missing edit name\x00mode\x00invalid edit mode \"%s\"\x00Expression doesn't take any effects for delete and delete_all\x00invalid match target \"%s\"\x00<match target=\"scan\"> cannot edit user-defined object \"%s\"\x00invalid match element\x00No <test> nor <edit> elements in <match>\x00bad font selector\x00unknown pattern element %d\x00missing pattern element name\x00unknown pattern element\x00invalid doctype \"%s\"\x00Cannot open config dir \"%s\"\x00\tScanning config dir %s\n\x00.conf\x00Loading\x00Scanning\x00\t%s config file from %s\n\x00UTF-8\x00cannot get parse buffer\x00load\x00Cannot %s config file from %s\x00\t%s config file from %s done\n\x00failed reading config file: %s: %s (errno %d)\x00Cannot %s config file \"%s\"\x00Cannot %s default config file\x00memory\x00"