fast-path.generated.go 754 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679
  1. // //+build ignore
  2. // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved.
  3. // Use of this source code is governed by a MIT license found in the LICENSE file.
  4. // ************************************************************
  5. // DO NOT EDIT.
  6. // THIS FILE IS AUTO-GENERATED from fast-path.go.tmpl
  7. // ************************************************************
  8. package codec
  9. // Fast path functions try to create a fast path encode or decode implementation
  10. // for common maps and slices.
  11. //
  12. // We define the functions and register then in this single file
  13. // so as not to pollute the encode.go and decode.go, and create a dependency in there.
  14. // This file can be omitted without causing a build failure.
  15. //
  16. // The advantage of fast paths is:
  17. // - Many calls bypass reflection altogether
  18. //
  19. // Currently support
  20. // - slice of all builtin types,
  21. // - map of all builtin types to string or interface value
  22. // - symetrical maps of all builtin types (e.g. str-str, uint8-uint8)
  23. // This should provide adequate "typical" implementations.
  24. //
  25. // Note that fast track decode functions must handle values for which an address cannot be obtained.
  26. // For example:
  27. // m2 := map[string]int{}
  28. // p2 := []interface{}{m2}
  29. // // decoding into p2 will bomb if fast track functions do not treat like unaddressable.
  30. //
  31. import (
  32. "reflect"
  33. "sort"
  34. )
  35. const fastpathCheckNilFalse = false // for reflect
  36. const fastpathCheckNilTrue = true // for type switch
  37. type fastpathT struct{}
  38. var fastpathTV fastpathT
  39. type fastpathE struct {
  40. rtid uintptr
  41. rt reflect.Type
  42. encfn func(*encFnInfo, reflect.Value)
  43. decfn func(*decFnInfo, reflect.Value)
  44. }
  45. type fastpathA [271]fastpathE
  46. func (x *fastpathA) index(rtid uintptr) int {
  47. // use binary search to grab the index (adapted from sort/search.go)
  48. h, i, j := 0, 0, 271 // len(x)
  49. for i < j {
  50. h = i + (j-i)/2
  51. if x[h].rtid < rtid {
  52. i = h + 1
  53. } else {
  54. j = h
  55. }
  56. }
  57. if i < 271 && x[i].rtid == rtid {
  58. return i
  59. }
  60. return -1
  61. }
  62. type fastpathAslice []fastpathE
  63. func (x fastpathAslice) Len() int { return len(x) }
  64. func (x fastpathAslice) Less(i, j int) bool { return x[i].rtid < x[j].rtid }
  65. func (x fastpathAslice) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
  66. var fastpathAV fastpathA
  67. // due to possible initialization loop error, make fastpath in an init()
  68. func init() {
  69. if !fastpathEnabled {
  70. return
  71. }
  72. i := 0
  73. fn := func(v interface{}, fe func(*encFnInfo, reflect.Value), fd func(*decFnInfo, reflect.Value)) (f fastpathE) {
  74. xrt := reflect.TypeOf(v)
  75. xptr := reflect.ValueOf(xrt).Pointer()
  76. fastpathAV[i] = fastpathE{xptr, xrt, fe, fd}
  77. i++
  78. return
  79. }
  80. fn([]interface{}(nil), (*encFnInfo).fastpathEncSliceIntfR, (*decFnInfo).fastpathDecSliceIntfR)
  81. fn([]string(nil), (*encFnInfo).fastpathEncSliceStringR, (*decFnInfo).fastpathDecSliceStringR)
  82. fn([]float32(nil), (*encFnInfo).fastpathEncSliceFloat32R, (*decFnInfo).fastpathDecSliceFloat32R)
  83. fn([]float64(nil), (*encFnInfo).fastpathEncSliceFloat64R, (*decFnInfo).fastpathDecSliceFloat64R)
  84. fn([]uint(nil), (*encFnInfo).fastpathEncSliceUintR, (*decFnInfo).fastpathDecSliceUintR)
  85. fn([]uint16(nil), (*encFnInfo).fastpathEncSliceUint16R, (*decFnInfo).fastpathDecSliceUint16R)
  86. fn([]uint32(nil), (*encFnInfo).fastpathEncSliceUint32R, (*decFnInfo).fastpathDecSliceUint32R)
  87. fn([]uint64(nil), (*encFnInfo).fastpathEncSliceUint64R, (*decFnInfo).fastpathDecSliceUint64R)
  88. fn([]uintptr(nil), (*encFnInfo).fastpathEncSliceUintptrR, (*decFnInfo).fastpathDecSliceUintptrR)
  89. fn([]int(nil), (*encFnInfo).fastpathEncSliceIntR, (*decFnInfo).fastpathDecSliceIntR)
  90. fn([]int8(nil), (*encFnInfo).fastpathEncSliceInt8R, (*decFnInfo).fastpathDecSliceInt8R)
  91. fn([]int16(nil), (*encFnInfo).fastpathEncSliceInt16R, (*decFnInfo).fastpathDecSliceInt16R)
  92. fn([]int32(nil), (*encFnInfo).fastpathEncSliceInt32R, (*decFnInfo).fastpathDecSliceInt32R)
  93. fn([]int64(nil), (*encFnInfo).fastpathEncSliceInt64R, (*decFnInfo).fastpathDecSliceInt64R)
  94. fn([]bool(nil), (*encFnInfo).fastpathEncSliceBoolR, (*decFnInfo).fastpathDecSliceBoolR)
  95. fn(map[interface{}]interface{}(nil), (*encFnInfo).fastpathEncMapIntfIntfR, (*decFnInfo).fastpathDecMapIntfIntfR)
  96. fn(map[interface{}]string(nil), (*encFnInfo).fastpathEncMapIntfStringR, (*decFnInfo).fastpathDecMapIntfStringR)
  97. fn(map[interface{}]uint(nil), (*encFnInfo).fastpathEncMapIntfUintR, (*decFnInfo).fastpathDecMapIntfUintR)
  98. fn(map[interface{}]uint8(nil), (*encFnInfo).fastpathEncMapIntfUint8R, (*decFnInfo).fastpathDecMapIntfUint8R)
  99. fn(map[interface{}]uint16(nil), (*encFnInfo).fastpathEncMapIntfUint16R, (*decFnInfo).fastpathDecMapIntfUint16R)
  100. fn(map[interface{}]uint32(nil), (*encFnInfo).fastpathEncMapIntfUint32R, (*decFnInfo).fastpathDecMapIntfUint32R)
  101. fn(map[interface{}]uint64(nil), (*encFnInfo).fastpathEncMapIntfUint64R, (*decFnInfo).fastpathDecMapIntfUint64R)
  102. fn(map[interface{}]uintptr(nil), (*encFnInfo).fastpathEncMapIntfUintptrR, (*decFnInfo).fastpathDecMapIntfUintptrR)
  103. fn(map[interface{}]int(nil), (*encFnInfo).fastpathEncMapIntfIntR, (*decFnInfo).fastpathDecMapIntfIntR)
  104. fn(map[interface{}]int8(nil), (*encFnInfo).fastpathEncMapIntfInt8R, (*decFnInfo).fastpathDecMapIntfInt8R)
  105. fn(map[interface{}]int16(nil), (*encFnInfo).fastpathEncMapIntfInt16R, (*decFnInfo).fastpathDecMapIntfInt16R)
  106. fn(map[interface{}]int32(nil), (*encFnInfo).fastpathEncMapIntfInt32R, (*decFnInfo).fastpathDecMapIntfInt32R)
  107. fn(map[interface{}]int64(nil), (*encFnInfo).fastpathEncMapIntfInt64R, (*decFnInfo).fastpathDecMapIntfInt64R)
  108. fn(map[interface{}]float32(nil), (*encFnInfo).fastpathEncMapIntfFloat32R, (*decFnInfo).fastpathDecMapIntfFloat32R)
  109. fn(map[interface{}]float64(nil), (*encFnInfo).fastpathEncMapIntfFloat64R, (*decFnInfo).fastpathDecMapIntfFloat64R)
  110. fn(map[interface{}]bool(nil), (*encFnInfo).fastpathEncMapIntfBoolR, (*decFnInfo).fastpathDecMapIntfBoolR)
  111. fn(map[string]interface{}(nil), (*encFnInfo).fastpathEncMapStringIntfR, (*decFnInfo).fastpathDecMapStringIntfR)
  112. fn(map[string]string(nil), (*encFnInfo).fastpathEncMapStringStringR, (*decFnInfo).fastpathDecMapStringStringR)
  113. fn(map[string]uint(nil), (*encFnInfo).fastpathEncMapStringUintR, (*decFnInfo).fastpathDecMapStringUintR)
  114. fn(map[string]uint8(nil), (*encFnInfo).fastpathEncMapStringUint8R, (*decFnInfo).fastpathDecMapStringUint8R)
  115. fn(map[string]uint16(nil), (*encFnInfo).fastpathEncMapStringUint16R, (*decFnInfo).fastpathDecMapStringUint16R)
  116. fn(map[string]uint32(nil), (*encFnInfo).fastpathEncMapStringUint32R, (*decFnInfo).fastpathDecMapStringUint32R)
  117. fn(map[string]uint64(nil), (*encFnInfo).fastpathEncMapStringUint64R, (*decFnInfo).fastpathDecMapStringUint64R)
  118. fn(map[string]uintptr(nil), (*encFnInfo).fastpathEncMapStringUintptrR, (*decFnInfo).fastpathDecMapStringUintptrR)
  119. fn(map[string]int(nil), (*encFnInfo).fastpathEncMapStringIntR, (*decFnInfo).fastpathDecMapStringIntR)
  120. fn(map[string]int8(nil), (*encFnInfo).fastpathEncMapStringInt8R, (*decFnInfo).fastpathDecMapStringInt8R)
  121. fn(map[string]int16(nil), (*encFnInfo).fastpathEncMapStringInt16R, (*decFnInfo).fastpathDecMapStringInt16R)
  122. fn(map[string]int32(nil), (*encFnInfo).fastpathEncMapStringInt32R, (*decFnInfo).fastpathDecMapStringInt32R)
  123. fn(map[string]int64(nil), (*encFnInfo).fastpathEncMapStringInt64R, (*decFnInfo).fastpathDecMapStringInt64R)
  124. fn(map[string]float32(nil), (*encFnInfo).fastpathEncMapStringFloat32R, (*decFnInfo).fastpathDecMapStringFloat32R)
  125. fn(map[string]float64(nil), (*encFnInfo).fastpathEncMapStringFloat64R, (*decFnInfo).fastpathDecMapStringFloat64R)
  126. fn(map[string]bool(nil), (*encFnInfo).fastpathEncMapStringBoolR, (*decFnInfo).fastpathDecMapStringBoolR)
  127. fn(map[float32]interface{}(nil), (*encFnInfo).fastpathEncMapFloat32IntfR, (*decFnInfo).fastpathDecMapFloat32IntfR)
  128. fn(map[float32]string(nil), (*encFnInfo).fastpathEncMapFloat32StringR, (*decFnInfo).fastpathDecMapFloat32StringR)
  129. fn(map[float32]uint(nil), (*encFnInfo).fastpathEncMapFloat32UintR, (*decFnInfo).fastpathDecMapFloat32UintR)
  130. fn(map[float32]uint8(nil), (*encFnInfo).fastpathEncMapFloat32Uint8R, (*decFnInfo).fastpathDecMapFloat32Uint8R)
  131. fn(map[float32]uint16(nil), (*encFnInfo).fastpathEncMapFloat32Uint16R, (*decFnInfo).fastpathDecMapFloat32Uint16R)
  132. fn(map[float32]uint32(nil), (*encFnInfo).fastpathEncMapFloat32Uint32R, (*decFnInfo).fastpathDecMapFloat32Uint32R)
  133. fn(map[float32]uint64(nil), (*encFnInfo).fastpathEncMapFloat32Uint64R, (*decFnInfo).fastpathDecMapFloat32Uint64R)
  134. fn(map[float32]uintptr(nil), (*encFnInfo).fastpathEncMapFloat32UintptrR, (*decFnInfo).fastpathDecMapFloat32UintptrR)
  135. fn(map[float32]int(nil), (*encFnInfo).fastpathEncMapFloat32IntR, (*decFnInfo).fastpathDecMapFloat32IntR)
  136. fn(map[float32]int8(nil), (*encFnInfo).fastpathEncMapFloat32Int8R, (*decFnInfo).fastpathDecMapFloat32Int8R)
  137. fn(map[float32]int16(nil), (*encFnInfo).fastpathEncMapFloat32Int16R, (*decFnInfo).fastpathDecMapFloat32Int16R)
  138. fn(map[float32]int32(nil), (*encFnInfo).fastpathEncMapFloat32Int32R, (*decFnInfo).fastpathDecMapFloat32Int32R)
  139. fn(map[float32]int64(nil), (*encFnInfo).fastpathEncMapFloat32Int64R, (*decFnInfo).fastpathDecMapFloat32Int64R)
  140. fn(map[float32]float32(nil), (*encFnInfo).fastpathEncMapFloat32Float32R, (*decFnInfo).fastpathDecMapFloat32Float32R)
  141. fn(map[float32]float64(nil), (*encFnInfo).fastpathEncMapFloat32Float64R, (*decFnInfo).fastpathDecMapFloat32Float64R)
  142. fn(map[float32]bool(nil), (*encFnInfo).fastpathEncMapFloat32BoolR, (*decFnInfo).fastpathDecMapFloat32BoolR)
  143. fn(map[float64]interface{}(nil), (*encFnInfo).fastpathEncMapFloat64IntfR, (*decFnInfo).fastpathDecMapFloat64IntfR)
  144. fn(map[float64]string(nil), (*encFnInfo).fastpathEncMapFloat64StringR, (*decFnInfo).fastpathDecMapFloat64StringR)
  145. fn(map[float64]uint(nil), (*encFnInfo).fastpathEncMapFloat64UintR, (*decFnInfo).fastpathDecMapFloat64UintR)
  146. fn(map[float64]uint8(nil), (*encFnInfo).fastpathEncMapFloat64Uint8R, (*decFnInfo).fastpathDecMapFloat64Uint8R)
  147. fn(map[float64]uint16(nil), (*encFnInfo).fastpathEncMapFloat64Uint16R, (*decFnInfo).fastpathDecMapFloat64Uint16R)
  148. fn(map[float64]uint32(nil), (*encFnInfo).fastpathEncMapFloat64Uint32R, (*decFnInfo).fastpathDecMapFloat64Uint32R)
  149. fn(map[float64]uint64(nil), (*encFnInfo).fastpathEncMapFloat64Uint64R, (*decFnInfo).fastpathDecMapFloat64Uint64R)
  150. fn(map[float64]uintptr(nil), (*encFnInfo).fastpathEncMapFloat64UintptrR, (*decFnInfo).fastpathDecMapFloat64UintptrR)
  151. fn(map[float64]int(nil), (*encFnInfo).fastpathEncMapFloat64IntR, (*decFnInfo).fastpathDecMapFloat64IntR)
  152. fn(map[float64]int8(nil), (*encFnInfo).fastpathEncMapFloat64Int8R, (*decFnInfo).fastpathDecMapFloat64Int8R)
  153. fn(map[float64]int16(nil), (*encFnInfo).fastpathEncMapFloat64Int16R, (*decFnInfo).fastpathDecMapFloat64Int16R)
  154. fn(map[float64]int32(nil), (*encFnInfo).fastpathEncMapFloat64Int32R, (*decFnInfo).fastpathDecMapFloat64Int32R)
  155. fn(map[float64]int64(nil), (*encFnInfo).fastpathEncMapFloat64Int64R, (*decFnInfo).fastpathDecMapFloat64Int64R)
  156. fn(map[float64]float32(nil), (*encFnInfo).fastpathEncMapFloat64Float32R, (*decFnInfo).fastpathDecMapFloat64Float32R)
  157. fn(map[float64]float64(nil), (*encFnInfo).fastpathEncMapFloat64Float64R, (*decFnInfo).fastpathDecMapFloat64Float64R)
  158. fn(map[float64]bool(nil), (*encFnInfo).fastpathEncMapFloat64BoolR, (*decFnInfo).fastpathDecMapFloat64BoolR)
  159. fn(map[uint]interface{}(nil), (*encFnInfo).fastpathEncMapUintIntfR, (*decFnInfo).fastpathDecMapUintIntfR)
  160. fn(map[uint]string(nil), (*encFnInfo).fastpathEncMapUintStringR, (*decFnInfo).fastpathDecMapUintStringR)
  161. fn(map[uint]uint(nil), (*encFnInfo).fastpathEncMapUintUintR, (*decFnInfo).fastpathDecMapUintUintR)
  162. fn(map[uint]uint8(nil), (*encFnInfo).fastpathEncMapUintUint8R, (*decFnInfo).fastpathDecMapUintUint8R)
  163. fn(map[uint]uint16(nil), (*encFnInfo).fastpathEncMapUintUint16R, (*decFnInfo).fastpathDecMapUintUint16R)
  164. fn(map[uint]uint32(nil), (*encFnInfo).fastpathEncMapUintUint32R, (*decFnInfo).fastpathDecMapUintUint32R)
  165. fn(map[uint]uint64(nil), (*encFnInfo).fastpathEncMapUintUint64R, (*decFnInfo).fastpathDecMapUintUint64R)
  166. fn(map[uint]uintptr(nil), (*encFnInfo).fastpathEncMapUintUintptrR, (*decFnInfo).fastpathDecMapUintUintptrR)
  167. fn(map[uint]int(nil), (*encFnInfo).fastpathEncMapUintIntR, (*decFnInfo).fastpathDecMapUintIntR)
  168. fn(map[uint]int8(nil), (*encFnInfo).fastpathEncMapUintInt8R, (*decFnInfo).fastpathDecMapUintInt8R)
  169. fn(map[uint]int16(nil), (*encFnInfo).fastpathEncMapUintInt16R, (*decFnInfo).fastpathDecMapUintInt16R)
  170. fn(map[uint]int32(nil), (*encFnInfo).fastpathEncMapUintInt32R, (*decFnInfo).fastpathDecMapUintInt32R)
  171. fn(map[uint]int64(nil), (*encFnInfo).fastpathEncMapUintInt64R, (*decFnInfo).fastpathDecMapUintInt64R)
  172. fn(map[uint]float32(nil), (*encFnInfo).fastpathEncMapUintFloat32R, (*decFnInfo).fastpathDecMapUintFloat32R)
  173. fn(map[uint]float64(nil), (*encFnInfo).fastpathEncMapUintFloat64R, (*decFnInfo).fastpathDecMapUintFloat64R)
  174. fn(map[uint]bool(nil), (*encFnInfo).fastpathEncMapUintBoolR, (*decFnInfo).fastpathDecMapUintBoolR)
  175. fn(map[uint8]interface{}(nil), (*encFnInfo).fastpathEncMapUint8IntfR, (*decFnInfo).fastpathDecMapUint8IntfR)
  176. fn(map[uint8]string(nil), (*encFnInfo).fastpathEncMapUint8StringR, (*decFnInfo).fastpathDecMapUint8StringR)
  177. fn(map[uint8]uint(nil), (*encFnInfo).fastpathEncMapUint8UintR, (*decFnInfo).fastpathDecMapUint8UintR)
  178. fn(map[uint8]uint8(nil), (*encFnInfo).fastpathEncMapUint8Uint8R, (*decFnInfo).fastpathDecMapUint8Uint8R)
  179. fn(map[uint8]uint16(nil), (*encFnInfo).fastpathEncMapUint8Uint16R, (*decFnInfo).fastpathDecMapUint8Uint16R)
  180. fn(map[uint8]uint32(nil), (*encFnInfo).fastpathEncMapUint8Uint32R, (*decFnInfo).fastpathDecMapUint8Uint32R)
  181. fn(map[uint8]uint64(nil), (*encFnInfo).fastpathEncMapUint8Uint64R, (*decFnInfo).fastpathDecMapUint8Uint64R)
  182. fn(map[uint8]uintptr(nil), (*encFnInfo).fastpathEncMapUint8UintptrR, (*decFnInfo).fastpathDecMapUint8UintptrR)
  183. fn(map[uint8]int(nil), (*encFnInfo).fastpathEncMapUint8IntR, (*decFnInfo).fastpathDecMapUint8IntR)
  184. fn(map[uint8]int8(nil), (*encFnInfo).fastpathEncMapUint8Int8R, (*decFnInfo).fastpathDecMapUint8Int8R)
  185. fn(map[uint8]int16(nil), (*encFnInfo).fastpathEncMapUint8Int16R, (*decFnInfo).fastpathDecMapUint8Int16R)
  186. fn(map[uint8]int32(nil), (*encFnInfo).fastpathEncMapUint8Int32R, (*decFnInfo).fastpathDecMapUint8Int32R)
  187. fn(map[uint8]int64(nil), (*encFnInfo).fastpathEncMapUint8Int64R, (*decFnInfo).fastpathDecMapUint8Int64R)
  188. fn(map[uint8]float32(nil), (*encFnInfo).fastpathEncMapUint8Float32R, (*decFnInfo).fastpathDecMapUint8Float32R)
  189. fn(map[uint8]float64(nil), (*encFnInfo).fastpathEncMapUint8Float64R, (*decFnInfo).fastpathDecMapUint8Float64R)
  190. fn(map[uint8]bool(nil), (*encFnInfo).fastpathEncMapUint8BoolR, (*decFnInfo).fastpathDecMapUint8BoolR)
  191. fn(map[uint16]interface{}(nil), (*encFnInfo).fastpathEncMapUint16IntfR, (*decFnInfo).fastpathDecMapUint16IntfR)
  192. fn(map[uint16]string(nil), (*encFnInfo).fastpathEncMapUint16StringR, (*decFnInfo).fastpathDecMapUint16StringR)
  193. fn(map[uint16]uint(nil), (*encFnInfo).fastpathEncMapUint16UintR, (*decFnInfo).fastpathDecMapUint16UintR)
  194. fn(map[uint16]uint8(nil), (*encFnInfo).fastpathEncMapUint16Uint8R, (*decFnInfo).fastpathDecMapUint16Uint8R)
  195. fn(map[uint16]uint16(nil), (*encFnInfo).fastpathEncMapUint16Uint16R, (*decFnInfo).fastpathDecMapUint16Uint16R)
  196. fn(map[uint16]uint32(nil), (*encFnInfo).fastpathEncMapUint16Uint32R, (*decFnInfo).fastpathDecMapUint16Uint32R)
  197. fn(map[uint16]uint64(nil), (*encFnInfo).fastpathEncMapUint16Uint64R, (*decFnInfo).fastpathDecMapUint16Uint64R)
  198. fn(map[uint16]uintptr(nil), (*encFnInfo).fastpathEncMapUint16UintptrR, (*decFnInfo).fastpathDecMapUint16UintptrR)
  199. fn(map[uint16]int(nil), (*encFnInfo).fastpathEncMapUint16IntR, (*decFnInfo).fastpathDecMapUint16IntR)
  200. fn(map[uint16]int8(nil), (*encFnInfo).fastpathEncMapUint16Int8R, (*decFnInfo).fastpathDecMapUint16Int8R)
  201. fn(map[uint16]int16(nil), (*encFnInfo).fastpathEncMapUint16Int16R, (*decFnInfo).fastpathDecMapUint16Int16R)
  202. fn(map[uint16]int32(nil), (*encFnInfo).fastpathEncMapUint16Int32R, (*decFnInfo).fastpathDecMapUint16Int32R)
  203. fn(map[uint16]int64(nil), (*encFnInfo).fastpathEncMapUint16Int64R, (*decFnInfo).fastpathDecMapUint16Int64R)
  204. fn(map[uint16]float32(nil), (*encFnInfo).fastpathEncMapUint16Float32R, (*decFnInfo).fastpathDecMapUint16Float32R)
  205. fn(map[uint16]float64(nil), (*encFnInfo).fastpathEncMapUint16Float64R, (*decFnInfo).fastpathDecMapUint16Float64R)
  206. fn(map[uint16]bool(nil), (*encFnInfo).fastpathEncMapUint16BoolR, (*decFnInfo).fastpathDecMapUint16BoolR)
  207. fn(map[uint32]interface{}(nil), (*encFnInfo).fastpathEncMapUint32IntfR, (*decFnInfo).fastpathDecMapUint32IntfR)
  208. fn(map[uint32]string(nil), (*encFnInfo).fastpathEncMapUint32StringR, (*decFnInfo).fastpathDecMapUint32StringR)
  209. fn(map[uint32]uint(nil), (*encFnInfo).fastpathEncMapUint32UintR, (*decFnInfo).fastpathDecMapUint32UintR)
  210. fn(map[uint32]uint8(nil), (*encFnInfo).fastpathEncMapUint32Uint8R, (*decFnInfo).fastpathDecMapUint32Uint8R)
  211. fn(map[uint32]uint16(nil), (*encFnInfo).fastpathEncMapUint32Uint16R, (*decFnInfo).fastpathDecMapUint32Uint16R)
  212. fn(map[uint32]uint32(nil), (*encFnInfo).fastpathEncMapUint32Uint32R, (*decFnInfo).fastpathDecMapUint32Uint32R)
  213. fn(map[uint32]uint64(nil), (*encFnInfo).fastpathEncMapUint32Uint64R, (*decFnInfo).fastpathDecMapUint32Uint64R)
  214. fn(map[uint32]uintptr(nil), (*encFnInfo).fastpathEncMapUint32UintptrR, (*decFnInfo).fastpathDecMapUint32UintptrR)
  215. fn(map[uint32]int(nil), (*encFnInfo).fastpathEncMapUint32IntR, (*decFnInfo).fastpathDecMapUint32IntR)
  216. fn(map[uint32]int8(nil), (*encFnInfo).fastpathEncMapUint32Int8R, (*decFnInfo).fastpathDecMapUint32Int8R)
  217. fn(map[uint32]int16(nil), (*encFnInfo).fastpathEncMapUint32Int16R, (*decFnInfo).fastpathDecMapUint32Int16R)
  218. fn(map[uint32]int32(nil), (*encFnInfo).fastpathEncMapUint32Int32R, (*decFnInfo).fastpathDecMapUint32Int32R)
  219. fn(map[uint32]int64(nil), (*encFnInfo).fastpathEncMapUint32Int64R, (*decFnInfo).fastpathDecMapUint32Int64R)
  220. fn(map[uint32]float32(nil), (*encFnInfo).fastpathEncMapUint32Float32R, (*decFnInfo).fastpathDecMapUint32Float32R)
  221. fn(map[uint32]float64(nil), (*encFnInfo).fastpathEncMapUint32Float64R, (*decFnInfo).fastpathDecMapUint32Float64R)
  222. fn(map[uint32]bool(nil), (*encFnInfo).fastpathEncMapUint32BoolR, (*decFnInfo).fastpathDecMapUint32BoolR)
  223. fn(map[uint64]interface{}(nil), (*encFnInfo).fastpathEncMapUint64IntfR, (*decFnInfo).fastpathDecMapUint64IntfR)
  224. fn(map[uint64]string(nil), (*encFnInfo).fastpathEncMapUint64StringR, (*decFnInfo).fastpathDecMapUint64StringR)
  225. fn(map[uint64]uint(nil), (*encFnInfo).fastpathEncMapUint64UintR, (*decFnInfo).fastpathDecMapUint64UintR)
  226. fn(map[uint64]uint8(nil), (*encFnInfo).fastpathEncMapUint64Uint8R, (*decFnInfo).fastpathDecMapUint64Uint8R)
  227. fn(map[uint64]uint16(nil), (*encFnInfo).fastpathEncMapUint64Uint16R, (*decFnInfo).fastpathDecMapUint64Uint16R)
  228. fn(map[uint64]uint32(nil), (*encFnInfo).fastpathEncMapUint64Uint32R, (*decFnInfo).fastpathDecMapUint64Uint32R)
  229. fn(map[uint64]uint64(nil), (*encFnInfo).fastpathEncMapUint64Uint64R, (*decFnInfo).fastpathDecMapUint64Uint64R)
  230. fn(map[uint64]uintptr(nil), (*encFnInfo).fastpathEncMapUint64UintptrR, (*decFnInfo).fastpathDecMapUint64UintptrR)
  231. fn(map[uint64]int(nil), (*encFnInfo).fastpathEncMapUint64IntR, (*decFnInfo).fastpathDecMapUint64IntR)
  232. fn(map[uint64]int8(nil), (*encFnInfo).fastpathEncMapUint64Int8R, (*decFnInfo).fastpathDecMapUint64Int8R)
  233. fn(map[uint64]int16(nil), (*encFnInfo).fastpathEncMapUint64Int16R, (*decFnInfo).fastpathDecMapUint64Int16R)
  234. fn(map[uint64]int32(nil), (*encFnInfo).fastpathEncMapUint64Int32R, (*decFnInfo).fastpathDecMapUint64Int32R)
  235. fn(map[uint64]int64(nil), (*encFnInfo).fastpathEncMapUint64Int64R, (*decFnInfo).fastpathDecMapUint64Int64R)
  236. fn(map[uint64]float32(nil), (*encFnInfo).fastpathEncMapUint64Float32R, (*decFnInfo).fastpathDecMapUint64Float32R)
  237. fn(map[uint64]float64(nil), (*encFnInfo).fastpathEncMapUint64Float64R, (*decFnInfo).fastpathDecMapUint64Float64R)
  238. fn(map[uint64]bool(nil), (*encFnInfo).fastpathEncMapUint64BoolR, (*decFnInfo).fastpathDecMapUint64BoolR)
  239. fn(map[uintptr]interface{}(nil), (*encFnInfo).fastpathEncMapUintptrIntfR, (*decFnInfo).fastpathDecMapUintptrIntfR)
  240. fn(map[uintptr]string(nil), (*encFnInfo).fastpathEncMapUintptrStringR, (*decFnInfo).fastpathDecMapUintptrStringR)
  241. fn(map[uintptr]uint(nil), (*encFnInfo).fastpathEncMapUintptrUintR, (*decFnInfo).fastpathDecMapUintptrUintR)
  242. fn(map[uintptr]uint8(nil), (*encFnInfo).fastpathEncMapUintptrUint8R, (*decFnInfo).fastpathDecMapUintptrUint8R)
  243. fn(map[uintptr]uint16(nil), (*encFnInfo).fastpathEncMapUintptrUint16R, (*decFnInfo).fastpathDecMapUintptrUint16R)
  244. fn(map[uintptr]uint32(nil), (*encFnInfo).fastpathEncMapUintptrUint32R, (*decFnInfo).fastpathDecMapUintptrUint32R)
  245. fn(map[uintptr]uint64(nil), (*encFnInfo).fastpathEncMapUintptrUint64R, (*decFnInfo).fastpathDecMapUintptrUint64R)
  246. fn(map[uintptr]uintptr(nil), (*encFnInfo).fastpathEncMapUintptrUintptrR, (*decFnInfo).fastpathDecMapUintptrUintptrR)
  247. fn(map[uintptr]int(nil), (*encFnInfo).fastpathEncMapUintptrIntR, (*decFnInfo).fastpathDecMapUintptrIntR)
  248. fn(map[uintptr]int8(nil), (*encFnInfo).fastpathEncMapUintptrInt8R, (*decFnInfo).fastpathDecMapUintptrInt8R)
  249. fn(map[uintptr]int16(nil), (*encFnInfo).fastpathEncMapUintptrInt16R, (*decFnInfo).fastpathDecMapUintptrInt16R)
  250. fn(map[uintptr]int32(nil), (*encFnInfo).fastpathEncMapUintptrInt32R, (*decFnInfo).fastpathDecMapUintptrInt32R)
  251. fn(map[uintptr]int64(nil), (*encFnInfo).fastpathEncMapUintptrInt64R, (*decFnInfo).fastpathDecMapUintptrInt64R)
  252. fn(map[uintptr]float32(nil), (*encFnInfo).fastpathEncMapUintptrFloat32R, (*decFnInfo).fastpathDecMapUintptrFloat32R)
  253. fn(map[uintptr]float64(nil), (*encFnInfo).fastpathEncMapUintptrFloat64R, (*decFnInfo).fastpathDecMapUintptrFloat64R)
  254. fn(map[uintptr]bool(nil), (*encFnInfo).fastpathEncMapUintptrBoolR, (*decFnInfo).fastpathDecMapUintptrBoolR)
  255. fn(map[int]interface{}(nil), (*encFnInfo).fastpathEncMapIntIntfR, (*decFnInfo).fastpathDecMapIntIntfR)
  256. fn(map[int]string(nil), (*encFnInfo).fastpathEncMapIntStringR, (*decFnInfo).fastpathDecMapIntStringR)
  257. fn(map[int]uint(nil), (*encFnInfo).fastpathEncMapIntUintR, (*decFnInfo).fastpathDecMapIntUintR)
  258. fn(map[int]uint8(nil), (*encFnInfo).fastpathEncMapIntUint8R, (*decFnInfo).fastpathDecMapIntUint8R)
  259. fn(map[int]uint16(nil), (*encFnInfo).fastpathEncMapIntUint16R, (*decFnInfo).fastpathDecMapIntUint16R)
  260. fn(map[int]uint32(nil), (*encFnInfo).fastpathEncMapIntUint32R, (*decFnInfo).fastpathDecMapIntUint32R)
  261. fn(map[int]uint64(nil), (*encFnInfo).fastpathEncMapIntUint64R, (*decFnInfo).fastpathDecMapIntUint64R)
  262. fn(map[int]uintptr(nil), (*encFnInfo).fastpathEncMapIntUintptrR, (*decFnInfo).fastpathDecMapIntUintptrR)
  263. fn(map[int]int(nil), (*encFnInfo).fastpathEncMapIntIntR, (*decFnInfo).fastpathDecMapIntIntR)
  264. fn(map[int]int8(nil), (*encFnInfo).fastpathEncMapIntInt8R, (*decFnInfo).fastpathDecMapIntInt8R)
  265. fn(map[int]int16(nil), (*encFnInfo).fastpathEncMapIntInt16R, (*decFnInfo).fastpathDecMapIntInt16R)
  266. fn(map[int]int32(nil), (*encFnInfo).fastpathEncMapIntInt32R, (*decFnInfo).fastpathDecMapIntInt32R)
  267. fn(map[int]int64(nil), (*encFnInfo).fastpathEncMapIntInt64R, (*decFnInfo).fastpathDecMapIntInt64R)
  268. fn(map[int]float32(nil), (*encFnInfo).fastpathEncMapIntFloat32R, (*decFnInfo).fastpathDecMapIntFloat32R)
  269. fn(map[int]float64(nil), (*encFnInfo).fastpathEncMapIntFloat64R, (*decFnInfo).fastpathDecMapIntFloat64R)
  270. fn(map[int]bool(nil), (*encFnInfo).fastpathEncMapIntBoolR, (*decFnInfo).fastpathDecMapIntBoolR)
  271. fn(map[int8]interface{}(nil), (*encFnInfo).fastpathEncMapInt8IntfR, (*decFnInfo).fastpathDecMapInt8IntfR)
  272. fn(map[int8]string(nil), (*encFnInfo).fastpathEncMapInt8StringR, (*decFnInfo).fastpathDecMapInt8StringR)
  273. fn(map[int8]uint(nil), (*encFnInfo).fastpathEncMapInt8UintR, (*decFnInfo).fastpathDecMapInt8UintR)
  274. fn(map[int8]uint8(nil), (*encFnInfo).fastpathEncMapInt8Uint8R, (*decFnInfo).fastpathDecMapInt8Uint8R)
  275. fn(map[int8]uint16(nil), (*encFnInfo).fastpathEncMapInt8Uint16R, (*decFnInfo).fastpathDecMapInt8Uint16R)
  276. fn(map[int8]uint32(nil), (*encFnInfo).fastpathEncMapInt8Uint32R, (*decFnInfo).fastpathDecMapInt8Uint32R)
  277. fn(map[int8]uint64(nil), (*encFnInfo).fastpathEncMapInt8Uint64R, (*decFnInfo).fastpathDecMapInt8Uint64R)
  278. fn(map[int8]uintptr(nil), (*encFnInfo).fastpathEncMapInt8UintptrR, (*decFnInfo).fastpathDecMapInt8UintptrR)
  279. fn(map[int8]int(nil), (*encFnInfo).fastpathEncMapInt8IntR, (*decFnInfo).fastpathDecMapInt8IntR)
  280. fn(map[int8]int8(nil), (*encFnInfo).fastpathEncMapInt8Int8R, (*decFnInfo).fastpathDecMapInt8Int8R)
  281. fn(map[int8]int16(nil), (*encFnInfo).fastpathEncMapInt8Int16R, (*decFnInfo).fastpathDecMapInt8Int16R)
  282. fn(map[int8]int32(nil), (*encFnInfo).fastpathEncMapInt8Int32R, (*decFnInfo).fastpathDecMapInt8Int32R)
  283. fn(map[int8]int64(nil), (*encFnInfo).fastpathEncMapInt8Int64R, (*decFnInfo).fastpathDecMapInt8Int64R)
  284. fn(map[int8]float32(nil), (*encFnInfo).fastpathEncMapInt8Float32R, (*decFnInfo).fastpathDecMapInt8Float32R)
  285. fn(map[int8]float64(nil), (*encFnInfo).fastpathEncMapInt8Float64R, (*decFnInfo).fastpathDecMapInt8Float64R)
  286. fn(map[int8]bool(nil), (*encFnInfo).fastpathEncMapInt8BoolR, (*decFnInfo).fastpathDecMapInt8BoolR)
  287. fn(map[int16]interface{}(nil), (*encFnInfo).fastpathEncMapInt16IntfR, (*decFnInfo).fastpathDecMapInt16IntfR)
  288. fn(map[int16]string(nil), (*encFnInfo).fastpathEncMapInt16StringR, (*decFnInfo).fastpathDecMapInt16StringR)
  289. fn(map[int16]uint(nil), (*encFnInfo).fastpathEncMapInt16UintR, (*decFnInfo).fastpathDecMapInt16UintR)
  290. fn(map[int16]uint8(nil), (*encFnInfo).fastpathEncMapInt16Uint8R, (*decFnInfo).fastpathDecMapInt16Uint8R)
  291. fn(map[int16]uint16(nil), (*encFnInfo).fastpathEncMapInt16Uint16R, (*decFnInfo).fastpathDecMapInt16Uint16R)
  292. fn(map[int16]uint32(nil), (*encFnInfo).fastpathEncMapInt16Uint32R, (*decFnInfo).fastpathDecMapInt16Uint32R)
  293. fn(map[int16]uint64(nil), (*encFnInfo).fastpathEncMapInt16Uint64R, (*decFnInfo).fastpathDecMapInt16Uint64R)
  294. fn(map[int16]uintptr(nil), (*encFnInfo).fastpathEncMapInt16UintptrR, (*decFnInfo).fastpathDecMapInt16UintptrR)
  295. fn(map[int16]int(nil), (*encFnInfo).fastpathEncMapInt16IntR, (*decFnInfo).fastpathDecMapInt16IntR)
  296. fn(map[int16]int8(nil), (*encFnInfo).fastpathEncMapInt16Int8R, (*decFnInfo).fastpathDecMapInt16Int8R)
  297. fn(map[int16]int16(nil), (*encFnInfo).fastpathEncMapInt16Int16R, (*decFnInfo).fastpathDecMapInt16Int16R)
  298. fn(map[int16]int32(nil), (*encFnInfo).fastpathEncMapInt16Int32R, (*decFnInfo).fastpathDecMapInt16Int32R)
  299. fn(map[int16]int64(nil), (*encFnInfo).fastpathEncMapInt16Int64R, (*decFnInfo).fastpathDecMapInt16Int64R)
  300. fn(map[int16]float32(nil), (*encFnInfo).fastpathEncMapInt16Float32R, (*decFnInfo).fastpathDecMapInt16Float32R)
  301. fn(map[int16]float64(nil), (*encFnInfo).fastpathEncMapInt16Float64R, (*decFnInfo).fastpathDecMapInt16Float64R)
  302. fn(map[int16]bool(nil), (*encFnInfo).fastpathEncMapInt16BoolR, (*decFnInfo).fastpathDecMapInt16BoolR)
  303. fn(map[int32]interface{}(nil), (*encFnInfo).fastpathEncMapInt32IntfR, (*decFnInfo).fastpathDecMapInt32IntfR)
  304. fn(map[int32]string(nil), (*encFnInfo).fastpathEncMapInt32StringR, (*decFnInfo).fastpathDecMapInt32StringR)
  305. fn(map[int32]uint(nil), (*encFnInfo).fastpathEncMapInt32UintR, (*decFnInfo).fastpathDecMapInt32UintR)
  306. fn(map[int32]uint8(nil), (*encFnInfo).fastpathEncMapInt32Uint8R, (*decFnInfo).fastpathDecMapInt32Uint8R)
  307. fn(map[int32]uint16(nil), (*encFnInfo).fastpathEncMapInt32Uint16R, (*decFnInfo).fastpathDecMapInt32Uint16R)
  308. fn(map[int32]uint32(nil), (*encFnInfo).fastpathEncMapInt32Uint32R, (*decFnInfo).fastpathDecMapInt32Uint32R)
  309. fn(map[int32]uint64(nil), (*encFnInfo).fastpathEncMapInt32Uint64R, (*decFnInfo).fastpathDecMapInt32Uint64R)
  310. fn(map[int32]uintptr(nil), (*encFnInfo).fastpathEncMapInt32UintptrR, (*decFnInfo).fastpathDecMapInt32UintptrR)
  311. fn(map[int32]int(nil), (*encFnInfo).fastpathEncMapInt32IntR, (*decFnInfo).fastpathDecMapInt32IntR)
  312. fn(map[int32]int8(nil), (*encFnInfo).fastpathEncMapInt32Int8R, (*decFnInfo).fastpathDecMapInt32Int8R)
  313. fn(map[int32]int16(nil), (*encFnInfo).fastpathEncMapInt32Int16R, (*decFnInfo).fastpathDecMapInt32Int16R)
  314. fn(map[int32]int32(nil), (*encFnInfo).fastpathEncMapInt32Int32R, (*decFnInfo).fastpathDecMapInt32Int32R)
  315. fn(map[int32]int64(nil), (*encFnInfo).fastpathEncMapInt32Int64R, (*decFnInfo).fastpathDecMapInt32Int64R)
  316. fn(map[int32]float32(nil), (*encFnInfo).fastpathEncMapInt32Float32R, (*decFnInfo).fastpathDecMapInt32Float32R)
  317. fn(map[int32]float64(nil), (*encFnInfo).fastpathEncMapInt32Float64R, (*decFnInfo).fastpathDecMapInt32Float64R)
  318. fn(map[int32]bool(nil), (*encFnInfo).fastpathEncMapInt32BoolR, (*decFnInfo).fastpathDecMapInt32BoolR)
  319. fn(map[int64]interface{}(nil), (*encFnInfo).fastpathEncMapInt64IntfR, (*decFnInfo).fastpathDecMapInt64IntfR)
  320. fn(map[int64]string(nil), (*encFnInfo).fastpathEncMapInt64StringR, (*decFnInfo).fastpathDecMapInt64StringR)
  321. fn(map[int64]uint(nil), (*encFnInfo).fastpathEncMapInt64UintR, (*decFnInfo).fastpathDecMapInt64UintR)
  322. fn(map[int64]uint8(nil), (*encFnInfo).fastpathEncMapInt64Uint8R, (*decFnInfo).fastpathDecMapInt64Uint8R)
  323. fn(map[int64]uint16(nil), (*encFnInfo).fastpathEncMapInt64Uint16R, (*decFnInfo).fastpathDecMapInt64Uint16R)
  324. fn(map[int64]uint32(nil), (*encFnInfo).fastpathEncMapInt64Uint32R, (*decFnInfo).fastpathDecMapInt64Uint32R)
  325. fn(map[int64]uint64(nil), (*encFnInfo).fastpathEncMapInt64Uint64R, (*decFnInfo).fastpathDecMapInt64Uint64R)
  326. fn(map[int64]uintptr(nil), (*encFnInfo).fastpathEncMapInt64UintptrR, (*decFnInfo).fastpathDecMapInt64UintptrR)
  327. fn(map[int64]int(nil), (*encFnInfo).fastpathEncMapInt64IntR, (*decFnInfo).fastpathDecMapInt64IntR)
  328. fn(map[int64]int8(nil), (*encFnInfo).fastpathEncMapInt64Int8R, (*decFnInfo).fastpathDecMapInt64Int8R)
  329. fn(map[int64]int16(nil), (*encFnInfo).fastpathEncMapInt64Int16R, (*decFnInfo).fastpathDecMapInt64Int16R)
  330. fn(map[int64]int32(nil), (*encFnInfo).fastpathEncMapInt64Int32R, (*decFnInfo).fastpathDecMapInt64Int32R)
  331. fn(map[int64]int64(nil), (*encFnInfo).fastpathEncMapInt64Int64R, (*decFnInfo).fastpathDecMapInt64Int64R)
  332. fn(map[int64]float32(nil), (*encFnInfo).fastpathEncMapInt64Float32R, (*decFnInfo).fastpathDecMapInt64Float32R)
  333. fn(map[int64]float64(nil), (*encFnInfo).fastpathEncMapInt64Float64R, (*decFnInfo).fastpathDecMapInt64Float64R)
  334. fn(map[int64]bool(nil), (*encFnInfo).fastpathEncMapInt64BoolR, (*decFnInfo).fastpathDecMapInt64BoolR)
  335. fn(map[bool]interface{}(nil), (*encFnInfo).fastpathEncMapBoolIntfR, (*decFnInfo).fastpathDecMapBoolIntfR)
  336. fn(map[bool]string(nil), (*encFnInfo).fastpathEncMapBoolStringR, (*decFnInfo).fastpathDecMapBoolStringR)
  337. fn(map[bool]uint(nil), (*encFnInfo).fastpathEncMapBoolUintR, (*decFnInfo).fastpathDecMapBoolUintR)
  338. fn(map[bool]uint8(nil), (*encFnInfo).fastpathEncMapBoolUint8R, (*decFnInfo).fastpathDecMapBoolUint8R)
  339. fn(map[bool]uint16(nil), (*encFnInfo).fastpathEncMapBoolUint16R, (*decFnInfo).fastpathDecMapBoolUint16R)
  340. fn(map[bool]uint32(nil), (*encFnInfo).fastpathEncMapBoolUint32R, (*decFnInfo).fastpathDecMapBoolUint32R)
  341. fn(map[bool]uint64(nil), (*encFnInfo).fastpathEncMapBoolUint64R, (*decFnInfo).fastpathDecMapBoolUint64R)
  342. fn(map[bool]uintptr(nil), (*encFnInfo).fastpathEncMapBoolUintptrR, (*decFnInfo).fastpathDecMapBoolUintptrR)
  343. fn(map[bool]int(nil), (*encFnInfo).fastpathEncMapBoolIntR, (*decFnInfo).fastpathDecMapBoolIntR)
  344. fn(map[bool]int8(nil), (*encFnInfo).fastpathEncMapBoolInt8R, (*decFnInfo).fastpathDecMapBoolInt8R)
  345. fn(map[bool]int16(nil), (*encFnInfo).fastpathEncMapBoolInt16R, (*decFnInfo).fastpathDecMapBoolInt16R)
  346. fn(map[bool]int32(nil), (*encFnInfo).fastpathEncMapBoolInt32R, (*decFnInfo).fastpathDecMapBoolInt32R)
  347. fn(map[bool]int64(nil), (*encFnInfo).fastpathEncMapBoolInt64R, (*decFnInfo).fastpathDecMapBoolInt64R)
  348. fn(map[bool]float32(nil), (*encFnInfo).fastpathEncMapBoolFloat32R, (*decFnInfo).fastpathDecMapBoolFloat32R)
  349. fn(map[bool]float64(nil), (*encFnInfo).fastpathEncMapBoolFloat64R, (*decFnInfo).fastpathDecMapBoolFloat64R)
  350. fn(map[bool]bool(nil), (*encFnInfo).fastpathEncMapBoolBoolR, (*decFnInfo).fastpathDecMapBoolBoolR)
  351. sort.Sort(fastpathAslice(fastpathAV[:]))
  352. }
  353. // -- encode
  354. // -- -- fast path type switch
  355. func fastpathEncodeTypeSwitch(iv interface{}, e *Encoder) bool {
  356. switch v := iv.(type) {
  357. case []interface{}:
  358. fastpathTV.EncSliceIntfV(v, fastpathCheckNilTrue, e)
  359. case *[]interface{}:
  360. fastpathTV.EncSliceIntfV(*v, fastpathCheckNilTrue, e)
  361. case map[interface{}]interface{}:
  362. fastpathTV.EncMapIntfIntfV(v, fastpathCheckNilTrue, e)
  363. case *map[interface{}]interface{}:
  364. fastpathTV.EncMapIntfIntfV(*v, fastpathCheckNilTrue, e)
  365. case map[interface{}]string:
  366. fastpathTV.EncMapIntfStringV(v, fastpathCheckNilTrue, e)
  367. case *map[interface{}]string:
  368. fastpathTV.EncMapIntfStringV(*v, fastpathCheckNilTrue, e)
  369. case map[interface{}]uint:
  370. fastpathTV.EncMapIntfUintV(v, fastpathCheckNilTrue, e)
  371. case *map[interface{}]uint:
  372. fastpathTV.EncMapIntfUintV(*v, fastpathCheckNilTrue, e)
  373. case map[interface{}]uint8:
  374. fastpathTV.EncMapIntfUint8V(v, fastpathCheckNilTrue, e)
  375. case *map[interface{}]uint8:
  376. fastpathTV.EncMapIntfUint8V(*v, fastpathCheckNilTrue, e)
  377. case map[interface{}]uint16:
  378. fastpathTV.EncMapIntfUint16V(v, fastpathCheckNilTrue, e)
  379. case *map[interface{}]uint16:
  380. fastpathTV.EncMapIntfUint16V(*v, fastpathCheckNilTrue, e)
  381. case map[interface{}]uint32:
  382. fastpathTV.EncMapIntfUint32V(v, fastpathCheckNilTrue, e)
  383. case *map[interface{}]uint32:
  384. fastpathTV.EncMapIntfUint32V(*v, fastpathCheckNilTrue, e)
  385. case map[interface{}]uint64:
  386. fastpathTV.EncMapIntfUint64V(v, fastpathCheckNilTrue, e)
  387. case *map[interface{}]uint64:
  388. fastpathTV.EncMapIntfUint64V(*v, fastpathCheckNilTrue, e)
  389. case map[interface{}]uintptr:
  390. fastpathTV.EncMapIntfUintptrV(v, fastpathCheckNilTrue, e)
  391. case *map[interface{}]uintptr:
  392. fastpathTV.EncMapIntfUintptrV(*v, fastpathCheckNilTrue, e)
  393. case map[interface{}]int:
  394. fastpathTV.EncMapIntfIntV(v, fastpathCheckNilTrue, e)
  395. case *map[interface{}]int:
  396. fastpathTV.EncMapIntfIntV(*v, fastpathCheckNilTrue, e)
  397. case map[interface{}]int8:
  398. fastpathTV.EncMapIntfInt8V(v, fastpathCheckNilTrue, e)
  399. case *map[interface{}]int8:
  400. fastpathTV.EncMapIntfInt8V(*v, fastpathCheckNilTrue, e)
  401. case map[interface{}]int16:
  402. fastpathTV.EncMapIntfInt16V(v, fastpathCheckNilTrue, e)
  403. case *map[interface{}]int16:
  404. fastpathTV.EncMapIntfInt16V(*v, fastpathCheckNilTrue, e)
  405. case map[interface{}]int32:
  406. fastpathTV.EncMapIntfInt32V(v, fastpathCheckNilTrue, e)
  407. case *map[interface{}]int32:
  408. fastpathTV.EncMapIntfInt32V(*v, fastpathCheckNilTrue, e)
  409. case map[interface{}]int64:
  410. fastpathTV.EncMapIntfInt64V(v, fastpathCheckNilTrue, e)
  411. case *map[interface{}]int64:
  412. fastpathTV.EncMapIntfInt64V(*v, fastpathCheckNilTrue, e)
  413. case map[interface{}]float32:
  414. fastpathTV.EncMapIntfFloat32V(v, fastpathCheckNilTrue, e)
  415. case *map[interface{}]float32:
  416. fastpathTV.EncMapIntfFloat32V(*v, fastpathCheckNilTrue, e)
  417. case map[interface{}]float64:
  418. fastpathTV.EncMapIntfFloat64V(v, fastpathCheckNilTrue, e)
  419. case *map[interface{}]float64:
  420. fastpathTV.EncMapIntfFloat64V(*v, fastpathCheckNilTrue, e)
  421. case map[interface{}]bool:
  422. fastpathTV.EncMapIntfBoolV(v, fastpathCheckNilTrue, e)
  423. case *map[interface{}]bool:
  424. fastpathTV.EncMapIntfBoolV(*v, fastpathCheckNilTrue, e)
  425. case []string:
  426. fastpathTV.EncSliceStringV(v, fastpathCheckNilTrue, e)
  427. case *[]string:
  428. fastpathTV.EncSliceStringV(*v, fastpathCheckNilTrue, e)
  429. case map[string]interface{}:
  430. fastpathTV.EncMapStringIntfV(v, fastpathCheckNilTrue, e)
  431. case *map[string]interface{}:
  432. fastpathTV.EncMapStringIntfV(*v, fastpathCheckNilTrue, e)
  433. case map[string]string:
  434. fastpathTV.EncMapStringStringV(v, fastpathCheckNilTrue, e)
  435. case *map[string]string:
  436. fastpathTV.EncMapStringStringV(*v, fastpathCheckNilTrue, e)
  437. case map[string]uint:
  438. fastpathTV.EncMapStringUintV(v, fastpathCheckNilTrue, e)
  439. case *map[string]uint:
  440. fastpathTV.EncMapStringUintV(*v, fastpathCheckNilTrue, e)
  441. case map[string]uint8:
  442. fastpathTV.EncMapStringUint8V(v, fastpathCheckNilTrue, e)
  443. case *map[string]uint8:
  444. fastpathTV.EncMapStringUint8V(*v, fastpathCheckNilTrue, e)
  445. case map[string]uint16:
  446. fastpathTV.EncMapStringUint16V(v, fastpathCheckNilTrue, e)
  447. case *map[string]uint16:
  448. fastpathTV.EncMapStringUint16V(*v, fastpathCheckNilTrue, e)
  449. case map[string]uint32:
  450. fastpathTV.EncMapStringUint32V(v, fastpathCheckNilTrue, e)
  451. case *map[string]uint32:
  452. fastpathTV.EncMapStringUint32V(*v, fastpathCheckNilTrue, e)
  453. case map[string]uint64:
  454. fastpathTV.EncMapStringUint64V(v, fastpathCheckNilTrue, e)
  455. case *map[string]uint64:
  456. fastpathTV.EncMapStringUint64V(*v, fastpathCheckNilTrue, e)
  457. case map[string]uintptr:
  458. fastpathTV.EncMapStringUintptrV(v, fastpathCheckNilTrue, e)
  459. case *map[string]uintptr:
  460. fastpathTV.EncMapStringUintptrV(*v, fastpathCheckNilTrue, e)
  461. case map[string]int:
  462. fastpathTV.EncMapStringIntV(v, fastpathCheckNilTrue, e)
  463. case *map[string]int:
  464. fastpathTV.EncMapStringIntV(*v, fastpathCheckNilTrue, e)
  465. case map[string]int8:
  466. fastpathTV.EncMapStringInt8V(v, fastpathCheckNilTrue, e)
  467. case *map[string]int8:
  468. fastpathTV.EncMapStringInt8V(*v, fastpathCheckNilTrue, e)
  469. case map[string]int16:
  470. fastpathTV.EncMapStringInt16V(v, fastpathCheckNilTrue, e)
  471. case *map[string]int16:
  472. fastpathTV.EncMapStringInt16V(*v, fastpathCheckNilTrue, e)
  473. case map[string]int32:
  474. fastpathTV.EncMapStringInt32V(v, fastpathCheckNilTrue, e)
  475. case *map[string]int32:
  476. fastpathTV.EncMapStringInt32V(*v, fastpathCheckNilTrue, e)
  477. case map[string]int64:
  478. fastpathTV.EncMapStringInt64V(v, fastpathCheckNilTrue, e)
  479. case *map[string]int64:
  480. fastpathTV.EncMapStringInt64V(*v, fastpathCheckNilTrue, e)
  481. case map[string]float32:
  482. fastpathTV.EncMapStringFloat32V(v, fastpathCheckNilTrue, e)
  483. case *map[string]float32:
  484. fastpathTV.EncMapStringFloat32V(*v, fastpathCheckNilTrue, e)
  485. case map[string]float64:
  486. fastpathTV.EncMapStringFloat64V(v, fastpathCheckNilTrue, e)
  487. case *map[string]float64:
  488. fastpathTV.EncMapStringFloat64V(*v, fastpathCheckNilTrue, e)
  489. case map[string]bool:
  490. fastpathTV.EncMapStringBoolV(v, fastpathCheckNilTrue, e)
  491. case *map[string]bool:
  492. fastpathTV.EncMapStringBoolV(*v, fastpathCheckNilTrue, e)
  493. case []float32:
  494. fastpathTV.EncSliceFloat32V(v, fastpathCheckNilTrue, e)
  495. case *[]float32:
  496. fastpathTV.EncSliceFloat32V(*v, fastpathCheckNilTrue, e)
  497. case map[float32]interface{}:
  498. fastpathTV.EncMapFloat32IntfV(v, fastpathCheckNilTrue, e)
  499. case *map[float32]interface{}:
  500. fastpathTV.EncMapFloat32IntfV(*v, fastpathCheckNilTrue, e)
  501. case map[float32]string:
  502. fastpathTV.EncMapFloat32StringV(v, fastpathCheckNilTrue, e)
  503. case *map[float32]string:
  504. fastpathTV.EncMapFloat32StringV(*v, fastpathCheckNilTrue, e)
  505. case map[float32]uint:
  506. fastpathTV.EncMapFloat32UintV(v, fastpathCheckNilTrue, e)
  507. case *map[float32]uint:
  508. fastpathTV.EncMapFloat32UintV(*v, fastpathCheckNilTrue, e)
  509. case map[float32]uint8:
  510. fastpathTV.EncMapFloat32Uint8V(v, fastpathCheckNilTrue, e)
  511. case *map[float32]uint8:
  512. fastpathTV.EncMapFloat32Uint8V(*v, fastpathCheckNilTrue, e)
  513. case map[float32]uint16:
  514. fastpathTV.EncMapFloat32Uint16V(v, fastpathCheckNilTrue, e)
  515. case *map[float32]uint16:
  516. fastpathTV.EncMapFloat32Uint16V(*v, fastpathCheckNilTrue, e)
  517. case map[float32]uint32:
  518. fastpathTV.EncMapFloat32Uint32V(v, fastpathCheckNilTrue, e)
  519. case *map[float32]uint32:
  520. fastpathTV.EncMapFloat32Uint32V(*v, fastpathCheckNilTrue, e)
  521. case map[float32]uint64:
  522. fastpathTV.EncMapFloat32Uint64V(v, fastpathCheckNilTrue, e)
  523. case *map[float32]uint64:
  524. fastpathTV.EncMapFloat32Uint64V(*v, fastpathCheckNilTrue, e)
  525. case map[float32]uintptr:
  526. fastpathTV.EncMapFloat32UintptrV(v, fastpathCheckNilTrue, e)
  527. case *map[float32]uintptr:
  528. fastpathTV.EncMapFloat32UintptrV(*v, fastpathCheckNilTrue, e)
  529. case map[float32]int:
  530. fastpathTV.EncMapFloat32IntV(v, fastpathCheckNilTrue, e)
  531. case *map[float32]int:
  532. fastpathTV.EncMapFloat32IntV(*v, fastpathCheckNilTrue, e)
  533. case map[float32]int8:
  534. fastpathTV.EncMapFloat32Int8V(v, fastpathCheckNilTrue, e)
  535. case *map[float32]int8:
  536. fastpathTV.EncMapFloat32Int8V(*v, fastpathCheckNilTrue, e)
  537. case map[float32]int16:
  538. fastpathTV.EncMapFloat32Int16V(v, fastpathCheckNilTrue, e)
  539. case *map[float32]int16:
  540. fastpathTV.EncMapFloat32Int16V(*v, fastpathCheckNilTrue, e)
  541. case map[float32]int32:
  542. fastpathTV.EncMapFloat32Int32V(v, fastpathCheckNilTrue, e)
  543. case *map[float32]int32:
  544. fastpathTV.EncMapFloat32Int32V(*v, fastpathCheckNilTrue, e)
  545. case map[float32]int64:
  546. fastpathTV.EncMapFloat32Int64V(v, fastpathCheckNilTrue, e)
  547. case *map[float32]int64:
  548. fastpathTV.EncMapFloat32Int64V(*v, fastpathCheckNilTrue, e)
  549. case map[float32]float32:
  550. fastpathTV.EncMapFloat32Float32V(v, fastpathCheckNilTrue, e)
  551. case *map[float32]float32:
  552. fastpathTV.EncMapFloat32Float32V(*v, fastpathCheckNilTrue, e)
  553. case map[float32]float64:
  554. fastpathTV.EncMapFloat32Float64V(v, fastpathCheckNilTrue, e)
  555. case *map[float32]float64:
  556. fastpathTV.EncMapFloat32Float64V(*v, fastpathCheckNilTrue, e)
  557. case map[float32]bool:
  558. fastpathTV.EncMapFloat32BoolV(v, fastpathCheckNilTrue, e)
  559. case *map[float32]bool:
  560. fastpathTV.EncMapFloat32BoolV(*v, fastpathCheckNilTrue, e)
  561. case []float64:
  562. fastpathTV.EncSliceFloat64V(v, fastpathCheckNilTrue, e)
  563. case *[]float64:
  564. fastpathTV.EncSliceFloat64V(*v, fastpathCheckNilTrue, e)
  565. case map[float64]interface{}:
  566. fastpathTV.EncMapFloat64IntfV(v, fastpathCheckNilTrue, e)
  567. case *map[float64]interface{}:
  568. fastpathTV.EncMapFloat64IntfV(*v, fastpathCheckNilTrue, e)
  569. case map[float64]string:
  570. fastpathTV.EncMapFloat64StringV(v, fastpathCheckNilTrue, e)
  571. case *map[float64]string:
  572. fastpathTV.EncMapFloat64StringV(*v, fastpathCheckNilTrue, e)
  573. case map[float64]uint:
  574. fastpathTV.EncMapFloat64UintV(v, fastpathCheckNilTrue, e)
  575. case *map[float64]uint:
  576. fastpathTV.EncMapFloat64UintV(*v, fastpathCheckNilTrue, e)
  577. case map[float64]uint8:
  578. fastpathTV.EncMapFloat64Uint8V(v, fastpathCheckNilTrue, e)
  579. case *map[float64]uint8:
  580. fastpathTV.EncMapFloat64Uint8V(*v, fastpathCheckNilTrue, e)
  581. case map[float64]uint16:
  582. fastpathTV.EncMapFloat64Uint16V(v, fastpathCheckNilTrue, e)
  583. case *map[float64]uint16:
  584. fastpathTV.EncMapFloat64Uint16V(*v, fastpathCheckNilTrue, e)
  585. case map[float64]uint32:
  586. fastpathTV.EncMapFloat64Uint32V(v, fastpathCheckNilTrue, e)
  587. case *map[float64]uint32:
  588. fastpathTV.EncMapFloat64Uint32V(*v, fastpathCheckNilTrue, e)
  589. case map[float64]uint64:
  590. fastpathTV.EncMapFloat64Uint64V(v, fastpathCheckNilTrue, e)
  591. case *map[float64]uint64:
  592. fastpathTV.EncMapFloat64Uint64V(*v, fastpathCheckNilTrue, e)
  593. case map[float64]uintptr:
  594. fastpathTV.EncMapFloat64UintptrV(v, fastpathCheckNilTrue, e)
  595. case *map[float64]uintptr:
  596. fastpathTV.EncMapFloat64UintptrV(*v, fastpathCheckNilTrue, e)
  597. case map[float64]int:
  598. fastpathTV.EncMapFloat64IntV(v, fastpathCheckNilTrue, e)
  599. case *map[float64]int:
  600. fastpathTV.EncMapFloat64IntV(*v, fastpathCheckNilTrue, e)
  601. case map[float64]int8:
  602. fastpathTV.EncMapFloat64Int8V(v, fastpathCheckNilTrue, e)
  603. case *map[float64]int8:
  604. fastpathTV.EncMapFloat64Int8V(*v, fastpathCheckNilTrue, e)
  605. case map[float64]int16:
  606. fastpathTV.EncMapFloat64Int16V(v, fastpathCheckNilTrue, e)
  607. case *map[float64]int16:
  608. fastpathTV.EncMapFloat64Int16V(*v, fastpathCheckNilTrue, e)
  609. case map[float64]int32:
  610. fastpathTV.EncMapFloat64Int32V(v, fastpathCheckNilTrue, e)
  611. case *map[float64]int32:
  612. fastpathTV.EncMapFloat64Int32V(*v, fastpathCheckNilTrue, e)
  613. case map[float64]int64:
  614. fastpathTV.EncMapFloat64Int64V(v, fastpathCheckNilTrue, e)
  615. case *map[float64]int64:
  616. fastpathTV.EncMapFloat64Int64V(*v, fastpathCheckNilTrue, e)
  617. case map[float64]float32:
  618. fastpathTV.EncMapFloat64Float32V(v, fastpathCheckNilTrue, e)
  619. case *map[float64]float32:
  620. fastpathTV.EncMapFloat64Float32V(*v, fastpathCheckNilTrue, e)
  621. case map[float64]float64:
  622. fastpathTV.EncMapFloat64Float64V(v, fastpathCheckNilTrue, e)
  623. case *map[float64]float64:
  624. fastpathTV.EncMapFloat64Float64V(*v, fastpathCheckNilTrue, e)
  625. case map[float64]bool:
  626. fastpathTV.EncMapFloat64BoolV(v, fastpathCheckNilTrue, e)
  627. case *map[float64]bool:
  628. fastpathTV.EncMapFloat64BoolV(*v, fastpathCheckNilTrue, e)
  629. case []uint:
  630. fastpathTV.EncSliceUintV(v, fastpathCheckNilTrue, e)
  631. case *[]uint:
  632. fastpathTV.EncSliceUintV(*v, fastpathCheckNilTrue, e)
  633. case map[uint]interface{}:
  634. fastpathTV.EncMapUintIntfV(v, fastpathCheckNilTrue, e)
  635. case *map[uint]interface{}:
  636. fastpathTV.EncMapUintIntfV(*v, fastpathCheckNilTrue, e)
  637. case map[uint]string:
  638. fastpathTV.EncMapUintStringV(v, fastpathCheckNilTrue, e)
  639. case *map[uint]string:
  640. fastpathTV.EncMapUintStringV(*v, fastpathCheckNilTrue, e)
  641. case map[uint]uint:
  642. fastpathTV.EncMapUintUintV(v, fastpathCheckNilTrue, e)
  643. case *map[uint]uint:
  644. fastpathTV.EncMapUintUintV(*v, fastpathCheckNilTrue, e)
  645. case map[uint]uint8:
  646. fastpathTV.EncMapUintUint8V(v, fastpathCheckNilTrue, e)
  647. case *map[uint]uint8:
  648. fastpathTV.EncMapUintUint8V(*v, fastpathCheckNilTrue, e)
  649. case map[uint]uint16:
  650. fastpathTV.EncMapUintUint16V(v, fastpathCheckNilTrue, e)
  651. case *map[uint]uint16:
  652. fastpathTV.EncMapUintUint16V(*v, fastpathCheckNilTrue, e)
  653. case map[uint]uint32:
  654. fastpathTV.EncMapUintUint32V(v, fastpathCheckNilTrue, e)
  655. case *map[uint]uint32:
  656. fastpathTV.EncMapUintUint32V(*v, fastpathCheckNilTrue, e)
  657. case map[uint]uint64:
  658. fastpathTV.EncMapUintUint64V(v, fastpathCheckNilTrue, e)
  659. case *map[uint]uint64:
  660. fastpathTV.EncMapUintUint64V(*v, fastpathCheckNilTrue, e)
  661. case map[uint]uintptr:
  662. fastpathTV.EncMapUintUintptrV(v, fastpathCheckNilTrue, e)
  663. case *map[uint]uintptr:
  664. fastpathTV.EncMapUintUintptrV(*v, fastpathCheckNilTrue, e)
  665. case map[uint]int:
  666. fastpathTV.EncMapUintIntV(v, fastpathCheckNilTrue, e)
  667. case *map[uint]int:
  668. fastpathTV.EncMapUintIntV(*v, fastpathCheckNilTrue, e)
  669. case map[uint]int8:
  670. fastpathTV.EncMapUintInt8V(v, fastpathCheckNilTrue, e)
  671. case *map[uint]int8:
  672. fastpathTV.EncMapUintInt8V(*v, fastpathCheckNilTrue, e)
  673. case map[uint]int16:
  674. fastpathTV.EncMapUintInt16V(v, fastpathCheckNilTrue, e)
  675. case *map[uint]int16:
  676. fastpathTV.EncMapUintInt16V(*v, fastpathCheckNilTrue, e)
  677. case map[uint]int32:
  678. fastpathTV.EncMapUintInt32V(v, fastpathCheckNilTrue, e)
  679. case *map[uint]int32:
  680. fastpathTV.EncMapUintInt32V(*v, fastpathCheckNilTrue, e)
  681. case map[uint]int64:
  682. fastpathTV.EncMapUintInt64V(v, fastpathCheckNilTrue, e)
  683. case *map[uint]int64:
  684. fastpathTV.EncMapUintInt64V(*v, fastpathCheckNilTrue, e)
  685. case map[uint]float32:
  686. fastpathTV.EncMapUintFloat32V(v, fastpathCheckNilTrue, e)
  687. case *map[uint]float32:
  688. fastpathTV.EncMapUintFloat32V(*v, fastpathCheckNilTrue, e)
  689. case map[uint]float64:
  690. fastpathTV.EncMapUintFloat64V(v, fastpathCheckNilTrue, e)
  691. case *map[uint]float64:
  692. fastpathTV.EncMapUintFloat64V(*v, fastpathCheckNilTrue, e)
  693. case map[uint]bool:
  694. fastpathTV.EncMapUintBoolV(v, fastpathCheckNilTrue, e)
  695. case *map[uint]bool:
  696. fastpathTV.EncMapUintBoolV(*v, fastpathCheckNilTrue, e)
  697. case map[uint8]interface{}:
  698. fastpathTV.EncMapUint8IntfV(v, fastpathCheckNilTrue, e)
  699. case *map[uint8]interface{}:
  700. fastpathTV.EncMapUint8IntfV(*v, fastpathCheckNilTrue, e)
  701. case map[uint8]string:
  702. fastpathTV.EncMapUint8StringV(v, fastpathCheckNilTrue, e)
  703. case *map[uint8]string:
  704. fastpathTV.EncMapUint8StringV(*v, fastpathCheckNilTrue, e)
  705. case map[uint8]uint:
  706. fastpathTV.EncMapUint8UintV(v, fastpathCheckNilTrue, e)
  707. case *map[uint8]uint:
  708. fastpathTV.EncMapUint8UintV(*v, fastpathCheckNilTrue, e)
  709. case map[uint8]uint8:
  710. fastpathTV.EncMapUint8Uint8V(v, fastpathCheckNilTrue, e)
  711. case *map[uint8]uint8:
  712. fastpathTV.EncMapUint8Uint8V(*v, fastpathCheckNilTrue, e)
  713. case map[uint8]uint16:
  714. fastpathTV.EncMapUint8Uint16V(v, fastpathCheckNilTrue, e)
  715. case *map[uint8]uint16:
  716. fastpathTV.EncMapUint8Uint16V(*v, fastpathCheckNilTrue, e)
  717. case map[uint8]uint32:
  718. fastpathTV.EncMapUint8Uint32V(v, fastpathCheckNilTrue, e)
  719. case *map[uint8]uint32:
  720. fastpathTV.EncMapUint8Uint32V(*v, fastpathCheckNilTrue, e)
  721. case map[uint8]uint64:
  722. fastpathTV.EncMapUint8Uint64V(v, fastpathCheckNilTrue, e)
  723. case *map[uint8]uint64:
  724. fastpathTV.EncMapUint8Uint64V(*v, fastpathCheckNilTrue, e)
  725. case map[uint8]uintptr:
  726. fastpathTV.EncMapUint8UintptrV(v, fastpathCheckNilTrue, e)
  727. case *map[uint8]uintptr:
  728. fastpathTV.EncMapUint8UintptrV(*v, fastpathCheckNilTrue, e)
  729. case map[uint8]int:
  730. fastpathTV.EncMapUint8IntV(v, fastpathCheckNilTrue, e)
  731. case *map[uint8]int:
  732. fastpathTV.EncMapUint8IntV(*v, fastpathCheckNilTrue, e)
  733. case map[uint8]int8:
  734. fastpathTV.EncMapUint8Int8V(v, fastpathCheckNilTrue, e)
  735. case *map[uint8]int8:
  736. fastpathTV.EncMapUint8Int8V(*v, fastpathCheckNilTrue, e)
  737. case map[uint8]int16:
  738. fastpathTV.EncMapUint8Int16V(v, fastpathCheckNilTrue, e)
  739. case *map[uint8]int16:
  740. fastpathTV.EncMapUint8Int16V(*v, fastpathCheckNilTrue, e)
  741. case map[uint8]int32:
  742. fastpathTV.EncMapUint8Int32V(v, fastpathCheckNilTrue, e)
  743. case *map[uint8]int32:
  744. fastpathTV.EncMapUint8Int32V(*v, fastpathCheckNilTrue, e)
  745. case map[uint8]int64:
  746. fastpathTV.EncMapUint8Int64V(v, fastpathCheckNilTrue, e)
  747. case *map[uint8]int64:
  748. fastpathTV.EncMapUint8Int64V(*v, fastpathCheckNilTrue, e)
  749. case map[uint8]float32:
  750. fastpathTV.EncMapUint8Float32V(v, fastpathCheckNilTrue, e)
  751. case *map[uint8]float32:
  752. fastpathTV.EncMapUint8Float32V(*v, fastpathCheckNilTrue, e)
  753. case map[uint8]float64:
  754. fastpathTV.EncMapUint8Float64V(v, fastpathCheckNilTrue, e)
  755. case *map[uint8]float64:
  756. fastpathTV.EncMapUint8Float64V(*v, fastpathCheckNilTrue, e)
  757. case map[uint8]bool:
  758. fastpathTV.EncMapUint8BoolV(v, fastpathCheckNilTrue, e)
  759. case *map[uint8]bool:
  760. fastpathTV.EncMapUint8BoolV(*v, fastpathCheckNilTrue, e)
  761. case []uint16:
  762. fastpathTV.EncSliceUint16V(v, fastpathCheckNilTrue, e)
  763. case *[]uint16:
  764. fastpathTV.EncSliceUint16V(*v, fastpathCheckNilTrue, e)
  765. case map[uint16]interface{}:
  766. fastpathTV.EncMapUint16IntfV(v, fastpathCheckNilTrue, e)
  767. case *map[uint16]interface{}:
  768. fastpathTV.EncMapUint16IntfV(*v, fastpathCheckNilTrue, e)
  769. case map[uint16]string:
  770. fastpathTV.EncMapUint16StringV(v, fastpathCheckNilTrue, e)
  771. case *map[uint16]string:
  772. fastpathTV.EncMapUint16StringV(*v, fastpathCheckNilTrue, e)
  773. case map[uint16]uint:
  774. fastpathTV.EncMapUint16UintV(v, fastpathCheckNilTrue, e)
  775. case *map[uint16]uint:
  776. fastpathTV.EncMapUint16UintV(*v, fastpathCheckNilTrue, e)
  777. case map[uint16]uint8:
  778. fastpathTV.EncMapUint16Uint8V(v, fastpathCheckNilTrue, e)
  779. case *map[uint16]uint8:
  780. fastpathTV.EncMapUint16Uint8V(*v, fastpathCheckNilTrue, e)
  781. case map[uint16]uint16:
  782. fastpathTV.EncMapUint16Uint16V(v, fastpathCheckNilTrue, e)
  783. case *map[uint16]uint16:
  784. fastpathTV.EncMapUint16Uint16V(*v, fastpathCheckNilTrue, e)
  785. case map[uint16]uint32:
  786. fastpathTV.EncMapUint16Uint32V(v, fastpathCheckNilTrue, e)
  787. case *map[uint16]uint32:
  788. fastpathTV.EncMapUint16Uint32V(*v, fastpathCheckNilTrue, e)
  789. case map[uint16]uint64:
  790. fastpathTV.EncMapUint16Uint64V(v, fastpathCheckNilTrue, e)
  791. case *map[uint16]uint64:
  792. fastpathTV.EncMapUint16Uint64V(*v, fastpathCheckNilTrue, e)
  793. case map[uint16]uintptr:
  794. fastpathTV.EncMapUint16UintptrV(v, fastpathCheckNilTrue, e)
  795. case *map[uint16]uintptr:
  796. fastpathTV.EncMapUint16UintptrV(*v, fastpathCheckNilTrue, e)
  797. case map[uint16]int:
  798. fastpathTV.EncMapUint16IntV(v, fastpathCheckNilTrue, e)
  799. case *map[uint16]int:
  800. fastpathTV.EncMapUint16IntV(*v, fastpathCheckNilTrue, e)
  801. case map[uint16]int8:
  802. fastpathTV.EncMapUint16Int8V(v, fastpathCheckNilTrue, e)
  803. case *map[uint16]int8:
  804. fastpathTV.EncMapUint16Int8V(*v, fastpathCheckNilTrue, e)
  805. case map[uint16]int16:
  806. fastpathTV.EncMapUint16Int16V(v, fastpathCheckNilTrue, e)
  807. case *map[uint16]int16:
  808. fastpathTV.EncMapUint16Int16V(*v, fastpathCheckNilTrue, e)
  809. case map[uint16]int32:
  810. fastpathTV.EncMapUint16Int32V(v, fastpathCheckNilTrue, e)
  811. case *map[uint16]int32:
  812. fastpathTV.EncMapUint16Int32V(*v, fastpathCheckNilTrue, e)
  813. case map[uint16]int64:
  814. fastpathTV.EncMapUint16Int64V(v, fastpathCheckNilTrue, e)
  815. case *map[uint16]int64:
  816. fastpathTV.EncMapUint16Int64V(*v, fastpathCheckNilTrue, e)
  817. case map[uint16]float32:
  818. fastpathTV.EncMapUint16Float32V(v, fastpathCheckNilTrue, e)
  819. case *map[uint16]float32:
  820. fastpathTV.EncMapUint16Float32V(*v, fastpathCheckNilTrue, e)
  821. case map[uint16]float64:
  822. fastpathTV.EncMapUint16Float64V(v, fastpathCheckNilTrue, e)
  823. case *map[uint16]float64:
  824. fastpathTV.EncMapUint16Float64V(*v, fastpathCheckNilTrue, e)
  825. case map[uint16]bool:
  826. fastpathTV.EncMapUint16BoolV(v, fastpathCheckNilTrue, e)
  827. case *map[uint16]bool:
  828. fastpathTV.EncMapUint16BoolV(*v, fastpathCheckNilTrue, e)
  829. case []uint32:
  830. fastpathTV.EncSliceUint32V(v, fastpathCheckNilTrue, e)
  831. case *[]uint32:
  832. fastpathTV.EncSliceUint32V(*v, fastpathCheckNilTrue, e)
  833. case map[uint32]interface{}:
  834. fastpathTV.EncMapUint32IntfV(v, fastpathCheckNilTrue, e)
  835. case *map[uint32]interface{}:
  836. fastpathTV.EncMapUint32IntfV(*v, fastpathCheckNilTrue, e)
  837. case map[uint32]string:
  838. fastpathTV.EncMapUint32StringV(v, fastpathCheckNilTrue, e)
  839. case *map[uint32]string:
  840. fastpathTV.EncMapUint32StringV(*v, fastpathCheckNilTrue, e)
  841. case map[uint32]uint:
  842. fastpathTV.EncMapUint32UintV(v, fastpathCheckNilTrue, e)
  843. case *map[uint32]uint:
  844. fastpathTV.EncMapUint32UintV(*v, fastpathCheckNilTrue, e)
  845. case map[uint32]uint8:
  846. fastpathTV.EncMapUint32Uint8V(v, fastpathCheckNilTrue, e)
  847. case *map[uint32]uint8:
  848. fastpathTV.EncMapUint32Uint8V(*v, fastpathCheckNilTrue, e)
  849. case map[uint32]uint16:
  850. fastpathTV.EncMapUint32Uint16V(v, fastpathCheckNilTrue, e)
  851. case *map[uint32]uint16:
  852. fastpathTV.EncMapUint32Uint16V(*v, fastpathCheckNilTrue, e)
  853. case map[uint32]uint32:
  854. fastpathTV.EncMapUint32Uint32V(v, fastpathCheckNilTrue, e)
  855. case *map[uint32]uint32:
  856. fastpathTV.EncMapUint32Uint32V(*v, fastpathCheckNilTrue, e)
  857. case map[uint32]uint64:
  858. fastpathTV.EncMapUint32Uint64V(v, fastpathCheckNilTrue, e)
  859. case *map[uint32]uint64:
  860. fastpathTV.EncMapUint32Uint64V(*v, fastpathCheckNilTrue, e)
  861. case map[uint32]uintptr:
  862. fastpathTV.EncMapUint32UintptrV(v, fastpathCheckNilTrue, e)
  863. case *map[uint32]uintptr:
  864. fastpathTV.EncMapUint32UintptrV(*v, fastpathCheckNilTrue, e)
  865. case map[uint32]int:
  866. fastpathTV.EncMapUint32IntV(v, fastpathCheckNilTrue, e)
  867. case *map[uint32]int:
  868. fastpathTV.EncMapUint32IntV(*v, fastpathCheckNilTrue, e)
  869. case map[uint32]int8:
  870. fastpathTV.EncMapUint32Int8V(v, fastpathCheckNilTrue, e)
  871. case *map[uint32]int8:
  872. fastpathTV.EncMapUint32Int8V(*v, fastpathCheckNilTrue, e)
  873. case map[uint32]int16:
  874. fastpathTV.EncMapUint32Int16V(v, fastpathCheckNilTrue, e)
  875. case *map[uint32]int16:
  876. fastpathTV.EncMapUint32Int16V(*v, fastpathCheckNilTrue, e)
  877. case map[uint32]int32:
  878. fastpathTV.EncMapUint32Int32V(v, fastpathCheckNilTrue, e)
  879. case *map[uint32]int32:
  880. fastpathTV.EncMapUint32Int32V(*v, fastpathCheckNilTrue, e)
  881. case map[uint32]int64:
  882. fastpathTV.EncMapUint32Int64V(v, fastpathCheckNilTrue, e)
  883. case *map[uint32]int64:
  884. fastpathTV.EncMapUint32Int64V(*v, fastpathCheckNilTrue, e)
  885. case map[uint32]float32:
  886. fastpathTV.EncMapUint32Float32V(v, fastpathCheckNilTrue, e)
  887. case *map[uint32]float32:
  888. fastpathTV.EncMapUint32Float32V(*v, fastpathCheckNilTrue, e)
  889. case map[uint32]float64:
  890. fastpathTV.EncMapUint32Float64V(v, fastpathCheckNilTrue, e)
  891. case *map[uint32]float64:
  892. fastpathTV.EncMapUint32Float64V(*v, fastpathCheckNilTrue, e)
  893. case map[uint32]bool:
  894. fastpathTV.EncMapUint32BoolV(v, fastpathCheckNilTrue, e)
  895. case *map[uint32]bool:
  896. fastpathTV.EncMapUint32BoolV(*v, fastpathCheckNilTrue, e)
  897. case []uint64:
  898. fastpathTV.EncSliceUint64V(v, fastpathCheckNilTrue, e)
  899. case *[]uint64:
  900. fastpathTV.EncSliceUint64V(*v, fastpathCheckNilTrue, e)
  901. case map[uint64]interface{}:
  902. fastpathTV.EncMapUint64IntfV(v, fastpathCheckNilTrue, e)
  903. case *map[uint64]interface{}:
  904. fastpathTV.EncMapUint64IntfV(*v, fastpathCheckNilTrue, e)
  905. case map[uint64]string:
  906. fastpathTV.EncMapUint64StringV(v, fastpathCheckNilTrue, e)
  907. case *map[uint64]string:
  908. fastpathTV.EncMapUint64StringV(*v, fastpathCheckNilTrue, e)
  909. case map[uint64]uint:
  910. fastpathTV.EncMapUint64UintV(v, fastpathCheckNilTrue, e)
  911. case *map[uint64]uint:
  912. fastpathTV.EncMapUint64UintV(*v, fastpathCheckNilTrue, e)
  913. case map[uint64]uint8:
  914. fastpathTV.EncMapUint64Uint8V(v, fastpathCheckNilTrue, e)
  915. case *map[uint64]uint8:
  916. fastpathTV.EncMapUint64Uint8V(*v, fastpathCheckNilTrue, e)
  917. case map[uint64]uint16:
  918. fastpathTV.EncMapUint64Uint16V(v, fastpathCheckNilTrue, e)
  919. case *map[uint64]uint16:
  920. fastpathTV.EncMapUint64Uint16V(*v, fastpathCheckNilTrue, e)
  921. case map[uint64]uint32:
  922. fastpathTV.EncMapUint64Uint32V(v, fastpathCheckNilTrue, e)
  923. case *map[uint64]uint32:
  924. fastpathTV.EncMapUint64Uint32V(*v, fastpathCheckNilTrue, e)
  925. case map[uint64]uint64:
  926. fastpathTV.EncMapUint64Uint64V(v, fastpathCheckNilTrue, e)
  927. case *map[uint64]uint64:
  928. fastpathTV.EncMapUint64Uint64V(*v, fastpathCheckNilTrue, e)
  929. case map[uint64]uintptr:
  930. fastpathTV.EncMapUint64UintptrV(v, fastpathCheckNilTrue, e)
  931. case *map[uint64]uintptr:
  932. fastpathTV.EncMapUint64UintptrV(*v, fastpathCheckNilTrue, e)
  933. case map[uint64]int:
  934. fastpathTV.EncMapUint64IntV(v, fastpathCheckNilTrue, e)
  935. case *map[uint64]int:
  936. fastpathTV.EncMapUint64IntV(*v, fastpathCheckNilTrue, e)
  937. case map[uint64]int8:
  938. fastpathTV.EncMapUint64Int8V(v, fastpathCheckNilTrue, e)
  939. case *map[uint64]int8:
  940. fastpathTV.EncMapUint64Int8V(*v, fastpathCheckNilTrue, e)
  941. case map[uint64]int16:
  942. fastpathTV.EncMapUint64Int16V(v, fastpathCheckNilTrue, e)
  943. case *map[uint64]int16:
  944. fastpathTV.EncMapUint64Int16V(*v, fastpathCheckNilTrue, e)
  945. case map[uint64]int32:
  946. fastpathTV.EncMapUint64Int32V(v, fastpathCheckNilTrue, e)
  947. case *map[uint64]int32:
  948. fastpathTV.EncMapUint64Int32V(*v, fastpathCheckNilTrue, e)
  949. case map[uint64]int64:
  950. fastpathTV.EncMapUint64Int64V(v, fastpathCheckNilTrue, e)
  951. case *map[uint64]int64:
  952. fastpathTV.EncMapUint64Int64V(*v, fastpathCheckNilTrue, e)
  953. case map[uint64]float32:
  954. fastpathTV.EncMapUint64Float32V(v, fastpathCheckNilTrue, e)
  955. case *map[uint64]float32:
  956. fastpathTV.EncMapUint64Float32V(*v, fastpathCheckNilTrue, e)
  957. case map[uint64]float64:
  958. fastpathTV.EncMapUint64Float64V(v, fastpathCheckNilTrue, e)
  959. case *map[uint64]float64:
  960. fastpathTV.EncMapUint64Float64V(*v, fastpathCheckNilTrue, e)
  961. case map[uint64]bool:
  962. fastpathTV.EncMapUint64BoolV(v, fastpathCheckNilTrue, e)
  963. case *map[uint64]bool:
  964. fastpathTV.EncMapUint64BoolV(*v, fastpathCheckNilTrue, e)
  965. case []uintptr:
  966. fastpathTV.EncSliceUintptrV(v, fastpathCheckNilTrue, e)
  967. case *[]uintptr:
  968. fastpathTV.EncSliceUintptrV(*v, fastpathCheckNilTrue, e)
  969. case map[uintptr]interface{}:
  970. fastpathTV.EncMapUintptrIntfV(v, fastpathCheckNilTrue, e)
  971. case *map[uintptr]interface{}:
  972. fastpathTV.EncMapUintptrIntfV(*v, fastpathCheckNilTrue, e)
  973. case map[uintptr]string:
  974. fastpathTV.EncMapUintptrStringV(v, fastpathCheckNilTrue, e)
  975. case *map[uintptr]string:
  976. fastpathTV.EncMapUintptrStringV(*v, fastpathCheckNilTrue, e)
  977. case map[uintptr]uint:
  978. fastpathTV.EncMapUintptrUintV(v, fastpathCheckNilTrue, e)
  979. case *map[uintptr]uint:
  980. fastpathTV.EncMapUintptrUintV(*v, fastpathCheckNilTrue, e)
  981. case map[uintptr]uint8:
  982. fastpathTV.EncMapUintptrUint8V(v, fastpathCheckNilTrue, e)
  983. case *map[uintptr]uint8:
  984. fastpathTV.EncMapUintptrUint8V(*v, fastpathCheckNilTrue, e)
  985. case map[uintptr]uint16:
  986. fastpathTV.EncMapUintptrUint16V(v, fastpathCheckNilTrue, e)
  987. case *map[uintptr]uint16:
  988. fastpathTV.EncMapUintptrUint16V(*v, fastpathCheckNilTrue, e)
  989. case map[uintptr]uint32:
  990. fastpathTV.EncMapUintptrUint32V(v, fastpathCheckNilTrue, e)
  991. case *map[uintptr]uint32:
  992. fastpathTV.EncMapUintptrUint32V(*v, fastpathCheckNilTrue, e)
  993. case map[uintptr]uint64:
  994. fastpathTV.EncMapUintptrUint64V(v, fastpathCheckNilTrue, e)
  995. case *map[uintptr]uint64:
  996. fastpathTV.EncMapUintptrUint64V(*v, fastpathCheckNilTrue, e)
  997. case map[uintptr]uintptr:
  998. fastpathTV.EncMapUintptrUintptrV(v, fastpathCheckNilTrue, e)
  999. case *map[uintptr]uintptr:
  1000. fastpathTV.EncMapUintptrUintptrV(*v, fastpathCheckNilTrue, e)
  1001. case map[uintptr]int:
  1002. fastpathTV.EncMapUintptrIntV(v, fastpathCheckNilTrue, e)
  1003. case *map[uintptr]int:
  1004. fastpathTV.EncMapUintptrIntV(*v, fastpathCheckNilTrue, e)
  1005. case map[uintptr]int8:
  1006. fastpathTV.EncMapUintptrInt8V(v, fastpathCheckNilTrue, e)
  1007. case *map[uintptr]int8:
  1008. fastpathTV.EncMapUintptrInt8V(*v, fastpathCheckNilTrue, e)
  1009. case map[uintptr]int16:
  1010. fastpathTV.EncMapUintptrInt16V(v, fastpathCheckNilTrue, e)
  1011. case *map[uintptr]int16:
  1012. fastpathTV.EncMapUintptrInt16V(*v, fastpathCheckNilTrue, e)
  1013. case map[uintptr]int32:
  1014. fastpathTV.EncMapUintptrInt32V(v, fastpathCheckNilTrue, e)
  1015. case *map[uintptr]int32:
  1016. fastpathTV.EncMapUintptrInt32V(*v, fastpathCheckNilTrue, e)
  1017. case map[uintptr]int64:
  1018. fastpathTV.EncMapUintptrInt64V(v, fastpathCheckNilTrue, e)
  1019. case *map[uintptr]int64:
  1020. fastpathTV.EncMapUintptrInt64V(*v, fastpathCheckNilTrue, e)
  1021. case map[uintptr]float32:
  1022. fastpathTV.EncMapUintptrFloat32V(v, fastpathCheckNilTrue, e)
  1023. case *map[uintptr]float32:
  1024. fastpathTV.EncMapUintptrFloat32V(*v, fastpathCheckNilTrue, e)
  1025. case map[uintptr]float64:
  1026. fastpathTV.EncMapUintptrFloat64V(v, fastpathCheckNilTrue, e)
  1027. case *map[uintptr]float64:
  1028. fastpathTV.EncMapUintptrFloat64V(*v, fastpathCheckNilTrue, e)
  1029. case map[uintptr]bool:
  1030. fastpathTV.EncMapUintptrBoolV(v, fastpathCheckNilTrue, e)
  1031. case *map[uintptr]bool:
  1032. fastpathTV.EncMapUintptrBoolV(*v, fastpathCheckNilTrue, e)
  1033. case []int:
  1034. fastpathTV.EncSliceIntV(v, fastpathCheckNilTrue, e)
  1035. case *[]int:
  1036. fastpathTV.EncSliceIntV(*v, fastpathCheckNilTrue, e)
  1037. case map[int]interface{}:
  1038. fastpathTV.EncMapIntIntfV(v, fastpathCheckNilTrue, e)
  1039. case *map[int]interface{}:
  1040. fastpathTV.EncMapIntIntfV(*v, fastpathCheckNilTrue, e)
  1041. case map[int]string:
  1042. fastpathTV.EncMapIntStringV(v, fastpathCheckNilTrue, e)
  1043. case *map[int]string:
  1044. fastpathTV.EncMapIntStringV(*v, fastpathCheckNilTrue, e)
  1045. case map[int]uint:
  1046. fastpathTV.EncMapIntUintV(v, fastpathCheckNilTrue, e)
  1047. case *map[int]uint:
  1048. fastpathTV.EncMapIntUintV(*v, fastpathCheckNilTrue, e)
  1049. case map[int]uint8:
  1050. fastpathTV.EncMapIntUint8V(v, fastpathCheckNilTrue, e)
  1051. case *map[int]uint8:
  1052. fastpathTV.EncMapIntUint8V(*v, fastpathCheckNilTrue, e)
  1053. case map[int]uint16:
  1054. fastpathTV.EncMapIntUint16V(v, fastpathCheckNilTrue, e)
  1055. case *map[int]uint16:
  1056. fastpathTV.EncMapIntUint16V(*v, fastpathCheckNilTrue, e)
  1057. case map[int]uint32:
  1058. fastpathTV.EncMapIntUint32V(v, fastpathCheckNilTrue, e)
  1059. case *map[int]uint32:
  1060. fastpathTV.EncMapIntUint32V(*v, fastpathCheckNilTrue, e)
  1061. case map[int]uint64:
  1062. fastpathTV.EncMapIntUint64V(v, fastpathCheckNilTrue, e)
  1063. case *map[int]uint64:
  1064. fastpathTV.EncMapIntUint64V(*v, fastpathCheckNilTrue, e)
  1065. case map[int]uintptr:
  1066. fastpathTV.EncMapIntUintptrV(v, fastpathCheckNilTrue, e)
  1067. case *map[int]uintptr:
  1068. fastpathTV.EncMapIntUintptrV(*v, fastpathCheckNilTrue, e)
  1069. case map[int]int:
  1070. fastpathTV.EncMapIntIntV(v, fastpathCheckNilTrue, e)
  1071. case *map[int]int:
  1072. fastpathTV.EncMapIntIntV(*v, fastpathCheckNilTrue, e)
  1073. case map[int]int8:
  1074. fastpathTV.EncMapIntInt8V(v, fastpathCheckNilTrue, e)
  1075. case *map[int]int8:
  1076. fastpathTV.EncMapIntInt8V(*v, fastpathCheckNilTrue, e)
  1077. case map[int]int16:
  1078. fastpathTV.EncMapIntInt16V(v, fastpathCheckNilTrue, e)
  1079. case *map[int]int16:
  1080. fastpathTV.EncMapIntInt16V(*v, fastpathCheckNilTrue, e)
  1081. case map[int]int32:
  1082. fastpathTV.EncMapIntInt32V(v, fastpathCheckNilTrue, e)
  1083. case *map[int]int32:
  1084. fastpathTV.EncMapIntInt32V(*v, fastpathCheckNilTrue, e)
  1085. case map[int]int64:
  1086. fastpathTV.EncMapIntInt64V(v, fastpathCheckNilTrue, e)
  1087. case *map[int]int64:
  1088. fastpathTV.EncMapIntInt64V(*v, fastpathCheckNilTrue, e)
  1089. case map[int]float32:
  1090. fastpathTV.EncMapIntFloat32V(v, fastpathCheckNilTrue, e)
  1091. case *map[int]float32:
  1092. fastpathTV.EncMapIntFloat32V(*v, fastpathCheckNilTrue, e)
  1093. case map[int]float64:
  1094. fastpathTV.EncMapIntFloat64V(v, fastpathCheckNilTrue, e)
  1095. case *map[int]float64:
  1096. fastpathTV.EncMapIntFloat64V(*v, fastpathCheckNilTrue, e)
  1097. case map[int]bool:
  1098. fastpathTV.EncMapIntBoolV(v, fastpathCheckNilTrue, e)
  1099. case *map[int]bool:
  1100. fastpathTV.EncMapIntBoolV(*v, fastpathCheckNilTrue, e)
  1101. case []int8:
  1102. fastpathTV.EncSliceInt8V(v, fastpathCheckNilTrue, e)
  1103. case *[]int8:
  1104. fastpathTV.EncSliceInt8V(*v, fastpathCheckNilTrue, e)
  1105. case map[int8]interface{}:
  1106. fastpathTV.EncMapInt8IntfV(v, fastpathCheckNilTrue, e)
  1107. case *map[int8]interface{}:
  1108. fastpathTV.EncMapInt8IntfV(*v, fastpathCheckNilTrue, e)
  1109. case map[int8]string:
  1110. fastpathTV.EncMapInt8StringV(v, fastpathCheckNilTrue, e)
  1111. case *map[int8]string:
  1112. fastpathTV.EncMapInt8StringV(*v, fastpathCheckNilTrue, e)
  1113. case map[int8]uint:
  1114. fastpathTV.EncMapInt8UintV(v, fastpathCheckNilTrue, e)
  1115. case *map[int8]uint:
  1116. fastpathTV.EncMapInt8UintV(*v, fastpathCheckNilTrue, e)
  1117. case map[int8]uint8:
  1118. fastpathTV.EncMapInt8Uint8V(v, fastpathCheckNilTrue, e)
  1119. case *map[int8]uint8:
  1120. fastpathTV.EncMapInt8Uint8V(*v, fastpathCheckNilTrue, e)
  1121. case map[int8]uint16:
  1122. fastpathTV.EncMapInt8Uint16V(v, fastpathCheckNilTrue, e)
  1123. case *map[int8]uint16:
  1124. fastpathTV.EncMapInt8Uint16V(*v, fastpathCheckNilTrue, e)
  1125. case map[int8]uint32:
  1126. fastpathTV.EncMapInt8Uint32V(v, fastpathCheckNilTrue, e)
  1127. case *map[int8]uint32:
  1128. fastpathTV.EncMapInt8Uint32V(*v, fastpathCheckNilTrue, e)
  1129. case map[int8]uint64:
  1130. fastpathTV.EncMapInt8Uint64V(v, fastpathCheckNilTrue, e)
  1131. case *map[int8]uint64:
  1132. fastpathTV.EncMapInt8Uint64V(*v, fastpathCheckNilTrue, e)
  1133. case map[int8]uintptr:
  1134. fastpathTV.EncMapInt8UintptrV(v, fastpathCheckNilTrue, e)
  1135. case *map[int8]uintptr:
  1136. fastpathTV.EncMapInt8UintptrV(*v, fastpathCheckNilTrue, e)
  1137. case map[int8]int:
  1138. fastpathTV.EncMapInt8IntV(v, fastpathCheckNilTrue, e)
  1139. case *map[int8]int:
  1140. fastpathTV.EncMapInt8IntV(*v, fastpathCheckNilTrue, e)
  1141. case map[int8]int8:
  1142. fastpathTV.EncMapInt8Int8V(v, fastpathCheckNilTrue, e)
  1143. case *map[int8]int8:
  1144. fastpathTV.EncMapInt8Int8V(*v, fastpathCheckNilTrue, e)
  1145. case map[int8]int16:
  1146. fastpathTV.EncMapInt8Int16V(v, fastpathCheckNilTrue, e)
  1147. case *map[int8]int16:
  1148. fastpathTV.EncMapInt8Int16V(*v, fastpathCheckNilTrue, e)
  1149. case map[int8]int32:
  1150. fastpathTV.EncMapInt8Int32V(v, fastpathCheckNilTrue, e)
  1151. case *map[int8]int32:
  1152. fastpathTV.EncMapInt8Int32V(*v, fastpathCheckNilTrue, e)
  1153. case map[int8]int64:
  1154. fastpathTV.EncMapInt8Int64V(v, fastpathCheckNilTrue, e)
  1155. case *map[int8]int64:
  1156. fastpathTV.EncMapInt8Int64V(*v, fastpathCheckNilTrue, e)
  1157. case map[int8]float32:
  1158. fastpathTV.EncMapInt8Float32V(v, fastpathCheckNilTrue, e)
  1159. case *map[int8]float32:
  1160. fastpathTV.EncMapInt8Float32V(*v, fastpathCheckNilTrue, e)
  1161. case map[int8]float64:
  1162. fastpathTV.EncMapInt8Float64V(v, fastpathCheckNilTrue, e)
  1163. case *map[int8]float64:
  1164. fastpathTV.EncMapInt8Float64V(*v, fastpathCheckNilTrue, e)
  1165. case map[int8]bool:
  1166. fastpathTV.EncMapInt8BoolV(v, fastpathCheckNilTrue, e)
  1167. case *map[int8]bool:
  1168. fastpathTV.EncMapInt8BoolV(*v, fastpathCheckNilTrue, e)
  1169. case []int16:
  1170. fastpathTV.EncSliceInt16V(v, fastpathCheckNilTrue, e)
  1171. case *[]int16:
  1172. fastpathTV.EncSliceInt16V(*v, fastpathCheckNilTrue, e)
  1173. case map[int16]interface{}:
  1174. fastpathTV.EncMapInt16IntfV(v, fastpathCheckNilTrue, e)
  1175. case *map[int16]interface{}:
  1176. fastpathTV.EncMapInt16IntfV(*v, fastpathCheckNilTrue, e)
  1177. case map[int16]string:
  1178. fastpathTV.EncMapInt16StringV(v, fastpathCheckNilTrue, e)
  1179. case *map[int16]string:
  1180. fastpathTV.EncMapInt16StringV(*v, fastpathCheckNilTrue, e)
  1181. case map[int16]uint:
  1182. fastpathTV.EncMapInt16UintV(v, fastpathCheckNilTrue, e)
  1183. case *map[int16]uint:
  1184. fastpathTV.EncMapInt16UintV(*v, fastpathCheckNilTrue, e)
  1185. case map[int16]uint8:
  1186. fastpathTV.EncMapInt16Uint8V(v, fastpathCheckNilTrue, e)
  1187. case *map[int16]uint8:
  1188. fastpathTV.EncMapInt16Uint8V(*v, fastpathCheckNilTrue, e)
  1189. case map[int16]uint16:
  1190. fastpathTV.EncMapInt16Uint16V(v, fastpathCheckNilTrue, e)
  1191. case *map[int16]uint16:
  1192. fastpathTV.EncMapInt16Uint16V(*v, fastpathCheckNilTrue, e)
  1193. case map[int16]uint32:
  1194. fastpathTV.EncMapInt16Uint32V(v, fastpathCheckNilTrue, e)
  1195. case *map[int16]uint32:
  1196. fastpathTV.EncMapInt16Uint32V(*v, fastpathCheckNilTrue, e)
  1197. case map[int16]uint64:
  1198. fastpathTV.EncMapInt16Uint64V(v, fastpathCheckNilTrue, e)
  1199. case *map[int16]uint64:
  1200. fastpathTV.EncMapInt16Uint64V(*v, fastpathCheckNilTrue, e)
  1201. case map[int16]uintptr:
  1202. fastpathTV.EncMapInt16UintptrV(v, fastpathCheckNilTrue, e)
  1203. case *map[int16]uintptr:
  1204. fastpathTV.EncMapInt16UintptrV(*v, fastpathCheckNilTrue, e)
  1205. case map[int16]int:
  1206. fastpathTV.EncMapInt16IntV(v, fastpathCheckNilTrue, e)
  1207. case *map[int16]int:
  1208. fastpathTV.EncMapInt16IntV(*v, fastpathCheckNilTrue, e)
  1209. case map[int16]int8:
  1210. fastpathTV.EncMapInt16Int8V(v, fastpathCheckNilTrue, e)
  1211. case *map[int16]int8:
  1212. fastpathTV.EncMapInt16Int8V(*v, fastpathCheckNilTrue, e)
  1213. case map[int16]int16:
  1214. fastpathTV.EncMapInt16Int16V(v, fastpathCheckNilTrue, e)
  1215. case *map[int16]int16:
  1216. fastpathTV.EncMapInt16Int16V(*v, fastpathCheckNilTrue, e)
  1217. case map[int16]int32:
  1218. fastpathTV.EncMapInt16Int32V(v, fastpathCheckNilTrue, e)
  1219. case *map[int16]int32:
  1220. fastpathTV.EncMapInt16Int32V(*v, fastpathCheckNilTrue, e)
  1221. case map[int16]int64:
  1222. fastpathTV.EncMapInt16Int64V(v, fastpathCheckNilTrue, e)
  1223. case *map[int16]int64:
  1224. fastpathTV.EncMapInt16Int64V(*v, fastpathCheckNilTrue, e)
  1225. case map[int16]float32:
  1226. fastpathTV.EncMapInt16Float32V(v, fastpathCheckNilTrue, e)
  1227. case *map[int16]float32:
  1228. fastpathTV.EncMapInt16Float32V(*v, fastpathCheckNilTrue, e)
  1229. case map[int16]float64:
  1230. fastpathTV.EncMapInt16Float64V(v, fastpathCheckNilTrue, e)
  1231. case *map[int16]float64:
  1232. fastpathTV.EncMapInt16Float64V(*v, fastpathCheckNilTrue, e)
  1233. case map[int16]bool:
  1234. fastpathTV.EncMapInt16BoolV(v, fastpathCheckNilTrue, e)
  1235. case *map[int16]bool:
  1236. fastpathTV.EncMapInt16BoolV(*v, fastpathCheckNilTrue, e)
  1237. case []int32:
  1238. fastpathTV.EncSliceInt32V(v, fastpathCheckNilTrue, e)
  1239. case *[]int32:
  1240. fastpathTV.EncSliceInt32V(*v, fastpathCheckNilTrue, e)
  1241. case map[int32]interface{}:
  1242. fastpathTV.EncMapInt32IntfV(v, fastpathCheckNilTrue, e)
  1243. case *map[int32]interface{}:
  1244. fastpathTV.EncMapInt32IntfV(*v, fastpathCheckNilTrue, e)
  1245. case map[int32]string:
  1246. fastpathTV.EncMapInt32StringV(v, fastpathCheckNilTrue, e)
  1247. case *map[int32]string:
  1248. fastpathTV.EncMapInt32StringV(*v, fastpathCheckNilTrue, e)
  1249. case map[int32]uint:
  1250. fastpathTV.EncMapInt32UintV(v, fastpathCheckNilTrue, e)
  1251. case *map[int32]uint:
  1252. fastpathTV.EncMapInt32UintV(*v, fastpathCheckNilTrue, e)
  1253. case map[int32]uint8:
  1254. fastpathTV.EncMapInt32Uint8V(v, fastpathCheckNilTrue, e)
  1255. case *map[int32]uint8:
  1256. fastpathTV.EncMapInt32Uint8V(*v, fastpathCheckNilTrue, e)
  1257. case map[int32]uint16:
  1258. fastpathTV.EncMapInt32Uint16V(v, fastpathCheckNilTrue, e)
  1259. case *map[int32]uint16:
  1260. fastpathTV.EncMapInt32Uint16V(*v, fastpathCheckNilTrue, e)
  1261. case map[int32]uint32:
  1262. fastpathTV.EncMapInt32Uint32V(v, fastpathCheckNilTrue, e)
  1263. case *map[int32]uint32:
  1264. fastpathTV.EncMapInt32Uint32V(*v, fastpathCheckNilTrue, e)
  1265. case map[int32]uint64:
  1266. fastpathTV.EncMapInt32Uint64V(v, fastpathCheckNilTrue, e)
  1267. case *map[int32]uint64:
  1268. fastpathTV.EncMapInt32Uint64V(*v, fastpathCheckNilTrue, e)
  1269. case map[int32]uintptr:
  1270. fastpathTV.EncMapInt32UintptrV(v, fastpathCheckNilTrue, e)
  1271. case *map[int32]uintptr:
  1272. fastpathTV.EncMapInt32UintptrV(*v, fastpathCheckNilTrue, e)
  1273. case map[int32]int:
  1274. fastpathTV.EncMapInt32IntV(v, fastpathCheckNilTrue, e)
  1275. case *map[int32]int:
  1276. fastpathTV.EncMapInt32IntV(*v, fastpathCheckNilTrue, e)
  1277. case map[int32]int8:
  1278. fastpathTV.EncMapInt32Int8V(v, fastpathCheckNilTrue, e)
  1279. case *map[int32]int8:
  1280. fastpathTV.EncMapInt32Int8V(*v, fastpathCheckNilTrue, e)
  1281. case map[int32]int16:
  1282. fastpathTV.EncMapInt32Int16V(v, fastpathCheckNilTrue, e)
  1283. case *map[int32]int16:
  1284. fastpathTV.EncMapInt32Int16V(*v, fastpathCheckNilTrue, e)
  1285. case map[int32]int32:
  1286. fastpathTV.EncMapInt32Int32V(v, fastpathCheckNilTrue, e)
  1287. case *map[int32]int32:
  1288. fastpathTV.EncMapInt32Int32V(*v, fastpathCheckNilTrue, e)
  1289. case map[int32]int64:
  1290. fastpathTV.EncMapInt32Int64V(v, fastpathCheckNilTrue, e)
  1291. case *map[int32]int64:
  1292. fastpathTV.EncMapInt32Int64V(*v, fastpathCheckNilTrue, e)
  1293. case map[int32]float32:
  1294. fastpathTV.EncMapInt32Float32V(v, fastpathCheckNilTrue, e)
  1295. case *map[int32]float32:
  1296. fastpathTV.EncMapInt32Float32V(*v, fastpathCheckNilTrue, e)
  1297. case map[int32]float64:
  1298. fastpathTV.EncMapInt32Float64V(v, fastpathCheckNilTrue, e)
  1299. case *map[int32]float64:
  1300. fastpathTV.EncMapInt32Float64V(*v, fastpathCheckNilTrue, e)
  1301. case map[int32]bool:
  1302. fastpathTV.EncMapInt32BoolV(v, fastpathCheckNilTrue, e)
  1303. case *map[int32]bool:
  1304. fastpathTV.EncMapInt32BoolV(*v, fastpathCheckNilTrue, e)
  1305. case []int64:
  1306. fastpathTV.EncSliceInt64V(v, fastpathCheckNilTrue, e)
  1307. case *[]int64:
  1308. fastpathTV.EncSliceInt64V(*v, fastpathCheckNilTrue, e)
  1309. case map[int64]interface{}:
  1310. fastpathTV.EncMapInt64IntfV(v, fastpathCheckNilTrue, e)
  1311. case *map[int64]interface{}:
  1312. fastpathTV.EncMapInt64IntfV(*v, fastpathCheckNilTrue, e)
  1313. case map[int64]string:
  1314. fastpathTV.EncMapInt64StringV(v, fastpathCheckNilTrue, e)
  1315. case *map[int64]string:
  1316. fastpathTV.EncMapInt64StringV(*v, fastpathCheckNilTrue, e)
  1317. case map[int64]uint:
  1318. fastpathTV.EncMapInt64UintV(v, fastpathCheckNilTrue, e)
  1319. case *map[int64]uint:
  1320. fastpathTV.EncMapInt64UintV(*v, fastpathCheckNilTrue, e)
  1321. case map[int64]uint8:
  1322. fastpathTV.EncMapInt64Uint8V(v, fastpathCheckNilTrue, e)
  1323. case *map[int64]uint8:
  1324. fastpathTV.EncMapInt64Uint8V(*v, fastpathCheckNilTrue, e)
  1325. case map[int64]uint16:
  1326. fastpathTV.EncMapInt64Uint16V(v, fastpathCheckNilTrue, e)
  1327. case *map[int64]uint16:
  1328. fastpathTV.EncMapInt64Uint16V(*v, fastpathCheckNilTrue, e)
  1329. case map[int64]uint32:
  1330. fastpathTV.EncMapInt64Uint32V(v, fastpathCheckNilTrue, e)
  1331. case *map[int64]uint32:
  1332. fastpathTV.EncMapInt64Uint32V(*v, fastpathCheckNilTrue, e)
  1333. case map[int64]uint64:
  1334. fastpathTV.EncMapInt64Uint64V(v, fastpathCheckNilTrue, e)
  1335. case *map[int64]uint64:
  1336. fastpathTV.EncMapInt64Uint64V(*v, fastpathCheckNilTrue, e)
  1337. case map[int64]uintptr:
  1338. fastpathTV.EncMapInt64UintptrV(v, fastpathCheckNilTrue, e)
  1339. case *map[int64]uintptr:
  1340. fastpathTV.EncMapInt64UintptrV(*v, fastpathCheckNilTrue, e)
  1341. case map[int64]int:
  1342. fastpathTV.EncMapInt64IntV(v, fastpathCheckNilTrue, e)
  1343. case *map[int64]int:
  1344. fastpathTV.EncMapInt64IntV(*v, fastpathCheckNilTrue, e)
  1345. case map[int64]int8:
  1346. fastpathTV.EncMapInt64Int8V(v, fastpathCheckNilTrue, e)
  1347. case *map[int64]int8:
  1348. fastpathTV.EncMapInt64Int8V(*v, fastpathCheckNilTrue, e)
  1349. case map[int64]int16:
  1350. fastpathTV.EncMapInt64Int16V(v, fastpathCheckNilTrue, e)
  1351. case *map[int64]int16:
  1352. fastpathTV.EncMapInt64Int16V(*v, fastpathCheckNilTrue, e)
  1353. case map[int64]int32:
  1354. fastpathTV.EncMapInt64Int32V(v, fastpathCheckNilTrue, e)
  1355. case *map[int64]int32:
  1356. fastpathTV.EncMapInt64Int32V(*v, fastpathCheckNilTrue, e)
  1357. case map[int64]int64:
  1358. fastpathTV.EncMapInt64Int64V(v, fastpathCheckNilTrue, e)
  1359. case *map[int64]int64:
  1360. fastpathTV.EncMapInt64Int64V(*v, fastpathCheckNilTrue, e)
  1361. case map[int64]float32:
  1362. fastpathTV.EncMapInt64Float32V(v, fastpathCheckNilTrue, e)
  1363. case *map[int64]float32:
  1364. fastpathTV.EncMapInt64Float32V(*v, fastpathCheckNilTrue, e)
  1365. case map[int64]float64:
  1366. fastpathTV.EncMapInt64Float64V(v, fastpathCheckNilTrue, e)
  1367. case *map[int64]float64:
  1368. fastpathTV.EncMapInt64Float64V(*v, fastpathCheckNilTrue, e)
  1369. case map[int64]bool:
  1370. fastpathTV.EncMapInt64BoolV(v, fastpathCheckNilTrue, e)
  1371. case *map[int64]bool:
  1372. fastpathTV.EncMapInt64BoolV(*v, fastpathCheckNilTrue, e)
  1373. case []bool:
  1374. fastpathTV.EncSliceBoolV(v, fastpathCheckNilTrue, e)
  1375. case *[]bool:
  1376. fastpathTV.EncSliceBoolV(*v, fastpathCheckNilTrue, e)
  1377. case map[bool]interface{}:
  1378. fastpathTV.EncMapBoolIntfV(v, fastpathCheckNilTrue, e)
  1379. case *map[bool]interface{}:
  1380. fastpathTV.EncMapBoolIntfV(*v, fastpathCheckNilTrue, e)
  1381. case map[bool]string:
  1382. fastpathTV.EncMapBoolStringV(v, fastpathCheckNilTrue, e)
  1383. case *map[bool]string:
  1384. fastpathTV.EncMapBoolStringV(*v, fastpathCheckNilTrue, e)
  1385. case map[bool]uint:
  1386. fastpathTV.EncMapBoolUintV(v, fastpathCheckNilTrue, e)
  1387. case *map[bool]uint:
  1388. fastpathTV.EncMapBoolUintV(*v, fastpathCheckNilTrue, e)
  1389. case map[bool]uint8:
  1390. fastpathTV.EncMapBoolUint8V(v, fastpathCheckNilTrue, e)
  1391. case *map[bool]uint8:
  1392. fastpathTV.EncMapBoolUint8V(*v, fastpathCheckNilTrue, e)
  1393. case map[bool]uint16:
  1394. fastpathTV.EncMapBoolUint16V(v, fastpathCheckNilTrue, e)
  1395. case *map[bool]uint16:
  1396. fastpathTV.EncMapBoolUint16V(*v, fastpathCheckNilTrue, e)
  1397. case map[bool]uint32:
  1398. fastpathTV.EncMapBoolUint32V(v, fastpathCheckNilTrue, e)
  1399. case *map[bool]uint32:
  1400. fastpathTV.EncMapBoolUint32V(*v, fastpathCheckNilTrue, e)
  1401. case map[bool]uint64:
  1402. fastpathTV.EncMapBoolUint64V(v, fastpathCheckNilTrue, e)
  1403. case *map[bool]uint64:
  1404. fastpathTV.EncMapBoolUint64V(*v, fastpathCheckNilTrue, e)
  1405. case map[bool]uintptr:
  1406. fastpathTV.EncMapBoolUintptrV(v, fastpathCheckNilTrue, e)
  1407. case *map[bool]uintptr:
  1408. fastpathTV.EncMapBoolUintptrV(*v, fastpathCheckNilTrue, e)
  1409. case map[bool]int:
  1410. fastpathTV.EncMapBoolIntV(v, fastpathCheckNilTrue, e)
  1411. case *map[bool]int:
  1412. fastpathTV.EncMapBoolIntV(*v, fastpathCheckNilTrue, e)
  1413. case map[bool]int8:
  1414. fastpathTV.EncMapBoolInt8V(v, fastpathCheckNilTrue, e)
  1415. case *map[bool]int8:
  1416. fastpathTV.EncMapBoolInt8V(*v, fastpathCheckNilTrue, e)
  1417. case map[bool]int16:
  1418. fastpathTV.EncMapBoolInt16V(v, fastpathCheckNilTrue, e)
  1419. case *map[bool]int16:
  1420. fastpathTV.EncMapBoolInt16V(*v, fastpathCheckNilTrue, e)
  1421. case map[bool]int32:
  1422. fastpathTV.EncMapBoolInt32V(v, fastpathCheckNilTrue, e)
  1423. case *map[bool]int32:
  1424. fastpathTV.EncMapBoolInt32V(*v, fastpathCheckNilTrue, e)
  1425. case map[bool]int64:
  1426. fastpathTV.EncMapBoolInt64V(v, fastpathCheckNilTrue, e)
  1427. case *map[bool]int64:
  1428. fastpathTV.EncMapBoolInt64V(*v, fastpathCheckNilTrue, e)
  1429. case map[bool]float32:
  1430. fastpathTV.EncMapBoolFloat32V(v, fastpathCheckNilTrue, e)
  1431. case *map[bool]float32:
  1432. fastpathTV.EncMapBoolFloat32V(*v, fastpathCheckNilTrue, e)
  1433. case map[bool]float64:
  1434. fastpathTV.EncMapBoolFloat64V(v, fastpathCheckNilTrue, e)
  1435. case *map[bool]float64:
  1436. fastpathTV.EncMapBoolFloat64V(*v, fastpathCheckNilTrue, e)
  1437. case map[bool]bool:
  1438. fastpathTV.EncMapBoolBoolV(v, fastpathCheckNilTrue, e)
  1439. case *map[bool]bool:
  1440. fastpathTV.EncMapBoolBoolV(*v, fastpathCheckNilTrue, e)
  1441. default:
  1442. return false
  1443. }
  1444. return true
  1445. }
  1446. func fastpathEncodeTypeSwitchSlice(iv interface{}, e *Encoder) bool {
  1447. switch v := iv.(type) {
  1448. case []interface{}:
  1449. fastpathTV.EncSliceIntfV(v, fastpathCheckNilTrue, e)
  1450. case *[]interface{}:
  1451. fastpathTV.EncSliceIntfV(*v, fastpathCheckNilTrue, e)
  1452. case []string:
  1453. fastpathTV.EncSliceStringV(v, fastpathCheckNilTrue, e)
  1454. case *[]string:
  1455. fastpathTV.EncSliceStringV(*v, fastpathCheckNilTrue, e)
  1456. case []float32:
  1457. fastpathTV.EncSliceFloat32V(v, fastpathCheckNilTrue, e)
  1458. case *[]float32:
  1459. fastpathTV.EncSliceFloat32V(*v, fastpathCheckNilTrue, e)
  1460. case []float64:
  1461. fastpathTV.EncSliceFloat64V(v, fastpathCheckNilTrue, e)
  1462. case *[]float64:
  1463. fastpathTV.EncSliceFloat64V(*v, fastpathCheckNilTrue, e)
  1464. case []uint:
  1465. fastpathTV.EncSliceUintV(v, fastpathCheckNilTrue, e)
  1466. case *[]uint:
  1467. fastpathTV.EncSliceUintV(*v, fastpathCheckNilTrue, e)
  1468. case []uint16:
  1469. fastpathTV.EncSliceUint16V(v, fastpathCheckNilTrue, e)
  1470. case *[]uint16:
  1471. fastpathTV.EncSliceUint16V(*v, fastpathCheckNilTrue, e)
  1472. case []uint32:
  1473. fastpathTV.EncSliceUint32V(v, fastpathCheckNilTrue, e)
  1474. case *[]uint32:
  1475. fastpathTV.EncSliceUint32V(*v, fastpathCheckNilTrue, e)
  1476. case []uint64:
  1477. fastpathTV.EncSliceUint64V(v, fastpathCheckNilTrue, e)
  1478. case *[]uint64:
  1479. fastpathTV.EncSliceUint64V(*v, fastpathCheckNilTrue, e)
  1480. case []uintptr:
  1481. fastpathTV.EncSliceUintptrV(v, fastpathCheckNilTrue, e)
  1482. case *[]uintptr:
  1483. fastpathTV.EncSliceUintptrV(*v, fastpathCheckNilTrue, e)
  1484. case []int:
  1485. fastpathTV.EncSliceIntV(v, fastpathCheckNilTrue, e)
  1486. case *[]int:
  1487. fastpathTV.EncSliceIntV(*v, fastpathCheckNilTrue, e)
  1488. case []int8:
  1489. fastpathTV.EncSliceInt8V(v, fastpathCheckNilTrue, e)
  1490. case *[]int8:
  1491. fastpathTV.EncSliceInt8V(*v, fastpathCheckNilTrue, e)
  1492. case []int16:
  1493. fastpathTV.EncSliceInt16V(v, fastpathCheckNilTrue, e)
  1494. case *[]int16:
  1495. fastpathTV.EncSliceInt16V(*v, fastpathCheckNilTrue, e)
  1496. case []int32:
  1497. fastpathTV.EncSliceInt32V(v, fastpathCheckNilTrue, e)
  1498. case *[]int32:
  1499. fastpathTV.EncSliceInt32V(*v, fastpathCheckNilTrue, e)
  1500. case []int64:
  1501. fastpathTV.EncSliceInt64V(v, fastpathCheckNilTrue, e)
  1502. case *[]int64:
  1503. fastpathTV.EncSliceInt64V(*v, fastpathCheckNilTrue, e)
  1504. case []bool:
  1505. fastpathTV.EncSliceBoolV(v, fastpathCheckNilTrue, e)
  1506. case *[]bool:
  1507. fastpathTV.EncSliceBoolV(*v, fastpathCheckNilTrue, e)
  1508. default:
  1509. return false
  1510. }
  1511. return true
  1512. }
  1513. func fastpathEncodeTypeSwitchMap(iv interface{}, e *Encoder) bool {
  1514. switch v := iv.(type) {
  1515. case map[interface{}]interface{}:
  1516. fastpathTV.EncMapIntfIntfV(v, fastpathCheckNilTrue, e)
  1517. case *map[interface{}]interface{}:
  1518. fastpathTV.EncMapIntfIntfV(*v, fastpathCheckNilTrue, e)
  1519. case map[interface{}]string:
  1520. fastpathTV.EncMapIntfStringV(v, fastpathCheckNilTrue, e)
  1521. case *map[interface{}]string:
  1522. fastpathTV.EncMapIntfStringV(*v, fastpathCheckNilTrue, e)
  1523. case map[interface{}]uint:
  1524. fastpathTV.EncMapIntfUintV(v, fastpathCheckNilTrue, e)
  1525. case *map[interface{}]uint:
  1526. fastpathTV.EncMapIntfUintV(*v, fastpathCheckNilTrue, e)
  1527. case map[interface{}]uint8:
  1528. fastpathTV.EncMapIntfUint8V(v, fastpathCheckNilTrue, e)
  1529. case *map[interface{}]uint8:
  1530. fastpathTV.EncMapIntfUint8V(*v, fastpathCheckNilTrue, e)
  1531. case map[interface{}]uint16:
  1532. fastpathTV.EncMapIntfUint16V(v, fastpathCheckNilTrue, e)
  1533. case *map[interface{}]uint16:
  1534. fastpathTV.EncMapIntfUint16V(*v, fastpathCheckNilTrue, e)
  1535. case map[interface{}]uint32:
  1536. fastpathTV.EncMapIntfUint32V(v, fastpathCheckNilTrue, e)
  1537. case *map[interface{}]uint32:
  1538. fastpathTV.EncMapIntfUint32V(*v, fastpathCheckNilTrue, e)
  1539. case map[interface{}]uint64:
  1540. fastpathTV.EncMapIntfUint64V(v, fastpathCheckNilTrue, e)
  1541. case *map[interface{}]uint64:
  1542. fastpathTV.EncMapIntfUint64V(*v, fastpathCheckNilTrue, e)
  1543. case map[interface{}]uintptr:
  1544. fastpathTV.EncMapIntfUintptrV(v, fastpathCheckNilTrue, e)
  1545. case *map[interface{}]uintptr:
  1546. fastpathTV.EncMapIntfUintptrV(*v, fastpathCheckNilTrue, e)
  1547. case map[interface{}]int:
  1548. fastpathTV.EncMapIntfIntV(v, fastpathCheckNilTrue, e)
  1549. case *map[interface{}]int:
  1550. fastpathTV.EncMapIntfIntV(*v, fastpathCheckNilTrue, e)
  1551. case map[interface{}]int8:
  1552. fastpathTV.EncMapIntfInt8V(v, fastpathCheckNilTrue, e)
  1553. case *map[interface{}]int8:
  1554. fastpathTV.EncMapIntfInt8V(*v, fastpathCheckNilTrue, e)
  1555. case map[interface{}]int16:
  1556. fastpathTV.EncMapIntfInt16V(v, fastpathCheckNilTrue, e)
  1557. case *map[interface{}]int16:
  1558. fastpathTV.EncMapIntfInt16V(*v, fastpathCheckNilTrue, e)
  1559. case map[interface{}]int32:
  1560. fastpathTV.EncMapIntfInt32V(v, fastpathCheckNilTrue, e)
  1561. case *map[interface{}]int32:
  1562. fastpathTV.EncMapIntfInt32V(*v, fastpathCheckNilTrue, e)
  1563. case map[interface{}]int64:
  1564. fastpathTV.EncMapIntfInt64V(v, fastpathCheckNilTrue, e)
  1565. case *map[interface{}]int64:
  1566. fastpathTV.EncMapIntfInt64V(*v, fastpathCheckNilTrue, e)
  1567. case map[interface{}]float32:
  1568. fastpathTV.EncMapIntfFloat32V(v, fastpathCheckNilTrue, e)
  1569. case *map[interface{}]float32:
  1570. fastpathTV.EncMapIntfFloat32V(*v, fastpathCheckNilTrue, e)
  1571. case map[interface{}]float64:
  1572. fastpathTV.EncMapIntfFloat64V(v, fastpathCheckNilTrue, e)
  1573. case *map[interface{}]float64:
  1574. fastpathTV.EncMapIntfFloat64V(*v, fastpathCheckNilTrue, e)
  1575. case map[interface{}]bool:
  1576. fastpathTV.EncMapIntfBoolV(v, fastpathCheckNilTrue, e)
  1577. case *map[interface{}]bool:
  1578. fastpathTV.EncMapIntfBoolV(*v, fastpathCheckNilTrue, e)
  1579. case map[string]interface{}:
  1580. fastpathTV.EncMapStringIntfV(v, fastpathCheckNilTrue, e)
  1581. case *map[string]interface{}:
  1582. fastpathTV.EncMapStringIntfV(*v, fastpathCheckNilTrue, e)
  1583. case map[string]string:
  1584. fastpathTV.EncMapStringStringV(v, fastpathCheckNilTrue, e)
  1585. case *map[string]string:
  1586. fastpathTV.EncMapStringStringV(*v, fastpathCheckNilTrue, e)
  1587. case map[string]uint:
  1588. fastpathTV.EncMapStringUintV(v, fastpathCheckNilTrue, e)
  1589. case *map[string]uint:
  1590. fastpathTV.EncMapStringUintV(*v, fastpathCheckNilTrue, e)
  1591. case map[string]uint8:
  1592. fastpathTV.EncMapStringUint8V(v, fastpathCheckNilTrue, e)
  1593. case *map[string]uint8:
  1594. fastpathTV.EncMapStringUint8V(*v, fastpathCheckNilTrue, e)
  1595. case map[string]uint16:
  1596. fastpathTV.EncMapStringUint16V(v, fastpathCheckNilTrue, e)
  1597. case *map[string]uint16:
  1598. fastpathTV.EncMapStringUint16V(*v, fastpathCheckNilTrue, e)
  1599. case map[string]uint32:
  1600. fastpathTV.EncMapStringUint32V(v, fastpathCheckNilTrue, e)
  1601. case *map[string]uint32:
  1602. fastpathTV.EncMapStringUint32V(*v, fastpathCheckNilTrue, e)
  1603. case map[string]uint64:
  1604. fastpathTV.EncMapStringUint64V(v, fastpathCheckNilTrue, e)
  1605. case *map[string]uint64:
  1606. fastpathTV.EncMapStringUint64V(*v, fastpathCheckNilTrue, e)
  1607. case map[string]uintptr:
  1608. fastpathTV.EncMapStringUintptrV(v, fastpathCheckNilTrue, e)
  1609. case *map[string]uintptr:
  1610. fastpathTV.EncMapStringUintptrV(*v, fastpathCheckNilTrue, e)
  1611. case map[string]int:
  1612. fastpathTV.EncMapStringIntV(v, fastpathCheckNilTrue, e)
  1613. case *map[string]int:
  1614. fastpathTV.EncMapStringIntV(*v, fastpathCheckNilTrue, e)
  1615. case map[string]int8:
  1616. fastpathTV.EncMapStringInt8V(v, fastpathCheckNilTrue, e)
  1617. case *map[string]int8:
  1618. fastpathTV.EncMapStringInt8V(*v, fastpathCheckNilTrue, e)
  1619. case map[string]int16:
  1620. fastpathTV.EncMapStringInt16V(v, fastpathCheckNilTrue, e)
  1621. case *map[string]int16:
  1622. fastpathTV.EncMapStringInt16V(*v, fastpathCheckNilTrue, e)
  1623. case map[string]int32:
  1624. fastpathTV.EncMapStringInt32V(v, fastpathCheckNilTrue, e)
  1625. case *map[string]int32:
  1626. fastpathTV.EncMapStringInt32V(*v, fastpathCheckNilTrue, e)
  1627. case map[string]int64:
  1628. fastpathTV.EncMapStringInt64V(v, fastpathCheckNilTrue, e)
  1629. case *map[string]int64:
  1630. fastpathTV.EncMapStringInt64V(*v, fastpathCheckNilTrue, e)
  1631. case map[string]float32:
  1632. fastpathTV.EncMapStringFloat32V(v, fastpathCheckNilTrue, e)
  1633. case *map[string]float32:
  1634. fastpathTV.EncMapStringFloat32V(*v, fastpathCheckNilTrue, e)
  1635. case map[string]float64:
  1636. fastpathTV.EncMapStringFloat64V(v, fastpathCheckNilTrue, e)
  1637. case *map[string]float64:
  1638. fastpathTV.EncMapStringFloat64V(*v, fastpathCheckNilTrue, e)
  1639. case map[string]bool:
  1640. fastpathTV.EncMapStringBoolV(v, fastpathCheckNilTrue, e)
  1641. case *map[string]bool:
  1642. fastpathTV.EncMapStringBoolV(*v, fastpathCheckNilTrue, e)
  1643. case map[float32]interface{}:
  1644. fastpathTV.EncMapFloat32IntfV(v, fastpathCheckNilTrue, e)
  1645. case *map[float32]interface{}:
  1646. fastpathTV.EncMapFloat32IntfV(*v, fastpathCheckNilTrue, e)
  1647. case map[float32]string:
  1648. fastpathTV.EncMapFloat32StringV(v, fastpathCheckNilTrue, e)
  1649. case *map[float32]string:
  1650. fastpathTV.EncMapFloat32StringV(*v, fastpathCheckNilTrue, e)
  1651. case map[float32]uint:
  1652. fastpathTV.EncMapFloat32UintV(v, fastpathCheckNilTrue, e)
  1653. case *map[float32]uint:
  1654. fastpathTV.EncMapFloat32UintV(*v, fastpathCheckNilTrue, e)
  1655. case map[float32]uint8:
  1656. fastpathTV.EncMapFloat32Uint8V(v, fastpathCheckNilTrue, e)
  1657. case *map[float32]uint8:
  1658. fastpathTV.EncMapFloat32Uint8V(*v, fastpathCheckNilTrue, e)
  1659. case map[float32]uint16:
  1660. fastpathTV.EncMapFloat32Uint16V(v, fastpathCheckNilTrue, e)
  1661. case *map[float32]uint16:
  1662. fastpathTV.EncMapFloat32Uint16V(*v, fastpathCheckNilTrue, e)
  1663. case map[float32]uint32:
  1664. fastpathTV.EncMapFloat32Uint32V(v, fastpathCheckNilTrue, e)
  1665. case *map[float32]uint32:
  1666. fastpathTV.EncMapFloat32Uint32V(*v, fastpathCheckNilTrue, e)
  1667. case map[float32]uint64:
  1668. fastpathTV.EncMapFloat32Uint64V(v, fastpathCheckNilTrue, e)
  1669. case *map[float32]uint64:
  1670. fastpathTV.EncMapFloat32Uint64V(*v, fastpathCheckNilTrue, e)
  1671. case map[float32]uintptr:
  1672. fastpathTV.EncMapFloat32UintptrV(v, fastpathCheckNilTrue, e)
  1673. case *map[float32]uintptr:
  1674. fastpathTV.EncMapFloat32UintptrV(*v, fastpathCheckNilTrue, e)
  1675. case map[float32]int:
  1676. fastpathTV.EncMapFloat32IntV(v, fastpathCheckNilTrue, e)
  1677. case *map[float32]int:
  1678. fastpathTV.EncMapFloat32IntV(*v, fastpathCheckNilTrue, e)
  1679. case map[float32]int8:
  1680. fastpathTV.EncMapFloat32Int8V(v, fastpathCheckNilTrue, e)
  1681. case *map[float32]int8:
  1682. fastpathTV.EncMapFloat32Int8V(*v, fastpathCheckNilTrue, e)
  1683. case map[float32]int16:
  1684. fastpathTV.EncMapFloat32Int16V(v, fastpathCheckNilTrue, e)
  1685. case *map[float32]int16:
  1686. fastpathTV.EncMapFloat32Int16V(*v, fastpathCheckNilTrue, e)
  1687. case map[float32]int32:
  1688. fastpathTV.EncMapFloat32Int32V(v, fastpathCheckNilTrue, e)
  1689. case *map[float32]int32:
  1690. fastpathTV.EncMapFloat32Int32V(*v, fastpathCheckNilTrue, e)
  1691. case map[float32]int64:
  1692. fastpathTV.EncMapFloat32Int64V(v, fastpathCheckNilTrue, e)
  1693. case *map[float32]int64:
  1694. fastpathTV.EncMapFloat32Int64V(*v, fastpathCheckNilTrue, e)
  1695. case map[float32]float32:
  1696. fastpathTV.EncMapFloat32Float32V(v, fastpathCheckNilTrue, e)
  1697. case *map[float32]float32:
  1698. fastpathTV.EncMapFloat32Float32V(*v, fastpathCheckNilTrue, e)
  1699. case map[float32]float64:
  1700. fastpathTV.EncMapFloat32Float64V(v, fastpathCheckNilTrue, e)
  1701. case *map[float32]float64:
  1702. fastpathTV.EncMapFloat32Float64V(*v, fastpathCheckNilTrue, e)
  1703. case map[float32]bool:
  1704. fastpathTV.EncMapFloat32BoolV(v, fastpathCheckNilTrue, e)
  1705. case *map[float32]bool:
  1706. fastpathTV.EncMapFloat32BoolV(*v, fastpathCheckNilTrue, e)
  1707. case map[float64]interface{}:
  1708. fastpathTV.EncMapFloat64IntfV(v, fastpathCheckNilTrue, e)
  1709. case *map[float64]interface{}:
  1710. fastpathTV.EncMapFloat64IntfV(*v, fastpathCheckNilTrue, e)
  1711. case map[float64]string:
  1712. fastpathTV.EncMapFloat64StringV(v, fastpathCheckNilTrue, e)
  1713. case *map[float64]string:
  1714. fastpathTV.EncMapFloat64StringV(*v, fastpathCheckNilTrue, e)
  1715. case map[float64]uint:
  1716. fastpathTV.EncMapFloat64UintV(v, fastpathCheckNilTrue, e)
  1717. case *map[float64]uint:
  1718. fastpathTV.EncMapFloat64UintV(*v, fastpathCheckNilTrue, e)
  1719. case map[float64]uint8:
  1720. fastpathTV.EncMapFloat64Uint8V(v, fastpathCheckNilTrue, e)
  1721. case *map[float64]uint8:
  1722. fastpathTV.EncMapFloat64Uint8V(*v, fastpathCheckNilTrue, e)
  1723. case map[float64]uint16:
  1724. fastpathTV.EncMapFloat64Uint16V(v, fastpathCheckNilTrue, e)
  1725. case *map[float64]uint16:
  1726. fastpathTV.EncMapFloat64Uint16V(*v, fastpathCheckNilTrue, e)
  1727. case map[float64]uint32:
  1728. fastpathTV.EncMapFloat64Uint32V(v, fastpathCheckNilTrue, e)
  1729. case *map[float64]uint32:
  1730. fastpathTV.EncMapFloat64Uint32V(*v, fastpathCheckNilTrue, e)
  1731. case map[float64]uint64:
  1732. fastpathTV.EncMapFloat64Uint64V(v, fastpathCheckNilTrue, e)
  1733. case *map[float64]uint64:
  1734. fastpathTV.EncMapFloat64Uint64V(*v, fastpathCheckNilTrue, e)
  1735. case map[float64]uintptr:
  1736. fastpathTV.EncMapFloat64UintptrV(v, fastpathCheckNilTrue, e)
  1737. case *map[float64]uintptr:
  1738. fastpathTV.EncMapFloat64UintptrV(*v, fastpathCheckNilTrue, e)
  1739. case map[float64]int:
  1740. fastpathTV.EncMapFloat64IntV(v, fastpathCheckNilTrue, e)
  1741. case *map[float64]int:
  1742. fastpathTV.EncMapFloat64IntV(*v, fastpathCheckNilTrue, e)
  1743. case map[float64]int8:
  1744. fastpathTV.EncMapFloat64Int8V(v, fastpathCheckNilTrue, e)
  1745. case *map[float64]int8:
  1746. fastpathTV.EncMapFloat64Int8V(*v, fastpathCheckNilTrue, e)
  1747. case map[float64]int16:
  1748. fastpathTV.EncMapFloat64Int16V(v, fastpathCheckNilTrue, e)
  1749. case *map[float64]int16:
  1750. fastpathTV.EncMapFloat64Int16V(*v, fastpathCheckNilTrue, e)
  1751. case map[float64]int32:
  1752. fastpathTV.EncMapFloat64Int32V(v, fastpathCheckNilTrue, e)
  1753. case *map[float64]int32:
  1754. fastpathTV.EncMapFloat64Int32V(*v, fastpathCheckNilTrue, e)
  1755. case map[float64]int64:
  1756. fastpathTV.EncMapFloat64Int64V(v, fastpathCheckNilTrue, e)
  1757. case *map[float64]int64:
  1758. fastpathTV.EncMapFloat64Int64V(*v, fastpathCheckNilTrue, e)
  1759. case map[float64]float32:
  1760. fastpathTV.EncMapFloat64Float32V(v, fastpathCheckNilTrue, e)
  1761. case *map[float64]float32:
  1762. fastpathTV.EncMapFloat64Float32V(*v, fastpathCheckNilTrue, e)
  1763. case map[float64]float64:
  1764. fastpathTV.EncMapFloat64Float64V(v, fastpathCheckNilTrue, e)
  1765. case *map[float64]float64:
  1766. fastpathTV.EncMapFloat64Float64V(*v, fastpathCheckNilTrue, e)
  1767. case map[float64]bool:
  1768. fastpathTV.EncMapFloat64BoolV(v, fastpathCheckNilTrue, e)
  1769. case *map[float64]bool:
  1770. fastpathTV.EncMapFloat64BoolV(*v, fastpathCheckNilTrue, e)
  1771. case map[uint]interface{}:
  1772. fastpathTV.EncMapUintIntfV(v, fastpathCheckNilTrue, e)
  1773. case *map[uint]interface{}:
  1774. fastpathTV.EncMapUintIntfV(*v, fastpathCheckNilTrue, e)
  1775. case map[uint]string:
  1776. fastpathTV.EncMapUintStringV(v, fastpathCheckNilTrue, e)
  1777. case *map[uint]string:
  1778. fastpathTV.EncMapUintStringV(*v, fastpathCheckNilTrue, e)
  1779. case map[uint]uint:
  1780. fastpathTV.EncMapUintUintV(v, fastpathCheckNilTrue, e)
  1781. case *map[uint]uint:
  1782. fastpathTV.EncMapUintUintV(*v, fastpathCheckNilTrue, e)
  1783. case map[uint]uint8:
  1784. fastpathTV.EncMapUintUint8V(v, fastpathCheckNilTrue, e)
  1785. case *map[uint]uint8:
  1786. fastpathTV.EncMapUintUint8V(*v, fastpathCheckNilTrue, e)
  1787. case map[uint]uint16:
  1788. fastpathTV.EncMapUintUint16V(v, fastpathCheckNilTrue, e)
  1789. case *map[uint]uint16:
  1790. fastpathTV.EncMapUintUint16V(*v, fastpathCheckNilTrue, e)
  1791. case map[uint]uint32:
  1792. fastpathTV.EncMapUintUint32V(v, fastpathCheckNilTrue, e)
  1793. case *map[uint]uint32:
  1794. fastpathTV.EncMapUintUint32V(*v, fastpathCheckNilTrue, e)
  1795. case map[uint]uint64:
  1796. fastpathTV.EncMapUintUint64V(v, fastpathCheckNilTrue, e)
  1797. case *map[uint]uint64:
  1798. fastpathTV.EncMapUintUint64V(*v, fastpathCheckNilTrue, e)
  1799. case map[uint]uintptr:
  1800. fastpathTV.EncMapUintUintptrV(v, fastpathCheckNilTrue, e)
  1801. case *map[uint]uintptr:
  1802. fastpathTV.EncMapUintUintptrV(*v, fastpathCheckNilTrue, e)
  1803. case map[uint]int:
  1804. fastpathTV.EncMapUintIntV(v, fastpathCheckNilTrue, e)
  1805. case *map[uint]int:
  1806. fastpathTV.EncMapUintIntV(*v, fastpathCheckNilTrue, e)
  1807. case map[uint]int8:
  1808. fastpathTV.EncMapUintInt8V(v, fastpathCheckNilTrue, e)
  1809. case *map[uint]int8:
  1810. fastpathTV.EncMapUintInt8V(*v, fastpathCheckNilTrue, e)
  1811. case map[uint]int16:
  1812. fastpathTV.EncMapUintInt16V(v, fastpathCheckNilTrue, e)
  1813. case *map[uint]int16:
  1814. fastpathTV.EncMapUintInt16V(*v, fastpathCheckNilTrue, e)
  1815. case map[uint]int32:
  1816. fastpathTV.EncMapUintInt32V(v, fastpathCheckNilTrue, e)
  1817. case *map[uint]int32:
  1818. fastpathTV.EncMapUintInt32V(*v, fastpathCheckNilTrue, e)
  1819. case map[uint]int64:
  1820. fastpathTV.EncMapUintInt64V(v, fastpathCheckNilTrue, e)
  1821. case *map[uint]int64:
  1822. fastpathTV.EncMapUintInt64V(*v, fastpathCheckNilTrue, e)
  1823. case map[uint]float32:
  1824. fastpathTV.EncMapUintFloat32V(v, fastpathCheckNilTrue, e)
  1825. case *map[uint]float32:
  1826. fastpathTV.EncMapUintFloat32V(*v, fastpathCheckNilTrue, e)
  1827. case map[uint]float64:
  1828. fastpathTV.EncMapUintFloat64V(v, fastpathCheckNilTrue, e)
  1829. case *map[uint]float64:
  1830. fastpathTV.EncMapUintFloat64V(*v, fastpathCheckNilTrue, e)
  1831. case map[uint]bool:
  1832. fastpathTV.EncMapUintBoolV(v, fastpathCheckNilTrue, e)
  1833. case *map[uint]bool:
  1834. fastpathTV.EncMapUintBoolV(*v, fastpathCheckNilTrue, e)
  1835. case map[uint8]interface{}:
  1836. fastpathTV.EncMapUint8IntfV(v, fastpathCheckNilTrue, e)
  1837. case *map[uint8]interface{}:
  1838. fastpathTV.EncMapUint8IntfV(*v, fastpathCheckNilTrue, e)
  1839. case map[uint8]string:
  1840. fastpathTV.EncMapUint8StringV(v, fastpathCheckNilTrue, e)
  1841. case *map[uint8]string:
  1842. fastpathTV.EncMapUint8StringV(*v, fastpathCheckNilTrue, e)
  1843. case map[uint8]uint:
  1844. fastpathTV.EncMapUint8UintV(v, fastpathCheckNilTrue, e)
  1845. case *map[uint8]uint:
  1846. fastpathTV.EncMapUint8UintV(*v, fastpathCheckNilTrue, e)
  1847. case map[uint8]uint8:
  1848. fastpathTV.EncMapUint8Uint8V(v, fastpathCheckNilTrue, e)
  1849. case *map[uint8]uint8:
  1850. fastpathTV.EncMapUint8Uint8V(*v, fastpathCheckNilTrue, e)
  1851. case map[uint8]uint16:
  1852. fastpathTV.EncMapUint8Uint16V(v, fastpathCheckNilTrue, e)
  1853. case *map[uint8]uint16:
  1854. fastpathTV.EncMapUint8Uint16V(*v, fastpathCheckNilTrue, e)
  1855. case map[uint8]uint32:
  1856. fastpathTV.EncMapUint8Uint32V(v, fastpathCheckNilTrue, e)
  1857. case *map[uint8]uint32:
  1858. fastpathTV.EncMapUint8Uint32V(*v, fastpathCheckNilTrue, e)
  1859. case map[uint8]uint64:
  1860. fastpathTV.EncMapUint8Uint64V(v, fastpathCheckNilTrue, e)
  1861. case *map[uint8]uint64:
  1862. fastpathTV.EncMapUint8Uint64V(*v, fastpathCheckNilTrue, e)
  1863. case map[uint8]uintptr:
  1864. fastpathTV.EncMapUint8UintptrV(v, fastpathCheckNilTrue, e)
  1865. case *map[uint8]uintptr:
  1866. fastpathTV.EncMapUint8UintptrV(*v, fastpathCheckNilTrue, e)
  1867. case map[uint8]int:
  1868. fastpathTV.EncMapUint8IntV(v, fastpathCheckNilTrue, e)
  1869. case *map[uint8]int:
  1870. fastpathTV.EncMapUint8IntV(*v, fastpathCheckNilTrue, e)
  1871. case map[uint8]int8:
  1872. fastpathTV.EncMapUint8Int8V(v, fastpathCheckNilTrue, e)
  1873. case *map[uint8]int8:
  1874. fastpathTV.EncMapUint8Int8V(*v, fastpathCheckNilTrue, e)
  1875. case map[uint8]int16:
  1876. fastpathTV.EncMapUint8Int16V(v, fastpathCheckNilTrue, e)
  1877. case *map[uint8]int16:
  1878. fastpathTV.EncMapUint8Int16V(*v, fastpathCheckNilTrue, e)
  1879. case map[uint8]int32:
  1880. fastpathTV.EncMapUint8Int32V(v, fastpathCheckNilTrue, e)
  1881. case *map[uint8]int32:
  1882. fastpathTV.EncMapUint8Int32V(*v, fastpathCheckNilTrue, e)
  1883. case map[uint8]int64:
  1884. fastpathTV.EncMapUint8Int64V(v, fastpathCheckNilTrue, e)
  1885. case *map[uint8]int64:
  1886. fastpathTV.EncMapUint8Int64V(*v, fastpathCheckNilTrue, e)
  1887. case map[uint8]float32:
  1888. fastpathTV.EncMapUint8Float32V(v, fastpathCheckNilTrue, e)
  1889. case *map[uint8]float32:
  1890. fastpathTV.EncMapUint8Float32V(*v, fastpathCheckNilTrue, e)
  1891. case map[uint8]float64:
  1892. fastpathTV.EncMapUint8Float64V(v, fastpathCheckNilTrue, e)
  1893. case *map[uint8]float64:
  1894. fastpathTV.EncMapUint8Float64V(*v, fastpathCheckNilTrue, e)
  1895. case map[uint8]bool:
  1896. fastpathTV.EncMapUint8BoolV(v, fastpathCheckNilTrue, e)
  1897. case *map[uint8]bool:
  1898. fastpathTV.EncMapUint8BoolV(*v, fastpathCheckNilTrue, e)
  1899. case map[uint16]interface{}:
  1900. fastpathTV.EncMapUint16IntfV(v, fastpathCheckNilTrue, e)
  1901. case *map[uint16]interface{}:
  1902. fastpathTV.EncMapUint16IntfV(*v, fastpathCheckNilTrue, e)
  1903. case map[uint16]string:
  1904. fastpathTV.EncMapUint16StringV(v, fastpathCheckNilTrue, e)
  1905. case *map[uint16]string:
  1906. fastpathTV.EncMapUint16StringV(*v, fastpathCheckNilTrue, e)
  1907. case map[uint16]uint:
  1908. fastpathTV.EncMapUint16UintV(v, fastpathCheckNilTrue, e)
  1909. case *map[uint16]uint:
  1910. fastpathTV.EncMapUint16UintV(*v, fastpathCheckNilTrue, e)
  1911. case map[uint16]uint8:
  1912. fastpathTV.EncMapUint16Uint8V(v, fastpathCheckNilTrue, e)
  1913. case *map[uint16]uint8:
  1914. fastpathTV.EncMapUint16Uint8V(*v, fastpathCheckNilTrue, e)
  1915. case map[uint16]uint16:
  1916. fastpathTV.EncMapUint16Uint16V(v, fastpathCheckNilTrue, e)
  1917. case *map[uint16]uint16:
  1918. fastpathTV.EncMapUint16Uint16V(*v, fastpathCheckNilTrue, e)
  1919. case map[uint16]uint32:
  1920. fastpathTV.EncMapUint16Uint32V(v, fastpathCheckNilTrue, e)
  1921. case *map[uint16]uint32:
  1922. fastpathTV.EncMapUint16Uint32V(*v, fastpathCheckNilTrue, e)
  1923. case map[uint16]uint64:
  1924. fastpathTV.EncMapUint16Uint64V(v, fastpathCheckNilTrue, e)
  1925. case *map[uint16]uint64:
  1926. fastpathTV.EncMapUint16Uint64V(*v, fastpathCheckNilTrue, e)
  1927. case map[uint16]uintptr:
  1928. fastpathTV.EncMapUint16UintptrV(v, fastpathCheckNilTrue, e)
  1929. case *map[uint16]uintptr:
  1930. fastpathTV.EncMapUint16UintptrV(*v, fastpathCheckNilTrue, e)
  1931. case map[uint16]int:
  1932. fastpathTV.EncMapUint16IntV(v, fastpathCheckNilTrue, e)
  1933. case *map[uint16]int:
  1934. fastpathTV.EncMapUint16IntV(*v, fastpathCheckNilTrue, e)
  1935. case map[uint16]int8:
  1936. fastpathTV.EncMapUint16Int8V(v, fastpathCheckNilTrue, e)
  1937. case *map[uint16]int8:
  1938. fastpathTV.EncMapUint16Int8V(*v, fastpathCheckNilTrue, e)
  1939. case map[uint16]int16:
  1940. fastpathTV.EncMapUint16Int16V(v, fastpathCheckNilTrue, e)
  1941. case *map[uint16]int16:
  1942. fastpathTV.EncMapUint16Int16V(*v, fastpathCheckNilTrue, e)
  1943. case map[uint16]int32:
  1944. fastpathTV.EncMapUint16Int32V(v, fastpathCheckNilTrue, e)
  1945. case *map[uint16]int32:
  1946. fastpathTV.EncMapUint16Int32V(*v, fastpathCheckNilTrue, e)
  1947. case map[uint16]int64:
  1948. fastpathTV.EncMapUint16Int64V(v, fastpathCheckNilTrue, e)
  1949. case *map[uint16]int64:
  1950. fastpathTV.EncMapUint16Int64V(*v, fastpathCheckNilTrue, e)
  1951. case map[uint16]float32:
  1952. fastpathTV.EncMapUint16Float32V(v, fastpathCheckNilTrue, e)
  1953. case *map[uint16]float32:
  1954. fastpathTV.EncMapUint16Float32V(*v, fastpathCheckNilTrue, e)
  1955. case map[uint16]float64:
  1956. fastpathTV.EncMapUint16Float64V(v, fastpathCheckNilTrue, e)
  1957. case *map[uint16]float64:
  1958. fastpathTV.EncMapUint16Float64V(*v, fastpathCheckNilTrue, e)
  1959. case map[uint16]bool:
  1960. fastpathTV.EncMapUint16BoolV(v, fastpathCheckNilTrue, e)
  1961. case *map[uint16]bool:
  1962. fastpathTV.EncMapUint16BoolV(*v, fastpathCheckNilTrue, e)
  1963. case map[uint32]interface{}:
  1964. fastpathTV.EncMapUint32IntfV(v, fastpathCheckNilTrue, e)
  1965. case *map[uint32]interface{}:
  1966. fastpathTV.EncMapUint32IntfV(*v, fastpathCheckNilTrue, e)
  1967. case map[uint32]string:
  1968. fastpathTV.EncMapUint32StringV(v, fastpathCheckNilTrue, e)
  1969. case *map[uint32]string:
  1970. fastpathTV.EncMapUint32StringV(*v, fastpathCheckNilTrue, e)
  1971. case map[uint32]uint:
  1972. fastpathTV.EncMapUint32UintV(v, fastpathCheckNilTrue, e)
  1973. case *map[uint32]uint:
  1974. fastpathTV.EncMapUint32UintV(*v, fastpathCheckNilTrue, e)
  1975. case map[uint32]uint8:
  1976. fastpathTV.EncMapUint32Uint8V(v, fastpathCheckNilTrue, e)
  1977. case *map[uint32]uint8:
  1978. fastpathTV.EncMapUint32Uint8V(*v, fastpathCheckNilTrue, e)
  1979. case map[uint32]uint16:
  1980. fastpathTV.EncMapUint32Uint16V(v, fastpathCheckNilTrue, e)
  1981. case *map[uint32]uint16:
  1982. fastpathTV.EncMapUint32Uint16V(*v, fastpathCheckNilTrue, e)
  1983. case map[uint32]uint32:
  1984. fastpathTV.EncMapUint32Uint32V(v, fastpathCheckNilTrue, e)
  1985. case *map[uint32]uint32:
  1986. fastpathTV.EncMapUint32Uint32V(*v, fastpathCheckNilTrue, e)
  1987. case map[uint32]uint64:
  1988. fastpathTV.EncMapUint32Uint64V(v, fastpathCheckNilTrue, e)
  1989. case *map[uint32]uint64:
  1990. fastpathTV.EncMapUint32Uint64V(*v, fastpathCheckNilTrue, e)
  1991. case map[uint32]uintptr:
  1992. fastpathTV.EncMapUint32UintptrV(v, fastpathCheckNilTrue, e)
  1993. case *map[uint32]uintptr:
  1994. fastpathTV.EncMapUint32UintptrV(*v, fastpathCheckNilTrue, e)
  1995. case map[uint32]int:
  1996. fastpathTV.EncMapUint32IntV(v, fastpathCheckNilTrue, e)
  1997. case *map[uint32]int:
  1998. fastpathTV.EncMapUint32IntV(*v, fastpathCheckNilTrue, e)
  1999. case map[uint32]int8:
  2000. fastpathTV.EncMapUint32Int8V(v, fastpathCheckNilTrue, e)
  2001. case *map[uint32]int8:
  2002. fastpathTV.EncMapUint32Int8V(*v, fastpathCheckNilTrue, e)
  2003. case map[uint32]int16:
  2004. fastpathTV.EncMapUint32Int16V(v, fastpathCheckNilTrue, e)
  2005. case *map[uint32]int16:
  2006. fastpathTV.EncMapUint32Int16V(*v, fastpathCheckNilTrue, e)
  2007. case map[uint32]int32:
  2008. fastpathTV.EncMapUint32Int32V(v, fastpathCheckNilTrue, e)
  2009. case *map[uint32]int32:
  2010. fastpathTV.EncMapUint32Int32V(*v, fastpathCheckNilTrue, e)
  2011. case map[uint32]int64:
  2012. fastpathTV.EncMapUint32Int64V(v, fastpathCheckNilTrue, e)
  2013. case *map[uint32]int64:
  2014. fastpathTV.EncMapUint32Int64V(*v, fastpathCheckNilTrue, e)
  2015. case map[uint32]float32:
  2016. fastpathTV.EncMapUint32Float32V(v, fastpathCheckNilTrue, e)
  2017. case *map[uint32]float32:
  2018. fastpathTV.EncMapUint32Float32V(*v, fastpathCheckNilTrue, e)
  2019. case map[uint32]float64:
  2020. fastpathTV.EncMapUint32Float64V(v, fastpathCheckNilTrue, e)
  2021. case *map[uint32]float64:
  2022. fastpathTV.EncMapUint32Float64V(*v, fastpathCheckNilTrue, e)
  2023. case map[uint32]bool:
  2024. fastpathTV.EncMapUint32BoolV(v, fastpathCheckNilTrue, e)
  2025. case *map[uint32]bool:
  2026. fastpathTV.EncMapUint32BoolV(*v, fastpathCheckNilTrue, e)
  2027. case map[uint64]interface{}:
  2028. fastpathTV.EncMapUint64IntfV(v, fastpathCheckNilTrue, e)
  2029. case *map[uint64]interface{}:
  2030. fastpathTV.EncMapUint64IntfV(*v, fastpathCheckNilTrue, e)
  2031. case map[uint64]string:
  2032. fastpathTV.EncMapUint64StringV(v, fastpathCheckNilTrue, e)
  2033. case *map[uint64]string:
  2034. fastpathTV.EncMapUint64StringV(*v, fastpathCheckNilTrue, e)
  2035. case map[uint64]uint:
  2036. fastpathTV.EncMapUint64UintV(v, fastpathCheckNilTrue, e)
  2037. case *map[uint64]uint:
  2038. fastpathTV.EncMapUint64UintV(*v, fastpathCheckNilTrue, e)
  2039. case map[uint64]uint8:
  2040. fastpathTV.EncMapUint64Uint8V(v, fastpathCheckNilTrue, e)
  2041. case *map[uint64]uint8:
  2042. fastpathTV.EncMapUint64Uint8V(*v, fastpathCheckNilTrue, e)
  2043. case map[uint64]uint16:
  2044. fastpathTV.EncMapUint64Uint16V(v, fastpathCheckNilTrue, e)
  2045. case *map[uint64]uint16:
  2046. fastpathTV.EncMapUint64Uint16V(*v, fastpathCheckNilTrue, e)
  2047. case map[uint64]uint32:
  2048. fastpathTV.EncMapUint64Uint32V(v, fastpathCheckNilTrue, e)
  2049. case *map[uint64]uint32:
  2050. fastpathTV.EncMapUint64Uint32V(*v, fastpathCheckNilTrue, e)
  2051. case map[uint64]uint64:
  2052. fastpathTV.EncMapUint64Uint64V(v, fastpathCheckNilTrue, e)
  2053. case *map[uint64]uint64:
  2054. fastpathTV.EncMapUint64Uint64V(*v, fastpathCheckNilTrue, e)
  2055. case map[uint64]uintptr:
  2056. fastpathTV.EncMapUint64UintptrV(v, fastpathCheckNilTrue, e)
  2057. case *map[uint64]uintptr:
  2058. fastpathTV.EncMapUint64UintptrV(*v, fastpathCheckNilTrue, e)
  2059. case map[uint64]int:
  2060. fastpathTV.EncMapUint64IntV(v, fastpathCheckNilTrue, e)
  2061. case *map[uint64]int:
  2062. fastpathTV.EncMapUint64IntV(*v, fastpathCheckNilTrue, e)
  2063. case map[uint64]int8:
  2064. fastpathTV.EncMapUint64Int8V(v, fastpathCheckNilTrue, e)
  2065. case *map[uint64]int8:
  2066. fastpathTV.EncMapUint64Int8V(*v, fastpathCheckNilTrue, e)
  2067. case map[uint64]int16:
  2068. fastpathTV.EncMapUint64Int16V(v, fastpathCheckNilTrue, e)
  2069. case *map[uint64]int16:
  2070. fastpathTV.EncMapUint64Int16V(*v, fastpathCheckNilTrue, e)
  2071. case map[uint64]int32:
  2072. fastpathTV.EncMapUint64Int32V(v, fastpathCheckNilTrue, e)
  2073. case *map[uint64]int32:
  2074. fastpathTV.EncMapUint64Int32V(*v, fastpathCheckNilTrue, e)
  2075. case map[uint64]int64:
  2076. fastpathTV.EncMapUint64Int64V(v, fastpathCheckNilTrue, e)
  2077. case *map[uint64]int64:
  2078. fastpathTV.EncMapUint64Int64V(*v, fastpathCheckNilTrue, e)
  2079. case map[uint64]float32:
  2080. fastpathTV.EncMapUint64Float32V(v, fastpathCheckNilTrue, e)
  2081. case *map[uint64]float32:
  2082. fastpathTV.EncMapUint64Float32V(*v, fastpathCheckNilTrue, e)
  2083. case map[uint64]float64:
  2084. fastpathTV.EncMapUint64Float64V(v, fastpathCheckNilTrue, e)
  2085. case *map[uint64]float64:
  2086. fastpathTV.EncMapUint64Float64V(*v, fastpathCheckNilTrue, e)
  2087. case map[uint64]bool:
  2088. fastpathTV.EncMapUint64BoolV(v, fastpathCheckNilTrue, e)
  2089. case *map[uint64]bool:
  2090. fastpathTV.EncMapUint64BoolV(*v, fastpathCheckNilTrue, e)
  2091. case map[uintptr]interface{}:
  2092. fastpathTV.EncMapUintptrIntfV(v, fastpathCheckNilTrue, e)
  2093. case *map[uintptr]interface{}:
  2094. fastpathTV.EncMapUintptrIntfV(*v, fastpathCheckNilTrue, e)
  2095. case map[uintptr]string:
  2096. fastpathTV.EncMapUintptrStringV(v, fastpathCheckNilTrue, e)
  2097. case *map[uintptr]string:
  2098. fastpathTV.EncMapUintptrStringV(*v, fastpathCheckNilTrue, e)
  2099. case map[uintptr]uint:
  2100. fastpathTV.EncMapUintptrUintV(v, fastpathCheckNilTrue, e)
  2101. case *map[uintptr]uint:
  2102. fastpathTV.EncMapUintptrUintV(*v, fastpathCheckNilTrue, e)
  2103. case map[uintptr]uint8:
  2104. fastpathTV.EncMapUintptrUint8V(v, fastpathCheckNilTrue, e)
  2105. case *map[uintptr]uint8:
  2106. fastpathTV.EncMapUintptrUint8V(*v, fastpathCheckNilTrue, e)
  2107. case map[uintptr]uint16:
  2108. fastpathTV.EncMapUintptrUint16V(v, fastpathCheckNilTrue, e)
  2109. case *map[uintptr]uint16:
  2110. fastpathTV.EncMapUintptrUint16V(*v, fastpathCheckNilTrue, e)
  2111. case map[uintptr]uint32:
  2112. fastpathTV.EncMapUintptrUint32V(v, fastpathCheckNilTrue, e)
  2113. case *map[uintptr]uint32:
  2114. fastpathTV.EncMapUintptrUint32V(*v, fastpathCheckNilTrue, e)
  2115. case map[uintptr]uint64:
  2116. fastpathTV.EncMapUintptrUint64V(v, fastpathCheckNilTrue, e)
  2117. case *map[uintptr]uint64:
  2118. fastpathTV.EncMapUintptrUint64V(*v, fastpathCheckNilTrue, e)
  2119. case map[uintptr]uintptr:
  2120. fastpathTV.EncMapUintptrUintptrV(v, fastpathCheckNilTrue, e)
  2121. case *map[uintptr]uintptr:
  2122. fastpathTV.EncMapUintptrUintptrV(*v, fastpathCheckNilTrue, e)
  2123. case map[uintptr]int:
  2124. fastpathTV.EncMapUintptrIntV(v, fastpathCheckNilTrue, e)
  2125. case *map[uintptr]int:
  2126. fastpathTV.EncMapUintptrIntV(*v, fastpathCheckNilTrue, e)
  2127. case map[uintptr]int8:
  2128. fastpathTV.EncMapUintptrInt8V(v, fastpathCheckNilTrue, e)
  2129. case *map[uintptr]int8:
  2130. fastpathTV.EncMapUintptrInt8V(*v, fastpathCheckNilTrue, e)
  2131. case map[uintptr]int16:
  2132. fastpathTV.EncMapUintptrInt16V(v, fastpathCheckNilTrue, e)
  2133. case *map[uintptr]int16:
  2134. fastpathTV.EncMapUintptrInt16V(*v, fastpathCheckNilTrue, e)
  2135. case map[uintptr]int32:
  2136. fastpathTV.EncMapUintptrInt32V(v, fastpathCheckNilTrue, e)
  2137. case *map[uintptr]int32:
  2138. fastpathTV.EncMapUintptrInt32V(*v, fastpathCheckNilTrue, e)
  2139. case map[uintptr]int64:
  2140. fastpathTV.EncMapUintptrInt64V(v, fastpathCheckNilTrue, e)
  2141. case *map[uintptr]int64:
  2142. fastpathTV.EncMapUintptrInt64V(*v, fastpathCheckNilTrue, e)
  2143. case map[uintptr]float32:
  2144. fastpathTV.EncMapUintptrFloat32V(v, fastpathCheckNilTrue, e)
  2145. case *map[uintptr]float32:
  2146. fastpathTV.EncMapUintptrFloat32V(*v, fastpathCheckNilTrue, e)
  2147. case map[uintptr]float64:
  2148. fastpathTV.EncMapUintptrFloat64V(v, fastpathCheckNilTrue, e)
  2149. case *map[uintptr]float64:
  2150. fastpathTV.EncMapUintptrFloat64V(*v, fastpathCheckNilTrue, e)
  2151. case map[uintptr]bool:
  2152. fastpathTV.EncMapUintptrBoolV(v, fastpathCheckNilTrue, e)
  2153. case *map[uintptr]bool:
  2154. fastpathTV.EncMapUintptrBoolV(*v, fastpathCheckNilTrue, e)
  2155. case map[int]interface{}:
  2156. fastpathTV.EncMapIntIntfV(v, fastpathCheckNilTrue, e)
  2157. case *map[int]interface{}:
  2158. fastpathTV.EncMapIntIntfV(*v, fastpathCheckNilTrue, e)
  2159. case map[int]string:
  2160. fastpathTV.EncMapIntStringV(v, fastpathCheckNilTrue, e)
  2161. case *map[int]string:
  2162. fastpathTV.EncMapIntStringV(*v, fastpathCheckNilTrue, e)
  2163. case map[int]uint:
  2164. fastpathTV.EncMapIntUintV(v, fastpathCheckNilTrue, e)
  2165. case *map[int]uint:
  2166. fastpathTV.EncMapIntUintV(*v, fastpathCheckNilTrue, e)
  2167. case map[int]uint8:
  2168. fastpathTV.EncMapIntUint8V(v, fastpathCheckNilTrue, e)
  2169. case *map[int]uint8:
  2170. fastpathTV.EncMapIntUint8V(*v, fastpathCheckNilTrue, e)
  2171. case map[int]uint16:
  2172. fastpathTV.EncMapIntUint16V(v, fastpathCheckNilTrue, e)
  2173. case *map[int]uint16:
  2174. fastpathTV.EncMapIntUint16V(*v, fastpathCheckNilTrue, e)
  2175. case map[int]uint32:
  2176. fastpathTV.EncMapIntUint32V(v, fastpathCheckNilTrue, e)
  2177. case *map[int]uint32:
  2178. fastpathTV.EncMapIntUint32V(*v, fastpathCheckNilTrue, e)
  2179. case map[int]uint64:
  2180. fastpathTV.EncMapIntUint64V(v, fastpathCheckNilTrue, e)
  2181. case *map[int]uint64:
  2182. fastpathTV.EncMapIntUint64V(*v, fastpathCheckNilTrue, e)
  2183. case map[int]uintptr:
  2184. fastpathTV.EncMapIntUintptrV(v, fastpathCheckNilTrue, e)
  2185. case *map[int]uintptr:
  2186. fastpathTV.EncMapIntUintptrV(*v, fastpathCheckNilTrue, e)
  2187. case map[int]int:
  2188. fastpathTV.EncMapIntIntV(v, fastpathCheckNilTrue, e)
  2189. case *map[int]int:
  2190. fastpathTV.EncMapIntIntV(*v, fastpathCheckNilTrue, e)
  2191. case map[int]int8:
  2192. fastpathTV.EncMapIntInt8V(v, fastpathCheckNilTrue, e)
  2193. case *map[int]int8:
  2194. fastpathTV.EncMapIntInt8V(*v, fastpathCheckNilTrue, e)
  2195. case map[int]int16:
  2196. fastpathTV.EncMapIntInt16V(v, fastpathCheckNilTrue, e)
  2197. case *map[int]int16:
  2198. fastpathTV.EncMapIntInt16V(*v, fastpathCheckNilTrue, e)
  2199. case map[int]int32:
  2200. fastpathTV.EncMapIntInt32V(v, fastpathCheckNilTrue, e)
  2201. case *map[int]int32:
  2202. fastpathTV.EncMapIntInt32V(*v, fastpathCheckNilTrue, e)
  2203. case map[int]int64:
  2204. fastpathTV.EncMapIntInt64V(v, fastpathCheckNilTrue, e)
  2205. case *map[int]int64:
  2206. fastpathTV.EncMapIntInt64V(*v, fastpathCheckNilTrue, e)
  2207. case map[int]float32:
  2208. fastpathTV.EncMapIntFloat32V(v, fastpathCheckNilTrue, e)
  2209. case *map[int]float32:
  2210. fastpathTV.EncMapIntFloat32V(*v, fastpathCheckNilTrue, e)
  2211. case map[int]float64:
  2212. fastpathTV.EncMapIntFloat64V(v, fastpathCheckNilTrue, e)
  2213. case *map[int]float64:
  2214. fastpathTV.EncMapIntFloat64V(*v, fastpathCheckNilTrue, e)
  2215. case map[int]bool:
  2216. fastpathTV.EncMapIntBoolV(v, fastpathCheckNilTrue, e)
  2217. case *map[int]bool:
  2218. fastpathTV.EncMapIntBoolV(*v, fastpathCheckNilTrue, e)
  2219. case map[int8]interface{}:
  2220. fastpathTV.EncMapInt8IntfV(v, fastpathCheckNilTrue, e)
  2221. case *map[int8]interface{}:
  2222. fastpathTV.EncMapInt8IntfV(*v, fastpathCheckNilTrue, e)
  2223. case map[int8]string:
  2224. fastpathTV.EncMapInt8StringV(v, fastpathCheckNilTrue, e)
  2225. case *map[int8]string:
  2226. fastpathTV.EncMapInt8StringV(*v, fastpathCheckNilTrue, e)
  2227. case map[int8]uint:
  2228. fastpathTV.EncMapInt8UintV(v, fastpathCheckNilTrue, e)
  2229. case *map[int8]uint:
  2230. fastpathTV.EncMapInt8UintV(*v, fastpathCheckNilTrue, e)
  2231. case map[int8]uint8:
  2232. fastpathTV.EncMapInt8Uint8V(v, fastpathCheckNilTrue, e)
  2233. case *map[int8]uint8:
  2234. fastpathTV.EncMapInt8Uint8V(*v, fastpathCheckNilTrue, e)
  2235. case map[int8]uint16:
  2236. fastpathTV.EncMapInt8Uint16V(v, fastpathCheckNilTrue, e)
  2237. case *map[int8]uint16:
  2238. fastpathTV.EncMapInt8Uint16V(*v, fastpathCheckNilTrue, e)
  2239. case map[int8]uint32:
  2240. fastpathTV.EncMapInt8Uint32V(v, fastpathCheckNilTrue, e)
  2241. case *map[int8]uint32:
  2242. fastpathTV.EncMapInt8Uint32V(*v, fastpathCheckNilTrue, e)
  2243. case map[int8]uint64:
  2244. fastpathTV.EncMapInt8Uint64V(v, fastpathCheckNilTrue, e)
  2245. case *map[int8]uint64:
  2246. fastpathTV.EncMapInt8Uint64V(*v, fastpathCheckNilTrue, e)
  2247. case map[int8]uintptr:
  2248. fastpathTV.EncMapInt8UintptrV(v, fastpathCheckNilTrue, e)
  2249. case *map[int8]uintptr:
  2250. fastpathTV.EncMapInt8UintptrV(*v, fastpathCheckNilTrue, e)
  2251. case map[int8]int:
  2252. fastpathTV.EncMapInt8IntV(v, fastpathCheckNilTrue, e)
  2253. case *map[int8]int:
  2254. fastpathTV.EncMapInt8IntV(*v, fastpathCheckNilTrue, e)
  2255. case map[int8]int8:
  2256. fastpathTV.EncMapInt8Int8V(v, fastpathCheckNilTrue, e)
  2257. case *map[int8]int8:
  2258. fastpathTV.EncMapInt8Int8V(*v, fastpathCheckNilTrue, e)
  2259. case map[int8]int16:
  2260. fastpathTV.EncMapInt8Int16V(v, fastpathCheckNilTrue, e)
  2261. case *map[int8]int16:
  2262. fastpathTV.EncMapInt8Int16V(*v, fastpathCheckNilTrue, e)
  2263. case map[int8]int32:
  2264. fastpathTV.EncMapInt8Int32V(v, fastpathCheckNilTrue, e)
  2265. case *map[int8]int32:
  2266. fastpathTV.EncMapInt8Int32V(*v, fastpathCheckNilTrue, e)
  2267. case map[int8]int64:
  2268. fastpathTV.EncMapInt8Int64V(v, fastpathCheckNilTrue, e)
  2269. case *map[int8]int64:
  2270. fastpathTV.EncMapInt8Int64V(*v, fastpathCheckNilTrue, e)
  2271. case map[int8]float32:
  2272. fastpathTV.EncMapInt8Float32V(v, fastpathCheckNilTrue, e)
  2273. case *map[int8]float32:
  2274. fastpathTV.EncMapInt8Float32V(*v, fastpathCheckNilTrue, e)
  2275. case map[int8]float64:
  2276. fastpathTV.EncMapInt8Float64V(v, fastpathCheckNilTrue, e)
  2277. case *map[int8]float64:
  2278. fastpathTV.EncMapInt8Float64V(*v, fastpathCheckNilTrue, e)
  2279. case map[int8]bool:
  2280. fastpathTV.EncMapInt8BoolV(v, fastpathCheckNilTrue, e)
  2281. case *map[int8]bool:
  2282. fastpathTV.EncMapInt8BoolV(*v, fastpathCheckNilTrue, e)
  2283. case map[int16]interface{}:
  2284. fastpathTV.EncMapInt16IntfV(v, fastpathCheckNilTrue, e)
  2285. case *map[int16]interface{}:
  2286. fastpathTV.EncMapInt16IntfV(*v, fastpathCheckNilTrue, e)
  2287. case map[int16]string:
  2288. fastpathTV.EncMapInt16StringV(v, fastpathCheckNilTrue, e)
  2289. case *map[int16]string:
  2290. fastpathTV.EncMapInt16StringV(*v, fastpathCheckNilTrue, e)
  2291. case map[int16]uint:
  2292. fastpathTV.EncMapInt16UintV(v, fastpathCheckNilTrue, e)
  2293. case *map[int16]uint:
  2294. fastpathTV.EncMapInt16UintV(*v, fastpathCheckNilTrue, e)
  2295. case map[int16]uint8:
  2296. fastpathTV.EncMapInt16Uint8V(v, fastpathCheckNilTrue, e)
  2297. case *map[int16]uint8:
  2298. fastpathTV.EncMapInt16Uint8V(*v, fastpathCheckNilTrue, e)
  2299. case map[int16]uint16:
  2300. fastpathTV.EncMapInt16Uint16V(v, fastpathCheckNilTrue, e)
  2301. case *map[int16]uint16:
  2302. fastpathTV.EncMapInt16Uint16V(*v, fastpathCheckNilTrue, e)
  2303. case map[int16]uint32:
  2304. fastpathTV.EncMapInt16Uint32V(v, fastpathCheckNilTrue, e)
  2305. case *map[int16]uint32:
  2306. fastpathTV.EncMapInt16Uint32V(*v, fastpathCheckNilTrue, e)
  2307. case map[int16]uint64:
  2308. fastpathTV.EncMapInt16Uint64V(v, fastpathCheckNilTrue, e)
  2309. case *map[int16]uint64:
  2310. fastpathTV.EncMapInt16Uint64V(*v, fastpathCheckNilTrue, e)
  2311. case map[int16]uintptr:
  2312. fastpathTV.EncMapInt16UintptrV(v, fastpathCheckNilTrue, e)
  2313. case *map[int16]uintptr:
  2314. fastpathTV.EncMapInt16UintptrV(*v, fastpathCheckNilTrue, e)
  2315. case map[int16]int:
  2316. fastpathTV.EncMapInt16IntV(v, fastpathCheckNilTrue, e)
  2317. case *map[int16]int:
  2318. fastpathTV.EncMapInt16IntV(*v, fastpathCheckNilTrue, e)
  2319. case map[int16]int8:
  2320. fastpathTV.EncMapInt16Int8V(v, fastpathCheckNilTrue, e)
  2321. case *map[int16]int8:
  2322. fastpathTV.EncMapInt16Int8V(*v, fastpathCheckNilTrue, e)
  2323. case map[int16]int16:
  2324. fastpathTV.EncMapInt16Int16V(v, fastpathCheckNilTrue, e)
  2325. case *map[int16]int16:
  2326. fastpathTV.EncMapInt16Int16V(*v, fastpathCheckNilTrue, e)
  2327. case map[int16]int32:
  2328. fastpathTV.EncMapInt16Int32V(v, fastpathCheckNilTrue, e)
  2329. case *map[int16]int32:
  2330. fastpathTV.EncMapInt16Int32V(*v, fastpathCheckNilTrue, e)
  2331. case map[int16]int64:
  2332. fastpathTV.EncMapInt16Int64V(v, fastpathCheckNilTrue, e)
  2333. case *map[int16]int64:
  2334. fastpathTV.EncMapInt16Int64V(*v, fastpathCheckNilTrue, e)
  2335. case map[int16]float32:
  2336. fastpathTV.EncMapInt16Float32V(v, fastpathCheckNilTrue, e)
  2337. case *map[int16]float32:
  2338. fastpathTV.EncMapInt16Float32V(*v, fastpathCheckNilTrue, e)
  2339. case map[int16]float64:
  2340. fastpathTV.EncMapInt16Float64V(v, fastpathCheckNilTrue, e)
  2341. case *map[int16]float64:
  2342. fastpathTV.EncMapInt16Float64V(*v, fastpathCheckNilTrue, e)
  2343. case map[int16]bool:
  2344. fastpathTV.EncMapInt16BoolV(v, fastpathCheckNilTrue, e)
  2345. case *map[int16]bool:
  2346. fastpathTV.EncMapInt16BoolV(*v, fastpathCheckNilTrue, e)
  2347. case map[int32]interface{}:
  2348. fastpathTV.EncMapInt32IntfV(v, fastpathCheckNilTrue, e)
  2349. case *map[int32]interface{}:
  2350. fastpathTV.EncMapInt32IntfV(*v, fastpathCheckNilTrue, e)
  2351. case map[int32]string:
  2352. fastpathTV.EncMapInt32StringV(v, fastpathCheckNilTrue, e)
  2353. case *map[int32]string:
  2354. fastpathTV.EncMapInt32StringV(*v, fastpathCheckNilTrue, e)
  2355. case map[int32]uint:
  2356. fastpathTV.EncMapInt32UintV(v, fastpathCheckNilTrue, e)
  2357. case *map[int32]uint:
  2358. fastpathTV.EncMapInt32UintV(*v, fastpathCheckNilTrue, e)
  2359. case map[int32]uint8:
  2360. fastpathTV.EncMapInt32Uint8V(v, fastpathCheckNilTrue, e)
  2361. case *map[int32]uint8:
  2362. fastpathTV.EncMapInt32Uint8V(*v, fastpathCheckNilTrue, e)
  2363. case map[int32]uint16:
  2364. fastpathTV.EncMapInt32Uint16V(v, fastpathCheckNilTrue, e)
  2365. case *map[int32]uint16:
  2366. fastpathTV.EncMapInt32Uint16V(*v, fastpathCheckNilTrue, e)
  2367. case map[int32]uint32:
  2368. fastpathTV.EncMapInt32Uint32V(v, fastpathCheckNilTrue, e)
  2369. case *map[int32]uint32:
  2370. fastpathTV.EncMapInt32Uint32V(*v, fastpathCheckNilTrue, e)
  2371. case map[int32]uint64:
  2372. fastpathTV.EncMapInt32Uint64V(v, fastpathCheckNilTrue, e)
  2373. case *map[int32]uint64:
  2374. fastpathTV.EncMapInt32Uint64V(*v, fastpathCheckNilTrue, e)
  2375. case map[int32]uintptr:
  2376. fastpathTV.EncMapInt32UintptrV(v, fastpathCheckNilTrue, e)
  2377. case *map[int32]uintptr:
  2378. fastpathTV.EncMapInt32UintptrV(*v, fastpathCheckNilTrue, e)
  2379. case map[int32]int:
  2380. fastpathTV.EncMapInt32IntV(v, fastpathCheckNilTrue, e)
  2381. case *map[int32]int:
  2382. fastpathTV.EncMapInt32IntV(*v, fastpathCheckNilTrue, e)
  2383. case map[int32]int8:
  2384. fastpathTV.EncMapInt32Int8V(v, fastpathCheckNilTrue, e)
  2385. case *map[int32]int8:
  2386. fastpathTV.EncMapInt32Int8V(*v, fastpathCheckNilTrue, e)
  2387. case map[int32]int16:
  2388. fastpathTV.EncMapInt32Int16V(v, fastpathCheckNilTrue, e)
  2389. case *map[int32]int16:
  2390. fastpathTV.EncMapInt32Int16V(*v, fastpathCheckNilTrue, e)
  2391. case map[int32]int32:
  2392. fastpathTV.EncMapInt32Int32V(v, fastpathCheckNilTrue, e)
  2393. case *map[int32]int32:
  2394. fastpathTV.EncMapInt32Int32V(*v, fastpathCheckNilTrue, e)
  2395. case map[int32]int64:
  2396. fastpathTV.EncMapInt32Int64V(v, fastpathCheckNilTrue, e)
  2397. case *map[int32]int64:
  2398. fastpathTV.EncMapInt32Int64V(*v, fastpathCheckNilTrue, e)
  2399. case map[int32]float32:
  2400. fastpathTV.EncMapInt32Float32V(v, fastpathCheckNilTrue, e)
  2401. case *map[int32]float32:
  2402. fastpathTV.EncMapInt32Float32V(*v, fastpathCheckNilTrue, e)
  2403. case map[int32]float64:
  2404. fastpathTV.EncMapInt32Float64V(v, fastpathCheckNilTrue, e)
  2405. case *map[int32]float64:
  2406. fastpathTV.EncMapInt32Float64V(*v, fastpathCheckNilTrue, e)
  2407. case map[int32]bool:
  2408. fastpathTV.EncMapInt32BoolV(v, fastpathCheckNilTrue, e)
  2409. case *map[int32]bool:
  2410. fastpathTV.EncMapInt32BoolV(*v, fastpathCheckNilTrue, e)
  2411. case map[int64]interface{}:
  2412. fastpathTV.EncMapInt64IntfV(v, fastpathCheckNilTrue, e)
  2413. case *map[int64]interface{}:
  2414. fastpathTV.EncMapInt64IntfV(*v, fastpathCheckNilTrue, e)
  2415. case map[int64]string:
  2416. fastpathTV.EncMapInt64StringV(v, fastpathCheckNilTrue, e)
  2417. case *map[int64]string:
  2418. fastpathTV.EncMapInt64StringV(*v, fastpathCheckNilTrue, e)
  2419. case map[int64]uint:
  2420. fastpathTV.EncMapInt64UintV(v, fastpathCheckNilTrue, e)
  2421. case *map[int64]uint:
  2422. fastpathTV.EncMapInt64UintV(*v, fastpathCheckNilTrue, e)
  2423. case map[int64]uint8:
  2424. fastpathTV.EncMapInt64Uint8V(v, fastpathCheckNilTrue, e)
  2425. case *map[int64]uint8:
  2426. fastpathTV.EncMapInt64Uint8V(*v, fastpathCheckNilTrue, e)
  2427. case map[int64]uint16:
  2428. fastpathTV.EncMapInt64Uint16V(v, fastpathCheckNilTrue, e)
  2429. case *map[int64]uint16:
  2430. fastpathTV.EncMapInt64Uint16V(*v, fastpathCheckNilTrue, e)
  2431. case map[int64]uint32:
  2432. fastpathTV.EncMapInt64Uint32V(v, fastpathCheckNilTrue, e)
  2433. case *map[int64]uint32:
  2434. fastpathTV.EncMapInt64Uint32V(*v, fastpathCheckNilTrue, e)
  2435. case map[int64]uint64:
  2436. fastpathTV.EncMapInt64Uint64V(v, fastpathCheckNilTrue, e)
  2437. case *map[int64]uint64:
  2438. fastpathTV.EncMapInt64Uint64V(*v, fastpathCheckNilTrue, e)
  2439. case map[int64]uintptr:
  2440. fastpathTV.EncMapInt64UintptrV(v, fastpathCheckNilTrue, e)
  2441. case *map[int64]uintptr:
  2442. fastpathTV.EncMapInt64UintptrV(*v, fastpathCheckNilTrue, e)
  2443. case map[int64]int:
  2444. fastpathTV.EncMapInt64IntV(v, fastpathCheckNilTrue, e)
  2445. case *map[int64]int:
  2446. fastpathTV.EncMapInt64IntV(*v, fastpathCheckNilTrue, e)
  2447. case map[int64]int8:
  2448. fastpathTV.EncMapInt64Int8V(v, fastpathCheckNilTrue, e)
  2449. case *map[int64]int8:
  2450. fastpathTV.EncMapInt64Int8V(*v, fastpathCheckNilTrue, e)
  2451. case map[int64]int16:
  2452. fastpathTV.EncMapInt64Int16V(v, fastpathCheckNilTrue, e)
  2453. case *map[int64]int16:
  2454. fastpathTV.EncMapInt64Int16V(*v, fastpathCheckNilTrue, e)
  2455. case map[int64]int32:
  2456. fastpathTV.EncMapInt64Int32V(v, fastpathCheckNilTrue, e)
  2457. case *map[int64]int32:
  2458. fastpathTV.EncMapInt64Int32V(*v, fastpathCheckNilTrue, e)
  2459. case map[int64]int64:
  2460. fastpathTV.EncMapInt64Int64V(v, fastpathCheckNilTrue, e)
  2461. case *map[int64]int64:
  2462. fastpathTV.EncMapInt64Int64V(*v, fastpathCheckNilTrue, e)
  2463. case map[int64]float32:
  2464. fastpathTV.EncMapInt64Float32V(v, fastpathCheckNilTrue, e)
  2465. case *map[int64]float32:
  2466. fastpathTV.EncMapInt64Float32V(*v, fastpathCheckNilTrue, e)
  2467. case map[int64]float64:
  2468. fastpathTV.EncMapInt64Float64V(v, fastpathCheckNilTrue, e)
  2469. case *map[int64]float64:
  2470. fastpathTV.EncMapInt64Float64V(*v, fastpathCheckNilTrue, e)
  2471. case map[int64]bool:
  2472. fastpathTV.EncMapInt64BoolV(v, fastpathCheckNilTrue, e)
  2473. case *map[int64]bool:
  2474. fastpathTV.EncMapInt64BoolV(*v, fastpathCheckNilTrue, e)
  2475. case map[bool]interface{}:
  2476. fastpathTV.EncMapBoolIntfV(v, fastpathCheckNilTrue, e)
  2477. case *map[bool]interface{}:
  2478. fastpathTV.EncMapBoolIntfV(*v, fastpathCheckNilTrue, e)
  2479. case map[bool]string:
  2480. fastpathTV.EncMapBoolStringV(v, fastpathCheckNilTrue, e)
  2481. case *map[bool]string:
  2482. fastpathTV.EncMapBoolStringV(*v, fastpathCheckNilTrue, e)
  2483. case map[bool]uint:
  2484. fastpathTV.EncMapBoolUintV(v, fastpathCheckNilTrue, e)
  2485. case *map[bool]uint:
  2486. fastpathTV.EncMapBoolUintV(*v, fastpathCheckNilTrue, e)
  2487. case map[bool]uint8:
  2488. fastpathTV.EncMapBoolUint8V(v, fastpathCheckNilTrue, e)
  2489. case *map[bool]uint8:
  2490. fastpathTV.EncMapBoolUint8V(*v, fastpathCheckNilTrue, e)
  2491. case map[bool]uint16:
  2492. fastpathTV.EncMapBoolUint16V(v, fastpathCheckNilTrue, e)
  2493. case *map[bool]uint16:
  2494. fastpathTV.EncMapBoolUint16V(*v, fastpathCheckNilTrue, e)
  2495. case map[bool]uint32:
  2496. fastpathTV.EncMapBoolUint32V(v, fastpathCheckNilTrue, e)
  2497. case *map[bool]uint32:
  2498. fastpathTV.EncMapBoolUint32V(*v, fastpathCheckNilTrue, e)
  2499. case map[bool]uint64:
  2500. fastpathTV.EncMapBoolUint64V(v, fastpathCheckNilTrue, e)
  2501. case *map[bool]uint64:
  2502. fastpathTV.EncMapBoolUint64V(*v, fastpathCheckNilTrue, e)
  2503. case map[bool]uintptr:
  2504. fastpathTV.EncMapBoolUintptrV(v, fastpathCheckNilTrue, e)
  2505. case *map[bool]uintptr:
  2506. fastpathTV.EncMapBoolUintptrV(*v, fastpathCheckNilTrue, e)
  2507. case map[bool]int:
  2508. fastpathTV.EncMapBoolIntV(v, fastpathCheckNilTrue, e)
  2509. case *map[bool]int:
  2510. fastpathTV.EncMapBoolIntV(*v, fastpathCheckNilTrue, e)
  2511. case map[bool]int8:
  2512. fastpathTV.EncMapBoolInt8V(v, fastpathCheckNilTrue, e)
  2513. case *map[bool]int8:
  2514. fastpathTV.EncMapBoolInt8V(*v, fastpathCheckNilTrue, e)
  2515. case map[bool]int16:
  2516. fastpathTV.EncMapBoolInt16V(v, fastpathCheckNilTrue, e)
  2517. case *map[bool]int16:
  2518. fastpathTV.EncMapBoolInt16V(*v, fastpathCheckNilTrue, e)
  2519. case map[bool]int32:
  2520. fastpathTV.EncMapBoolInt32V(v, fastpathCheckNilTrue, e)
  2521. case *map[bool]int32:
  2522. fastpathTV.EncMapBoolInt32V(*v, fastpathCheckNilTrue, e)
  2523. case map[bool]int64:
  2524. fastpathTV.EncMapBoolInt64V(v, fastpathCheckNilTrue, e)
  2525. case *map[bool]int64:
  2526. fastpathTV.EncMapBoolInt64V(*v, fastpathCheckNilTrue, e)
  2527. case map[bool]float32:
  2528. fastpathTV.EncMapBoolFloat32V(v, fastpathCheckNilTrue, e)
  2529. case *map[bool]float32:
  2530. fastpathTV.EncMapBoolFloat32V(*v, fastpathCheckNilTrue, e)
  2531. case map[bool]float64:
  2532. fastpathTV.EncMapBoolFloat64V(v, fastpathCheckNilTrue, e)
  2533. case *map[bool]float64:
  2534. fastpathTV.EncMapBoolFloat64V(*v, fastpathCheckNilTrue, e)
  2535. case map[bool]bool:
  2536. fastpathTV.EncMapBoolBoolV(v, fastpathCheckNilTrue, e)
  2537. case *map[bool]bool:
  2538. fastpathTV.EncMapBoolBoolV(*v, fastpathCheckNilTrue, e)
  2539. default:
  2540. return false
  2541. }
  2542. return true
  2543. }
  2544. // -- -- fast path functions
  2545. func (f *encFnInfo) fastpathEncSliceIntfR(rv reflect.Value) {
  2546. fastpathTV.EncSliceIntfV(rv.Interface().([]interface{}), fastpathCheckNilFalse, f.e)
  2547. }
  2548. func (_ fastpathT) EncSliceIntfV(v []interface{}, checkNil bool, e *Encoder) {
  2549. ee := e.e
  2550. if checkNil && v == nil {
  2551. ee.EncodeNil()
  2552. return
  2553. }
  2554. ee.EncodeArrayStart(len(v))
  2555. for _, v2 := range v {
  2556. e.encode(v2)
  2557. }
  2558. ee.EncodeEnd()
  2559. }
  2560. func (f *encFnInfo) fastpathEncSliceStringR(rv reflect.Value) {
  2561. fastpathTV.EncSliceStringV(rv.Interface().([]string), fastpathCheckNilFalse, f.e)
  2562. }
  2563. func (_ fastpathT) EncSliceStringV(v []string, checkNil bool, e *Encoder) {
  2564. ee := e.e
  2565. if checkNil && v == nil {
  2566. ee.EncodeNil()
  2567. return
  2568. }
  2569. ee.EncodeArrayStart(len(v))
  2570. for _, v2 := range v {
  2571. ee.EncodeString(c_UTF8, v2)
  2572. }
  2573. ee.EncodeEnd()
  2574. }
  2575. func (f *encFnInfo) fastpathEncSliceFloat32R(rv reflect.Value) {
  2576. fastpathTV.EncSliceFloat32V(rv.Interface().([]float32), fastpathCheckNilFalse, f.e)
  2577. }
  2578. func (_ fastpathT) EncSliceFloat32V(v []float32, checkNil bool, e *Encoder) {
  2579. ee := e.e
  2580. if checkNil && v == nil {
  2581. ee.EncodeNil()
  2582. return
  2583. }
  2584. ee.EncodeArrayStart(len(v))
  2585. for _, v2 := range v {
  2586. ee.EncodeFloat32(v2)
  2587. }
  2588. ee.EncodeEnd()
  2589. }
  2590. func (f *encFnInfo) fastpathEncSliceFloat64R(rv reflect.Value) {
  2591. fastpathTV.EncSliceFloat64V(rv.Interface().([]float64), fastpathCheckNilFalse, f.e)
  2592. }
  2593. func (_ fastpathT) EncSliceFloat64V(v []float64, checkNil bool, e *Encoder) {
  2594. ee := e.e
  2595. if checkNil && v == nil {
  2596. ee.EncodeNil()
  2597. return
  2598. }
  2599. ee.EncodeArrayStart(len(v))
  2600. for _, v2 := range v {
  2601. ee.EncodeFloat64(v2)
  2602. }
  2603. ee.EncodeEnd()
  2604. }
  2605. func (f *encFnInfo) fastpathEncSliceUintR(rv reflect.Value) {
  2606. fastpathTV.EncSliceUintV(rv.Interface().([]uint), fastpathCheckNilFalse, f.e)
  2607. }
  2608. func (_ fastpathT) EncSliceUintV(v []uint, checkNil bool, e *Encoder) {
  2609. ee := e.e
  2610. if checkNil && v == nil {
  2611. ee.EncodeNil()
  2612. return
  2613. }
  2614. ee.EncodeArrayStart(len(v))
  2615. for _, v2 := range v {
  2616. ee.EncodeUint(uint64(v2))
  2617. }
  2618. ee.EncodeEnd()
  2619. }
  2620. func (f *encFnInfo) fastpathEncSliceUint16R(rv reflect.Value) {
  2621. fastpathTV.EncSliceUint16V(rv.Interface().([]uint16), fastpathCheckNilFalse, f.e)
  2622. }
  2623. func (_ fastpathT) EncSliceUint16V(v []uint16, checkNil bool, e *Encoder) {
  2624. ee := e.e
  2625. if checkNil && v == nil {
  2626. ee.EncodeNil()
  2627. return
  2628. }
  2629. ee.EncodeArrayStart(len(v))
  2630. for _, v2 := range v {
  2631. ee.EncodeUint(uint64(v2))
  2632. }
  2633. ee.EncodeEnd()
  2634. }
  2635. func (f *encFnInfo) fastpathEncSliceUint32R(rv reflect.Value) {
  2636. fastpathTV.EncSliceUint32V(rv.Interface().([]uint32), fastpathCheckNilFalse, f.e)
  2637. }
  2638. func (_ fastpathT) EncSliceUint32V(v []uint32, checkNil bool, e *Encoder) {
  2639. ee := e.e
  2640. if checkNil && v == nil {
  2641. ee.EncodeNil()
  2642. return
  2643. }
  2644. ee.EncodeArrayStart(len(v))
  2645. for _, v2 := range v {
  2646. ee.EncodeUint(uint64(v2))
  2647. }
  2648. ee.EncodeEnd()
  2649. }
  2650. func (f *encFnInfo) fastpathEncSliceUint64R(rv reflect.Value) {
  2651. fastpathTV.EncSliceUint64V(rv.Interface().([]uint64), fastpathCheckNilFalse, f.e)
  2652. }
  2653. func (_ fastpathT) EncSliceUint64V(v []uint64, checkNil bool, e *Encoder) {
  2654. ee := e.e
  2655. if checkNil && v == nil {
  2656. ee.EncodeNil()
  2657. return
  2658. }
  2659. ee.EncodeArrayStart(len(v))
  2660. for _, v2 := range v {
  2661. ee.EncodeUint(uint64(v2))
  2662. }
  2663. ee.EncodeEnd()
  2664. }
  2665. func (f *encFnInfo) fastpathEncSliceUintptrR(rv reflect.Value) {
  2666. fastpathTV.EncSliceUintptrV(rv.Interface().([]uintptr), fastpathCheckNilFalse, f.e)
  2667. }
  2668. func (_ fastpathT) EncSliceUintptrV(v []uintptr, checkNil bool, e *Encoder) {
  2669. ee := e.e
  2670. if checkNil && v == nil {
  2671. ee.EncodeNil()
  2672. return
  2673. }
  2674. ee.EncodeArrayStart(len(v))
  2675. for _, v2 := range v {
  2676. e.encode(v2)
  2677. }
  2678. ee.EncodeEnd()
  2679. }
  2680. func (f *encFnInfo) fastpathEncSliceIntR(rv reflect.Value) {
  2681. fastpathTV.EncSliceIntV(rv.Interface().([]int), fastpathCheckNilFalse, f.e)
  2682. }
  2683. func (_ fastpathT) EncSliceIntV(v []int, checkNil bool, e *Encoder) {
  2684. ee := e.e
  2685. if checkNil && v == nil {
  2686. ee.EncodeNil()
  2687. return
  2688. }
  2689. ee.EncodeArrayStart(len(v))
  2690. for _, v2 := range v {
  2691. ee.EncodeInt(int64(v2))
  2692. }
  2693. ee.EncodeEnd()
  2694. }
  2695. func (f *encFnInfo) fastpathEncSliceInt8R(rv reflect.Value) {
  2696. fastpathTV.EncSliceInt8V(rv.Interface().([]int8), fastpathCheckNilFalse, f.e)
  2697. }
  2698. func (_ fastpathT) EncSliceInt8V(v []int8, checkNil bool, e *Encoder) {
  2699. ee := e.e
  2700. if checkNil && v == nil {
  2701. ee.EncodeNil()
  2702. return
  2703. }
  2704. ee.EncodeArrayStart(len(v))
  2705. for _, v2 := range v {
  2706. ee.EncodeInt(int64(v2))
  2707. }
  2708. ee.EncodeEnd()
  2709. }
  2710. func (f *encFnInfo) fastpathEncSliceInt16R(rv reflect.Value) {
  2711. fastpathTV.EncSliceInt16V(rv.Interface().([]int16), fastpathCheckNilFalse, f.e)
  2712. }
  2713. func (_ fastpathT) EncSliceInt16V(v []int16, checkNil bool, e *Encoder) {
  2714. ee := e.e
  2715. if checkNil && v == nil {
  2716. ee.EncodeNil()
  2717. return
  2718. }
  2719. ee.EncodeArrayStart(len(v))
  2720. for _, v2 := range v {
  2721. ee.EncodeInt(int64(v2))
  2722. }
  2723. ee.EncodeEnd()
  2724. }
  2725. func (f *encFnInfo) fastpathEncSliceInt32R(rv reflect.Value) {
  2726. fastpathTV.EncSliceInt32V(rv.Interface().([]int32), fastpathCheckNilFalse, f.e)
  2727. }
  2728. func (_ fastpathT) EncSliceInt32V(v []int32, checkNil bool, e *Encoder) {
  2729. ee := e.e
  2730. if checkNil && v == nil {
  2731. ee.EncodeNil()
  2732. return
  2733. }
  2734. ee.EncodeArrayStart(len(v))
  2735. for _, v2 := range v {
  2736. ee.EncodeInt(int64(v2))
  2737. }
  2738. ee.EncodeEnd()
  2739. }
  2740. func (f *encFnInfo) fastpathEncSliceInt64R(rv reflect.Value) {
  2741. fastpathTV.EncSliceInt64V(rv.Interface().([]int64), fastpathCheckNilFalse, f.e)
  2742. }
  2743. func (_ fastpathT) EncSliceInt64V(v []int64, checkNil bool, e *Encoder) {
  2744. ee := e.e
  2745. if checkNil && v == nil {
  2746. ee.EncodeNil()
  2747. return
  2748. }
  2749. ee.EncodeArrayStart(len(v))
  2750. for _, v2 := range v {
  2751. ee.EncodeInt(int64(v2))
  2752. }
  2753. ee.EncodeEnd()
  2754. }
  2755. func (f *encFnInfo) fastpathEncSliceBoolR(rv reflect.Value) {
  2756. fastpathTV.EncSliceBoolV(rv.Interface().([]bool), fastpathCheckNilFalse, f.e)
  2757. }
  2758. func (_ fastpathT) EncSliceBoolV(v []bool, checkNil bool, e *Encoder) {
  2759. ee := e.e
  2760. if checkNil && v == nil {
  2761. ee.EncodeNil()
  2762. return
  2763. }
  2764. ee.EncodeArrayStart(len(v))
  2765. for _, v2 := range v {
  2766. ee.EncodeBool(v2)
  2767. }
  2768. ee.EncodeEnd()
  2769. }
  2770. func (f *encFnInfo) fastpathEncMapIntfIntfR(rv reflect.Value) {
  2771. fastpathTV.EncMapIntfIntfV(rv.Interface().(map[interface{}]interface{}), fastpathCheckNilFalse, f.e)
  2772. }
  2773. func (_ fastpathT) EncMapIntfIntfV(v map[interface{}]interface{}, checkNil bool, e *Encoder) {
  2774. ee := e.e
  2775. if checkNil && v == nil {
  2776. ee.EncodeNil()
  2777. return
  2778. }
  2779. ee.EncodeMapStart(len(v))
  2780. if e.h.Canonical {
  2781. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  2782. e2 := NewEncoderBytes(&mksv, e.hh)
  2783. v2 := make([]bytesI, len(v))
  2784. var i, l int
  2785. var vp *bytesI
  2786. for k2, _ := range v {
  2787. l = len(mksv)
  2788. e2.MustEncode(k2)
  2789. vp = &v2[i]
  2790. vp.v = mksv[l:]
  2791. vp.i = k2
  2792. i++
  2793. }
  2794. sort.Sort(bytesISlice(v2))
  2795. for j := range v2 {
  2796. e.asis(v2[j].v)
  2797. e.encode(v[v2[j].i])
  2798. }
  2799. } else {
  2800. for k2, v2 := range v {
  2801. e.encode(k2)
  2802. e.encode(v2)
  2803. }
  2804. }
  2805. ee.EncodeEnd()
  2806. }
  2807. func (f *encFnInfo) fastpathEncMapIntfStringR(rv reflect.Value) {
  2808. fastpathTV.EncMapIntfStringV(rv.Interface().(map[interface{}]string), fastpathCheckNilFalse, f.e)
  2809. }
  2810. func (_ fastpathT) EncMapIntfStringV(v map[interface{}]string, checkNil bool, e *Encoder) {
  2811. ee := e.e
  2812. if checkNil && v == nil {
  2813. ee.EncodeNil()
  2814. return
  2815. }
  2816. ee.EncodeMapStart(len(v))
  2817. if e.h.Canonical {
  2818. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  2819. e2 := NewEncoderBytes(&mksv, e.hh)
  2820. v2 := make([]bytesI, len(v))
  2821. var i, l int
  2822. var vp *bytesI
  2823. for k2, _ := range v {
  2824. l = len(mksv)
  2825. e2.MustEncode(k2)
  2826. vp = &v2[i]
  2827. vp.v = mksv[l:]
  2828. vp.i = k2
  2829. i++
  2830. }
  2831. sort.Sort(bytesISlice(v2))
  2832. for j := range v2 {
  2833. e.asis(v2[j].v)
  2834. e.encode(v[v2[j].i])
  2835. }
  2836. } else {
  2837. for k2, v2 := range v {
  2838. e.encode(k2)
  2839. ee.EncodeString(c_UTF8, v2)
  2840. }
  2841. }
  2842. ee.EncodeEnd()
  2843. }
  2844. func (f *encFnInfo) fastpathEncMapIntfUintR(rv reflect.Value) {
  2845. fastpathTV.EncMapIntfUintV(rv.Interface().(map[interface{}]uint), fastpathCheckNilFalse, f.e)
  2846. }
  2847. func (_ fastpathT) EncMapIntfUintV(v map[interface{}]uint, checkNil bool, e *Encoder) {
  2848. ee := e.e
  2849. if checkNil && v == nil {
  2850. ee.EncodeNil()
  2851. return
  2852. }
  2853. ee.EncodeMapStart(len(v))
  2854. if e.h.Canonical {
  2855. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  2856. e2 := NewEncoderBytes(&mksv, e.hh)
  2857. v2 := make([]bytesI, len(v))
  2858. var i, l int
  2859. var vp *bytesI
  2860. for k2, _ := range v {
  2861. l = len(mksv)
  2862. e2.MustEncode(k2)
  2863. vp = &v2[i]
  2864. vp.v = mksv[l:]
  2865. vp.i = k2
  2866. i++
  2867. }
  2868. sort.Sort(bytesISlice(v2))
  2869. for j := range v2 {
  2870. e.asis(v2[j].v)
  2871. e.encode(v[v2[j].i])
  2872. }
  2873. } else {
  2874. for k2, v2 := range v {
  2875. e.encode(k2)
  2876. ee.EncodeUint(uint64(v2))
  2877. }
  2878. }
  2879. ee.EncodeEnd()
  2880. }
  2881. func (f *encFnInfo) fastpathEncMapIntfUint8R(rv reflect.Value) {
  2882. fastpathTV.EncMapIntfUint8V(rv.Interface().(map[interface{}]uint8), fastpathCheckNilFalse, f.e)
  2883. }
  2884. func (_ fastpathT) EncMapIntfUint8V(v map[interface{}]uint8, checkNil bool, e *Encoder) {
  2885. ee := e.e
  2886. if checkNil && v == nil {
  2887. ee.EncodeNil()
  2888. return
  2889. }
  2890. ee.EncodeMapStart(len(v))
  2891. if e.h.Canonical {
  2892. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  2893. e2 := NewEncoderBytes(&mksv, e.hh)
  2894. v2 := make([]bytesI, len(v))
  2895. var i, l int
  2896. var vp *bytesI
  2897. for k2, _ := range v {
  2898. l = len(mksv)
  2899. e2.MustEncode(k2)
  2900. vp = &v2[i]
  2901. vp.v = mksv[l:]
  2902. vp.i = k2
  2903. i++
  2904. }
  2905. sort.Sort(bytesISlice(v2))
  2906. for j := range v2 {
  2907. e.asis(v2[j].v)
  2908. e.encode(v[v2[j].i])
  2909. }
  2910. } else {
  2911. for k2, v2 := range v {
  2912. e.encode(k2)
  2913. ee.EncodeUint(uint64(v2))
  2914. }
  2915. }
  2916. ee.EncodeEnd()
  2917. }
  2918. func (f *encFnInfo) fastpathEncMapIntfUint16R(rv reflect.Value) {
  2919. fastpathTV.EncMapIntfUint16V(rv.Interface().(map[interface{}]uint16), fastpathCheckNilFalse, f.e)
  2920. }
  2921. func (_ fastpathT) EncMapIntfUint16V(v map[interface{}]uint16, checkNil bool, e *Encoder) {
  2922. ee := e.e
  2923. if checkNil && v == nil {
  2924. ee.EncodeNil()
  2925. return
  2926. }
  2927. ee.EncodeMapStart(len(v))
  2928. if e.h.Canonical {
  2929. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  2930. e2 := NewEncoderBytes(&mksv, e.hh)
  2931. v2 := make([]bytesI, len(v))
  2932. var i, l int
  2933. var vp *bytesI
  2934. for k2, _ := range v {
  2935. l = len(mksv)
  2936. e2.MustEncode(k2)
  2937. vp = &v2[i]
  2938. vp.v = mksv[l:]
  2939. vp.i = k2
  2940. i++
  2941. }
  2942. sort.Sort(bytesISlice(v2))
  2943. for j := range v2 {
  2944. e.asis(v2[j].v)
  2945. e.encode(v[v2[j].i])
  2946. }
  2947. } else {
  2948. for k2, v2 := range v {
  2949. e.encode(k2)
  2950. ee.EncodeUint(uint64(v2))
  2951. }
  2952. }
  2953. ee.EncodeEnd()
  2954. }
  2955. func (f *encFnInfo) fastpathEncMapIntfUint32R(rv reflect.Value) {
  2956. fastpathTV.EncMapIntfUint32V(rv.Interface().(map[interface{}]uint32), fastpathCheckNilFalse, f.e)
  2957. }
  2958. func (_ fastpathT) EncMapIntfUint32V(v map[interface{}]uint32, checkNil bool, e *Encoder) {
  2959. ee := e.e
  2960. if checkNil && v == nil {
  2961. ee.EncodeNil()
  2962. return
  2963. }
  2964. ee.EncodeMapStart(len(v))
  2965. if e.h.Canonical {
  2966. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  2967. e2 := NewEncoderBytes(&mksv, e.hh)
  2968. v2 := make([]bytesI, len(v))
  2969. var i, l int
  2970. var vp *bytesI
  2971. for k2, _ := range v {
  2972. l = len(mksv)
  2973. e2.MustEncode(k2)
  2974. vp = &v2[i]
  2975. vp.v = mksv[l:]
  2976. vp.i = k2
  2977. i++
  2978. }
  2979. sort.Sort(bytesISlice(v2))
  2980. for j := range v2 {
  2981. e.asis(v2[j].v)
  2982. e.encode(v[v2[j].i])
  2983. }
  2984. } else {
  2985. for k2, v2 := range v {
  2986. e.encode(k2)
  2987. ee.EncodeUint(uint64(v2))
  2988. }
  2989. }
  2990. ee.EncodeEnd()
  2991. }
  2992. func (f *encFnInfo) fastpathEncMapIntfUint64R(rv reflect.Value) {
  2993. fastpathTV.EncMapIntfUint64V(rv.Interface().(map[interface{}]uint64), fastpathCheckNilFalse, f.e)
  2994. }
  2995. func (_ fastpathT) EncMapIntfUint64V(v map[interface{}]uint64, checkNil bool, e *Encoder) {
  2996. ee := e.e
  2997. if checkNil && v == nil {
  2998. ee.EncodeNil()
  2999. return
  3000. }
  3001. ee.EncodeMapStart(len(v))
  3002. if e.h.Canonical {
  3003. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3004. e2 := NewEncoderBytes(&mksv, e.hh)
  3005. v2 := make([]bytesI, len(v))
  3006. var i, l int
  3007. var vp *bytesI
  3008. for k2, _ := range v {
  3009. l = len(mksv)
  3010. e2.MustEncode(k2)
  3011. vp = &v2[i]
  3012. vp.v = mksv[l:]
  3013. vp.i = k2
  3014. i++
  3015. }
  3016. sort.Sort(bytesISlice(v2))
  3017. for j := range v2 {
  3018. e.asis(v2[j].v)
  3019. e.encode(v[v2[j].i])
  3020. }
  3021. } else {
  3022. for k2, v2 := range v {
  3023. e.encode(k2)
  3024. ee.EncodeUint(uint64(v2))
  3025. }
  3026. }
  3027. ee.EncodeEnd()
  3028. }
  3029. func (f *encFnInfo) fastpathEncMapIntfUintptrR(rv reflect.Value) {
  3030. fastpathTV.EncMapIntfUintptrV(rv.Interface().(map[interface{}]uintptr), fastpathCheckNilFalse, f.e)
  3031. }
  3032. func (_ fastpathT) EncMapIntfUintptrV(v map[interface{}]uintptr, checkNil bool, e *Encoder) {
  3033. ee := e.e
  3034. if checkNil && v == nil {
  3035. ee.EncodeNil()
  3036. return
  3037. }
  3038. ee.EncodeMapStart(len(v))
  3039. if e.h.Canonical {
  3040. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3041. e2 := NewEncoderBytes(&mksv, e.hh)
  3042. v2 := make([]bytesI, len(v))
  3043. var i, l int
  3044. var vp *bytesI
  3045. for k2, _ := range v {
  3046. l = len(mksv)
  3047. e2.MustEncode(k2)
  3048. vp = &v2[i]
  3049. vp.v = mksv[l:]
  3050. vp.i = k2
  3051. i++
  3052. }
  3053. sort.Sort(bytesISlice(v2))
  3054. for j := range v2 {
  3055. e.asis(v2[j].v)
  3056. e.encode(v[v2[j].i])
  3057. }
  3058. } else {
  3059. for k2, v2 := range v {
  3060. e.encode(k2)
  3061. e.encode(v2)
  3062. }
  3063. }
  3064. ee.EncodeEnd()
  3065. }
  3066. func (f *encFnInfo) fastpathEncMapIntfIntR(rv reflect.Value) {
  3067. fastpathTV.EncMapIntfIntV(rv.Interface().(map[interface{}]int), fastpathCheckNilFalse, f.e)
  3068. }
  3069. func (_ fastpathT) EncMapIntfIntV(v map[interface{}]int, checkNil bool, e *Encoder) {
  3070. ee := e.e
  3071. if checkNil && v == nil {
  3072. ee.EncodeNil()
  3073. return
  3074. }
  3075. ee.EncodeMapStart(len(v))
  3076. if e.h.Canonical {
  3077. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3078. e2 := NewEncoderBytes(&mksv, e.hh)
  3079. v2 := make([]bytesI, len(v))
  3080. var i, l int
  3081. var vp *bytesI
  3082. for k2, _ := range v {
  3083. l = len(mksv)
  3084. e2.MustEncode(k2)
  3085. vp = &v2[i]
  3086. vp.v = mksv[l:]
  3087. vp.i = k2
  3088. i++
  3089. }
  3090. sort.Sort(bytesISlice(v2))
  3091. for j := range v2 {
  3092. e.asis(v2[j].v)
  3093. e.encode(v[v2[j].i])
  3094. }
  3095. } else {
  3096. for k2, v2 := range v {
  3097. e.encode(k2)
  3098. ee.EncodeInt(int64(v2))
  3099. }
  3100. }
  3101. ee.EncodeEnd()
  3102. }
  3103. func (f *encFnInfo) fastpathEncMapIntfInt8R(rv reflect.Value) {
  3104. fastpathTV.EncMapIntfInt8V(rv.Interface().(map[interface{}]int8), fastpathCheckNilFalse, f.e)
  3105. }
  3106. func (_ fastpathT) EncMapIntfInt8V(v map[interface{}]int8, checkNil bool, e *Encoder) {
  3107. ee := e.e
  3108. if checkNil && v == nil {
  3109. ee.EncodeNil()
  3110. return
  3111. }
  3112. ee.EncodeMapStart(len(v))
  3113. if e.h.Canonical {
  3114. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3115. e2 := NewEncoderBytes(&mksv, e.hh)
  3116. v2 := make([]bytesI, len(v))
  3117. var i, l int
  3118. var vp *bytesI
  3119. for k2, _ := range v {
  3120. l = len(mksv)
  3121. e2.MustEncode(k2)
  3122. vp = &v2[i]
  3123. vp.v = mksv[l:]
  3124. vp.i = k2
  3125. i++
  3126. }
  3127. sort.Sort(bytesISlice(v2))
  3128. for j := range v2 {
  3129. e.asis(v2[j].v)
  3130. e.encode(v[v2[j].i])
  3131. }
  3132. } else {
  3133. for k2, v2 := range v {
  3134. e.encode(k2)
  3135. ee.EncodeInt(int64(v2))
  3136. }
  3137. }
  3138. ee.EncodeEnd()
  3139. }
  3140. func (f *encFnInfo) fastpathEncMapIntfInt16R(rv reflect.Value) {
  3141. fastpathTV.EncMapIntfInt16V(rv.Interface().(map[interface{}]int16), fastpathCheckNilFalse, f.e)
  3142. }
  3143. func (_ fastpathT) EncMapIntfInt16V(v map[interface{}]int16, checkNil bool, e *Encoder) {
  3144. ee := e.e
  3145. if checkNil && v == nil {
  3146. ee.EncodeNil()
  3147. return
  3148. }
  3149. ee.EncodeMapStart(len(v))
  3150. if e.h.Canonical {
  3151. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3152. e2 := NewEncoderBytes(&mksv, e.hh)
  3153. v2 := make([]bytesI, len(v))
  3154. var i, l int
  3155. var vp *bytesI
  3156. for k2, _ := range v {
  3157. l = len(mksv)
  3158. e2.MustEncode(k2)
  3159. vp = &v2[i]
  3160. vp.v = mksv[l:]
  3161. vp.i = k2
  3162. i++
  3163. }
  3164. sort.Sort(bytesISlice(v2))
  3165. for j := range v2 {
  3166. e.asis(v2[j].v)
  3167. e.encode(v[v2[j].i])
  3168. }
  3169. } else {
  3170. for k2, v2 := range v {
  3171. e.encode(k2)
  3172. ee.EncodeInt(int64(v2))
  3173. }
  3174. }
  3175. ee.EncodeEnd()
  3176. }
  3177. func (f *encFnInfo) fastpathEncMapIntfInt32R(rv reflect.Value) {
  3178. fastpathTV.EncMapIntfInt32V(rv.Interface().(map[interface{}]int32), fastpathCheckNilFalse, f.e)
  3179. }
  3180. func (_ fastpathT) EncMapIntfInt32V(v map[interface{}]int32, checkNil bool, e *Encoder) {
  3181. ee := e.e
  3182. if checkNil && v == nil {
  3183. ee.EncodeNil()
  3184. return
  3185. }
  3186. ee.EncodeMapStart(len(v))
  3187. if e.h.Canonical {
  3188. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3189. e2 := NewEncoderBytes(&mksv, e.hh)
  3190. v2 := make([]bytesI, len(v))
  3191. var i, l int
  3192. var vp *bytesI
  3193. for k2, _ := range v {
  3194. l = len(mksv)
  3195. e2.MustEncode(k2)
  3196. vp = &v2[i]
  3197. vp.v = mksv[l:]
  3198. vp.i = k2
  3199. i++
  3200. }
  3201. sort.Sort(bytesISlice(v2))
  3202. for j := range v2 {
  3203. e.asis(v2[j].v)
  3204. e.encode(v[v2[j].i])
  3205. }
  3206. } else {
  3207. for k2, v2 := range v {
  3208. e.encode(k2)
  3209. ee.EncodeInt(int64(v2))
  3210. }
  3211. }
  3212. ee.EncodeEnd()
  3213. }
  3214. func (f *encFnInfo) fastpathEncMapIntfInt64R(rv reflect.Value) {
  3215. fastpathTV.EncMapIntfInt64V(rv.Interface().(map[interface{}]int64), fastpathCheckNilFalse, f.e)
  3216. }
  3217. func (_ fastpathT) EncMapIntfInt64V(v map[interface{}]int64, checkNil bool, e *Encoder) {
  3218. ee := e.e
  3219. if checkNil && v == nil {
  3220. ee.EncodeNil()
  3221. return
  3222. }
  3223. ee.EncodeMapStart(len(v))
  3224. if e.h.Canonical {
  3225. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3226. e2 := NewEncoderBytes(&mksv, e.hh)
  3227. v2 := make([]bytesI, len(v))
  3228. var i, l int
  3229. var vp *bytesI
  3230. for k2, _ := range v {
  3231. l = len(mksv)
  3232. e2.MustEncode(k2)
  3233. vp = &v2[i]
  3234. vp.v = mksv[l:]
  3235. vp.i = k2
  3236. i++
  3237. }
  3238. sort.Sort(bytesISlice(v2))
  3239. for j := range v2 {
  3240. e.asis(v2[j].v)
  3241. e.encode(v[v2[j].i])
  3242. }
  3243. } else {
  3244. for k2, v2 := range v {
  3245. e.encode(k2)
  3246. ee.EncodeInt(int64(v2))
  3247. }
  3248. }
  3249. ee.EncodeEnd()
  3250. }
  3251. func (f *encFnInfo) fastpathEncMapIntfFloat32R(rv reflect.Value) {
  3252. fastpathTV.EncMapIntfFloat32V(rv.Interface().(map[interface{}]float32), fastpathCheckNilFalse, f.e)
  3253. }
  3254. func (_ fastpathT) EncMapIntfFloat32V(v map[interface{}]float32, checkNil bool, e *Encoder) {
  3255. ee := e.e
  3256. if checkNil && v == nil {
  3257. ee.EncodeNil()
  3258. return
  3259. }
  3260. ee.EncodeMapStart(len(v))
  3261. if e.h.Canonical {
  3262. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3263. e2 := NewEncoderBytes(&mksv, e.hh)
  3264. v2 := make([]bytesI, len(v))
  3265. var i, l int
  3266. var vp *bytesI
  3267. for k2, _ := range v {
  3268. l = len(mksv)
  3269. e2.MustEncode(k2)
  3270. vp = &v2[i]
  3271. vp.v = mksv[l:]
  3272. vp.i = k2
  3273. i++
  3274. }
  3275. sort.Sort(bytesISlice(v2))
  3276. for j := range v2 {
  3277. e.asis(v2[j].v)
  3278. e.encode(v[v2[j].i])
  3279. }
  3280. } else {
  3281. for k2, v2 := range v {
  3282. e.encode(k2)
  3283. ee.EncodeFloat32(v2)
  3284. }
  3285. }
  3286. ee.EncodeEnd()
  3287. }
  3288. func (f *encFnInfo) fastpathEncMapIntfFloat64R(rv reflect.Value) {
  3289. fastpathTV.EncMapIntfFloat64V(rv.Interface().(map[interface{}]float64), fastpathCheckNilFalse, f.e)
  3290. }
  3291. func (_ fastpathT) EncMapIntfFloat64V(v map[interface{}]float64, checkNil bool, e *Encoder) {
  3292. ee := e.e
  3293. if checkNil && v == nil {
  3294. ee.EncodeNil()
  3295. return
  3296. }
  3297. ee.EncodeMapStart(len(v))
  3298. if e.h.Canonical {
  3299. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3300. e2 := NewEncoderBytes(&mksv, e.hh)
  3301. v2 := make([]bytesI, len(v))
  3302. var i, l int
  3303. var vp *bytesI
  3304. for k2, _ := range v {
  3305. l = len(mksv)
  3306. e2.MustEncode(k2)
  3307. vp = &v2[i]
  3308. vp.v = mksv[l:]
  3309. vp.i = k2
  3310. i++
  3311. }
  3312. sort.Sort(bytesISlice(v2))
  3313. for j := range v2 {
  3314. e.asis(v2[j].v)
  3315. e.encode(v[v2[j].i])
  3316. }
  3317. } else {
  3318. for k2, v2 := range v {
  3319. e.encode(k2)
  3320. ee.EncodeFloat64(v2)
  3321. }
  3322. }
  3323. ee.EncodeEnd()
  3324. }
  3325. func (f *encFnInfo) fastpathEncMapIntfBoolR(rv reflect.Value) {
  3326. fastpathTV.EncMapIntfBoolV(rv.Interface().(map[interface{}]bool), fastpathCheckNilFalse, f.e)
  3327. }
  3328. func (_ fastpathT) EncMapIntfBoolV(v map[interface{}]bool, checkNil bool, e *Encoder) {
  3329. ee := e.e
  3330. if checkNil && v == nil {
  3331. ee.EncodeNil()
  3332. return
  3333. }
  3334. ee.EncodeMapStart(len(v))
  3335. if e.h.Canonical {
  3336. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3337. e2 := NewEncoderBytes(&mksv, e.hh)
  3338. v2 := make([]bytesI, len(v))
  3339. var i, l int
  3340. var vp *bytesI
  3341. for k2, _ := range v {
  3342. l = len(mksv)
  3343. e2.MustEncode(k2)
  3344. vp = &v2[i]
  3345. vp.v = mksv[l:]
  3346. vp.i = k2
  3347. i++
  3348. }
  3349. sort.Sort(bytesISlice(v2))
  3350. for j := range v2 {
  3351. e.asis(v2[j].v)
  3352. e.encode(v[v2[j].i])
  3353. }
  3354. } else {
  3355. for k2, v2 := range v {
  3356. e.encode(k2)
  3357. ee.EncodeBool(v2)
  3358. }
  3359. }
  3360. ee.EncodeEnd()
  3361. }
  3362. func (f *encFnInfo) fastpathEncMapStringIntfR(rv reflect.Value) {
  3363. fastpathTV.EncMapStringIntfV(rv.Interface().(map[string]interface{}), fastpathCheckNilFalse, f.e)
  3364. }
  3365. func (_ fastpathT) EncMapStringIntfV(v map[string]interface{}, checkNil bool, e *Encoder) {
  3366. ee := e.e
  3367. if checkNil && v == nil {
  3368. ee.EncodeNil()
  3369. return
  3370. }
  3371. ee.EncodeMapStart(len(v))
  3372. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3373. if e.h.Canonical {
  3374. v2 := make([]string, len(v))
  3375. var i int
  3376. for k, _ := range v {
  3377. v2[i] = string(k)
  3378. i++
  3379. }
  3380. sort.Sort(stringSlice(v2))
  3381. for _, k2 := range v2 {
  3382. if asSymbols {
  3383. ee.EncodeSymbol(k2)
  3384. } else {
  3385. ee.EncodeString(c_UTF8, k2)
  3386. }
  3387. e.encode(v[string(k2)])
  3388. }
  3389. } else {
  3390. for k2, v2 := range v {
  3391. if asSymbols {
  3392. ee.EncodeSymbol(k2)
  3393. } else {
  3394. ee.EncodeString(c_UTF8, k2)
  3395. }
  3396. e.encode(v2)
  3397. }
  3398. }
  3399. ee.EncodeEnd()
  3400. }
  3401. func (f *encFnInfo) fastpathEncMapStringStringR(rv reflect.Value) {
  3402. fastpathTV.EncMapStringStringV(rv.Interface().(map[string]string), fastpathCheckNilFalse, f.e)
  3403. }
  3404. func (_ fastpathT) EncMapStringStringV(v map[string]string, checkNil bool, e *Encoder) {
  3405. ee := e.e
  3406. if checkNil && v == nil {
  3407. ee.EncodeNil()
  3408. return
  3409. }
  3410. ee.EncodeMapStart(len(v))
  3411. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3412. if e.h.Canonical {
  3413. v2 := make([]string, len(v))
  3414. var i int
  3415. for k, _ := range v {
  3416. v2[i] = string(k)
  3417. i++
  3418. }
  3419. sort.Sort(stringSlice(v2))
  3420. for _, k2 := range v2 {
  3421. if asSymbols {
  3422. ee.EncodeSymbol(k2)
  3423. } else {
  3424. ee.EncodeString(c_UTF8, k2)
  3425. }
  3426. ee.EncodeString(c_UTF8, v[string(k2)])
  3427. }
  3428. } else {
  3429. for k2, v2 := range v {
  3430. if asSymbols {
  3431. ee.EncodeSymbol(k2)
  3432. } else {
  3433. ee.EncodeString(c_UTF8, k2)
  3434. }
  3435. ee.EncodeString(c_UTF8, v2)
  3436. }
  3437. }
  3438. ee.EncodeEnd()
  3439. }
  3440. func (f *encFnInfo) fastpathEncMapStringUintR(rv reflect.Value) {
  3441. fastpathTV.EncMapStringUintV(rv.Interface().(map[string]uint), fastpathCheckNilFalse, f.e)
  3442. }
  3443. func (_ fastpathT) EncMapStringUintV(v map[string]uint, checkNil bool, e *Encoder) {
  3444. ee := e.e
  3445. if checkNil && v == nil {
  3446. ee.EncodeNil()
  3447. return
  3448. }
  3449. ee.EncodeMapStart(len(v))
  3450. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3451. if e.h.Canonical {
  3452. v2 := make([]string, len(v))
  3453. var i int
  3454. for k, _ := range v {
  3455. v2[i] = string(k)
  3456. i++
  3457. }
  3458. sort.Sort(stringSlice(v2))
  3459. for _, k2 := range v2 {
  3460. if asSymbols {
  3461. ee.EncodeSymbol(k2)
  3462. } else {
  3463. ee.EncodeString(c_UTF8, k2)
  3464. }
  3465. ee.EncodeUint(uint64(v[string(k2)]))
  3466. }
  3467. } else {
  3468. for k2, v2 := range v {
  3469. if asSymbols {
  3470. ee.EncodeSymbol(k2)
  3471. } else {
  3472. ee.EncodeString(c_UTF8, k2)
  3473. }
  3474. ee.EncodeUint(uint64(v2))
  3475. }
  3476. }
  3477. ee.EncodeEnd()
  3478. }
  3479. func (f *encFnInfo) fastpathEncMapStringUint8R(rv reflect.Value) {
  3480. fastpathTV.EncMapStringUint8V(rv.Interface().(map[string]uint8), fastpathCheckNilFalse, f.e)
  3481. }
  3482. func (_ fastpathT) EncMapStringUint8V(v map[string]uint8, checkNil bool, e *Encoder) {
  3483. ee := e.e
  3484. if checkNil && v == nil {
  3485. ee.EncodeNil()
  3486. return
  3487. }
  3488. ee.EncodeMapStart(len(v))
  3489. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3490. if e.h.Canonical {
  3491. v2 := make([]string, len(v))
  3492. var i int
  3493. for k, _ := range v {
  3494. v2[i] = string(k)
  3495. i++
  3496. }
  3497. sort.Sort(stringSlice(v2))
  3498. for _, k2 := range v2 {
  3499. if asSymbols {
  3500. ee.EncodeSymbol(k2)
  3501. } else {
  3502. ee.EncodeString(c_UTF8, k2)
  3503. }
  3504. ee.EncodeUint(uint64(v[string(k2)]))
  3505. }
  3506. } else {
  3507. for k2, v2 := range v {
  3508. if asSymbols {
  3509. ee.EncodeSymbol(k2)
  3510. } else {
  3511. ee.EncodeString(c_UTF8, k2)
  3512. }
  3513. ee.EncodeUint(uint64(v2))
  3514. }
  3515. }
  3516. ee.EncodeEnd()
  3517. }
  3518. func (f *encFnInfo) fastpathEncMapStringUint16R(rv reflect.Value) {
  3519. fastpathTV.EncMapStringUint16V(rv.Interface().(map[string]uint16), fastpathCheckNilFalse, f.e)
  3520. }
  3521. func (_ fastpathT) EncMapStringUint16V(v map[string]uint16, checkNil bool, e *Encoder) {
  3522. ee := e.e
  3523. if checkNil && v == nil {
  3524. ee.EncodeNil()
  3525. return
  3526. }
  3527. ee.EncodeMapStart(len(v))
  3528. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3529. if e.h.Canonical {
  3530. v2 := make([]string, len(v))
  3531. var i int
  3532. for k, _ := range v {
  3533. v2[i] = string(k)
  3534. i++
  3535. }
  3536. sort.Sort(stringSlice(v2))
  3537. for _, k2 := range v2 {
  3538. if asSymbols {
  3539. ee.EncodeSymbol(k2)
  3540. } else {
  3541. ee.EncodeString(c_UTF8, k2)
  3542. }
  3543. ee.EncodeUint(uint64(v[string(k2)]))
  3544. }
  3545. } else {
  3546. for k2, v2 := range v {
  3547. if asSymbols {
  3548. ee.EncodeSymbol(k2)
  3549. } else {
  3550. ee.EncodeString(c_UTF8, k2)
  3551. }
  3552. ee.EncodeUint(uint64(v2))
  3553. }
  3554. }
  3555. ee.EncodeEnd()
  3556. }
  3557. func (f *encFnInfo) fastpathEncMapStringUint32R(rv reflect.Value) {
  3558. fastpathTV.EncMapStringUint32V(rv.Interface().(map[string]uint32), fastpathCheckNilFalse, f.e)
  3559. }
  3560. func (_ fastpathT) EncMapStringUint32V(v map[string]uint32, checkNil bool, e *Encoder) {
  3561. ee := e.e
  3562. if checkNil && v == nil {
  3563. ee.EncodeNil()
  3564. return
  3565. }
  3566. ee.EncodeMapStart(len(v))
  3567. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3568. if e.h.Canonical {
  3569. v2 := make([]string, len(v))
  3570. var i int
  3571. for k, _ := range v {
  3572. v2[i] = string(k)
  3573. i++
  3574. }
  3575. sort.Sort(stringSlice(v2))
  3576. for _, k2 := range v2 {
  3577. if asSymbols {
  3578. ee.EncodeSymbol(k2)
  3579. } else {
  3580. ee.EncodeString(c_UTF8, k2)
  3581. }
  3582. ee.EncodeUint(uint64(v[string(k2)]))
  3583. }
  3584. } else {
  3585. for k2, v2 := range v {
  3586. if asSymbols {
  3587. ee.EncodeSymbol(k2)
  3588. } else {
  3589. ee.EncodeString(c_UTF8, k2)
  3590. }
  3591. ee.EncodeUint(uint64(v2))
  3592. }
  3593. }
  3594. ee.EncodeEnd()
  3595. }
  3596. func (f *encFnInfo) fastpathEncMapStringUint64R(rv reflect.Value) {
  3597. fastpathTV.EncMapStringUint64V(rv.Interface().(map[string]uint64), fastpathCheckNilFalse, f.e)
  3598. }
  3599. func (_ fastpathT) EncMapStringUint64V(v map[string]uint64, checkNil bool, e *Encoder) {
  3600. ee := e.e
  3601. if checkNil && v == nil {
  3602. ee.EncodeNil()
  3603. return
  3604. }
  3605. ee.EncodeMapStart(len(v))
  3606. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3607. if e.h.Canonical {
  3608. v2 := make([]string, len(v))
  3609. var i int
  3610. for k, _ := range v {
  3611. v2[i] = string(k)
  3612. i++
  3613. }
  3614. sort.Sort(stringSlice(v2))
  3615. for _, k2 := range v2 {
  3616. if asSymbols {
  3617. ee.EncodeSymbol(k2)
  3618. } else {
  3619. ee.EncodeString(c_UTF8, k2)
  3620. }
  3621. ee.EncodeUint(uint64(v[string(k2)]))
  3622. }
  3623. } else {
  3624. for k2, v2 := range v {
  3625. if asSymbols {
  3626. ee.EncodeSymbol(k2)
  3627. } else {
  3628. ee.EncodeString(c_UTF8, k2)
  3629. }
  3630. ee.EncodeUint(uint64(v2))
  3631. }
  3632. }
  3633. ee.EncodeEnd()
  3634. }
  3635. func (f *encFnInfo) fastpathEncMapStringUintptrR(rv reflect.Value) {
  3636. fastpathTV.EncMapStringUintptrV(rv.Interface().(map[string]uintptr), fastpathCheckNilFalse, f.e)
  3637. }
  3638. func (_ fastpathT) EncMapStringUintptrV(v map[string]uintptr, checkNil bool, e *Encoder) {
  3639. ee := e.e
  3640. if checkNil && v == nil {
  3641. ee.EncodeNil()
  3642. return
  3643. }
  3644. ee.EncodeMapStart(len(v))
  3645. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3646. if e.h.Canonical {
  3647. v2 := make([]string, len(v))
  3648. var i int
  3649. for k, _ := range v {
  3650. v2[i] = string(k)
  3651. i++
  3652. }
  3653. sort.Sort(stringSlice(v2))
  3654. for _, k2 := range v2 {
  3655. if asSymbols {
  3656. ee.EncodeSymbol(k2)
  3657. } else {
  3658. ee.EncodeString(c_UTF8, k2)
  3659. }
  3660. e.encode(v[string(k2)])
  3661. }
  3662. } else {
  3663. for k2, v2 := range v {
  3664. if asSymbols {
  3665. ee.EncodeSymbol(k2)
  3666. } else {
  3667. ee.EncodeString(c_UTF8, k2)
  3668. }
  3669. e.encode(v2)
  3670. }
  3671. }
  3672. ee.EncodeEnd()
  3673. }
  3674. func (f *encFnInfo) fastpathEncMapStringIntR(rv reflect.Value) {
  3675. fastpathTV.EncMapStringIntV(rv.Interface().(map[string]int), fastpathCheckNilFalse, f.e)
  3676. }
  3677. func (_ fastpathT) EncMapStringIntV(v map[string]int, checkNil bool, e *Encoder) {
  3678. ee := e.e
  3679. if checkNil && v == nil {
  3680. ee.EncodeNil()
  3681. return
  3682. }
  3683. ee.EncodeMapStart(len(v))
  3684. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3685. if e.h.Canonical {
  3686. v2 := make([]string, len(v))
  3687. var i int
  3688. for k, _ := range v {
  3689. v2[i] = string(k)
  3690. i++
  3691. }
  3692. sort.Sort(stringSlice(v2))
  3693. for _, k2 := range v2 {
  3694. if asSymbols {
  3695. ee.EncodeSymbol(k2)
  3696. } else {
  3697. ee.EncodeString(c_UTF8, k2)
  3698. }
  3699. ee.EncodeInt(int64(v[string(k2)]))
  3700. }
  3701. } else {
  3702. for k2, v2 := range v {
  3703. if asSymbols {
  3704. ee.EncodeSymbol(k2)
  3705. } else {
  3706. ee.EncodeString(c_UTF8, k2)
  3707. }
  3708. ee.EncodeInt(int64(v2))
  3709. }
  3710. }
  3711. ee.EncodeEnd()
  3712. }
  3713. func (f *encFnInfo) fastpathEncMapStringInt8R(rv reflect.Value) {
  3714. fastpathTV.EncMapStringInt8V(rv.Interface().(map[string]int8), fastpathCheckNilFalse, f.e)
  3715. }
  3716. func (_ fastpathT) EncMapStringInt8V(v map[string]int8, checkNil bool, e *Encoder) {
  3717. ee := e.e
  3718. if checkNil && v == nil {
  3719. ee.EncodeNil()
  3720. return
  3721. }
  3722. ee.EncodeMapStart(len(v))
  3723. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3724. if e.h.Canonical {
  3725. v2 := make([]string, len(v))
  3726. var i int
  3727. for k, _ := range v {
  3728. v2[i] = string(k)
  3729. i++
  3730. }
  3731. sort.Sort(stringSlice(v2))
  3732. for _, k2 := range v2 {
  3733. if asSymbols {
  3734. ee.EncodeSymbol(k2)
  3735. } else {
  3736. ee.EncodeString(c_UTF8, k2)
  3737. }
  3738. ee.EncodeInt(int64(v[string(k2)]))
  3739. }
  3740. } else {
  3741. for k2, v2 := range v {
  3742. if asSymbols {
  3743. ee.EncodeSymbol(k2)
  3744. } else {
  3745. ee.EncodeString(c_UTF8, k2)
  3746. }
  3747. ee.EncodeInt(int64(v2))
  3748. }
  3749. }
  3750. ee.EncodeEnd()
  3751. }
  3752. func (f *encFnInfo) fastpathEncMapStringInt16R(rv reflect.Value) {
  3753. fastpathTV.EncMapStringInt16V(rv.Interface().(map[string]int16), fastpathCheckNilFalse, f.e)
  3754. }
  3755. func (_ fastpathT) EncMapStringInt16V(v map[string]int16, checkNil bool, e *Encoder) {
  3756. ee := e.e
  3757. if checkNil && v == nil {
  3758. ee.EncodeNil()
  3759. return
  3760. }
  3761. ee.EncodeMapStart(len(v))
  3762. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3763. if e.h.Canonical {
  3764. v2 := make([]string, len(v))
  3765. var i int
  3766. for k, _ := range v {
  3767. v2[i] = string(k)
  3768. i++
  3769. }
  3770. sort.Sort(stringSlice(v2))
  3771. for _, k2 := range v2 {
  3772. if asSymbols {
  3773. ee.EncodeSymbol(k2)
  3774. } else {
  3775. ee.EncodeString(c_UTF8, k2)
  3776. }
  3777. ee.EncodeInt(int64(v[string(k2)]))
  3778. }
  3779. } else {
  3780. for k2, v2 := range v {
  3781. if asSymbols {
  3782. ee.EncodeSymbol(k2)
  3783. } else {
  3784. ee.EncodeString(c_UTF8, k2)
  3785. }
  3786. ee.EncodeInt(int64(v2))
  3787. }
  3788. }
  3789. ee.EncodeEnd()
  3790. }
  3791. func (f *encFnInfo) fastpathEncMapStringInt32R(rv reflect.Value) {
  3792. fastpathTV.EncMapStringInt32V(rv.Interface().(map[string]int32), fastpathCheckNilFalse, f.e)
  3793. }
  3794. func (_ fastpathT) EncMapStringInt32V(v map[string]int32, checkNil bool, e *Encoder) {
  3795. ee := e.e
  3796. if checkNil && v == nil {
  3797. ee.EncodeNil()
  3798. return
  3799. }
  3800. ee.EncodeMapStart(len(v))
  3801. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3802. if e.h.Canonical {
  3803. v2 := make([]string, len(v))
  3804. var i int
  3805. for k, _ := range v {
  3806. v2[i] = string(k)
  3807. i++
  3808. }
  3809. sort.Sort(stringSlice(v2))
  3810. for _, k2 := range v2 {
  3811. if asSymbols {
  3812. ee.EncodeSymbol(k2)
  3813. } else {
  3814. ee.EncodeString(c_UTF8, k2)
  3815. }
  3816. ee.EncodeInt(int64(v[string(k2)]))
  3817. }
  3818. } else {
  3819. for k2, v2 := range v {
  3820. if asSymbols {
  3821. ee.EncodeSymbol(k2)
  3822. } else {
  3823. ee.EncodeString(c_UTF8, k2)
  3824. }
  3825. ee.EncodeInt(int64(v2))
  3826. }
  3827. }
  3828. ee.EncodeEnd()
  3829. }
  3830. func (f *encFnInfo) fastpathEncMapStringInt64R(rv reflect.Value) {
  3831. fastpathTV.EncMapStringInt64V(rv.Interface().(map[string]int64), fastpathCheckNilFalse, f.e)
  3832. }
  3833. func (_ fastpathT) EncMapStringInt64V(v map[string]int64, checkNil bool, e *Encoder) {
  3834. ee := e.e
  3835. if checkNil && v == nil {
  3836. ee.EncodeNil()
  3837. return
  3838. }
  3839. ee.EncodeMapStart(len(v))
  3840. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3841. if e.h.Canonical {
  3842. v2 := make([]string, len(v))
  3843. var i int
  3844. for k, _ := range v {
  3845. v2[i] = string(k)
  3846. i++
  3847. }
  3848. sort.Sort(stringSlice(v2))
  3849. for _, k2 := range v2 {
  3850. if asSymbols {
  3851. ee.EncodeSymbol(k2)
  3852. } else {
  3853. ee.EncodeString(c_UTF8, k2)
  3854. }
  3855. ee.EncodeInt(int64(v[string(k2)]))
  3856. }
  3857. } else {
  3858. for k2, v2 := range v {
  3859. if asSymbols {
  3860. ee.EncodeSymbol(k2)
  3861. } else {
  3862. ee.EncodeString(c_UTF8, k2)
  3863. }
  3864. ee.EncodeInt(int64(v2))
  3865. }
  3866. }
  3867. ee.EncodeEnd()
  3868. }
  3869. func (f *encFnInfo) fastpathEncMapStringFloat32R(rv reflect.Value) {
  3870. fastpathTV.EncMapStringFloat32V(rv.Interface().(map[string]float32), fastpathCheckNilFalse, f.e)
  3871. }
  3872. func (_ fastpathT) EncMapStringFloat32V(v map[string]float32, checkNil bool, e *Encoder) {
  3873. ee := e.e
  3874. if checkNil && v == nil {
  3875. ee.EncodeNil()
  3876. return
  3877. }
  3878. ee.EncodeMapStart(len(v))
  3879. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3880. if e.h.Canonical {
  3881. v2 := make([]string, len(v))
  3882. var i int
  3883. for k, _ := range v {
  3884. v2[i] = string(k)
  3885. i++
  3886. }
  3887. sort.Sort(stringSlice(v2))
  3888. for _, k2 := range v2 {
  3889. if asSymbols {
  3890. ee.EncodeSymbol(k2)
  3891. } else {
  3892. ee.EncodeString(c_UTF8, k2)
  3893. }
  3894. ee.EncodeFloat32(v[string(k2)])
  3895. }
  3896. } else {
  3897. for k2, v2 := range v {
  3898. if asSymbols {
  3899. ee.EncodeSymbol(k2)
  3900. } else {
  3901. ee.EncodeString(c_UTF8, k2)
  3902. }
  3903. ee.EncodeFloat32(v2)
  3904. }
  3905. }
  3906. ee.EncodeEnd()
  3907. }
  3908. func (f *encFnInfo) fastpathEncMapStringFloat64R(rv reflect.Value) {
  3909. fastpathTV.EncMapStringFloat64V(rv.Interface().(map[string]float64), fastpathCheckNilFalse, f.e)
  3910. }
  3911. func (_ fastpathT) EncMapStringFloat64V(v map[string]float64, checkNil bool, e *Encoder) {
  3912. ee := e.e
  3913. if checkNil && v == nil {
  3914. ee.EncodeNil()
  3915. return
  3916. }
  3917. ee.EncodeMapStart(len(v))
  3918. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3919. if e.h.Canonical {
  3920. v2 := make([]string, len(v))
  3921. var i int
  3922. for k, _ := range v {
  3923. v2[i] = string(k)
  3924. i++
  3925. }
  3926. sort.Sort(stringSlice(v2))
  3927. for _, k2 := range v2 {
  3928. if asSymbols {
  3929. ee.EncodeSymbol(k2)
  3930. } else {
  3931. ee.EncodeString(c_UTF8, k2)
  3932. }
  3933. ee.EncodeFloat64(v[string(k2)])
  3934. }
  3935. } else {
  3936. for k2, v2 := range v {
  3937. if asSymbols {
  3938. ee.EncodeSymbol(k2)
  3939. } else {
  3940. ee.EncodeString(c_UTF8, k2)
  3941. }
  3942. ee.EncodeFloat64(v2)
  3943. }
  3944. }
  3945. ee.EncodeEnd()
  3946. }
  3947. func (f *encFnInfo) fastpathEncMapStringBoolR(rv reflect.Value) {
  3948. fastpathTV.EncMapStringBoolV(rv.Interface().(map[string]bool), fastpathCheckNilFalse, f.e)
  3949. }
  3950. func (_ fastpathT) EncMapStringBoolV(v map[string]bool, checkNil bool, e *Encoder) {
  3951. ee := e.e
  3952. if checkNil && v == nil {
  3953. ee.EncodeNil()
  3954. return
  3955. }
  3956. ee.EncodeMapStart(len(v))
  3957. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  3958. if e.h.Canonical {
  3959. v2 := make([]string, len(v))
  3960. var i int
  3961. for k, _ := range v {
  3962. v2[i] = string(k)
  3963. i++
  3964. }
  3965. sort.Sort(stringSlice(v2))
  3966. for _, k2 := range v2 {
  3967. if asSymbols {
  3968. ee.EncodeSymbol(k2)
  3969. } else {
  3970. ee.EncodeString(c_UTF8, k2)
  3971. }
  3972. ee.EncodeBool(v[string(k2)])
  3973. }
  3974. } else {
  3975. for k2, v2 := range v {
  3976. if asSymbols {
  3977. ee.EncodeSymbol(k2)
  3978. } else {
  3979. ee.EncodeString(c_UTF8, k2)
  3980. }
  3981. ee.EncodeBool(v2)
  3982. }
  3983. }
  3984. ee.EncodeEnd()
  3985. }
  3986. func (f *encFnInfo) fastpathEncMapFloat32IntfR(rv reflect.Value) {
  3987. fastpathTV.EncMapFloat32IntfV(rv.Interface().(map[float32]interface{}), fastpathCheckNilFalse, f.e)
  3988. }
  3989. func (_ fastpathT) EncMapFloat32IntfV(v map[float32]interface{}, checkNil bool, e *Encoder) {
  3990. ee := e.e
  3991. if checkNil && v == nil {
  3992. ee.EncodeNil()
  3993. return
  3994. }
  3995. ee.EncodeMapStart(len(v))
  3996. if e.h.Canonical {
  3997. v2 := make([]float64, len(v))
  3998. var i int
  3999. for k, _ := range v {
  4000. v2[i] = float64(k)
  4001. i++
  4002. }
  4003. sort.Sort(floatSlice(v2))
  4004. for _, k2 := range v2 {
  4005. ee.EncodeFloat32(float32(k2))
  4006. e.encode(v[float32(k2)])
  4007. }
  4008. } else {
  4009. for k2, v2 := range v {
  4010. ee.EncodeFloat32(k2)
  4011. e.encode(v2)
  4012. }
  4013. }
  4014. ee.EncodeEnd()
  4015. }
  4016. func (f *encFnInfo) fastpathEncMapFloat32StringR(rv reflect.Value) {
  4017. fastpathTV.EncMapFloat32StringV(rv.Interface().(map[float32]string), fastpathCheckNilFalse, f.e)
  4018. }
  4019. func (_ fastpathT) EncMapFloat32StringV(v map[float32]string, checkNil bool, e *Encoder) {
  4020. ee := e.e
  4021. if checkNil && v == nil {
  4022. ee.EncodeNil()
  4023. return
  4024. }
  4025. ee.EncodeMapStart(len(v))
  4026. if e.h.Canonical {
  4027. v2 := make([]float64, len(v))
  4028. var i int
  4029. for k, _ := range v {
  4030. v2[i] = float64(k)
  4031. i++
  4032. }
  4033. sort.Sort(floatSlice(v2))
  4034. for _, k2 := range v2 {
  4035. ee.EncodeFloat32(float32(k2))
  4036. ee.EncodeString(c_UTF8, v[float32(k2)])
  4037. }
  4038. } else {
  4039. for k2, v2 := range v {
  4040. ee.EncodeFloat32(k2)
  4041. ee.EncodeString(c_UTF8, v2)
  4042. }
  4043. }
  4044. ee.EncodeEnd()
  4045. }
  4046. func (f *encFnInfo) fastpathEncMapFloat32UintR(rv reflect.Value) {
  4047. fastpathTV.EncMapFloat32UintV(rv.Interface().(map[float32]uint), fastpathCheckNilFalse, f.e)
  4048. }
  4049. func (_ fastpathT) EncMapFloat32UintV(v map[float32]uint, checkNil bool, e *Encoder) {
  4050. ee := e.e
  4051. if checkNil && v == nil {
  4052. ee.EncodeNil()
  4053. return
  4054. }
  4055. ee.EncodeMapStart(len(v))
  4056. if e.h.Canonical {
  4057. v2 := make([]float64, len(v))
  4058. var i int
  4059. for k, _ := range v {
  4060. v2[i] = float64(k)
  4061. i++
  4062. }
  4063. sort.Sort(floatSlice(v2))
  4064. for _, k2 := range v2 {
  4065. ee.EncodeFloat32(float32(k2))
  4066. ee.EncodeUint(uint64(v[float32(k2)]))
  4067. }
  4068. } else {
  4069. for k2, v2 := range v {
  4070. ee.EncodeFloat32(k2)
  4071. ee.EncodeUint(uint64(v2))
  4072. }
  4073. }
  4074. ee.EncodeEnd()
  4075. }
  4076. func (f *encFnInfo) fastpathEncMapFloat32Uint8R(rv reflect.Value) {
  4077. fastpathTV.EncMapFloat32Uint8V(rv.Interface().(map[float32]uint8), fastpathCheckNilFalse, f.e)
  4078. }
  4079. func (_ fastpathT) EncMapFloat32Uint8V(v map[float32]uint8, checkNil bool, e *Encoder) {
  4080. ee := e.e
  4081. if checkNil && v == nil {
  4082. ee.EncodeNil()
  4083. return
  4084. }
  4085. ee.EncodeMapStart(len(v))
  4086. if e.h.Canonical {
  4087. v2 := make([]float64, len(v))
  4088. var i int
  4089. for k, _ := range v {
  4090. v2[i] = float64(k)
  4091. i++
  4092. }
  4093. sort.Sort(floatSlice(v2))
  4094. for _, k2 := range v2 {
  4095. ee.EncodeFloat32(float32(k2))
  4096. ee.EncodeUint(uint64(v[float32(k2)]))
  4097. }
  4098. } else {
  4099. for k2, v2 := range v {
  4100. ee.EncodeFloat32(k2)
  4101. ee.EncodeUint(uint64(v2))
  4102. }
  4103. }
  4104. ee.EncodeEnd()
  4105. }
  4106. func (f *encFnInfo) fastpathEncMapFloat32Uint16R(rv reflect.Value) {
  4107. fastpathTV.EncMapFloat32Uint16V(rv.Interface().(map[float32]uint16), fastpathCheckNilFalse, f.e)
  4108. }
  4109. func (_ fastpathT) EncMapFloat32Uint16V(v map[float32]uint16, checkNil bool, e *Encoder) {
  4110. ee := e.e
  4111. if checkNil && v == nil {
  4112. ee.EncodeNil()
  4113. return
  4114. }
  4115. ee.EncodeMapStart(len(v))
  4116. if e.h.Canonical {
  4117. v2 := make([]float64, len(v))
  4118. var i int
  4119. for k, _ := range v {
  4120. v2[i] = float64(k)
  4121. i++
  4122. }
  4123. sort.Sort(floatSlice(v2))
  4124. for _, k2 := range v2 {
  4125. ee.EncodeFloat32(float32(k2))
  4126. ee.EncodeUint(uint64(v[float32(k2)]))
  4127. }
  4128. } else {
  4129. for k2, v2 := range v {
  4130. ee.EncodeFloat32(k2)
  4131. ee.EncodeUint(uint64(v2))
  4132. }
  4133. }
  4134. ee.EncodeEnd()
  4135. }
  4136. func (f *encFnInfo) fastpathEncMapFloat32Uint32R(rv reflect.Value) {
  4137. fastpathTV.EncMapFloat32Uint32V(rv.Interface().(map[float32]uint32), fastpathCheckNilFalse, f.e)
  4138. }
  4139. func (_ fastpathT) EncMapFloat32Uint32V(v map[float32]uint32, checkNil bool, e *Encoder) {
  4140. ee := e.e
  4141. if checkNil && v == nil {
  4142. ee.EncodeNil()
  4143. return
  4144. }
  4145. ee.EncodeMapStart(len(v))
  4146. if e.h.Canonical {
  4147. v2 := make([]float64, len(v))
  4148. var i int
  4149. for k, _ := range v {
  4150. v2[i] = float64(k)
  4151. i++
  4152. }
  4153. sort.Sort(floatSlice(v2))
  4154. for _, k2 := range v2 {
  4155. ee.EncodeFloat32(float32(k2))
  4156. ee.EncodeUint(uint64(v[float32(k2)]))
  4157. }
  4158. } else {
  4159. for k2, v2 := range v {
  4160. ee.EncodeFloat32(k2)
  4161. ee.EncodeUint(uint64(v2))
  4162. }
  4163. }
  4164. ee.EncodeEnd()
  4165. }
  4166. func (f *encFnInfo) fastpathEncMapFloat32Uint64R(rv reflect.Value) {
  4167. fastpathTV.EncMapFloat32Uint64V(rv.Interface().(map[float32]uint64), fastpathCheckNilFalse, f.e)
  4168. }
  4169. func (_ fastpathT) EncMapFloat32Uint64V(v map[float32]uint64, checkNil bool, e *Encoder) {
  4170. ee := e.e
  4171. if checkNil && v == nil {
  4172. ee.EncodeNil()
  4173. return
  4174. }
  4175. ee.EncodeMapStart(len(v))
  4176. if e.h.Canonical {
  4177. v2 := make([]float64, len(v))
  4178. var i int
  4179. for k, _ := range v {
  4180. v2[i] = float64(k)
  4181. i++
  4182. }
  4183. sort.Sort(floatSlice(v2))
  4184. for _, k2 := range v2 {
  4185. ee.EncodeFloat32(float32(k2))
  4186. ee.EncodeUint(uint64(v[float32(k2)]))
  4187. }
  4188. } else {
  4189. for k2, v2 := range v {
  4190. ee.EncodeFloat32(k2)
  4191. ee.EncodeUint(uint64(v2))
  4192. }
  4193. }
  4194. ee.EncodeEnd()
  4195. }
  4196. func (f *encFnInfo) fastpathEncMapFloat32UintptrR(rv reflect.Value) {
  4197. fastpathTV.EncMapFloat32UintptrV(rv.Interface().(map[float32]uintptr), fastpathCheckNilFalse, f.e)
  4198. }
  4199. func (_ fastpathT) EncMapFloat32UintptrV(v map[float32]uintptr, checkNil bool, e *Encoder) {
  4200. ee := e.e
  4201. if checkNil && v == nil {
  4202. ee.EncodeNil()
  4203. return
  4204. }
  4205. ee.EncodeMapStart(len(v))
  4206. if e.h.Canonical {
  4207. v2 := make([]float64, len(v))
  4208. var i int
  4209. for k, _ := range v {
  4210. v2[i] = float64(k)
  4211. i++
  4212. }
  4213. sort.Sort(floatSlice(v2))
  4214. for _, k2 := range v2 {
  4215. ee.EncodeFloat32(float32(k2))
  4216. e.encode(v[float32(k2)])
  4217. }
  4218. } else {
  4219. for k2, v2 := range v {
  4220. ee.EncodeFloat32(k2)
  4221. e.encode(v2)
  4222. }
  4223. }
  4224. ee.EncodeEnd()
  4225. }
  4226. func (f *encFnInfo) fastpathEncMapFloat32IntR(rv reflect.Value) {
  4227. fastpathTV.EncMapFloat32IntV(rv.Interface().(map[float32]int), fastpathCheckNilFalse, f.e)
  4228. }
  4229. func (_ fastpathT) EncMapFloat32IntV(v map[float32]int, checkNil bool, e *Encoder) {
  4230. ee := e.e
  4231. if checkNil && v == nil {
  4232. ee.EncodeNil()
  4233. return
  4234. }
  4235. ee.EncodeMapStart(len(v))
  4236. if e.h.Canonical {
  4237. v2 := make([]float64, len(v))
  4238. var i int
  4239. for k, _ := range v {
  4240. v2[i] = float64(k)
  4241. i++
  4242. }
  4243. sort.Sort(floatSlice(v2))
  4244. for _, k2 := range v2 {
  4245. ee.EncodeFloat32(float32(k2))
  4246. ee.EncodeInt(int64(v[float32(k2)]))
  4247. }
  4248. } else {
  4249. for k2, v2 := range v {
  4250. ee.EncodeFloat32(k2)
  4251. ee.EncodeInt(int64(v2))
  4252. }
  4253. }
  4254. ee.EncodeEnd()
  4255. }
  4256. func (f *encFnInfo) fastpathEncMapFloat32Int8R(rv reflect.Value) {
  4257. fastpathTV.EncMapFloat32Int8V(rv.Interface().(map[float32]int8), fastpathCheckNilFalse, f.e)
  4258. }
  4259. func (_ fastpathT) EncMapFloat32Int8V(v map[float32]int8, checkNil bool, e *Encoder) {
  4260. ee := e.e
  4261. if checkNil && v == nil {
  4262. ee.EncodeNil()
  4263. return
  4264. }
  4265. ee.EncodeMapStart(len(v))
  4266. if e.h.Canonical {
  4267. v2 := make([]float64, len(v))
  4268. var i int
  4269. for k, _ := range v {
  4270. v2[i] = float64(k)
  4271. i++
  4272. }
  4273. sort.Sort(floatSlice(v2))
  4274. for _, k2 := range v2 {
  4275. ee.EncodeFloat32(float32(k2))
  4276. ee.EncodeInt(int64(v[float32(k2)]))
  4277. }
  4278. } else {
  4279. for k2, v2 := range v {
  4280. ee.EncodeFloat32(k2)
  4281. ee.EncodeInt(int64(v2))
  4282. }
  4283. }
  4284. ee.EncodeEnd()
  4285. }
  4286. func (f *encFnInfo) fastpathEncMapFloat32Int16R(rv reflect.Value) {
  4287. fastpathTV.EncMapFloat32Int16V(rv.Interface().(map[float32]int16), fastpathCheckNilFalse, f.e)
  4288. }
  4289. func (_ fastpathT) EncMapFloat32Int16V(v map[float32]int16, checkNil bool, e *Encoder) {
  4290. ee := e.e
  4291. if checkNil && v == nil {
  4292. ee.EncodeNil()
  4293. return
  4294. }
  4295. ee.EncodeMapStart(len(v))
  4296. if e.h.Canonical {
  4297. v2 := make([]float64, len(v))
  4298. var i int
  4299. for k, _ := range v {
  4300. v2[i] = float64(k)
  4301. i++
  4302. }
  4303. sort.Sort(floatSlice(v2))
  4304. for _, k2 := range v2 {
  4305. ee.EncodeFloat32(float32(k2))
  4306. ee.EncodeInt(int64(v[float32(k2)]))
  4307. }
  4308. } else {
  4309. for k2, v2 := range v {
  4310. ee.EncodeFloat32(k2)
  4311. ee.EncodeInt(int64(v2))
  4312. }
  4313. }
  4314. ee.EncodeEnd()
  4315. }
  4316. func (f *encFnInfo) fastpathEncMapFloat32Int32R(rv reflect.Value) {
  4317. fastpathTV.EncMapFloat32Int32V(rv.Interface().(map[float32]int32), fastpathCheckNilFalse, f.e)
  4318. }
  4319. func (_ fastpathT) EncMapFloat32Int32V(v map[float32]int32, checkNil bool, e *Encoder) {
  4320. ee := e.e
  4321. if checkNil && v == nil {
  4322. ee.EncodeNil()
  4323. return
  4324. }
  4325. ee.EncodeMapStart(len(v))
  4326. if e.h.Canonical {
  4327. v2 := make([]float64, len(v))
  4328. var i int
  4329. for k, _ := range v {
  4330. v2[i] = float64(k)
  4331. i++
  4332. }
  4333. sort.Sort(floatSlice(v2))
  4334. for _, k2 := range v2 {
  4335. ee.EncodeFloat32(float32(k2))
  4336. ee.EncodeInt(int64(v[float32(k2)]))
  4337. }
  4338. } else {
  4339. for k2, v2 := range v {
  4340. ee.EncodeFloat32(k2)
  4341. ee.EncodeInt(int64(v2))
  4342. }
  4343. }
  4344. ee.EncodeEnd()
  4345. }
  4346. func (f *encFnInfo) fastpathEncMapFloat32Int64R(rv reflect.Value) {
  4347. fastpathTV.EncMapFloat32Int64V(rv.Interface().(map[float32]int64), fastpathCheckNilFalse, f.e)
  4348. }
  4349. func (_ fastpathT) EncMapFloat32Int64V(v map[float32]int64, checkNil bool, e *Encoder) {
  4350. ee := e.e
  4351. if checkNil && v == nil {
  4352. ee.EncodeNil()
  4353. return
  4354. }
  4355. ee.EncodeMapStart(len(v))
  4356. if e.h.Canonical {
  4357. v2 := make([]float64, len(v))
  4358. var i int
  4359. for k, _ := range v {
  4360. v2[i] = float64(k)
  4361. i++
  4362. }
  4363. sort.Sort(floatSlice(v2))
  4364. for _, k2 := range v2 {
  4365. ee.EncodeFloat32(float32(k2))
  4366. ee.EncodeInt(int64(v[float32(k2)]))
  4367. }
  4368. } else {
  4369. for k2, v2 := range v {
  4370. ee.EncodeFloat32(k2)
  4371. ee.EncodeInt(int64(v2))
  4372. }
  4373. }
  4374. ee.EncodeEnd()
  4375. }
  4376. func (f *encFnInfo) fastpathEncMapFloat32Float32R(rv reflect.Value) {
  4377. fastpathTV.EncMapFloat32Float32V(rv.Interface().(map[float32]float32), fastpathCheckNilFalse, f.e)
  4378. }
  4379. func (_ fastpathT) EncMapFloat32Float32V(v map[float32]float32, checkNil bool, e *Encoder) {
  4380. ee := e.e
  4381. if checkNil && v == nil {
  4382. ee.EncodeNil()
  4383. return
  4384. }
  4385. ee.EncodeMapStart(len(v))
  4386. if e.h.Canonical {
  4387. v2 := make([]float64, len(v))
  4388. var i int
  4389. for k, _ := range v {
  4390. v2[i] = float64(k)
  4391. i++
  4392. }
  4393. sort.Sort(floatSlice(v2))
  4394. for _, k2 := range v2 {
  4395. ee.EncodeFloat32(float32(k2))
  4396. ee.EncodeFloat32(v[float32(k2)])
  4397. }
  4398. } else {
  4399. for k2, v2 := range v {
  4400. ee.EncodeFloat32(k2)
  4401. ee.EncodeFloat32(v2)
  4402. }
  4403. }
  4404. ee.EncodeEnd()
  4405. }
  4406. func (f *encFnInfo) fastpathEncMapFloat32Float64R(rv reflect.Value) {
  4407. fastpathTV.EncMapFloat32Float64V(rv.Interface().(map[float32]float64), fastpathCheckNilFalse, f.e)
  4408. }
  4409. func (_ fastpathT) EncMapFloat32Float64V(v map[float32]float64, checkNil bool, e *Encoder) {
  4410. ee := e.e
  4411. if checkNil && v == nil {
  4412. ee.EncodeNil()
  4413. return
  4414. }
  4415. ee.EncodeMapStart(len(v))
  4416. if e.h.Canonical {
  4417. v2 := make([]float64, len(v))
  4418. var i int
  4419. for k, _ := range v {
  4420. v2[i] = float64(k)
  4421. i++
  4422. }
  4423. sort.Sort(floatSlice(v2))
  4424. for _, k2 := range v2 {
  4425. ee.EncodeFloat32(float32(k2))
  4426. ee.EncodeFloat64(v[float32(k2)])
  4427. }
  4428. } else {
  4429. for k2, v2 := range v {
  4430. ee.EncodeFloat32(k2)
  4431. ee.EncodeFloat64(v2)
  4432. }
  4433. }
  4434. ee.EncodeEnd()
  4435. }
  4436. func (f *encFnInfo) fastpathEncMapFloat32BoolR(rv reflect.Value) {
  4437. fastpathTV.EncMapFloat32BoolV(rv.Interface().(map[float32]bool), fastpathCheckNilFalse, f.e)
  4438. }
  4439. func (_ fastpathT) EncMapFloat32BoolV(v map[float32]bool, checkNil bool, e *Encoder) {
  4440. ee := e.e
  4441. if checkNil && v == nil {
  4442. ee.EncodeNil()
  4443. return
  4444. }
  4445. ee.EncodeMapStart(len(v))
  4446. if e.h.Canonical {
  4447. v2 := make([]float64, len(v))
  4448. var i int
  4449. for k, _ := range v {
  4450. v2[i] = float64(k)
  4451. i++
  4452. }
  4453. sort.Sort(floatSlice(v2))
  4454. for _, k2 := range v2 {
  4455. ee.EncodeFloat32(float32(k2))
  4456. ee.EncodeBool(v[float32(k2)])
  4457. }
  4458. } else {
  4459. for k2, v2 := range v {
  4460. ee.EncodeFloat32(k2)
  4461. ee.EncodeBool(v2)
  4462. }
  4463. }
  4464. ee.EncodeEnd()
  4465. }
  4466. func (f *encFnInfo) fastpathEncMapFloat64IntfR(rv reflect.Value) {
  4467. fastpathTV.EncMapFloat64IntfV(rv.Interface().(map[float64]interface{}), fastpathCheckNilFalse, f.e)
  4468. }
  4469. func (_ fastpathT) EncMapFloat64IntfV(v map[float64]interface{}, checkNil bool, e *Encoder) {
  4470. ee := e.e
  4471. if checkNil && v == nil {
  4472. ee.EncodeNil()
  4473. return
  4474. }
  4475. ee.EncodeMapStart(len(v))
  4476. if e.h.Canonical {
  4477. v2 := make([]float64, len(v))
  4478. var i int
  4479. for k, _ := range v {
  4480. v2[i] = float64(k)
  4481. i++
  4482. }
  4483. sort.Sort(floatSlice(v2))
  4484. for _, k2 := range v2 {
  4485. ee.EncodeFloat64(float64(k2))
  4486. e.encode(v[float64(k2)])
  4487. }
  4488. } else {
  4489. for k2, v2 := range v {
  4490. ee.EncodeFloat64(k2)
  4491. e.encode(v2)
  4492. }
  4493. }
  4494. ee.EncodeEnd()
  4495. }
  4496. func (f *encFnInfo) fastpathEncMapFloat64StringR(rv reflect.Value) {
  4497. fastpathTV.EncMapFloat64StringV(rv.Interface().(map[float64]string), fastpathCheckNilFalse, f.e)
  4498. }
  4499. func (_ fastpathT) EncMapFloat64StringV(v map[float64]string, checkNil bool, e *Encoder) {
  4500. ee := e.e
  4501. if checkNil && v == nil {
  4502. ee.EncodeNil()
  4503. return
  4504. }
  4505. ee.EncodeMapStart(len(v))
  4506. if e.h.Canonical {
  4507. v2 := make([]float64, len(v))
  4508. var i int
  4509. for k, _ := range v {
  4510. v2[i] = float64(k)
  4511. i++
  4512. }
  4513. sort.Sort(floatSlice(v2))
  4514. for _, k2 := range v2 {
  4515. ee.EncodeFloat64(float64(k2))
  4516. ee.EncodeString(c_UTF8, v[float64(k2)])
  4517. }
  4518. } else {
  4519. for k2, v2 := range v {
  4520. ee.EncodeFloat64(k2)
  4521. ee.EncodeString(c_UTF8, v2)
  4522. }
  4523. }
  4524. ee.EncodeEnd()
  4525. }
  4526. func (f *encFnInfo) fastpathEncMapFloat64UintR(rv reflect.Value) {
  4527. fastpathTV.EncMapFloat64UintV(rv.Interface().(map[float64]uint), fastpathCheckNilFalse, f.e)
  4528. }
  4529. func (_ fastpathT) EncMapFloat64UintV(v map[float64]uint, checkNil bool, e *Encoder) {
  4530. ee := e.e
  4531. if checkNil && v == nil {
  4532. ee.EncodeNil()
  4533. return
  4534. }
  4535. ee.EncodeMapStart(len(v))
  4536. if e.h.Canonical {
  4537. v2 := make([]float64, len(v))
  4538. var i int
  4539. for k, _ := range v {
  4540. v2[i] = float64(k)
  4541. i++
  4542. }
  4543. sort.Sort(floatSlice(v2))
  4544. for _, k2 := range v2 {
  4545. ee.EncodeFloat64(float64(k2))
  4546. ee.EncodeUint(uint64(v[float64(k2)]))
  4547. }
  4548. } else {
  4549. for k2, v2 := range v {
  4550. ee.EncodeFloat64(k2)
  4551. ee.EncodeUint(uint64(v2))
  4552. }
  4553. }
  4554. ee.EncodeEnd()
  4555. }
  4556. func (f *encFnInfo) fastpathEncMapFloat64Uint8R(rv reflect.Value) {
  4557. fastpathTV.EncMapFloat64Uint8V(rv.Interface().(map[float64]uint8), fastpathCheckNilFalse, f.e)
  4558. }
  4559. func (_ fastpathT) EncMapFloat64Uint8V(v map[float64]uint8, checkNil bool, e *Encoder) {
  4560. ee := e.e
  4561. if checkNil && v == nil {
  4562. ee.EncodeNil()
  4563. return
  4564. }
  4565. ee.EncodeMapStart(len(v))
  4566. if e.h.Canonical {
  4567. v2 := make([]float64, len(v))
  4568. var i int
  4569. for k, _ := range v {
  4570. v2[i] = float64(k)
  4571. i++
  4572. }
  4573. sort.Sort(floatSlice(v2))
  4574. for _, k2 := range v2 {
  4575. ee.EncodeFloat64(float64(k2))
  4576. ee.EncodeUint(uint64(v[float64(k2)]))
  4577. }
  4578. } else {
  4579. for k2, v2 := range v {
  4580. ee.EncodeFloat64(k2)
  4581. ee.EncodeUint(uint64(v2))
  4582. }
  4583. }
  4584. ee.EncodeEnd()
  4585. }
  4586. func (f *encFnInfo) fastpathEncMapFloat64Uint16R(rv reflect.Value) {
  4587. fastpathTV.EncMapFloat64Uint16V(rv.Interface().(map[float64]uint16), fastpathCheckNilFalse, f.e)
  4588. }
  4589. func (_ fastpathT) EncMapFloat64Uint16V(v map[float64]uint16, checkNil bool, e *Encoder) {
  4590. ee := e.e
  4591. if checkNil && v == nil {
  4592. ee.EncodeNil()
  4593. return
  4594. }
  4595. ee.EncodeMapStart(len(v))
  4596. if e.h.Canonical {
  4597. v2 := make([]float64, len(v))
  4598. var i int
  4599. for k, _ := range v {
  4600. v2[i] = float64(k)
  4601. i++
  4602. }
  4603. sort.Sort(floatSlice(v2))
  4604. for _, k2 := range v2 {
  4605. ee.EncodeFloat64(float64(k2))
  4606. ee.EncodeUint(uint64(v[float64(k2)]))
  4607. }
  4608. } else {
  4609. for k2, v2 := range v {
  4610. ee.EncodeFloat64(k2)
  4611. ee.EncodeUint(uint64(v2))
  4612. }
  4613. }
  4614. ee.EncodeEnd()
  4615. }
  4616. func (f *encFnInfo) fastpathEncMapFloat64Uint32R(rv reflect.Value) {
  4617. fastpathTV.EncMapFloat64Uint32V(rv.Interface().(map[float64]uint32), fastpathCheckNilFalse, f.e)
  4618. }
  4619. func (_ fastpathT) EncMapFloat64Uint32V(v map[float64]uint32, checkNil bool, e *Encoder) {
  4620. ee := e.e
  4621. if checkNil && v == nil {
  4622. ee.EncodeNil()
  4623. return
  4624. }
  4625. ee.EncodeMapStart(len(v))
  4626. if e.h.Canonical {
  4627. v2 := make([]float64, len(v))
  4628. var i int
  4629. for k, _ := range v {
  4630. v2[i] = float64(k)
  4631. i++
  4632. }
  4633. sort.Sort(floatSlice(v2))
  4634. for _, k2 := range v2 {
  4635. ee.EncodeFloat64(float64(k2))
  4636. ee.EncodeUint(uint64(v[float64(k2)]))
  4637. }
  4638. } else {
  4639. for k2, v2 := range v {
  4640. ee.EncodeFloat64(k2)
  4641. ee.EncodeUint(uint64(v2))
  4642. }
  4643. }
  4644. ee.EncodeEnd()
  4645. }
  4646. func (f *encFnInfo) fastpathEncMapFloat64Uint64R(rv reflect.Value) {
  4647. fastpathTV.EncMapFloat64Uint64V(rv.Interface().(map[float64]uint64), fastpathCheckNilFalse, f.e)
  4648. }
  4649. func (_ fastpathT) EncMapFloat64Uint64V(v map[float64]uint64, checkNil bool, e *Encoder) {
  4650. ee := e.e
  4651. if checkNil && v == nil {
  4652. ee.EncodeNil()
  4653. return
  4654. }
  4655. ee.EncodeMapStart(len(v))
  4656. if e.h.Canonical {
  4657. v2 := make([]float64, len(v))
  4658. var i int
  4659. for k, _ := range v {
  4660. v2[i] = float64(k)
  4661. i++
  4662. }
  4663. sort.Sort(floatSlice(v2))
  4664. for _, k2 := range v2 {
  4665. ee.EncodeFloat64(float64(k2))
  4666. ee.EncodeUint(uint64(v[float64(k2)]))
  4667. }
  4668. } else {
  4669. for k2, v2 := range v {
  4670. ee.EncodeFloat64(k2)
  4671. ee.EncodeUint(uint64(v2))
  4672. }
  4673. }
  4674. ee.EncodeEnd()
  4675. }
  4676. func (f *encFnInfo) fastpathEncMapFloat64UintptrR(rv reflect.Value) {
  4677. fastpathTV.EncMapFloat64UintptrV(rv.Interface().(map[float64]uintptr), fastpathCheckNilFalse, f.e)
  4678. }
  4679. func (_ fastpathT) EncMapFloat64UintptrV(v map[float64]uintptr, checkNil bool, e *Encoder) {
  4680. ee := e.e
  4681. if checkNil && v == nil {
  4682. ee.EncodeNil()
  4683. return
  4684. }
  4685. ee.EncodeMapStart(len(v))
  4686. if e.h.Canonical {
  4687. v2 := make([]float64, len(v))
  4688. var i int
  4689. for k, _ := range v {
  4690. v2[i] = float64(k)
  4691. i++
  4692. }
  4693. sort.Sort(floatSlice(v2))
  4694. for _, k2 := range v2 {
  4695. ee.EncodeFloat64(float64(k2))
  4696. e.encode(v[float64(k2)])
  4697. }
  4698. } else {
  4699. for k2, v2 := range v {
  4700. ee.EncodeFloat64(k2)
  4701. e.encode(v2)
  4702. }
  4703. }
  4704. ee.EncodeEnd()
  4705. }
  4706. func (f *encFnInfo) fastpathEncMapFloat64IntR(rv reflect.Value) {
  4707. fastpathTV.EncMapFloat64IntV(rv.Interface().(map[float64]int), fastpathCheckNilFalse, f.e)
  4708. }
  4709. func (_ fastpathT) EncMapFloat64IntV(v map[float64]int, checkNil bool, e *Encoder) {
  4710. ee := e.e
  4711. if checkNil && v == nil {
  4712. ee.EncodeNil()
  4713. return
  4714. }
  4715. ee.EncodeMapStart(len(v))
  4716. if e.h.Canonical {
  4717. v2 := make([]float64, len(v))
  4718. var i int
  4719. for k, _ := range v {
  4720. v2[i] = float64(k)
  4721. i++
  4722. }
  4723. sort.Sort(floatSlice(v2))
  4724. for _, k2 := range v2 {
  4725. ee.EncodeFloat64(float64(k2))
  4726. ee.EncodeInt(int64(v[float64(k2)]))
  4727. }
  4728. } else {
  4729. for k2, v2 := range v {
  4730. ee.EncodeFloat64(k2)
  4731. ee.EncodeInt(int64(v2))
  4732. }
  4733. }
  4734. ee.EncodeEnd()
  4735. }
  4736. func (f *encFnInfo) fastpathEncMapFloat64Int8R(rv reflect.Value) {
  4737. fastpathTV.EncMapFloat64Int8V(rv.Interface().(map[float64]int8), fastpathCheckNilFalse, f.e)
  4738. }
  4739. func (_ fastpathT) EncMapFloat64Int8V(v map[float64]int8, checkNil bool, e *Encoder) {
  4740. ee := e.e
  4741. if checkNil && v == nil {
  4742. ee.EncodeNil()
  4743. return
  4744. }
  4745. ee.EncodeMapStart(len(v))
  4746. if e.h.Canonical {
  4747. v2 := make([]float64, len(v))
  4748. var i int
  4749. for k, _ := range v {
  4750. v2[i] = float64(k)
  4751. i++
  4752. }
  4753. sort.Sort(floatSlice(v2))
  4754. for _, k2 := range v2 {
  4755. ee.EncodeFloat64(float64(k2))
  4756. ee.EncodeInt(int64(v[float64(k2)]))
  4757. }
  4758. } else {
  4759. for k2, v2 := range v {
  4760. ee.EncodeFloat64(k2)
  4761. ee.EncodeInt(int64(v2))
  4762. }
  4763. }
  4764. ee.EncodeEnd()
  4765. }
  4766. func (f *encFnInfo) fastpathEncMapFloat64Int16R(rv reflect.Value) {
  4767. fastpathTV.EncMapFloat64Int16V(rv.Interface().(map[float64]int16), fastpathCheckNilFalse, f.e)
  4768. }
  4769. func (_ fastpathT) EncMapFloat64Int16V(v map[float64]int16, checkNil bool, e *Encoder) {
  4770. ee := e.e
  4771. if checkNil && v == nil {
  4772. ee.EncodeNil()
  4773. return
  4774. }
  4775. ee.EncodeMapStart(len(v))
  4776. if e.h.Canonical {
  4777. v2 := make([]float64, len(v))
  4778. var i int
  4779. for k, _ := range v {
  4780. v2[i] = float64(k)
  4781. i++
  4782. }
  4783. sort.Sort(floatSlice(v2))
  4784. for _, k2 := range v2 {
  4785. ee.EncodeFloat64(float64(k2))
  4786. ee.EncodeInt(int64(v[float64(k2)]))
  4787. }
  4788. } else {
  4789. for k2, v2 := range v {
  4790. ee.EncodeFloat64(k2)
  4791. ee.EncodeInt(int64(v2))
  4792. }
  4793. }
  4794. ee.EncodeEnd()
  4795. }
  4796. func (f *encFnInfo) fastpathEncMapFloat64Int32R(rv reflect.Value) {
  4797. fastpathTV.EncMapFloat64Int32V(rv.Interface().(map[float64]int32), fastpathCheckNilFalse, f.e)
  4798. }
  4799. func (_ fastpathT) EncMapFloat64Int32V(v map[float64]int32, checkNil bool, e *Encoder) {
  4800. ee := e.e
  4801. if checkNil && v == nil {
  4802. ee.EncodeNil()
  4803. return
  4804. }
  4805. ee.EncodeMapStart(len(v))
  4806. if e.h.Canonical {
  4807. v2 := make([]float64, len(v))
  4808. var i int
  4809. for k, _ := range v {
  4810. v2[i] = float64(k)
  4811. i++
  4812. }
  4813. sort.Sort(floatSlice(v2))
  4814. for _, k2 := range v2 {
  4815. ee.EncodeFloat64(float64(k2))
  4816. ee.EncodeInt(int64(v[float64(k2)]))
  4817. }
  4818. } else {
  4819. for k2, v2 := range v {
  4820. ee.EncodeFloat64(k2)
  4821. ee.EncodeInt(int64(v2))
  4822. }
  4823. }
  4824. ee.EncodeEnd()
  4825. }
  4826. func (f *encFnInfo) fastpathEncMapFloat64Int64R(rv reflect.Value) {
  4827. fastpathTV.EncMapFloat64Int64V(rv.Interface().(map[float64]int64), fastpathCheckNilFalse, f.e)
  4828. }
  4829. func (_ fastpathT) EncMapFloat64Int64V(v map[float64]int64, checkNil bool, e *Encoder) {
  4830. ee := e.e
  4831. if checkNil && v == nil {
  4832. ee.EncodeNil()
  4833. return
  4834. }
  4835. ee.EncodeMapStart(len(v))
  4836. if e.h.Canonical {
  4837. v2 := make([]float64, len(v))
  4838. var i int
  4839. for k, _ := range v {
  4840. v2[i] = float64(k)
  4841. i++
  4842. }
  4843. sort.Sort(floatSlice(v2))
  4844. for _, k2 := range v2 {
  4845. ee.EncodeFloat64(float64(k2))
  4846. ee.EncodeInt(int64(v[float64(k2)]))
  4847. }
  4848. } else {
  4849. for k2, v2 := range v {
  4850. ee.EncodeFloat64(k2)
  4851. ee.EncodeInt(int64(v2))
  4852. }
  4853. }
  4854. ee.EncodeEnd()
  4855. }
  4856. func (f *encFnInfo) fastpathEncMapFloat64Float32R(rv reflect.Value) {
  4857. fastpathTV.EncMapFloat64Float32V(rv.Interface().(map[float64]float32), fastpathCheckNilFalse, f.e)
  4858. }
  4859. func (_ fastpathT) EncMapFloat64Float32V(v map[float64]float32, checkNil bool, e *Encoder) {
  4860. ee := e.e
  4861. if checkNil && v == nil {
  4862. ee.EncodeNil()
  4863. return
  4864. }
  4865. ee.EncodeMapStart(len(v))
  4866. if e.h.Canonical {
  4867. v2 := make([]float64, len(v))
  4868. var i int
  4869. for k, _ := range v {
  4870. v2[i] = float64(k)
  4871. i++
  4872. }
  4873. sort.Sort(floatSlice(v2))
  4874. for _, k2 := range v2 {
  4875. ee.EncodeFloat64(float64(k2))
  4876. ee.EncodeFloat32(v[float64(k2)])
  4877. }
  4878. } else {
  4879. for k2, v2 := range v {
  4880. ee.EncodeFloat64(k2)
  4881. ee.EncodeFloat32(v2)
  4882. }
  4883. }
  4884. ee.EncodeEnd()
  4885. }
  4886. func (f *encFnInfo) fastpathEncMapFloat64Float64R(rv reflect.Value) {
  4887. fastpathTV.EncMapFloat64Float64V(rv.Interface().(map[float64]float64), fastpathCheckNilFalse, f.e)
  4888. }
  4889. func (_ fastpathT) EncMapFloat64Float64V(v map[float64]float64, checkNil bool, e *Encoder) {
  4890. ee := e.e
  4891. if checkNil && v == nil {
  4892. ee.EncodeNil()
  4893. return
  4894. }
  4895. ee.EncodeMapStart(len(v))
  4896. if e.h.Canonical {
  4897. v2 := make([]float64, len(v))
  4898. var i int
  4899. for k, _ := range v {
  4900. v2[i] = float64(k)
  4901. i++
  4902. }
  4903. sort.Sort(floatSlice(v2))
  4904. for _, k2 := range v2 {
  4905. ee.EncodeFloat64(float64(k2))
  4906. ee.EncodeFloat64(v[float64(k2)])
  4907. }
  4908. } else {
  4909. for k2, v2 := range v {
  4910. ee.EncodeFloat64(k2)
  4911. ee.EncodeFloat64(v2)
  4912. }
  4913. }
  4914. ee.EncodeEnd()
  4915. }
  4916. func (f *encFnInfo) fastpathEncMapFloat64BoolR(rv reflect.Value) {
  4917. fastpathTV.EncMapFloat64BoolV(rv.Interface().(map[float64]bool), fastpathCheckNilFalse, f.e)
  4918. }
  4919. func (_ fastpathT) EncMapFloat64BoolV(v map[float64]bool, checkNil bool, e *Encoder) {
  4920. ee := e.e
  4921. if checkNil && v == nil {
  4922. ee.EncodeNil()
  4923. return
  4924. }
  4925. ee.EncodeMapStart(len(v))
  4926. if e.h.Canonical {
  4927. v2 := make([]float64, len(v))
  4928. var i int
  4929. for k, _ := range v {
  4930. v2[i] = float64(k)
  4931. i++
  4932. }
  4933. sort.Sort(floatSlice(v2))
  4934. for _, k2 := range v2 {
  4935. ee.EncodeFloat64(float64(k2))
  4936. ee.EncodeBool(v[float64(k2)])
  4937. }
  4938. } else {
  4939. for k2, v2 := range v {
  4940. ee.EncodeFloat64(k2)
  4941. ee.EncodeBool(v2)
  4942. }
  4943. }
  4944. ee.EncodeEnd()
  4945. }
  4946. func (f *encFnInfo) fastpathEncMapUintIntfR(rv reflect.Value) {
  4947. fastpathTV.EncMapUintIntfV(rv.Interface().(map[uint]interface{}), fastpathCheckNilFalse, f.e)
  4948. }
  4949. func (_ fastpathT) EncMapUintIntfV(v map[uint]interface{}, checkNil bool, e *Encoder) {
  4950. ee := e.e
  4951. if checkNil && v == nil {
  4952. ee.EncodeNil()
  4953. return
  4954. }
  4955. ee.EncodeMapStart(len(v))
  4956. if e.h.Canonical {
  4957. v2 := make([]uint64, len(v))
  4958. var i int
  4959. for k, _ := range v {
  4960. v2[i] = uint64(k)
  4961. i++
  4962. }
  4963. sort.Sort(uintSlice(v2))
  4964. for _, k2 := range v2 {
  4965. ee.EncodeUint(uint64(uint(k2)))
  4966. e.encode(v[uint(k2)])
  4967. }
  4968. } else {
  4969. for k2, v2 := range v {
  4970. ee.EncodeUint(uint64(k2))
  4971. e.encode(v2)
  4972. }
  4973. }
  4974. ee.EncodeEnd()
  4975. }
  4976. func (f *encFnInfo) fastpathEncMapUintStringR(rv reflect.Value) {
  4977. fastpathTV.EncMapUintStringV(rv.Interface().(map[uint]string), fastpathCheckNilFalse, f.e)
  4978. }
  4979. func (_ fastpathT) EncMapUintStringV(v map[uint]string, checkNil bool, e *Encoder) {
  4980. ee := e.e
  4981. if checkNil && v == nil {
  4982. ee.EncodeNil()
  4983. return
  4984. }
  4985. ee.EncodeMapStart(len(v))
  4986. if e.h.Canonical {
  4987. v2 := make([]uint64, len(v))
  4988. var i int
  4989. for k, _ := range v {
  4990. v2[i] = uint64(k)
  4991. i++
  4992. }
  4993. sort.Sort(uintSlice(v2))
  4994. for _, k2 := range v2 {
  4995. ee.EncodeUint(uint64(uint(k2)))
  4996. ee.EncodeString(c_UTF8, v[uint(k2)])
  4997. }
  4998. } else {
  4999. for k2, v2 := range v {
  5000. ee.EncodeUint(uint64(k2))
  5001. ee.EncodeString(c_UTF8, v2)
  5002. }
  5003. }
  5004. ee.EncodeEnd()
  5005. }
  5006. func (f *encFnInfo) fastpathEncMapUintUintR(rv reflect.Value) {
  5007. fastpathTV.EncMapUintUintV(rv.Interface().(map[uint]uint), fastpathCheckNilFalse, f.e)
  5008. }
  5009. func (_ fastpathT) EncMapUintUintV(v map[uint]uint, checkNil bool, e *Encoder) {
  5010. ee := e.e
  5011. if checkNil && v == nil {
  5012. ee.EncodeNil()
  5013. return
  5014. }
  5015. ee.EncodeMapStart(len(v))
  5016. if e.h.Canonical {
  5017. v2 := make([]uint64, len(v))
  5018. var i int
  5019. for k, _ := range v {
  5020. v2[i] = uint64(k)
  5021. i++
  5022. }
  5023. sort.Sort(uintSlice(v2))
  5024. for _, k2 := range v2 {
  5025. ee.EncodeUint(uint64(uint(k2)))
  5026. ee.EncodeUint(uint64(v[uint(k2)]))
  5027. }
  5028. } else {
  5029. for k2, v2 := range v {
  5030. ee.EncodeUint(uint64(k2))
  5031. ee.EncodeUint(uint64(v2))
  5032. }
  5033. }
  5034. ee.EncodeEnd()
  5035. }
  5036. func (f *encFnInfo) fastpathEncMapUintUint8R(rv reflect.Value) {
  5037. fastpathTV.EncMapUintUint8V(rv.Interface().(map[uint]uint8), fastpathCheckNilFalse, f.e)
  5038. }
  5039. func (_ fastpathT) EncMapUintUint8V(v map[uint]uint8, checkNil bool, e *Encoder) {
  5040. ee := e.e
  5041. if checkNil && v == nil {
  5042. ee.EncodeNil()
  5043. return
  5044. }
  5045. ee.EncodeMapStart(len(v))
  5046. if e.h.Canonical {
  5047. v2 := make([]uint64, len(v))
  5048. var i int
  5049. for k, _ := range v {
  5050. v2[i] = uint64(k)
  5051. i++
  5052. }
  5053. sort.Sort(uintSlice(v2))
  5054. for _, k2 := range v2 {
  5055. ee.EncodeUint(uint64(uint(k2)))
  5056. ee.EncodeUint(uint64(v[uint(k2)]))
  5057. }
  5058. } else {
  5059. for k2, v2 := range v {
  5060. ee.EncodeUint(uint64(k2))
  5061. ee.EncodeUint(uint64(v2))
  5062. }
  5063. }
  5064. ee.EncodeEnd()
  5065. }
  5066. func (f *encFnInfo) fastpathEncMapUintUint16R(rv reflect.Value) {
  5067. fastpathTV.EncMapUintUint16V(rv.Interface().(map[uint]uint16), fastpathCheckNilFalse, f.e)
  5068. }
  5069. func (_ fastpathT) EncMapUintUint16V(v map[uint]uint16, checkNil bool, e *Encoder) {
  5070. ee := e.e
  5071. if checkNil && v == nil {
  5072. ee.EncodeNil()
  5073. return
  5074. }
  5075. ee.EncodeMapStart(len(v))
  5076. if e.h.Canonical {
  5077. v2 := make([]uint64, len(v))
  5078. var i int
  5079. for k, _ := range v {
  5080. v2[i] = uint64(k)
  5081. i++
  5082. }
  5083. sort.Sort(uintSlice(v2))
  5084. for _, k2 := range v2 {
  5085. ee.EncodeUint(uint64(uint(k2)))
  5086. ee.EncodeUint(uint64(v[uint(k2)]))
  5087. }
  5088. } else {
  5089. for k2, v2 := range v {
  5090. ee.EncodeUint(uint64(k2))
  5091. ee.EncodeUint(uint64(v2))
  5092. }
  5093. }
  5094. ee.EncodeEnd()
  5095. }
  5096. func (f *encFnInfo) fastpathEncMapUintUint32R(rv reflect.Value) {
  5097. fastpathTV.EncMapUintUint32V(rv.Interface().(map[uint]uint32), fastpathCheckNilFalse, f.e)
  5098. }
  5099. func (_ fastpathT) EncMapUintUint32V(v map[uint]uint32, checkNil bool, e *Encoder) {
  5100. ee := e.e
  5101. if checkNil && v == nil {
  5102. ee.EncodeNil()
  5103. return
  5104. }
  5105. ee.EncodeMapStart(len(v))
  5106. if e.h.Canonical {
  5107. v2 := make([]uint64, len(v))
  5108. var i int
  5109. for k, _ := range v {
  5110. v2[i] = uint64(k)
  5111. i++
  5112. }
  5113. sort.Sort(uintSlice(v2))
  5114. for _, k2 := range v2 {
  5115. ee.EncodeUint(uint64(uint(k2)))
  5116. ee.EncodeUint(uint64(v[uint(k2)]))
  5117. }
  5118. } else {
  5119. for k2, v2 := range v {
  5120. ee.EncodeUint(uint64(k2))
  5121. ee.EncodeUint(uint64(v2))
  5122. }
  5123. }
  5124. ee.EncodeEnd()
  5125. }
  5126. func (f *encFnInfo) fastpathEncMapUintUint64R(rv reflect.Value) {
  5127. fastpathTV.EncMapUintUint64V(rv.Interface().(map[uint]uint64), fastpathCheckNilFalse, f.e)
  5128. }
  5129. func (_ fastpathT) EncMapUintUint64V(v map[uint]uint64, checkNil bool, e *Encoder) {
  5130. ee := e.e
  5131. if checkNil && v == nil {
  5132. ee.EncodeNil()
  5133. return
  5134. }
  5135. ee.EncodeMapStart(len(v))
  5136. if e.h.Canonical {
  5137. v2 := make([]uint64, len(v))
  5138. var i int
  5139. for k, _ := range v {
  5140. v2[i] = uint64(k)
  5141. i++
  5142. }
  5143. sort.Sort(uintSlice(v2))
  5144. for _, k2 := range v2 {
  5145. ee.EncodeUint(uint64(uint(k2)))
  5146. ee.EncodeUint(uint64(v[uint(k2)]))
  5147. }
  5148. } else {
  5149. for k2, v2 := range v {
  5150. ee.EncodeUint(uint64(k2))
  5151. ee.EncodeUint(uint64(v2))
  5152. }
  5153. }
  5154. ee.EncodeEnd()
  5155. }
  5156. func (f *encFnInfo) fastpathEncMapUintUintptrR(rv reflect.Value) {
  5157. fastpathTV.EncMapUintUintptrV(rv.Interface().(map[uint]uintptr), fastpathCheckNilFalse, f.e)
  5158. }
  5159. func (_ fastpathT) EncMapUintUintptrV(v map[uint]uintptr, checkNil bool, e *Encoder) {
  5160. ee := e.e
  5161. if checkNil && v == nil {
  5162. ee.EncodeNil()
  5163. return
  5164. }
  5165. ee.EncodeMapStart(len(v))
  5166. if e.h.Canonical {
  5167. v2 := make([]uint64, len(v))
  5168. var i int
  5169. for k, _ := range v {
  5170. v2[i] = uint64(k)
  5171. i++
  5172. }
  5173. sort.Sort(uintSlice(v2))
  5174. for _, k2 := range v2 {
  5175. ee.EncodeUint(uint64(uint(k2)))
  5176. e.encode(v[uint(k2)])
  5177. }
  5178. } else {
  5179. for k2, v2 := range v {
  5180. ee.EncodeUint(uint64(k2))
  5181. e.encode(v2)
  5182. }
  5183. }
  5184. ee.EncodeEnd()
  5185. }
  5186. func (f *encFnInfo) fastpathEncMapUintIntR(rv reflect.Value) {
  5187. fastpathTV.EncMapUintIntV(rv.Interface().(map[uint]int), fastpathCheckNilFalse, f.e)
  5188. }
  5189. func (_ fastpathT) EncMapUintIntV(v map[uint]int, checkNil bool, e *Encoder) {
  5190. ee := e.e
  5191. if checkNil && v == nil {
  5192. ee.EncodeNil()
  5193. return
  5194. }
  5195. ee.EncodeMapStart(len(v))
  5196. if e.h.Canonical {
  5197. v2 := make([]uint64, len(v))
  5198. var i int
  5199. for k, _ := range v {
  5200. v2[i] = uint64(k)
  5201. i++
  5202. }
  5203. sort.Sort(uintSlice(v2))
  5204. for _, k2 := range v2 {
  5205. ee.EncodeUint(uint64(uint(k2)))
  5206. ee.EncodeInt(int64(v[uint(k2)]))
  5207. }
  5208. } else {
  5209. for k2, v2 := range v {
  5210. ee.EncodeUint(uint64(k2))
  5211. ee.EncodeInt(int64(v2))
  5212. }
  5213. }
  5214. ee.EncodeEnd()
  5215. }
  5216. func (f *encFnInfo) fastpathEncMapUintInt8R(rv reflect.Value) {
  5217. fastpathTV.EncMapUintInt8V(rv.Interface().(map[uint]int8), fastpathCheckNilFalse, f.e)
  5218. }
  5219. func (_ fastpathT) EncMapUintInt8V(v map[uint]int8, checkNil bool, e *Encoder) {
  5220. ee := e.e
  5221. if checkNil && v == nil {
  5222. ee.EncodeNil()
  5223. return
  5224. }
  5225. ee.EncodeMapStart(len(v))
  5226. if e.h.Canonical {
  5227. v2 := make([]uint64, len(v))
  5228. var i int
  5229. for k, _ := range v {
  5230. v2[i] = uint64(k)
  5231. i++
  5232. }
  5233. sort.Sort(uintSlice(v2))
  5234. for _, k2 := range v2 {
  5235. ee.EncodeUint(uint64(uint(k2)))
  5236. ee.EncodeInt(int64(v[uint(k2)]))
  5237. }
  5238. } else {
  5239. for k2, v2 := range v {
  5240. ee.EncodeUint(uint64(k2))
  5241. ee.EncodeInt(int64(v2))
  5242. }
  5243. }
  5244. ee.EncodeEnd()
  5245. }
  5246. func (f *encFnInfo) fastpathEncMapUintInt16R(rv reflect.Value) {
  5247. fastpathTV.EncMapUintInt16V(rv.Interface().(map[uint]int16), fastpathCheckNilFalse, f.e)
  5248. }
  5249. func (_ fastpathT) EncMapUintInt16V(v map[uint]int16, checkNil bool, e *Encoder) {
  5250. ee := e.e
  5251. if checkNil && v == nil {
  5252. ee.EncodeNil()
  5253. return
  5254. }
  5255. ee.EncodeMapStart(len(v))
  5256. if e.h.Canonical {
  5257. v2 := make([]uint64, len(v))
  5258. var i int
  5259. for k, _ := range v {
  5260. v2[i] = uint64(k)
  5261. i++
  5262. }
  5263. sort.Sort(uintSlice(v2))
  5264. for _, k2 := range v2 {
  5265. ee.EncodeUint(uint64(uint(k2)))
  5266. ee.EncodeInt(int64(v[uint(k2)]))
  5267. }
  5268. } else {
  5269. for k2, v2 := range v {
  5270. ee.EncodeUint(uint64(k2))
  5271. ee.EncodeInt(int64(v2))
  5272. }
  5273. }
  5274. ee.EncodeEnd()
  5275. }
  5276. func (f *encFnInfo) fastpathEncMapUintInt32R(rv reflect.Value) {
  5277. fastpathTV.EncMapUintInt32V(rv.Interface().(map[uint]int32), fastpathCheckNilFalse, f.e)
  5278. }
  5279. func (_ fastpathT) EncMapUintInt32V(v map[uint]int32, checkNil bool, e *Encoder) {
  5280. ee := e.e
  5281. if checkNil && v == nil {
  5282. ee.EncodeNil()
  5283. return
  5284. }
  5285. ee.EncodeMapStart(len(v))
  5286. if e.h.Canonical {
  5287. v2 := make([]uint64, len(v))
  5288. var i int
  5289. for k, _ := range v {
  5290. v2[i] = uint64(k)
  5291. i++
  5292. }
  5293. sort.Sort(uintSlice(v2))
  5294. for _, k2 := range v2 {
  5295. ee.EncodeUint(uint64(uint(k2)))
  5296. ee.EncodeInt(int64(v[uint(k2)]))
  5297. }
  5298. } else {
  5299. for k2, v2 := range v {
  5300. ee.EncodeUint(uint64(k2))
  5301. ee.EncodeInt(int64(v2))
  5302. }
  5303. }
  5304. ee.EncodeEnd()
  5305. }
  5306. func (f *encFnInfo) fastpathEncMapUintInt64R(rv reflect.Value) {
  5307. fastpathTV.EncMapUintInt64V(rv.Interface().(map[uint]int64), fastpathCheckNilFalse, f.e)
  5308. }
  5309. func (_ fastpathT) EncMapUintInt64V(v map[uint]int64, checkNil bool, e *Encoder) {
  5310. ee := e.e
  5311. if checkNil && v == nil {
  5312. ee.EncodeNil()
  5313. return
  5314. }
  5315. ee.EncodeMapStart(len(v))
  5316. if e.h.Canonical {
  5317. v2 := make([]uint64, len(v))
  5318. var i int
  5319. for k, _ := range v {
  5320. v2[i] = uint64(k)
  5321. i++
  5322. }
  5323. sort.Sort(uintSlice(v2))
  5324. for _, k2 := range v2 {
  5325. ee.EncodeUint(uint64(uint(k2)))
  5326. ee.EncodeInt(int64(v[uint(k2)]))
  5327. }
  5328. } else {
  5329. for k2, v2 := range v {
  5330. ee.EncodeUint(uint64(k2))
  5331. ee.EncodeInt(int64(v2))
  5332. }
  5333. }
  5334. ee.EncodeEnd()
  5335. }
  5336. func (f *encFnInfo) fastpathEncMapUintFloat32R(rv reflect.Value) {
  5337. fastpathTV.EncMapUintFloat32V(rv.Interface().(map[uint]float32), fastpathCheckNilFalse, f.e)
  5338. }
  5339. func (_ fastpathT) EncMapUintFloat32V(v map[uint]float32, checkNil bool, e *Encoder) {
  5340. ee := e.e
  5341. if checkNil && v == nil {
  5342. ee.EncodeNil()
  5343. return
  5344. }
  5345. ee.EncodeMapStart(len(v))
  5346. if e.h.Canonical {
  5347. v2 := make([]uint64, len(v))
  5348. var i int
  5349. for k, _ := range v {
  5350. v2[i] = uint64(k)
  5351. i++
  5352. }
  5353. sort.Sort(uintSlice(v2))
  5354. for _, k2 := range v2 {
  5355. ee.EncodeUint(uint64(uint(k2)))
  5356. ee.EncodeFloat32(v[uint(k2)])
  5357. }
  5358. } else {
  5359. for k2, v2 := range v {
  5360. ee.EncodeUint(uint64(k2))
  5361. ee.EncodeFloat32(v2)
  5362. }
  5363. }
  5364. ee.EncodeEnd()
  5365. }
  5366. func (f *encFnInfo) fastpathEncMapUintFloat64R(rv reflect.Value) {
  5367. fastpathTV.EncMapUintFloat64V(rv.Interface().(map[uint]float64), fastpathCheckNilFalse, f.e)
  5368. }
  5369. func (_ fastpathT) EncMapUintFloat64V(v map[uint]float64, checkNil bool, e *Encoder) {
  5370. ee := e.e
  5371. if checkNil && v == nil {
  5372. ee.EncodeNil()
  5373. return
  5374. }
  5375. ee.EncodeMapStart(len(v))
  5376. if e.h.Canonical {
  5377. v2 := make([]uint64, len(v))
  5378. var i int
  5379. for k, _ := range v {
  5380. v2[i] = uint64(k)
  5381. i++
  5382. }
  5383. sort.Sort(uintSlice(v2))
  5384. for _, k2 := range v2 {
  5385. ee.EncodeUint(uint64(uint(k2)))
  5386. ee.EncodeFloat64(v[uint(k2)])
  5387. }
  5388. } else {
  5389. for k2, v2 := range v {
  5390. ee.EncodeUint(uint64(k2))
  5391. ee.EncodeFloat64(v2)
  5392. }
  5393. }
  5394. ee.EncodeEnd()
  5395. }
  5396. func (f *encFnInfo) fastpathEncMapUintBoolR(rv reflect.Value) {
  5397. fastpathTV.EncMapUintBoolV(rv.Interface().(map[uint]bool), fastpathCheckNilFalse, f.e)
  5398. }
  5399. func (_ fastpathT) EncMapUintBoolV(v map[uint]bool, checkNil bool, e *Encoder) {
  5400. ee := e.e
  5401. if checkNil && v == nil {
  5402. ee.EncodeNil()
  5403. return
  5404. }
  5405. ee.EncodeMapStart(len(v))
  5406. if e.h.Canonical {
  5407. v2 := make([]uint64, len(v))
  5408. var i int
  5409. for k, _ := range v {
  5410. v2[i] = uint64(k)
  5411. i++
  5412. }
  5413. sort.Sort(uintSlice(v2))
  5414. for _, k2 := range v2 {
  5415. ee.EncodeUint(uint64(uint(k2)))
  5416. ee.EncodeBool(v[uint(k2)])
  5417. }
  5418. } else {
  5419. for k2, v2 := range v {
  5420. ee.EncodeUint(uint64(k2))
  5421. ee.EncodeBool(v2)
  5422. }
  5423. }
  5424. ee.EncodeEnd()
  5425. }
  5426. func (f *encFnInfo) fastpathEncMapUint8IntfR(rv reflect.Value) {
  5427. fastpathTV.EncMapUint8IntfV(rv.Interface().(map[uint8]interface{}), fastpathCheckNilFalse, f.e)
  5428. }
  5429. func (_ fastpathT) EncMapUint8IntfV(v map[uint8]interface{}, checkNil bool, e *Encoder) {
  5430. ee := e.e
  5431. if checkNil && v == nil {
  5432. ee.EncodeNil()
  5433. return
  5434. }
  5435. ee.EncodeMapStart(len(v))
  5436. if e.h.Canonical {
  5437. v2 := make([]uint64, len(v))
  5438. var i int
  5439. for k, _ := range v {
  5440. v2[i] = uint64(k)
  5441. i++
  5442. }
  5443. sort.Sort(uintSlice(v2))
  5444. for _, k2 := range v2 {
  5445. ee.EncodeUint(uint64(uint8(k2)))
  5446. e.encode(v[uint8(k2)])
  5447. }
  5448. } else {
  5449. for k2, v2 := range v {
  5450. ee.EncodeUint(uint64(k2))
  5451. e.encode(v2)
  5452. }
  5453. }
  5454. ee.EncodeEnd()
  5455. }
  5456. func (f *encFnInfo) fastpathEncMapUint8StringR(rv reflect.Value) {
  5457. fastpathTV.EncMapUint8StringV(rv.Interface().(map[uint8]string), fastpathCheckNilFalse, f.e)
  5458. }
  5459. func (_ fastpathT) EncMapUint8StringV(v map[uint8]string, checkNil bool, e *Encoder) {
  5460. ee := e.e
  5461. if checkNil && v == nil {
  5462. ee.EncodeNil()
  5463. return
  5464. }
  5465. ee.EncodeMapStart(len(v))
  5466. if e.h.Canonical {
  5467. v2 := make([]uint64, len(v))
  5468. var i int
  5469. for k, _ := range v {
  5470. v2[i] = uint64(k)
  5471. i++
  5472. }
  5473. sort.Sort(uintSlice(v2))
  5474. for _, k2 := range v2 {
  5475. ee.EncodeUint(uint64(uint8(k2)))
  5476. ee.EncodeString(c_UTF8, v[uint8(k2)])
  5477. }
  5478. } else {
  5479. for k2, v2 := range v {
  5480. ee.EncodeUint(uint64(k2))
  5481. ee.EncodeString(c_UTF8, v2)
  5482. }
  5483. }
  5484. ee.EncodeEnd()
  5485. }
  5486. func (f *encFnInfo) fastpathEncMapUint8UintR(rv reflect.Value) {
  5487. fastpathTV.EncMapUint8UintV(rv.Interface().(map[uint8]uint), fastpathCheckNilFalse, f.e)
  5488. }
  5489. func (_ fastpathT) EncMapUint8UintV(v map[uint8]uint, checkNil bool, e *Encoder) {
  5490. ee := e.e
  5491. if checkNil && v == nil {
  5492. ee.EncodeNil()
  5493. return
  5494. }
  5495. ee.EncodeMapStart(len(v))
  5496. if e.h.Canonical {
  5497. v2 := make([]uint64, len(v))
  5498. var i int
  5499. for k, _ := range v {
  5500. v2[i] = uint64(k)
  5501. i++
  5502. }
  5503. sort.Sort(uintSlice(v2))
  5504. for _, k2 := range v2 {
  5505. ee.EncodeUint(uint64(uint8(k2)))
  5506. ee.EncodeUint(uint64(v[uint8(k2)]))
  5507. }
  5508. } else {
  5509. for k2, v2 := range v {
  5510. ee.EncodeUint(uint64(k2))
  5511. ee.EncodeUint(uint64(v2))
  5512. }
  5513. }
  5514. ee.EncodeEnd()
  5515. }
  5516. func (f *encFnInfo) fastpathEncMapUint8Uint8R(rv reflect.Value) {
  5517. fastpathTV.EncMapUint8Uint8V(rv.Interface().(map[uint8]uint8), fastpathCheckNilFalse, f.e)
  5518. }
  5519. func (_ fastpathT) EncMapUint8Uint8V(v map[uint8]uint8, checkNil bool, e *Encoder) {
  5520. ee := e.e
  5521. if checkNil && v == nil {
  5522. ee.EncodeNil()
  5523. return
  5524. }
  5525. ee.EncodeMapStart(len(v))
  5526. if e.h.Canonical {
  5527. v2 := make([]uint64, len(v))
  5528. var i int
  5529. for k, _ := range v {
  5530. v2[i] = uint64(k)
  5531. i++
  5532. }
  5533. sort.Sort(uintSlice(v2))
  5534. for _, k2 := range v2 {
  5535. ee.EncodeUint(uint64(uint8(k2)))
  5536. ee.EncodeUint(uint64(v[uint8(k2)]))
  5537. }
  5538. } else {
  5539. for k2, v2 := range v {
  5540. ee.EncodeUint(uint64(k2))
  5541. ee.EncodeUint(uint64(v2))
  5542. }
  5543. }
  5544. ee.EncodeEnd()
  5545. }
  5546. func (f *encFnInfo) fastpathEncMapUint8Uint16R(rv reflect.Value) {
  5547. fastpathTV.EncMapUint8Uint16V(rv.Interface().(map[uint8]uint16), fastpathCheckNilFalse, f.e)
  5548. }
  5549. func (_ fastpathT) EncMapUint8Uint16V(v map[uint8]uint16, checkNil bool, e *Encoder) {
  5550. ee := e.e
  5551. if checkNil && v == nil {
  5552. ee.EncodeNil()
  5553. return
  5554. }
  5555. ee.EncodeMapStart(len(v))
  5556. if e.h.Canonical {
  5557. v2 := make([]uint64, len(v))
  5558. var i int
  5559. for k, _ := range v {
  5560. v2[i] = uint64(k)
  5561. i++
  5562. }
  5563. sort.Sort(uintSlice(v2))
  5564. for _, k2 := range v2 {
  5565. ee.EncodeUint(uint64(uint8(k2)))
  5566. ee.EncodeUint(uint64(v[uint8(k2)]))
  5567. }
  5568. } else {
  5569. for k2, v2 := range v {
  5570. ee.EncodeUint(uint64(k2))
  5571. ee.EncodeUint(uint64(v2))
  5572. }
  5573. }
  5574. ee.EncodeEnd()
  5575. }
  5576. func (f *encFnInfo) fastpathEncMapUint8Uint32R(rv reflect.Value) {
  5577. fastpathTV.EncMapUint8Uint32V(rv.Interface().(map[uint8]uint32), fastpathCheckNilFalse, f.e)
  5578. }
  5579. func (_ fastpathT) EncMapUint8Uint32V(v map[uint8]uint32, checkNil bool, e *Encoder) {
  5580. ee := e.e
  5581. if checkNil && v == nil {
  5582. ee.EncodeNil()
  5583. return
  5584. }
  5585. ee.EncodeMapStart(len(v))
  5586. if e.h.Canonical {
  5587. v2 := make([]uint64, len(v))
  5588. var i int
  5589. for k, _ := range v {
  5590. v2[i] = uint64(k)
  5591. i++
  5592. }
  5593. sort.Sort(uintSlice(v2))
  5594. for _, k2 := range v2 {
  5595. ee.EncodeUint(uint64(uint8(k2)))
  5596. ee.EncodeUint(uint64(v[uint8(k2)]))
  5597. }
  5598. } else {
  5599. for k2, v2 := range v {
  5600. ee.EncodeUint(uint64(k2))
  5601. ee.EncodeUint(uint64(v2))
  5602. }
  5603. }
  5604. ee.EncodeEnd()
  5605. }
  5606. func (f *encFnInfo) fastpathEncMapUint8Uint64R(rv reflect.Value) {
  5607. fastpathTV.EncMapUint8Uint64V(rv.Interface().(map[uint8]uint64), fastpathCheckNilFalse, f.e)
  5608. }
  5609. func (_ fastpathT) EncMapUint8Uint64V(v map[uint8]uint64, checkNil bool, e *Encoder) {
  5610. ee := e.e
  5611. if checkNil && v == nil {
  5612. ee.EncodeNil()
  5613. return
  5614. }
  5615. ee.EncodeMapStart(len(v))
  5616. if e.h.Canonical {
  5617. v2 := make([]uint64, len(v))
  5618. var i int
  5619. for k, _ := range v {
  5620. v2[i] = uint64(k)
  5621. i++
  5622. }
  5623. sort.Sort(uintSlice(v2))
  5624. for _, k2 := range v2 {
  5625. ee.EncodeUint(uint64(uint8(k2)))
  5626. ee.EncodeUint(uint64(v[uint8(k2)]))
  5627. }
  5628. } else {
  5629. for k2, v2 := range v {
  5630. ee.EncodeUint(uint64(k2))
  5631. ee.EncodeUint(uint64(v2))
  5632. }
  5633. }
  5634. ee.EncodeEnd()
  5635. }
  5636. func (f *encFnInfo) fastpathEncMapUint8UintptrR(rv reflect.Value) {
  5637. fastpathTV.EncMapUint8UintptrV(rv.Interface().(map[uint8]uintptr), fastpathCheckNilFalse, f.e)
  5638. }
  5639. func (_ fastpathT) EncMapUint8UintptrV(v map[uint8]uintptr, checkNil bool, e *Encoder) {
  5640. ee := e.e
  5641. if checkNil && v == nil {
  5642. ee.EncodeNil()
  5643. return
  5644. }
  5645. ee.EncodeMapStart(len(v))
  5646. if e.h.Canonical {
  5647. v2 := make([]uint64, len(v))
  5648. var i int
  5649. for k, _ := range v {
  5650. v2[i] = uint64(k)
  5651. i++
  5652. }
  5653. sort.Sort(uintSlice(v2))
  5654. for _, k2 := range v2 {
  5655. ee.EncodeUint(uint64(uint8(k2)))
  5656. e.encode(v[uint8(k2)])
  5657. }
  5658. } else {
  5659. for k2, v2 := range v {
  5660. ee.EncodeUint(uint64(k2))
  5661. e.encode(v2)
  5662. }
  5663. }
  5664. ee.EncodeEnd()
  5665. }
  5666. func (f *encFnInfo) fastpathEncMapUint8IntR(rv reflect.Value) {
  5667. fastpathTV.EncMapUint8IntV(rv.Interface().(map[uint8]int), fastpathCheckNilFalse, f.e)
  5668. }
  5669. func (_ fastpathT) EncMapUint8IntV(v map[uint8]int, checkNil bool, e *Encoder) {
  5670. ee := e.e
  5671. if checkNil && v == nil {
  5672. ee.EncodeNil()
  5673. return
  5674. }
  5675. ee.EncodeMapStart(len(v))
  5676. if e.h.Canonical {
  5677. v2 := make([]uint64, len(v))
  5678. var i int
  5679. for k, _ := range v {
  5680. v2[i] = uint64(k)
  5681. i++
  5682. }
  5683. sort.Sort(uintSlice(v2))
  5684. for _, k2 := range v2 {
  5685. ee.EncodeUint(uint64(uint8(k2)))
  5686. ee.EncodeInt(int64(v[uint8(k2)]))
  5687. }
  5688. } else {
  5689. for k2, v2 := range v {
  5690. ee.EncodeUint(uint64(k2))
  5691. ee.EncodeInt(int64(v2))
  5692. }
  5693. }
  5694. ee.EncodeEnd()
  5695. }
  5696. func (f *encFnInfo) fastpathEncMapUint8Int8R(rv reflect.Value) {
  5697. fastpathTV.EncMapUint8Int8V(rv.Interface().(map[uint8]int8), fastpathCheckNilFalse, f.e)
  5698. }
  5699. func (_ fastpathT) EncMapUint8Int8V(v map[uint8]int8, checkNil bool, e *Encoder) {
  5700. ee := e.e
  5701. if checkNil && v == nil {
  5702. ee.EncodeNil()
  5703. return
  5704. }
  5705. ee.EncodeMapStart(len(v))
  5706. if e.h.Canonical {
  5707. v2 := make([]uint64, len(v))
  5708. var i int
  5709. for k, _ := range v {
  5710. v2[i] = uint64(k)
  5711. i++
  5712. }
  5713. sort.Sort(uintSlice(v2))
  5714. for _, k2 := range v2 {
  5715. ee.EncodeUint(uint64(uint8(k2)))
  5716. ee.EncodeInt(int64(v[uint8(k2)]))
  5717. }
  5718. } else {
  5719. for k2, v2 := range v {
  5720. ee.EncodeUint(uint64(k2))
  5721. ee.EncodeInt(int64(v2))
  5722. }
  5723. }
  5724. ee.EncodeEnd()
  5725. }
  5726. func (f *encFnInfo) fastpathEncMapUint8Int16R(rv reflect.Value) {
  5727. fastpathTV.EncMapUint8Int16V(rv.Interface().(map[uint8]int16), fastpathCheckNilFalse, f.e)
  5728. }
  5729. func (_ fastpathT) EncMapUint8Int16V(v map[uint8]int16, checkNil bool, e *Encoder) {
  5730. ee := e.e
  5731. if checkNil && v == nil {
  5732. ee.EncodeNil()
  5733. return
  5734. }
  5735. ee.EncodeMapStart(len(v))
  5736. if e.h.Canonical {
  5737. v2 := make([]uint64, len(v))
  5738. var i int
  5739. for k, _ := range v {
  5740. v2[i] = uint64(k)
  5741. i++
  5742. }
  5743. sort.Sort(uintSlice(v2))
  5744. for _, k2 := range v2 {
  5745. ee.EncodeUint(uint64(uint8(k2)))
  5746. ee.EncodeInt(int64(v[uint8(k2)]))
  5747. }
  5748. } else {
  5749. for k2, v2 := range v {
  5750. ee.EncodeUint(uint64(k2))
  5751. ee.EncodeInt(int64(v2))
  5752. }
  5753. }
  5754. ee.EncodeEnd()
  5755. }
  5756. func (f *encFnInfo) fastpathEncMapUint8Int32R(rv reflect.Value) {
  5757. fastpathTV.EncMapUint8Int32V(rv.Interface().(map[uint8]int32), fastpathCheckNilFalse, f.e)
  5758. }
  5759. func (_ fastpathT) EncMapUint8Int32V(v map[uint8]int32, checkNil bool, e *Encoder) {
  5760. ee := e.e
  5761. if checkNil && v == nil {
  5762. ee.EncodeNil()
  5763. return
  5764. }
  5765. ee.EncodeMapStart(len(v))
  5766. if e.h.Canonical {
  5767. v2 := make([]uint64, len(v))
  5768. var i int
  5769. for k, _ := range v {
  5770. v2[i] = uint64(k)
  5771. i++
  5772. }
  5773. sort.Sort(uintSlice(v2))
  5774. for _, k2 := range v2 {
  5775. ee.EncodeUint(uint64(uint8(k2)))
  5776. ee.EncodeInt(int64(v[uint8(k2)]))
  5777. }
  5778. } else {
  5779. for k2, v2 := range v {
  5780. ee.EncodeUint(uint64(k2))
  5781. ee.EncodeInt(int64(v2))
  5782. }
  5783. }
  5784. ee.EncodeEnd()
  5785. }
  5786. func (f *encFnInfo) fastpathEncMapUint8Int64R(rv reflect.Value) {
  5787. fastpathTV.EncMapUint8Int64V(rv.Interface().(map[uint8]int64), fastpathCheckNilFalse, f.e)
  5788. }
  5789. func (_ fastpathT) EncMapUint8Int64V(v map[uint8]int64, checkNil bool, e *Encoder) {
  5790. ee := e.e
  5791. if checkNil && v == nil {
  5792. ee.EncodeNil()
  5793. return
  5794. }
  5795. ee.EncodeMapStart(len(v))
  5796. if e.h.Canonical {
  5797. v2 := make([]uint64, len(v))
  5798. var i int
  5799. for k, _ := range v {
  5800. v2[i] = uint64(k)
  5801. i++
  5802. }
  5803. sort.Sort(uintSlice(v2))
  5804. for _, k2 := range v2 {
  5805. ee.EncodeUint(uint64(uint8(k2)))
  5806. ee.EncodeInt(int64(v[uint8(k2)]))
  5807. }
  5808. } else {
  5809. for k2, v2 := range v {
  5810. ee.EncodeUint(uint64(k2))
  5811. ee.EncodeInt(int64(v2))
  5812. }
  5813. }
  5814. ee.EncodeEnd()
  5815. }
  5816. func (f *encFnInfo) fastpathEncMapUint8Float32R(rv reflect.Value) {
  5817. fastpathTV.EncMapUint8Float32V(rv.Interface().(map[uint8]float32), fastpathCheckNilFalse, f.e)
  5818. }
  5819. func (_ fastpathT) EncMapUint8Float32V(v map[uint8]float32, checkNil bool, e *Encoder) {
  5820. ee := e.e
  5821. if checkNil && v == nil {
  5822. ee.EncodeNil()
  5823. return
  5824. }
  5825. ee.EncodeMapStart(len(v))
  5826. if e.h.Canonical {
  5827. v2 := make([]uint64, len(v))
  5828. var i int
  5829. for k, _ := range v {
  5830. v2[i] = uint64(k)
  5831. i++
  5832. }
  5833. sort.Sort(uintSlice(v2))
  5834. for _, k2 := range v2 {
  5835. ee.EncodeUint(uint64(uint8(k2)))
  5836. ee.EncodeFloat32(v[uint8(k2)])
  5837. }
  5838. } else {
  5839. for k2, v2 := range v {
  5840. ee.EncodeUint(uint64(k2))
  5841. ee.EncodeFloat32(v2)
  5842. }
  5843. }
  5844. ee.EncodeEnd()
  5845. }
  5846. func (f *encFnInfo) fastpathEncMapUint8Float64R(rv reflect.Value) {
  5847. fastpathTV.EncMapUint8Float64V(rv.Interface().(map[uint8]float64), fastpathCheckNilFalse, f.e)
  5848. }
  5849. func (_ fastpathT) EncMapUint8Float64V(v map[uint8]float64, checkNil bool, e *Encoder) {
  5850. ee := e.e
  5851. if checkNil && v == nil {
  5852. ee.EncodeNil()
  5853. return
  5854. }
  5855. ee.EncodeMapStart(len(v))
  5856. if e.h.Canonical {
  5857. v2 := make([]uint64, len(v))
  5858. var i int
  5859. for k, _ := range v {
  5860. v2[i] = uint64(k)
  5861. i++
  5862. }
  5863. sort.Sort(uintSlice(v2))
  5864. for _, k2 := range v2 {
  5865. ee.EncodeUint(uint64(uint8(k2)))
  5866. ee.EncodeFloat64(v[uint8(k2)])
  5867. }
  5868. } else {
  5869. for k2, v2 := range v {
  5870. ee.EncodeUint(uint64(k2))
  5871. ee.EncodeFloat64(v2)
  5872. }
  5873. }
  5874. ee.EncodeEnd()
  5875. }
  5876. func (f *encFnInfo) fastpathEncMapUint8BoolR(rv reflect.Value) {
  5877. fastpathTV.EncMapUint8BoolV(rv.Interface().(map[uint8]bool), fastpathCheckNilFalse, f.e)
  5878. }
  5879. func (_ fastpathT) EncMapUint8BoolV(v map[uint8]bool, checkNil bool, e *Encoder) {
  5880. ee := e.e
  5881. if checkNil && v == nil {
  5882. ee.EncodeNil()
  5883. return
  5884. }
  5885. ee.EncodeMapStart(len(v))
  5886. if e.h.Canonical {
  5887. v2 := make([]uint64, len(v))
  5888. var i int
  5889. for k, _ := range v {
  5890. v2[i] = uint64(k)
  5891. i++
  5892. }
  5893. sort.Sort(uintSlice(v2))
  5894. for _, k2 := range v2 {
  5895. ee.EncodeUint(uint64(uint8(k2)))
  5896. ee.EncodeBool(v[uint8(k2)])
  5897. }
  5898. } else {
  5899. for k2, v2 := range v {
  5900. ee.EncodeUint(uint64(k2))
  5901. ee.EncodeBool(v2)
  5902. }
  5903. }
  5904. ee.EncodeEnd()
  5905. }
  5906. func (f *encFnInfo) fastpathEncMapUint16IntfR(rv reflect.Value) {
  5907. fastpathTV.EncMapUint16IntfV(rv.Interface().(map[uint16]interface{}), fastpathCheckNilFalse, f.e)
  5908. }
  5909. func (_ fastpathT) EncMapUint16IntfV(v map[uint16]interface{}, checkNil bool, e *Encoder) {
  5910. ee := e.e
  5911. if checkNil && v == nil {
  5912. ee.EncodeNil()
  5913. return
  5914. }
  5915. ee.EncodeMapStart(len(v))
  5916. if e.h.Canonical {
  5917. v2 := make([]uint64, len(v))
  5918. var i int
  5919. for k, _ := range v {
  5920. v2[i] = uint64(k)
  5921. i++
  5922. }
  5923. sort.Sort(uintSlice(v2))
  5924. for _, k2 := range v2 {
  5925. ee.EncodeUint(uint64(uint16(k2)))
  5926. e.encode(v[uint16(k2)])
  5927. }
  5928. } else {
  5929. for k2, v2 := range v {
  5930. ee.EncodeUint(uint64(k2))
  5931. e.encode(v2)
  5932. }
  5933. }
  5934. ee.EncodeEnd()
  5935. }
  5936. func (f *encFnInfo) fastpathEncMapUint16StringR(rv reflect.Value) {
  5937. fastpathTV.EncMapUint16StringV(rv.Interface().(map[uint16]string), fastpathCheckNilFalse, f.e)
  5938. }
  5939. func (_ fastpathT) EncMapUint16StringV(v map[uint16]string, checkNil bool, e *Encoder) {
  5940. ee := e.e
  5941. if checkNil && v == nil {
  5942. ee.EncodeNil()
  5943. return
  5944. }
  5945. ee.EncodeMapStart(len(v))
  5946. if e.h.Canonical {
  5947. v2 := make([]uint64, len(v))
  5948. var i int
  5949. for k, _ := range v {
  5950. v2[i] = uint64(k)
  5951. i++
  5952. }
  5953. sort.Sort(uintSlice(v2))
  5954. for _, k2 := range v2 {
  5955. ee.EncodeUint(uint64(uint16(k2)))
  5956. ee.EncodeString(c_UTF8, v[uint16(k2)])
  5957. }
  5958. } else {
  5959. for k2, v2 := range v {
  5960. ee.EncodeUint(uint64(k2))
  5961. ee.EncodeString(c_UTF8, v2)
  5962. }
  5963. }
  5964. ee.EncodeEnd()
  5965. }
  5966. func (f *encFnInfo) fastpathEncMapUint16UintR(rv reflect.Value) {
  5967. fastpathTV.EncMapUint16UintV(rv.Interface().(map[uint16]uint), fastpathCheckNilFalse, f.e)
  5968. }
  5969. func (_ fastpathT) EncMapUint16UintV(v map[uint16]uint, checkNil bool, e *Encoder) {
  5970. ee := e.e
  5971. if checkNil && v == nil {
  5972. ee.EncodeNil()
  5973. return
  5974. }
  5975. ee.EncodeMapStart(len(v))
  5976. if e.h.Canonical {
  5977. v2 := make([]uint64, len(v))
  5978. var i int
  5979. for k, _ := range v {
  5980. v2[i] = uint64(k)
  5981. i++
  5982. }
  5983. sort.Sort(uintSlice(v2))
  5984. for _, k2 := range v2 {
  5985. ee.EncodeUint(uint64(uint16(k2)))
  5986. ee.EncodeUint(uint64(v[uint16(k2)]))
  5987. }
  5988. } else {
  5989. for k2, v2 := range v {
  5990. ee.EncodeUint(uint64(k2))
  5991. ee.EncodeUint(uint64(v2))
  5992. }
  5993. }
  5994. ee.EncodeEnd()
  5995. }
  5996. func (f *encFnInfo) fastpathEncMapUint16Uint8R(rv reflect.Value) {
  5997. fastpathTV.EncMapUint16Uint8V(rv.Interface().(map[uint16]uint8), fastpathCheckNilFalse, f.e)
  5998. }
  5999. func (_ fastpathT) EncMapUint16Uint8V(v map[uint16]uint8, checkNil bool, e *Encoder) {
  6000. ee := e.e
  6001. if checkNil && v == nil {
  6002. ee.EncodeNil()
  6003. return
  6004. }
  6005. ee.EncodeMapStart(len(v))
  6006. if e.h.Canonical {
  6007. v2 := make([]uint64, len(v))
  6008. var i int
  6009. for k, _ := range v {
  6010. v2[i] = uint64(k)
  6011. i++
  6012. }
  6013. sort.Sort(uintSlice(v2))
  6014. for _, k2 := range v2 {
  6015. ee.EncodeUint(uint64(uint16(k2)))
  6016. ee.EncodeUint(uint64(v[uint16(k2)]))
  6017. }
  6018. } else {
  6019. for k2, v2 := range v {
  6020. ee.EncodeUint(uint64(k2))
  6021. ee.EncodeUint(uint64(v2))
  6022. }
  6023. }
  6024. ee.EncodeEnd()
  6025. }
  6026. func (f *encFnInfo) fastpathEncMapUint16Uint16R(rv reflect.Value) {
  6027. fastpathTV.EncMapUint16Uint16V(rv.Interface().(map[uint16]uint16), fastpathCheckNilFalse, f.e)
  6028. }
  6029. func (_ fastpathT) EncMapUint16Uint16V(v map[uint16]uint16, checkNil bool, e *Encoder) {
  6030. ee := e.e
  6031. if checkNil && v == nil {
  6032. ee.EncodeNil()
  6033. return
  6034. }
  6035. ee.EncodeMapStart(len(v))
  6036. if e.h.Canonical {
  6037. v2 := make([]uint64, len(v))
  6038. var i int
  6039. for k, _ := range v {
  6040. v2[i] = uint64(k)
  6041. i++
  6042. }
  6043. sort.Sort(uintSlice(v2))
  6044. for _, k2 := range v2 {
  6045. ee.EncodeUint(uint64(uint16(k2)))
  6046. ee.EncodeUint(uint64(v[uint16(k2)]))
  6047. }
  6048. } else {
  6049. for k2, v2 := range v {
  6050. ee.EncodeUint(uint64(k2))
  6051. ee.EncodeUint(uint64(v2))
  6052. }
  6053. }
  6054. ee.EncodeEnd()
  6055. }
  6056. func (f *encFnInfo) fastpathEncMapUint16Uint32R(rv reflect.Value) {
  6057. fastpathTV.EncMapUint16Uint32V(rv.Interface().(map[uint16]uint32), fastpathCheckNilFalse, f.e)
  6058. }
  6059. func (_ fastpathT) EncMapUint16Uint32V(v map[uint16]uint32, checkNil bool, e *Encoder) {
  6060. ee := e.e
  6061. if checkNil && v == nil {
  6062. ee.EncodeNil()
  6063. return
  6064. }
  6065. ee.EncodeMapStart(len(v))
  6066. if e.h.Canonical {
  6067. v2 := make([]uint64, len(v))
  6068. var i int
  6069. for k, _ := range v {
  6070. v2[i] = uint64(k)
  6071. i++
  6072. }
  6073. sort.Sort(uintSlice(v2))
  6074. for _, k2 := range v2 {
  6075. ee.EncodeUint(uint64(uint16(k2)))
  6076. ee.EncodeUint(uint64(v[uint16(k2)]))
  6077. }
  6078. } else {
  6079. for k2, v2 := range v {
  6080. ee.EncodeUint(uint64(k2))
  6081. ee.EncodeUint(uint64(v2))
  6082. }
  6083. }
  6084. ee.EncodeEnd()
  6085. }
  6086. func (f *encFnInfo) fastpathEncMapUint16Uint64R(rv reflect.Value) {
  6087. fastpathTV.EncMapUint16Uint64V(rv.Interface().(map[uint16]uint64), fastpathCheckNilFalse, f.e)
  6088. }
  6089. func (_ fastpathT) EncMapUint16Uint64V(v map[uint16]uint64, checkNil bool, e *Encoder) {
  6090. ee := e.e
  6091. if checkNil && v == nil {
  6092. ee.EncodeNil()
  6093. return
  6094. }
  6095. ee.EncodeMapStart(len(v))
  6096. if e.h.Canonical {
  6097. v2 := make([]uint64, len(v))
  6098. var i int
  6099. for k, _ := range v {
  6100. v2[i] = uint64(k)
  6101. i++
  6102. }
  6103. sort.Sort(uintSlice(v2))
  6104. for _, k2 := range v2 {
  6105. ee.EncodeUint(uint64(uint16(k2)))
  6106. ee.EncodeUint(uint64(v[uint16(k2)]))
  6107. }
  6108. } else {
  6109. for k2, v2 := range v {
  6110. ee.EncodeUint(uint64(k2))
  6111. ee.EncodeUint(uint64(v2))
  6112. }
  6113. }
  6114. ee.EncodeEnd()
  6115. }
  6116. func (f *encFnInfo) fastpathEncMapUint16UintptrR(rv reflect.Value) {
  6117. fastpathTV.EncMapUint16UintptrV(rv.Interface().(map[uint16]uintptr), fastpathCheckNilFalse, f.e)
  6118. }
  6119. func (_ fastpathT) EncMapUint16UintptrV(v map[uint16]uintptr, checkNil bool, e *Encoder) {
  6120. ee := e.e
  6121. if checkNil && v == nil {
  6122. ee.EncodeNil()
  6123. return
  6124. }
  6125. ee.EncodeMapStart(len(v))
  6126. if e.h.Canonical {
  6127. v2 := make([]uint64, len(v))
  6128. var i int
  6129. for k, _ := range v {
  6130. v2[i] = uint64(k)
  6131. i++
  6132. }
  6133. sort.Sort(uintSlice(v2))
  6134. for _, k2 := range v2 {
  6135. ee.EncodeUint(uint64(uint16(k2)))
  6136. e.encode(v[uint16(k2)])
  6137. }
  6138. } else {
  6139. for k2, v2 := range v {
  6140. ee.EncodeUint(uint64(k2))
  6141. e.encode(v2)
  6142. }
  6143. }
  6144. ee.EncodeEnd()
  6145. }
  6146. func (f *encFnInfo) fastpathEncMapUint16IntR(rv reflect.Value) {
  6147. fastpathTV.EncMapUint16IntV(rv.Interface().(map[uint16]int), fastpathCheckNilFalse, f.e)
  6148. }
  6149. func (_ fastpathT) EncMapUint16IntV(v map[uint16]int, checkNil bool, e *Encoder) {
  6150. ee := e.e
  6151. if checkNil && v == nil {
  6152. ee.EncodeNil()
  6153. return
  6154. }
  6155. ee.EncodeMapStart(len(v))
  6156. if e.h.Canonical {
  6157. v2 := make([]uint64, len(v))
  6158. var i int
  6159. for k, _ := range v {
  6160. v2[i] = uint64(k)
  6161. i++
  6162. }
  6163. sort.Sort(uintSlice(v2))
  6164. for _, k2 := range v2 {
  6165. ee.EncodeUint(uint64(uint16(k2)))
  6166. ee.EncodeInt(int64(v[uint16(k2)]))
  6167. }
  6168. } else {
  6169. for k2, v2 := range v {
  6170. ee.EncodeUint(uint64(k2))
  6171. ee.EncodeInt(int64(v2))
  6172. }
  6173. }
  6174. ee.EncodeEnd()
  6175. }
  6176. func (f *encFnInfo) fastpathEncMapUint16Int8R(rv reflect.Value) {
  6177. fastpathTV.EncMapUint16Int8V(rv.Interface().(map[uint16]int8), fastpathCheckNilFalse, f.e)
  6178. }
  6179. func (_ fastpathT) EncMapUint16Int8V(v map[uint16]int8, checkNil bool, e *Encoder) {
  6180. ee := e.e
  6181. if checkNil && v == nil {
  6182. ee.EncodeNil()
  6183. return
  6184. }
  6185. ee.EncodeMapStart(len(v))
  6186. if e.h.Canonical {
  6187. v2 := make([]uint64, len(v))
  6188. var i int
  6189. for k, _ := range v {
  6190. v2[i] = uint64(k)
  6191. i++
  6192. }
  6193. sort.Sort(uintSlice(v2))
  6194. for _, k2 := range v2 {
  6195. ee.EncodeUint(uint64(uint16(k2)))
  6196. ee.EncodeInt(int64(v[uint16(k2)]))
  6197. }
  6198. } else {
  6199. for k2, v2 := range v {
  6200. ee.EncodeUint(uint64(k2))
  6201. ee.EncodeInt(int64(v2))
  6202. }
  6203. }
  6204. ee.EncodeEnd()
  6205. }
  6206. func (f *encFnInfo) fastpathEncMapUint16Int16R(rv reflect.Value) {
  6207. fastpathTV.EncMapUint16Int16V(rv.Interface().(map[uint16]int16), fastpathCheckNilFalse, f.e)
  6208. }
  6209. func (_ fastpathT) EncMapUint16Int16V(v map[uint16]int16, checkNil bool, e *Encoder) {
  6210. ee := e.e
  6211. if checkNil && v == nil {
  6212. ee.EncodeNil()
  6213. return
  6214. }
  6215. ee.EncodeMapStart(len(v))
  6216. if e.h.Canonical {
  6217. v2 := make([]uint64, len(v))
  6218. var i int
  6219. for k, _ := range v {
  6220. v2[i] = uint64(k)
  6221. i++
  6222. }
  6223. sort.Sort(uintSlice(v2))
  6224. for _, k2 := range v2 {
  6225. ee.EncodeUint(uint64(uint16(k2)))
  6226. ee.EncodeInt(int64(v[uint16(k2)]))
  6227. }
  6228. } else {
  6229. for k2, v2 := range v {
  6230. ee.EncodeUint(uint64(k2))
  6231. ee.EncodeInt(int64(v2))
  6232. }
  6233. }
  6234. ee.EncodeEnd()
  6235. }
  6236. func (f *encFnInfo) fastpathEncMapUint16Int32R(rv reflect.Value) {
  6237. fastpathTV.EncMapUint16Int32V(rv.Interface().(map[uint16]int32), fastpathCheckNilFalse, f.e)
  6238. }
  6239. func (_ fastpathT) EncMapUint16Int32V(v map[uint16]int32, checkNil bool, e *Encoder) {
  6240. ee := e.e
  6241. if checkNil && v == nil {
  6242. ee.EncodeNil()
  6243. return
  6244. }
  6245. ee.EncodeMapStart(len(v))
  6246. if e.h.Canonical {
  6247. v2 := make([]uint64, len(v))
  6248. var i int
  6249. for k, _ := range v {
  6250. v2[i] = uint64(k)
  6251. i++
  6252. }
  6253. sort.Sort(uintSlice(v2))
  6254. for _, k2 := range v2 {
  6255. ee.EncodeUint(uint64(uint16(k2)))
  6256. ee.EncodeInt(int64(v[uint16(k2)]))
  6257. }
  6258. } else {
  6259. for k2, v2 := range v {
  6260. ee.EncodeUint(uint64(k2))
  6261. ee.EncodeInt(int64(v2))
  6262. }
  6263. }
  6264. ee.EncodeEnd()
  6265. }
  6266. func (f *encFnInfo) fastpathEncMapUint16Int64R(rv reflect.Value) {
  6267. fastpathTV.EncMapUint16Int64V(rv.Interface().(map[uint16]int64), fastpathCheckNilFalse, f.e)
  6268. }
  6269. func (_ fastpathT) EncMapUint16Int64V(v map[uint16]int64, checkNil bool, e *Encoder) {
  6270. ee := e.e
  6271. if checkNil && v == nil {
  6272. ee.EncodeNil()
  6273. return
  6274. }
  6275. ee.EncodeMapStart(len(v))
  6276. if e.h.Canonical {
  6277. v2 := make([]uint64, len(v))
  6278. var i int
  6279. for k, _ := range v {
  6280. v2[i] = uint64(k)
  6281. i++
  6282. }
  6283. sort.Sort(uintSlice(v2))
  6284. for _, k2 := range v2 {
  6285. ee.EncodeUint(uint64(uint16(k2)))
  6286. ee.EncodeInt(int64(v[uint16(k2)]))
  6287. }
  6288. } else {
  6289. for k2, v2 := range v {
  6290. ee.EncodeUint(uint64(k2))
  6291. ee.EncodeInt(int64(v2))
  6292. }
  6293. }
  6294. ee.EncodeEnd()
  6295. }
  6296. func (f *encFnInfo) fastpathEncMapUint16Float32R(rv reflect.Value) {
  6297. fastpathTV.EncMapUint16Float32V(rv.Interface().(map[uint16]float32), fastpathCheckNilFalse, f.e)
  6298. }
  6299. func (_ fastpathT) EncMapUint16Float32V(v map[uint16]float32, checkNil bool, e *Encoder) {
  6300. ee := e.e
  6301. if checkNil && v == nil {
  6302. ee.EncodeNil()
  6303. return
  6304. }
  6305. ee.EncodeMapStart(len(v))
  6306. if e.h.Canonical {
  6307. v2 := make([]uint64, len(v))
  6308. var i int
  6309. for k, _ := range v {
  6310. v2[i] = uint64(k)
  6311. i++
  6312. }
  6313. sort.Sort(uintSlice(v2))
  6314. for _, k2 := range v2 {
  6315. ee.EncodeUint(uint64(uint16(k2)))
  6316. ee.EncodeFloat32(v[uint16(k2)])
  6317. }
  6318. } else {
  6319. for k2, v2 := range v {
  6320. ee.EncodeUint(uint64(k2))
  6321. ee.EncodeFloat32(v2)
  6322. }
  6323. }
  6324. ee.EncodeEnd()
  6325. }
  6326. func (f *encFnInfo) fastpathEncMapUint16Float64R(rv reflect.Value) {
  6327. fastpathTV.EncMapUint16Float64V(rv.Interface().(map[uint16]float64), fastpathCheckNilFalse, f.e)
  6328. }
  6329. func (_ fastpathT) EncMapUint16Float64V(v map[uint16]float64, checkNil bool, e *Encoder) {
  6330. ee := e.e
  6331. if checkNil && v == nil {
  6332. ee.EncodeNil()
  6333. return
  6334. }
  6335. ee.EncodeMapStart(len(v))
  6336. if e.h.Canonical {
  6337. v2 := make([]uint64, len(v))
  6338. var i int
  6339. for k, _ := range v {
  6340. v2[i] = uint64(k)
  6341. i++
  6342. }
  6343. sort.Sort(uintSlice(v2))
  6344. for _, k2 := range v2 {
  6345. ee.EncodeUint(uint64(uint16(k2)))
  6346. ee.EncodeFloat64(v[uint16(k2)])
  6347. }
  6348. } else {
  6349. for k2, v2 := range v {
  6350. ee.EncodeUint(uint64(k2))
  6351. ee.EncodeFloat64(v2)
  6352. }
  6353. }
  6354. ee.EncodeEnd()
  6355. }
  6356. func (f *encFnInfo) fastpathEncMapUint16BoolR(rv reflect.Value) {
  6357. fastpathTV.EncMapUint16BoolV(rv.Interface().(map[uint16]bool), fastpathCheckNilFalse, f.e)
  6358. }
  6359. func (_ fastpathT) EncMapUint16BoolV(v map[uint16]bool, checkNil bool, e *Encoder) {
  6360. ee := e.e
  6361. if checkNil && v == nil {
  6362. ee.EncodeNil()
  6363. return
  6364. }
  6365. ee.EncodeMapStart(len(v))
  6366. if e.h.Canonical {
  6367. v2 := make([]uint64, len(v))
  6368. var i int
  6369. for k, _ := range v {
  6370. v2[i] = uint64(k)
  6371. i++
  6372. }
  6373. sort.Sort(uintSlice(v2))
  6374. for _, k2 := range v2 {
  6375. ee.EncodeUint(uint64(uint16(k2)))
  6376. ee.EncodeBool(v[uint16(k2)])
  6377. }
  6378. } else {
  6379. for k2, v2 := range v {
  6380. ee.EncodeUint(uint64(k2))
  6381. ee.EncodeBool(v2)
  6382. }
  6383. }
  6384. ee.EncodeEnd()
  6385. }
  6386. func (f *encFnInfo) fastpathEncMapUint32IntfR(rv reflect.Value) {
  6387. fastpathTV.EncMapUint32IntfV(rv.Interface().(map[uint32]interface{}), fastpathCheckNilFalse, f.e)
  6388. }
  6389. func (_ fastpathT) EncMapUint32IntfV(v map[uint32]interface{}, checkNil bool, e *Encoder) {
  6390. ee := e.e
  6391. if checkNil && v == nil {
  6392. ee.EncodeNil()
  6393. return
  6394. }
  6395. ee.EncodeMapStart(len(v))
  6396. if e.h.Canonical {
  6397. v2 := make([]uint64, len(v))
  6398. var i int
  6399. for k, _ := range v {
  6400. v2[i] = uint64(k)
  6401. i++
  6402. }
  6403. sort.Sort(uintSlice(v2))
  6404. for _, k2 := range v2 {
  6405. ee.EncodeUint(uint64(uint32(k2)))
  6406. e.encode(v[uint32(k2)])
  6407. }
  6408. } else {
  6409. for k2, v2 := range v {
  6410. ee.EncodeUint(uint64(k2))
  6411. e.encode(v2)
  6412. }
  6413. }
  6414. ee.EncodeEnd()
  6415. }
  6416. func (f *encFnInfo) fastpathEncMapUint32StringR(rv reflect.Value) {
  6417. fastpathTV.EncMapUint32StringV(rv.Interface().(map[uint32]string), fastpathCheckNilFalse, f.e)
  6418. }
  6419. func (_ fastpathT) EncMapUint32StringV(v map[uint32]string, checkNil bool, e *Encoder) {
  6420. ee := e.e
  6421. if checkNil && v == nil {
  6422. ee.EncodeNil()
  6423. return
  6424. }
  6425. ee.EncodeMapStart(len(v))
  6426. if e.h.Canonical {
  6427. v2 := make([]uint64, len(v))
  6428. var i int
  6429. for k, _ := range v {
  6430. v2[i] = uint64(k)
  6431. i++
  6432. }
  6433. sort.Sort(uintSlice(v2))
  6434. for _, k2 := range v2 {
  6435. ee.EncodeUint(uint64(uint32(k2)))
  6436. ee.EncodeString(c_UTF8, v[uint32(k2)])
  6437. }
  6438. } else {
  6439. for k2, v2 := range v {
  6440. ee.EncodeUint(uint64(k2))
  6441. ee.EncodeString(c_UTF8, v2)
  6442. }
  6443. }
  6444. ee.EncodeEnd()
  6445. }
  6446. func (f *encFnInfo) fastpathEncMapUint32UintR(rv reflect.Value) {
  6447. fastpathTV.EncMapUint32UintV(rv.Interface().(map[uint32]uint), fastpathCheckNilFalse, f.e)
  6448. }
  6449. func (_ fastpathT) EncMapUint32UintV(v map[uint32]uint, checkNil bool, e *Encoder) {
  6450. ee := e.e
  6451. if checkNil && v == nil {
  6452. ee.EncodeNil()
  6453. return
  6454. }
  6455. ee.EncodeMapStart(len(v))
  6456. if e.h.Canonical {
  6457. v2 := make([]uint64, len(v))
  6458. var i int
  6459. for k, _ := range v {
  6460. v2[i] = uint64(k)
  6461. i++
  6462. }
  6463. sort.Sort(uintSlice(v2))
  6464. for _, k2 := range v2 {
  6465. ee.EncodeUint(uint64(uint32(k2)))
  6466. ee.EncodeUint(uint64(v[uint32(k2)]))
  6467. }
  6468. } else {
  6469. for k2, v2 := range v {
  6470. ee.EncodeUint(uint64(k2))
  6471. ee.EncodeUint(uint64(v2))
  6472. }
  6473. }
  6474. ee.EncodeEnd()
  6475. }
  6476. func (f *encFnInfo) fastpathEncMapUint32Uint8R(rv reflect.Value) {
  6477. fastpathTV.EncMapUint32Uint8V(rv.Interface().(map[uint32]uint8), fastpathCheckNilFalse, f.e)
  6478. }
  6479. func (_ fastpathT) EncMapUint32Uint8V(v map[uint32]uint8, checkNil bool, e *Encoder) {
  6480. ee := e.e
  6481. if checkNil && v == nil {
  6482. ee.EncodeNil()
  6483. return
  6484. }
  6485. ee.EncodeMapStart(len(v))
  6486. if e.h.Canonical {
  6487. v2 := make([]uint64, len(v))
  6488. var i int
  6489. for k, _ := range v {
  6490. v2[i] = uint64(k)
  6491. i++
  6492. }
  6493. sort.Sort(uintSlice(v2))
  6494. for _, k2 := range v2 {
  6495. ee.EncodeUint(uint64(uint32(k2)))
  6496. ee.EncodeUint(uint64(v[uint32(k2)]))
  6497. }
  6498. } else {
  6499. for k2, v2 := range v {
  6500. ee.EncodeUint(uint64(k2))
  6501. ee.EncodeUint(uint64(v2))
  6502. }
  6503. }
  6504. ee.EncodeEnd()
  6505. }
  6506. func (f *encFnInfo) fastpathEncMapUint32Uint16R(rv reflect.Value) {
  6507. fastpathTV.EncMapUint32Uint16V(rv.Interface().(map[uint32]uint16), fastpathCheckNilFalse, f.e)
  6508. }
  6509. func (_ fastpathT) EncMapUint32Uint16V(v map[uint32]uint16, checkNil bool, e *Encoder) {
  6510. ee := e.e
  6511. if checkNil && v == nil {
  6512. ee.EncodeNil()
  6513. return
  6514. }
  6515. ee.EncodeMapStart(len(v))
  6516. if e.h.Canonical {
  6517. v2 := make([]uint64, len(v))
  6518. var i int
  6519. for k, _ := range v {
  6520. v2[i] = uint64(k)
  6521. i++
  6522. }
  6523. sort.Sort(uintSlice(v2))
  6524. for _, k2 := range v2 {
  6525. ee.EncodeUint(uint64(uint32(k2)))
  6526. ee.EncodeUint(uint64(v[uint32(k2)]))
  6527. }
  6528. } else {
  6529. for k2, v2 := range v {
  6530. ee.EncodeUint(uint64(k2))
  6531. ee.EncodeUint(uint64(v2))
  6532. }
  6533. }
  6534. ee.EncodeEnd()
  6535. }
  6536. func (f *encFnInfo) fastpathEncMapUint32Uint32R(rv reflect.Value) {
  6537. fastpathTV.EncMapUint32Uint32V(rv.Interface().(map[uint32]uint32), fastpathCheckNilFalse, f.e)
  6538. }
  6539. func (_ fastpathT) EncMapUint32Uint32V(v map[uint32]uint32, checkNil bool, e *Encoder) {
  6540. ee := e.e
  6541. if checkNil && v == nil {
  6542. ee.EncodeNil()
  6543. return
  6544. }
  6545. ee.EncodeMapStart(len(v))
  6546. if e.h.Canonical {
  6547. v2 := make([]uint64, len(v))
  6548. var i int
  6549. for k, _ := range v {
  6550. v2[i] = uint64(k)
  6551. i++
  6552. }
  6553. sort.Sort(uintSlice(v2))
  6554. for _, k2 := range v2 {
  6555. ee.EncodeUint(uint64(uint32(k2)))
  6556. ee.EncodeUint(uint64(v[uint32(k2)]))
  6557. }
  6558. } else {
  6559. for k2, v2 := range v {
  6560. ee.EncodeUint(uint64(k2))
  6561. ee.EncodeUint(uint64(v2))
  6562. }
  6563. }
  6564. ee.EncodeEnd()
  6565. }
  6566. func (f *encFnInfo) fastpathEncMapUint32Uint64R(rv reflect.Value) {
  6567. fastpathTV.EncMapUint32Uint64V(rv.Interface().(map[uint32]uint64), fastpathCheckNilFalse, f.e)
  6568. }
  6569. func (_ fastpathT) EncMapUint32Uint64V(v map[uint32]uint64, checkNil bool, e *Encoder) {
  6570. ee := e.e
  6571. if checkNil && v == nil {
  6572. ee.EncodeNil()
  6573. return
  6574. }
  6575. ee.EncodeMapStart(len(v))
  6576. if e.h.Canonical {
  6577. v2 := make([]uint64, len(v))
  6578. var i int
  6579. for k, _ := range v {
  6580. v2[i] = uint64(k)
  6581. i++
  6582. }
  6583. sort.Sort(uintSlice(v2))
  6584. for _, k2 := range v2 {
  6585. ee.EncodeUint(uint64(uint32(k2)))
  6586. ee.EncodeUint(uint64(v[uint32(k2)]))
  6587. }
  6588. } else {
  6589. for k2, v2 := range v {
  6590. ee.EncodeUint(uint64(k2))
  6591. ee.EncodeUint(uint64(v2))
  6592. }
  6593. }
  6594. ee.EncodeEnd()
  6595. }
  6596. func (f *encFnInfo) fastpathEncMapUint32UintptrR(rv reflect.Value) {
  6597. fastpathTV.EncMapUint32UintptrV(rv.Interface().(map[uint32]uintptr), fastpathCheckNilFalse, f.e)
  6598. }
  6599. func (_ fastpathT) EncMapUint32UintptrV(v map[uint32]uintptr, checkNil bool, e *Encoder) {
  6600. ee := e.e
  6601. if checkNil && v == nil {
  6602. ee.EncodeNil()
  6603. return
  6604. }
  6605. ee.EncodeMapStart(len(v))
  6606. if e.h.Canonical {
  6607. v2 := make([]uint64, len(v))
  6608. var i int
  6609. for k, _ := range v {
  6610. v2[i] = uint64(k)
  6611. i++
  6612. }
  6613. sort.Sort(uintSlice(v2))
  6614. for _, k2 := range v2 {
  6615. ee.EncodeUint(uint64(uint32(k2)))
  6616. e.encode(v[uint32(k2)])
  6617. }
  6618. } else {
  6619. for k2, v2 := range v {
  6620. ee.EncodeUint(uint64(k2))
  6621. e.encode(v2)
  6622. }
  6623. }
  6624. ee.EncodeEnd()
  6625. }
  6626. func (f *encFnInfo) fastpathEncMapUint32IntR(rv reflect.Value) {
  6627. fastpathTV.EncMapUint32IntV(rv.Interface().(map[uint32]int), fastpathCheckNilFalse, f.e)
  6628. }
  6629. func (_ fastpathT) EncMapUint32IntV(v map[uint32]int, checkNil bool, e *Encoder) {
  6630. ee := e.e
  6631. if checkNil && v == nil {
  6632. ee.EncodeNil()
  6633. return
  6634. }
  6635. ee.EncodeMapStart(len(v))
  6636. if e.h.Canonical {
  6637. v2 := make([]uint64, len(v))
  6638. var i int
  6639. for k, _ := range v {
  6640. v2[i] = uint64(k)
  6641. i++
  6642. }
  6643. sort.Sort(uintSlice(v2))
  6644. for _, k2 := range v2 {
  6645. ee.EncodeUint(uint64(uint32(k2)))
  6646. ee.EncodeInt(int64(v[uint32(k2)]))
  6647. }
  6648. } else {
  6649. for k2, v2 := range v {
  6650. ee.EncodeUint(uint64(k2))
  6651. ee.EncodeInt(int64(v2))
  6652. }
  6653. }
  6654. ee.EncodeEnd()
  6655. }
  6656. func (f *encFnInfo) fastpathEncMapUint32Int8R(rv reflect.Value) {
  6657. fastpathTV.EncMapUint32Int8V(rv.Interface().(map[uint32]int8), fastpathCheckNilFalse, f.e)
  6658. }
  6659. func (_ fastpathT) EncMapUint32Int8V(v map[uint32]int8, checkNil bool, e *Encoder) {
  6660. ee := e.e
  6661. if checkNil && v == nil {
  6662. ee.EncodeNil()
  6663. return
  6664. }
  6665. ee.EncodeMapStart(len(v))
  6666. if e.h.Canonical {
  6667. v2 := make([]uint64, len(v))
  6668. var i int
  6669. for k, _ := range v {
  6670. v2[i] = uint64(k)
  6671. i++
  6672. }
  6673. sort.Sort(uintSlice(v2))
  6674. for _, k2 := range v2 {
  6675. ee.EncodeUint(uint64(uint32(k2)))
  6676. ee.EncodeInt(int64(v[uint32(k2)]))
  6677. }
  6678. } else {
  6679. for k2, v2 := range v {
  6680. ee.EncodeUint(uint64(k2))
  6681. ee.EncodeInt(int64(v2))
  6682. }
  6683. }
  6684. ee.EncodeEnd()
  6685. }
  6686. func (f *encFnInfo) fastpathEncMapUint32Int16R(rv reflect.Value) {
  6687. fastpathTV.EncMapUint32Int16V(rv.Interface().(map[uint32]int16), fastpathCheckNilFalse, f.e)
  6688. }
  6689. func (_ fastpathT) EncMapUint32Int16V(v map[uint32]int16, checkNil bool, e *Encoder) {
  6690. ee := e.e
  6691. if checkNil && v == nil {
  6692. ee.EncodeNil()
  6693. return
  6694. }
  6695. ee.EncodeMapStart(len(v))
  6696. if e.h.Canonical {
  6697. v2 := make([]uint64, len(v))
  6698. var i int
  6699. for k, _ := range v {
  6700. v2[i] = uint64(k)
  6701. i++
  6702. }
  6703. sort.Sort(uintSlice(v2))
  6704. for _, k2 := range v2 {
  6705. ee.EncodeUint(uint64(uint32(k2)))
  6706. ee.EncodeInt(int64(v[uint32(k2)]))
  6707. }
  6708. } else {
  6709. for k2, v2 := range v {
  6710. ee.EncodeUint(uint64(k2))
  6711. ee.EncodeInt(int64(v2))
  6712. }
  6713. }
  6714. ee.EncodeEnd()
  6715. }
  6716. func (f *encFnInfo) fastpathEncMapUint32Int32R(rv reflect.Value) {
  6717. fastpathTV.EncMapUint32Int32V(rv.Interface().(map[uint32]int32), fastpathCheckNilFalse, f.e)
  6718. }
  6719. func (_ fastpathT) EncMapUint32Int32V(v map[uint32]int32, checkNil bool, e *Encoder) {
  6720. ee := e.e
  6721. if checkNil && v == nil {
  6722. ee.EncodeNil()
  6723. return
  6724. }
  6725. ee.EncodeMapStart(len(v))
  6726. if e.h.Canonical {
  6727. v2 := make([]uint64, len(v))
  6728. var i int
  6729. for k, _ := range v {
  6730. v2[i] = uint64(k)
  6731. i++
  6732. }
  6733. sort.Sort(uintSlice(v2))
  6734. for _, k2 := range v2 {
  6735. ee.EncodeUint(uint64(uint32(k2)))
  6736. ee.EncodeInt(int64(v[uint32(k2)]))
  6737. }
  6738. } else {
  6739. for k2, v2 := range v {
  6740. ee.EncodeUint(uint64(k2))
  6741. ee.EncodeInt(int64(v2))
  6742. }
  6743. }
  6744. ee.EncodeEnd()
  6745. }
  6746. func (f *encFnInfo) fastpathEncMapUint32Int64R(rv reflect.Value) {
  6747. fastpathTV.EncMapUint32Int64V(rv.Interface().(map[uint32]int64), fastpathCheckNilFalse, f.e)
  6748. }
  6749. func (_ fastpathT) EncMapUint32Int64V(v map[uint32]int64, checkNil bool, e *Encoder) {
  6750. ee := e.e
  6751. if checkNil && v == nil {
  6752. ee.EncodeNil()
  6753. return
  6754. }
  6755. ee.EncodeMapStart(len(v))
  6756. if e.h.Canonical {
  6757. v2 := make([]uint64, len(v))
  6758. var i int
  6759. for k, _ := range v {
  6760. v2[i] = uint64(k)
  6761. i++
  6762. }
  6763. sort.Sort(uintSlice(v2))
  6764. for _, k2 := range v2 {
  6765. ee.EncodeUint(uint64(uint32(k2)))
  6766. ee.EncodeInt(int64(v[uint32(k2)]))
  6767. }
  6768. } else {
  6769. for k2, v2 := range v {
  6770. ee.EncodeUint(uint64(k2))
  6771. ee.EncodeInt(int64(v2))
  6772. }
  6773. }
  6774. ee.EncodeEnd()
  6775. }
  6776. func (f *encFnInfo) fastpathEncMapUint32Float32R(rv reflect.Value) {
  6777. fastpathTV.EncMapUint32Float32V(rv.Interface().(map[uint32]float32), fastpathCheckNilFalse, f.e)
  6778. }
  6779. func (_ fastpathT) EncMapUint32Float32V(v map[uint32]float32, checkNil bool, e *Encoder) {
  6780. ee := e.e
  6781. if checkNil && v == nil {
  6782. ee.EncodeNil()
  6783. return
  6784. }
  6785. ee.EncodeMapStart(len(v))
  6786. if e.h.Canonical {
  6787. v2 := make([]uint64, len(v))
  6788. var i int
  6789. for k, _ := range v {
  6790. v2[i] = uint64(k)
  6791. i++
  6792. }
  6793. sort.Sort(uintSlice(v2))
  6794. for _, k2 := range v2 {
  6795. ee.EncodeUint(uint64(uint32(k2)))
  6796. ee.EncodeFloat32(v[uint32(k2)])
  6797. }
  6798. } else {
  6799. for k2, v2 := range v {
  6800. ee.EncodeUint(uint64(k2))
  6801. ee.EncodeFloat32(v2)
  6802. }
  6803. }
  6804. ee.EncodeEnd()
  6805. }
  6806. func (f *encFnInfo) fastpathEncMapUint32Float64R(rv reflect.Value) {
  6807. fastpathTV.EncMapUint32Float64V(rv.Interface().(map[uint32]float64), fastpathCheckNilFalse, f.e)
  6808. }
  6809. func (_ fastpathT) EncMapUint32Float64V(v map[uint32]float64, checkNil bool, e *Encoder) {
  6810. ee := e.e
  6811. if checkNil && v == nil {
  6812. ee.EncodeNil()
  6813. return
  6814. }
  6815. ee.EncodeMapStart(len(v))
  6816. if e.h.Canonical {
  6817. v2 := make([]uint64, len(v))
  6818. var i int
  6819. for k, _ := range v {
  6820. v2[i] = uint64(k)
  6821. i++
  6822. }
  6823. sort.Sort(uintSlice(v2))
  6824. for _, k2 := range v2 {
  6825. ee.EncodeUint(uint64(uint32(k2)))
  6826. ee.EncodeFloat64(v[uint32(k2)])
  6827. }
  6828. } else {
  6829. for k2, v2 := range v {
  6830. ee.EncodeUint(uint64(k2))
  6831. ee.EncodeFloat64(v2)
  6832. }
  6833. }
  6834. ee.EncodeEnd()
  6835. }
  6836. func (f *encFnInfo) fastpathEncMapUint32BoolR(rv reflect.Value) {
  6837. fastpathTV.EncMapUint32BoolV(rv.Interface().(map[uint32]bool), fastpathCheckNilFalse, f.e)
  6838. }
  6839. func (_ fastpathT) EncMapUint32BoolV(v map[uint32]bool, checkNil bool, e *Encoder) {
  6840. ee := e.e
  6841. if checkNil && v == nil {
  6842. ee.EncodeNil()
  6843. return
  6844. }
  6845. ee.EncodeMapStart(len(v))
  6846. if e.h.Canonical {
  6847. v2 := make([]uint64, len(v))
  6848. var i int
  6849. for k, _ := range v {
  6850. v2[i] = uint64(k)
  6851. i++
  6852. }
  6853. sort.Sort(uintSlice(v2))
  6854. for _, k2 := range v2 {
  6855. ee.EncodeUint(uint64(uint32(k2)))
  6856. ee.EncodeBool(v[uint32(k2)])
  6857. }
  6858. } else {
  6859. for k2, v2 := range v {
  6860. ee.EncodeUint(uint64(k2))
  6861. ee.EncodeBool(v2)
  6862. }
  6863. }
  6864. ee.EncodeEnd()
  6865. }
  6866. func (f *encFnInfo) fastpathEncMapUint64IntfR(rv reflect.Value) {
  6867. fastpathTV.EncMapUint64IntfV(rv.Interface().(map[uint64]interface{}), fastpathCheckNilFalse, f.e)
  6868. }
  6869. func (_ fastpathT) EncMapUint64IntfV(v map[uint64]interface{}, checkNil bool, e *Encoder) {
  6870. ee := e.e
  6871. if checkNil && v == nil {
  6872. ee.EncodeNil()
  6873. return
  6874. }
  6875. ee.EncodeMapStart(len(v))
  6876. if e.h.Canonical {
  6877. v2 := make([]uint64, len(v))
  6878. var i int
  6879. for k, _ := range v {
  6880. v2[i] = uint64(k)
  6881. i++
  6882. }
  6883. sort.Sort(uintSlice(v2))
  6884. for _, k2 := range v2 {
  6885. ee.EncodeUint(uint64(uint64(k2)))
  6886. e.encode(v[uint64(k2)])
  6887. }
  6888. } else {
  6889. for k2, v2 := range v {
  6890. ee.EncodeUint(uint64(k2))
  6891. e.encode(v2)
  6892. }
  6893. }
  6894. ee.EncodeEnd()
  6895. }
  6896. func (f *encFnInfo) fastpathEncMapUint64StringR(rv reflect.Value) {
  6897. fastpathTV.EncMapUint64StringV(rv.Interface().(map[uint64]string), fastpathCheckNilFalse, f.e)
  6898. }
  6899. func (_ fastpathT) EncMapUint64StringV(v map[uint64]string, checkNil bool, e *Encoder) {
  6900. ee := e.e
  6901. if checkNil && v == nil {
  6902. ee.EncodeNil()
  6903. return
  6904. }
  6905. ee.EncodeMapStart(len(v))
  6906. if e.h.Canonical {
  6907. v2 := make([]uint64, len(v))
  6908. var i int
  6909. for k, _ := range v {
  6910. v2[i] = uint64(k)
  6911. i++
  6912. }
  6913. sort.Sort(uintSlice(v2))
  6914. for _, k2 := range v2 {
  6915. ee.EncodeUint(uint64(uint64(k2)))
  6916. ee.EncodeString(c_UTF8, v[uint64(k2)])
  6917. }
  6918. } else {
  6919. for k2, v2 := range v {
  6920. ee.EncodeUint(uint64(k2))
  6921. ee.EncodeString(c_UTF8, v2)
  6922. }
  6923. }
  6924. ee.EncodeEnd()
  6925. }
  6926. func (f *encFnInfo) fastpathEncMapUint64UintR(rv reflect.Value) {
  6927. fastpathTV.EncMapUint64UintV(rv.Interface().(map[uint64]uint), fastpathCheckNilFalse, f.e)
  6928. }
  6929. func (_ fastpathT) EncMapUint64UintV(v map[uint64]uint, checkNil bool, e *Encoder) {
  6930. ee := e.e
  6931. if checkNil && v == nil {
  6932. ee.EncodeNil()
  6933. return
  6934. }
  6935. ee.EncodeMapStart(len(v))
  6936. if e.h.Canonical {
  6937. v2 := make([]uint64, len(v))
  6938. var i int
  6939. for k, _ := range v {
  6940. v2[i] = uint64(k)
  6941. i++
  6942. }
  6943. sort.Sort(uintSlice(v2))
  6944. for _, k2 := range v2 {
  6945. ee.EncodeUint(uint64(uint64(k2)))
  6946. ee.EncodeUint(uint64(v[uint64(k2)]))
  6947. }
  6948. } else {
  6949. for k2, v2 := range v {
  6950. ee.EncodeUint(uint64(k2))
  6951. ee.EncodeUint(uint64(v2))
  6952. }
  6953. }
  6954. ee.EncodeEnd()
  6955. }
  6956. func (f *encFnInfo) fastpathEncMapUint64Uint8R(rv reflect.Value) {
  6957. fastpathTV.EncMapUint64Uint8V(rv.Interface().(map[uint64]uint8), fastpathCheckNilFalse, f.e)
  6958. }
  6959. func (_ fastpathT) EncMapUint64Uint8V(v map[uint64]uint8, checkNil bool, e *Encoder) {
  6960. ee := e.e
  6961. if checkNil && v == nil {
  6962. ee.EncodeNil()
  6963. return
  6964. }
  6965. ee.EncodeMapStart(len(v))
  6966. if e.h.Canonical {
  6967. v2 := make([]uint64, len(v))
  6968. var i int
  6969. for k, _ := range v {
  6970. v2[i] = uint64(k)
  6971. i++
  6972. }
  6973. sort.Sort(uintSlice(v2))
  6974. for _, k2 := range v2 {
  6975. ee.EncodeUint(uint64(uint64(k2)))
  6976. ee.EncodeUint(uint64(v[uint64(k2)]))
  6977. }
  6978. } else {
  6979. for k2, v2 := range v {
  6980. ee.EncodeUint(uint64(k2))
  6981. ee.EncodeUint(uint64(v2))
  6982. }
  6983. }
  6984. ee.EncodeEnd()
  6985. }
  6986. func (f *encFnInfo) fastpathEncMapUint64Uint16R(rv reflect.Value) {
  6987. fastpathTV.EncMapUint64Uint16V(rv.Interface().(map[uint64]uint16), fastpathCheckNilFalse, f.e)
  6988. }
  6989. func (_ fastpathT) EncMapUint64Uint16V(v map[uint64]uint16, checkNil bool, e *Encoder) {
  6990. ee := e.e
  6991. if checkNil && v == nil {
  6992. ee.EncodeNil()
  6993. return
  6994. }
  6995. ee.EncodeMapStart(len(v))
  6996. if e.h.Canonical {
  6997. v2 := make([]uint64, len(v))
  6998. var i int
  6999. for k, _ := range v {
  7000. v2[i] = uint64(k)
  7001. i++
  7002. }
  7003. sort.Sort(uintSlice(v2))
  7004. for _, k2 := range v2 {
  7005. ee.EncodeUint(uint64(uint64(k2)))
  7006. ee.EncodeUint(uint64(v[uint64(k2)]))
  7007. }
  7008. } else {
  7009. for k2, v2 := range v {
  7010. ee.EncodeUint(uint64(k2))
  7011. ee.EncodeUint(uint64(v2))
  7012. }
  7013. }
  7014. ee.EncodeEnd()
  7015. }
  7016. func (f *encFnInfo) fastpathEncMapUint64Uint32R(rv reflect.Value) {
  7017. fastpathTV.EncMapUint64Uint32V(rv.Interface().(map[uint64]uint32), fastpathCheckNilFalse, f.e)
  7018. }
  7019. func (_ fastpathT) EncMapUint64Uint32V(v map[uint64]uint32, checkNil bool, e *Encoder) {
  7020. ee := e.e
  7021. if checkNil && v == nil {
  7022. ee.EncodeNil()
  7023. return
  7024. }
  7025. ee.EncodeMapStart(len(v))
  7026. if e.h.Canonical {
  7027. v2 := make([]uint64, len(v))
  7028. var i int
  7029. for k, _ := range v {
  7030. v2[i] = uint64(k)
  7031. i++
  7032. }
  7033. sort.Sort(uintSlice(v2))
  7034. for _, k2 := range v2 {
  7035. ee.EncodeUint(uint64(uint64(k2)))
  7036. ee.EncodeUint(uint64(v[uint64(k2)]))
  7037. }
  7038. } else {
  7039. for k2, v2 := range v {
  7040. ee.EncodeUint(uint64(k2))
  7041. ee.EncodeUint(uint64(v2))
  7042. }
  7043. }
  7044. ee.EncodeEnd()
  7045. }
  7046. func (f *encFnInfo) fastpathEncMapUint64Uint64R(rv reflect.Value) {
  7047. fastpathTV.EncMapUint64Uint64V(rv.Interface().(map[uint64]uint64), fastpathCheckNilFalse, f.e)
  7048. }
  7049. func (_ fastpathT) EncMapUint64Uint64V(v map[uint64]uint64, checkNil bool, e *Encoder) {
  7050. ee := e.e
  7051. if checkNil && v == nil {
  7052. ee.EncodeNil()
  7053. return
  7054. }
  7055. ee.EncodeMapStart(len(v))
  7056. if e.h.Canonical {
  7057. v2 := make([]uint64, len(v))
  7058. var i int
  7059. for k, _ := range v {
  7060. v2[i] = uint64(k)
  7061. i++
  7062. }
  7063. sort.Sort(uintSlice(v2))
  7064. for _, k2 := range v2 {
  7065. ee.EncodeUint(uint64(uint64(k2)))
  7066. ee.EncodeUint(uint64(v[uint64(k2)]))
  7067. }
  7068. } else {
  7069. for k2, v2 := range v {
  7070. ee.EncodeUint(uint64(k2))
  7071. ee.EncodeUint(uint64(v2))
  7072. }
  7073. }
  7074. ee.EncodeEnd()
  7075. }
  7076. func (f *encFnInfo) fastpathEncMapUint64UintptrR(rv reflect.Value) {
  7077. fastpathTV.EncMapUint64UintptrV(rv.Interface().(map[uint64]uintptr), fastpathCheckNilFalse, f.e)
  7078. }
  7079. func (_ fastpathT) EncMapUint64UintptrV(v map[uint64]uintptr, checkNil bool, e *Encoder) {
  7080. ee := e.e
  7081. if checkNil && v == nil {
  7082. ee.EncodeNil()
  7083. return
  7084. }
  7085. ee.EncodeMapStart(len(v))
  7086. if e.h.Canonical {
  7087. v2 := make([]uint64, len(v))
  7088. var i int
  7089. for k, _ := range v {
  7090. v2[i] = uint64(k)
  7091. i++
  7092. }
  7093. sort.Sort(uintSlice(v2))
  7094. for _, k2 := range v2 {
  7095. ee.EncodeUint(uint64(uint64(k2)))
  7096. e.encode(v[uint64(k2)])
  7097. }
  7098. } else {
  7099. for k2, v2 := range v {
  7100. ee.EncodeUint(uint64(k2))
  7101. e.encode(v2)
  7102. }
  7103. }
  7104. ee.EncodeEnd()
  7105. }
  7106. func (f *encFnInfo) fastpathEncMapUint64IntR(rv reflect.Value) {
  7107. fastpathTV.EncMapUint64IntV(rv.Interface().(map[uint64]int), fastpathCheckNilFalse, f.e)
  7108. }
  7109. func (_ fastpathT) EncMapUint64IntV(v map[uint64]int, checkNil bool, e *Encoder) {
  7110. ee := e.e
  7111. if checkNil && v == nil {
  7112. ee.EncodeNil()
  7113. return
  7114. }
  7115. ee.EncodeMapStart(len(v))
  7116. if e.h.Canonical {
  7117. v2 := make([]uint64, len(v))
  7118. var i int
  7119. for k, _ := range v {
  7120. v2[i] = uint64(k)
  7121. i++
  7122. }
  7123. sort.Sort(uintSlice(v2))
  7124. for _, k2 := range v2 {
  7125. ee.EncodeUint(uint64(uint64(k2)))
  7126. ee.EncodeInt(int64(v[uint64(k2)]))
  7127. }
  7128. } else {
  7129. for k2, v2 := range v {
  7130. ee.EncodeUint(uint64(k2))
  7131. ee.EncodeInt(int64(v2))
  7132. }
  7133. }
  7134. ee.EncodeEnd()
  7135. }
  7136. func (f *encFnInfo) fastpathEncMapUint64Int8R(rv reflect.Value) {
  7137. fastpathTV.EncMapUint64Int8V(rv.Interface().(map[uint64]int8), fastpathCheckNilFalse, f.e)
  7138. }
  7139. func (_ fastpathT) EncMapUint64Int8V(v map[uint64]int8, checkNil bool, e *Encoder) {
  7140. ee := e.e
  7141. if checkNil && v == nil {
  7142. ee.EncodeNil()
  7143. return
  7144. }
  7145. ee.EncodeMapStart(len(v))
  7146. if e.h.Canonical {
  7147. v2 := make([]uint64, len(v))
  7148. var i int
  7149. for k, _ := range v {
  7150. v2[i] = uint64(k)
  7151. i++
  7152. }
  7153. sort.Sort(uintSlice(v2))
  7154. for _, k2 := range v2 {
  7155. ee.EncodeUint(uint64(uint64(k2)))
  7156. ee.EncodeInt(int64(v[uint64(k2)]))
  7157. }
  7158. } else {
  7159. for k2, v2 := range v {
  7160. ee.EncodeUint(uint64(k2))
  7161. ee.EncodeInt(int64(v2))
  7162. }
  7163. }
  7164. ee.EncodeEnd()
  7165. }
  7166. func (f *encFnInfo) fastpathEncMapUint64Int16R(rv reflect.Value) {
  7167. fastpathTV.EncMapUint64Int16V(rv.Interface().(map[uint64]int16), fastpathCheckNilFalse, f.e)
  7168. }
  7169. func (_ fastpathT) EncMapUint64Int16V(v map[uint64]int16, checkNil bool, e *Encoder) {
  7170. ee := e.e
  7171. if checkNil && v == nil {
  7172. ee.EncodeNil()
  7173. return
  7174. }
  7175. ee.EncodeMapStart(len(v))
  7176. if e.h.Canonical {
  7177. v2 := make([]uint64, len(v))
  7178. var i int
  7179. for k, _ := range v {
  7180. v2[i] = uint64(k)
  7181. i++
  7182. }
  7183. sort.Sort(uintSlice(v2))
  7184. for _, k2 := range v2 {
  7185. ee.EncodeUint(uint64(uint64(k2)))
  7186. ee.EncodeInt(int64(v[uint64(k2)]))
  7187. }
  7188. } else {
  7189. for k2, v2 := range v {
  7190. ee.EncodeUint(uint64(k2))
  7191. ee.EncodeInt(int64(v2))
  7192. }
  7193. }
  7194. ee.EncodeEnd()
  7195. }
  7196. func (f *encFnInfo) fastpathEncMapUint64Int32R(rv reflect.Value) {
  7197. fastpathTV.EncMapUint64Int32V(rv.Interface().(map[uint64]int32), fastpathCheckNilFalse, f.e)
  7198. }
  7199. func (_ fastpathT) EncMapUint64Int32V(v map[uint64]int32, checkNil bool, e *Encoder) {
  7200. ee := e.e
  7201. if checkNil && v == nil {
  7202. ee.EncodeNil()
  7203. return
  7204. }
  7205. ee.EncodeMapStart(len(v))
  7206. if e.h.Canonical {
  7207. v2 := make([]uint64, len(v))
  7208. var i int
  7209. for k, _ := range v {
  7210. v2[i] = uint64(k)
  7211. i++
  7212. }
  7213. sort.Sort(uintSlice(v2))
  7214. for _, k2 := range v2 {
  7215. ee.EncodeUint(uint64(uint64(k2)))
  7216. ee.EncodeInt(int64(v[uint64(k2)]))
  7217. }
  7218. } else {
  7219. for k2, v2 := range v {
  7220. ee.EncodeUint(uint64(k2))
  7221. ee.EncodeInt(int64(v2))
  7222. }
  7223. }
  7224. ee.EncodeEnd()
  7225. }
  7226. func (f *encFnInfo) fastpathEncMapUint64Int64R(rv reflect.Value) {
  7227. fastpathTV.EncMapUint64Int64V(rv.Interface().(map[uint64]int64), fastpathCheckNilFalse, f.e)
  7228. }
  7229. func (_ fastpathT) EncMapUint64Int64V(v map[uint64]int64, checkNil bool, e *Encoder) {
  7230. ee := e.e
  7231. if checkNil && v == nil {
  7232. ee.EncodeNil()
  7233. return
  7234. }
  7235. ee.EncodeMapStart(len(v))
  7236. if e.h.Canonical {
  7237. v2 := make([]uint64, len(v))
  7238. var i int
  7239. for k, _ := range v {
  7240. v2[i] = uint64(k)
  7241. i++
  7242. }
  7243. sort.Sort(uintSlice(v2))
  7244. for _, k2 := range v2 {
  7245. ee.EncodeUint(uint64(uint64(k2)))
  7246. ee.EncodeInt(int64(v[uint64(k2)]))
  7247. }
  7248. } else {
  7249. for k2, v2 := range v {
  7250. ee.EncodeUint(uint64(k2))
  7251. ee.EncodeInt(int64(v2))
  7252. }
  7253. }
  7254. ee.EncodeEnd()
  7255. }
  7256. func (f *encFnInfo) fastpathEncMapUint64Float32R(rv reflect.Value) {
  7257. fastpathTV.EncMapUint64Float32V(rv.Interface().(map[uint64]float32), fastpathCheckNilFalse, f.e)
  7258. }
  7259. func (_ fastpathT) EncMapUint64Float32V(v map[uint64]float32, checkNil bool, e *Encoder) {
  7260. ee := e.e
  7261. if checkNil && v == nil {
  7262. ee.EncodeNil()
  7263. return
  7264. }
  7265. ee.EncodeMapStart(len(v))
  7266. if e.h.Canonical {
  7267. v2 := make([]uint64, len(v))
  7268. var i int
  7269. for k, _ := range v {
  7270. v2[i] = uint64(k)
  7271. i++
  7272. }
  7273. sort.Sort(uintSlice(v2))
  7274. for _, k2 := range v2 {
  7275. ee.EncodeUint(uint64(uint64(k2)))
  7276. ee.EncodeFloat32(v[uint64(k2)])
  7277. }
  7278. } else {
  7279. for k2, v2 := range v {
  7280. ee.EncodeUint(uint64(k2))
  7281. ee.EncodeFloat32(v2)
  7282. }
  7283. }
  7284. ee.EncodeEnd()
  7285. }
  7286. func (f *encFnInfo) fastpathEncMapUint64Float64R(rv reflect.Value) {
  7287. fastpathTV.EncMapUint64Float64V(rv.Interface().(map[uint64]float64), fastpathCheckNilFalse, f.e)
  7288. }
  7289. func (_ fastpathT) EncMapUint64Float64V(v map[uint64]float64, checkNil bool, e *Encoder) {
  7290. ee := e.e
  7291. if checkNil && v == nil {
  7292. ee.EncodeNil()
  7293. return
  7294. }
  7295. ee.EncodeMapStart(len(v))
  7296. if e.h.Canonical {
  7297. v2 := make([]uint64, len(v))
  7298. var i int
  7299. for k, _ := range v {
  7300. v2[i] = uint64(k)
  7301. i++
  7302. }
  7303. sort.Sort(uintSlice(v2))
  7304. for _, k2 := range v2 {
  7305. ee.EncodeUint(uint64(uint64(k2)))
  7306. ee.EncodeFloat64(v[uint64(k2)])
  7307. }
  7308. } else {
  7309. for k2, v2 := range v {
  7310. ee.EncodeUint(uint64(k2))
  7311. ee.EncodeFloat64(v2)
  7312. }
  7313. }
  7314. ee.EncodeEnd()
  7315. }
  7316. func (f *encFnInfo) fastpathEncMapUint64BoolR(rv reflect.Value) {
  7317. fastpathTV.EncMapUint64BoolV(rv.Interface().(map[uint64]bool), fastpathCheckNilFalse, f.e)
  7318. }
  7319. func (_ fastpathT) EncMapUint64BoolV(v map[uint64]bool, checkNil bool, e *Encoder) {
  7320. ee := e.e
  7321. if checkNil && v == nil {
  7322. ee.EncodeNil()
  7323. return
  7324. }
  7325. ee.EncodeMapStart(len(v))
  7326. if e.h.Canonical {
  7327. v2 := make([]uint64, len(v))
  7328. var i int
  7329. for k, _ := range v {
  7330. v2[i] = uint64(k)
  7331. i++
  7332. }
  7333. sort.Sort(uintSlice(v2))
  7334. for _, k2 := range v2 {
  7335. ee.EncodeUint(uint64(uint64(k2)))
  7336. ee.EncodeBool(v[uint64(k2)])
  7337. }
  7338. } else {
  7339. for k2, v2 := range v {
  7340. ee.EncodeUint(uint64(k2))
  7341. ee.EncodeBool(v2)
  7342. }
  7343. }
  7344. ee.EncodeEnd()
  7345. }
  7346. func (f *encFnInfo) fastpathEncMapUintptrIntfR(rv reflect.Value) {
  7347. fastpathTV.EncMapUintptrIntfV(rv.Interface().(map[uintptr]interface{}), fastpathCheckNilFalse, f.e)
  7348. }
  7349. func (_ fastpathT) EncMapUintptrIntfV(v map[uintptr]interface{}, checkNil bool, e *Encoder) {
  7350. ee := e.e
  7351. if checkNil && v == nil {
  7352. ee.EncodeNil()
  7353. return
  7354. }
  7355. ee.EncodeMapStart(len(v))
  7356. if e.h.Canonical {
  7357. v2 := make([]uint64, len(v))
  7358. var i int
  7359. for k, _ := range v {
  7360. v2[i] = uint64(k)
  7361. i++
  7362. }
  7363. sort.Sort(uintSlice(v2))
  7364. for _, k2 := range v2 {
  7365. e.encode(uintptr(k2))
  7366. e.encode(v[uintptr(k2)])
  7367. }
  7368. } else {
  7369. for k2, v2 := range v {
  7370. e.encode(k2)
  7371. e.encode(v2)
  7372. }
  7373. }
  7374. ee.EncodeEnd()
  7375. }
  7376. func (f *encFnInfo) fastpathEncMapUintptrStringR(rv reflect.Value) {
  7377. fastpathTV.EncMapUintptrStringV(rv.Interface().(map[uintptr]string), fastpathCheckNilFalse, f.e)
  7378. }
  7379. func (_ fastpathT) EncMapUintptrStringV(v map[uintptr]string, checkNil bool, e *Encoder) {
  7380. ee := e.e
  7381. if checkNil && v == nil {
  7382. ee.EncodeNil()
  7383. return
  7384. }
  7385. ee.EncodeMapStart(len(v))
  7386. if e.h.Canonical {
  7387. v2 := make([]uint64, len(v))
  7388. var i int
  7389. for k, _ := range v {
  7390. v2[i] = uint64(k)
  7391. i++
  7392. }
  7393. sort.Sort(uintSlice(v2))
  7394. for _, k2 := range v2 {
  7395. e.encode(uintptr(k2))
  7396. ee.EncodeString(c_UTF8, v[uintptr(k2)])
  7397. }
  7398. } else {
  7399. for k2, v2 := range v {
  7400. e.encode(k2)
  7401. ee.EncodeString(c_UTF8, v2)
  7402. }
  7403. }
  7404. ee.EncodeEnd()
  7405. }
  7406. func (f *encFnInfo) fastpathEncMapUintptrUintR(rv reflect.Value) {
  7407. fastpathTV.EncMapUintptrUintV(rv.Interface().(map[uintptr]uint), fastpathCheckNilFalse, f.e)
  7408. }
  7409. func (_ fastpathT) EncMapUintptrUintV(v map[uintptr]uint, checkNil bool, e *Encoder) {
  7410. ee := e.e
  7411. if checkNil && v == nil {
  7412. ee.EncodeNil()
  7413. return
  7414. }
  7415. ee.EncodeMapStart(len(v))
  7416. if e.h.Canonical {
  7417. v2 := make([]uint64, len(v))
  7418. var i int
  7419. for k, _ := range v {
  7420. v2[i] = uint64(k)
  7421. i++
  7422. }
  7423. sort.Sort(uintSlice(v2))
  7424. for _, k2 := range v2 {
  7425. e.encode(uintptr(k2))
  7426. ee.EncodeUint(uint64(v[uintptr(k2)]))
  7427. }
  7428. } else {
  7429. for k2, v2 := range v {
  7430. e.encode(k2)
  7431. ee.EncodeUint(uint64(v2))
  7432. }
  7433. }
  7434. ee.EncodeEnd()
  7435. }
  7436. func (f *encFnInfo) fastpathEncMapUintptrUint8R(rv reflect.Value) {
  7437. fastpathTV.EncMapUintptrUint8V(rv.Interface().(map[uintptr]uint8), fastpathCheckNilFalse, f.e)
  7438. }
  7439. func (_ fastpathT) EncMapUintptrUint8V(v map[uintptr]uint8, checkNil bool, e *Encoder) {
  7440. ee := e.e
  7441. if checkNil && v == nil {
  7442. ee.EncodeNil()
  7443. return
  7444. }
  7445. ee.EncodeMapStart(len(v))
  7446. if e.h.Canonical {
  7447. v2 := make([]uint64, len(v))
  7448. var i int
  7449. for k, _ := range v {
  7450. v2[i] = uint64(k)
  7451. i++
  7452. }
  7453. sort.Sort(uintSlice(v2))
  7454. for _, k2 := range v2 {
  7455. e.encode(uintptr(k2))
  7456. ee.EncodeUint(uint64(v[uintptr(k2)]))
  7457. }
  7458. } else {
  7459. for k2, v2 := range v {
  7460. e.encode(k2)
  7461. ee.EncodeUint(uint64(v2))
  7462. }
  7463. }
  7464. ee.EncodeEnd()
  7465. }
  7466. func (f *encFnInfo) fastpathEncMapUintptrUint16R(rv reflect.Value) {
  7467. fastpathTV.EncMapUintptrUint16V(rv.Interface().(map[uintptr]uint16), fastpathCheckNilFalse, f.e)
  7468. }
  7469. func (_ fastpathT) EncMapUintptrUint16V(v map[uintptr]uint16, checkNil bool, e *Encoder) {
  7470. ee := e.e
  7471. if checkNil && v == nil {
  7472. ee.EncodeNil()
  7473. return
  7474. }
  7475. ee.EncodeMapStart(len(v))
  7476. if e.h.Canonical {
  7477. v2 := make([]uint64, len(v))
  7478. var i int
  7479. for k, _ := range v {
  7480. v2[i] = uint64(k)
  7481. i++
  7482. }
  7483. sort.Sort(uintSlice(v2))
  7484. for _, k2 := range v2 {
  7485. e.encode(uintptr(k2))
  7486. ee.EncodeUint(uint64(v[uintptr(k2)]))
  7487. }
  7488. } else {
  7489. for k2, v2 := range v {
  7490. e.encode(k2)
  7491. ee.EncodeUint(uint64(v2))
  7492. }
  7493. }
  7494. ee.EncodeEnd()
  7495. }
  7496. func (f *encFnInfo) fastpathEncMapUintptrUint32R(rv reflect.Value) {
  7497. fastpathTV.EncMapUintptrUint32V(rv.Interface().(map[uintptr]uint32), fastpathCheckNilFalse, f.e)
  7498. }
  7499. func (_ fastpathT) EncMapUintptrUint32V(v map[uintptr]uint32, checkNil bool, e *Encoder) {
  7500. ee := e.e
  7501. if checkNil && v == nil {
  7502. ee.EncodeNil()
  7503. return
  7504. }
  7505. ee.EncodeMapStart(len(v))
  7506. if e.h.Canonical {
  7507. v2 := make([]uint64, len(v))
  7508. var i int
  7509. for k, _ := range v {
  7510. v2[i] = uint64(k)
  7511. i++
  7512. }
  7513. sort.Sort(uintSlice(v2))
  7514. for _, k2 := range v2 {
  7515. e.encode(uintptr(k2))
  7516. ee.EncodeUint(uint64(v[uintptr(k2)]))
  7517. }
  7518. } else {
  7519. for k2, v2 := range v {
  7520. e.encode(k2)
  7521. ee.EncodeUint(uint64(v2))
  7522. }
  7523. }
  7524. ee.EncodeEnd()
  7525. }
  7526. func (f *encFnInfo) fastpathEncMapUintptrUint64R(rv reflect.Value) {
  7527. fastpathTV.EncMapUintptrUint64V(rv.Interface().(map[uintptr]uint64), fastpathCheckNilFalse, f.e)
  7528. }
  7529. func (_ fastpathT) EncMapUintptrUint64V(v map[uintptr]uint64, checkNil bool, e *Encoder) {
  7530. ee := e.e
  7531. if checkNil && v == nil {
  7532. ee.EncodeNil()
  7533. return
  7534. }
  7535. ee.EncodeMapStart(len(v))
  7536. if e.h.Canonical {
  7537. v2 := make([]uint64, len(v))
  7538. var i int
  7539. for k, _ := range v {
  7540. v2[i] = uint64(k)
  7541. i++
  7542. }
  7543. sort.Sort(uintSlice(v2))
  7544. for _, k2 := range v2 {
  7545. e.encode(uintptr(k2))
  7546. ee.EncodeUint(uint64(v[uintptr(k2)]))
  7547. }
  7548. } else {
  7549. for k2, v2 := range v {
  7550. e.encode(k2)
  7551. ee.EncodeUint(uint64(v2))
  7552. }
  7553. }
  7554. ee.EncodeEnd()
  7555. }
  7556. func (f *encFnInfo) fastpathEncMapUintptrUintptrR(rv reflect.Value) {
  7557. fastpathTV.EncMapUintptrUintptrV(rv.Interface().(map[uintptr]uintptr), fastpathCheckNilFalse, f.e)
  7558. }
  7559. func (_ fastpathT) EncMapUintptrUintptrV(v map[uintptr]uintptr, checkNil bool, e *Encoder) {
  7560. ee := e.e
  7561. if checkNil && v == nil {
  7562. ee.EncodeNil()
  7563. return
  7564. }
  7565. ee.EncodeMapStart(len(v))
  7566. if e.h.Canonical {
  7567. v2 := make([]uint64, len(v))
  7568. var i int
  7569. for k, _ := range v {
  7570. v2[i] = uint64(k)
  7571. i++
  7572. }
  7573. sort.Sort(uintSlice(v2))
  7574. for _, k2 := range v2 {
  7575. e.encode(uintptr(k2))
  7576. e.encode(v[uintptr(k2)])
  7577. }
  7578. } else {
  7579. for k2, v2 := range v {
  7580. e.encode(k2)
  7581. e.encode(v2)
  7582. }
  7583. }
  7584. ee.EncodeEnd()
  7585. }
  7586. func (f *encFnInfo) fastpathEncMapUintptrIntR(rv reflect.Value) {
  7587. fastpathTV.EncMapUintptrIntV(rv.Interface().(map[uintptr]int), fastpathCheckNilFalse, f.e)
  7588. }
  7589. func (_ fastpathT) EncMapUintptrIntV(v map[uintptr]int, checkNil bool, e *Encoder) {
  7590. ee := e.e
  7591. if checkNil && v == nil {
  7592. ee.EncodeNil()
  7593. return
  7594. }
  7595. ee.EncodeMapStart(len(v))
  7596. if e.h.Canonical {
  7597. v2 := make([]uint64, len(v))
  7598. var i int
  7599. for k, _ := range v {
  7600. v2[i] = uint64(k)
  7601. i++
  7602. }
  7603. sort.Sort(uintSlice(v2))
  7604. for _, k2 := range v2 {
  7605. e.encode(uintptr(k2))
  7606. ee.EncodeInt(int64(v[uintptr(k2)]))
  7607. }
  7608. } else {
  7609. for k2, v2 := range v {
  7610. e.encode(k2)
  7611. ee.EncodeInt(int64(v2))
  7612. }
  7613. }
  7614. ee.EncodeEnd()
  7615. }
  7616. func (f *encFnInfo) fastpathEncMapUintptrInt8R(rv reflect.Value) {
  7617. fastpathTV.EncMapUintptrInt8V(rv.Interface().(map[uintptr]int8), fastpathCheckNilFalse, f.e)
  7618. }
  7619. func (_ fastpathT) EncMapUintptrInt8V(v map[uintptr]int8, checkNil bool, e *Encoder) {
  7620. ee := e.e
  7621. if checkNil && v == nil {
  7622. ee.EncodeNil()
  7623. return
  7624. }
  7625. ee.EncodeMapStart(len(v))
  7626. if e.h.Canonical {
  7627. v2 := make([]uint64, len(v))
  7628. var i int
  7629. for k, _ := range v {
  7630. v2[i] = uint64(k)
  7631. i++
  7632. }
  7633. sort.Sort(uintSlice(v2))
  7634. for _, k2 := range v2 {
  7635. e.encode(uintptr(k2))
  7636. ee.EncodeInt(int64(v[uintptr(k2)]))
  7637. }
  7638. } else {
  7639. for k2, v2 := range v {
  7640. e.encode(k2)
  7641. ee.EncodeInt(int64(v2))
  7642. }
  7643. }
  7644. ee.EncodeEnd()
  7645. }
  7646. func (f *encFnInfo) fastpathEncMapUintptrInt16R(rv reflect.Value) {
  7647. fastpathTV.EncMapUintptrInt16V(rv.Interface().(map[uintptr]int16), fastpathCheckNilFalse, f.e)
  7648. }
  7649. func (_ fastpathT) EncMapUintptrInt16V(v map[uintptr]int16, checkNil bool, e *Encoder) {
  7650. ee := e.e
  7651. if checkNil && v == nil {
  7652. ee.EncodeNil()
  7653. return
  7654. }
  7655. ee.EncodeMapStart(len(v))
  7656. if e.h.Canonical {
  7657. v2 := make([]uint64, len(v))
  7658. var i int
  7659. for k, _ := range v {
  7660. v2[i] = uint64(k)
  7661. i++
  7662. }
  7663. sort.Sort(uintSlice(v2))
  7664. for _, k2 := range v2 {
  7665. e.encode(uintptr(k2))
  7666. ee.EncodeInt(int64(v[uintptr(k2)]))
  7667. }
  7668. } else {
  7669. for k2, v2 := range v {
  7670. e.encode(k2)
  7671. ee.EncodeInt(int64(v2))
  7672. }
  7673. }
  7674. ee.EncodeEnd()
  7675. }
  7676. func (f *encFnInfo) fastpathEncMapUintptrInt32R(rv reflect.Value) {
  7677. fastpathTV.EncMapUintptrInt32V(rv.Interface().(map[uintptr]int32), fastpathCheckNilFalse, f.e)
  7678. }
  7679. func (_ fastpathT) EncMapUintptrInt32V(v map[uintptr]int32, checkNil bool, e *Encoder) {
  7680. ee := e.e
  7681. if checkNil && v == nil {
  7682. ee.EncodeNil()
  7683. return
  7684. }
  7685. ee.EncodeMapStart(len(v))
  7686. if e.h.Canonical {
  7687. v2 := make([]uint64, len(v))
  7688. var i int
  7689. for k, _ := range v {
  7690. v2[i] = uint64(k)
  7691. i++
  7692. }
  7693. sort.Sort(uintSlice(v2))
  7694. for _, k2 := range v2 {
  7695. e.encode(uintptr(k2))
  7696. ee.EncodeInt(int64(v[uintptr(k2)]))
  7697. }
  7698. } else {
  7699. for k2, v2 := range v {
  7700. e.encode(k2)
  7701. ee.EncodeInt(int64(v2))
  7702. }
  7703. }
  7704. ee.EncodeEnd()
  7705. }
  7706. func (f *encFnInfo) fastpathEncMapUintptrInt64R(rv reflect.Value) {
  7707. fastpathTV.EncMapUintptrInt64V(rv.Interface().(map[uintptr]int64), fastpathCheckNilFalse, f.e)
  7708. }
  7709. func (_ fastpathT) EncMapUintptrInt64V(v map[uintptr]int64, checkNil bool, e *Encoder) {
  7710. ee := e.e
  7711. if checkNil && v == nil {
  7712. ee.EncodeNil()
  7713. return
  7714. }
  7715. ee.EncodeMapStart(len(v))
  7716. if e.h.Canonical {
  7717. v2 := make([]uint64, len(v))
  7718. var i int
  7719. for k, _ := range v {
  7720. v2[i] = uint64(k)
  7721. i++
  7722. }
  7723. sort.Sort(uintSlice(v2))
  7724. for _, k2 := range v2 {
  7725. e.encode(uintptr(k2))
  7726. ee.EncodeInt(int64(v[uintptr(k2)]))
  7727. }
  7728. } else {
  7729. for k2, v2 := range v {
  7730. e.encode(k2)
  7731. ee.EncodeInt(int64(v2))
  7732. }
  7733. }
  7734. ee.EncodeEnd()
  7735. }
  7736. func (f *encFnInfo) fastpathEncMapUintptrFloat32R(rv reflect.Value) {
  7737. fastpathTV.EncMapUintptrFloat32V(rv.Interface().(map[uintptr]float32), fastpathCheckNilFalse, f.e)
  7738. }
  7739. func (_ fastpathT) EncMapUintptrFloat32V(v map[uintptr]float32, checkNil bool, e *Encoder) {
  7740. ee := e.e
  7741. if checkNil && v == nil {
  7742. ee.EncodeNil()
  7743. return
  7744. }
  7745. ee.EncodeMapStart(len(v))
  7746. if e.h.Canonical {
  7747. v2 := make([]uint64, len(v))
  7748. var i int
  7749. for k, _ := range v {
  7750. v2[i] = uint64(k)
  7751. i++
  7752. }
  7753. sort.Sort(uintSlice(v2))
  7754. for _, k2 := range v2 {
  7755. e.encode(uintptr(k2))
  7756. ee.EncodeFloat32(v[uintptr(k2)])
  7757. }
  7758. } else {
  7759. for k2, v2 := range v {
  7760. e.encode(k2)
  7761. ee.EncodeFloat32(v2)
  7762. }
  7763. }
  7764. ee.EncodeEnd()
  7765. }
  7766. func (f *encFnInfo) fastpathEncMapUintptrFloat64R(rv reflect.Value) {
  7767. fastpathTV.EncMapUintptrFloat64V(rv.Interface().(map[uintptr]float64), fastpathCheckNilFalse, f.e)
  7768. }
  7769. func (_ fastpathT) EncMapUintptrFloat64V(v map[uintptr]float64, checkNil bool, e *Encoder) {
  7770. ee := e.e
  7771. if checkNil && v == nil {
  7772. ee.EncodeNil()
  7773. return
  7774. }
  7775. ee.EncodeMapStart(len(v))
  7776. if e.h.Canonical {
  7777. v2 := make([]uint64, len(v))
  7778. var i int
  7779. for k, _ := range v {
  7780. v2[i] = uint64(k)
  7781. i++
  7782. }
  7783. sort.Sort(uintSlice(v2))
  7784. for _, k2 := range v2 {
  7785. e.encode(uintptr(k2))
  7786. ee.EncodeFloat64(v[uintptr(k2)])
  7787. }
  7788. } else {
  7789. for k2, v2 := range v {
  7790. e.encode(k2)
  7791. ee.EncodeFloat64(v2)
  7792. }
  7793. }
  7794. ee.EncodeEnd()
  7795. }
  7796. func (f *encFnInfo) fastpathEncMapUintptrBoolR(rv reflect.Value) {
  7797. fastpathTV.EncMapUintptrBoolV(rv.Interface().(map[uintptr]bool), fastpathCheckNilFalse, f.e)
  7798. }
  7799. func (_ fastpathT) EncMapUintptrBoolV(v map[uintptr]bool, checkNil bool, e *Encoder) {
  7800. ee := e.e
  7801. if checkNil && v == nil {
  7802. ee.EncodeNil()
  7803. return
  7804. }
  7805. ee.EncodeMapStart(len(v))
  7806. if e.h.Canonical {
  7807. v2 := make([]uint64, len(v))
  7808. var i int
  7809. for k, _ := range v {
  7810. v2[i] = uint64(k)
  7811. i++
  7812. }
  7813. sort.Sort(uintSlice(v2))
  7814. for _, k2 := range v2 {
  7815. e.encode(uintptr(k2))
  7816. ee.EncodeBool(v[uintptr(k2)])
  7817. }
  7818. } else {
  7819. for k2, v2 := range v {
  7820. e.encode(k2)
  7821. ee.EncodeBool(v2)
  7822. }
  7823. }
  7824. ee.EncodeEnd()
  7825. }
  7826. func (f *encFnInfo) fastpathEncMapIntIntfR(rv reflect.Value) {
  7827. fastpathTV.EncMapIntIntfV(rv.Interface().(map[int]interface{}), fastpathCheckNilFalse, f.e)
  7828. }
  7829. func (_ fastpathT) EncMapIntIntfV(v map[int]interface{}, checkNil bool, e *Encoder) {
  7830. ee := e.e
  7831. if checkNil && v == nil {
  7832. ee.EncodeNil()
  7833. return
  7834. }
  7835. ee.EncodeMapStart(len(v))
  7836. if e.h.Canonical {
  7837. v2 := make([]int64, len(v))
  7838. var i int
  7839. for k, _ := range v {
  7840. v2[i] = int64(k)
  7841. i++
  7842. }
  7843. sort.Sort(intSlice(v2))
  7844. for _, k2 := range v2 {
  7845. ee.EncodeInt(int64(int(k2)))
  7846. e.encode(v[int(k2)])
  7847. }
  7848. } else {
  7849. for k2, v2 := range v {
  7850. ee.EncodeInt(int64(k2))
  7851. e.encode(v2)
  7852. }
  7853. }
  7854. ee.EncodeEnd()
  7855. }
  7856. func (f *encFnInfo) fastpathEncMapIntStringR(rv reflect.Value) {
  7857. fastpathTV.EncMapIntStringV(rv.Interface().(map[int]string), fastpathCheckNilFalse, f.e)
  7858. }
  7859. func (_ fastpathT) EncMapIntStringV(v map[int]string, checkNil bool, e *Encoder) {
  7860. ee := e.e
  7861. if checkNil && v == nil {
  7862. ee.EncodeNil()
  7863. return
  7864. }
  7865. ee.EncodeMapStart(len(v))
  7866. if e.h.Canonical {
  7867. v2 := make([]int64, len(v))
  7868. var i int
  7869. for k, _ := range v {
  7870. v2[i] = int64(k)
  7871. i++
  7872. }
  7873. sort.Sort(intSlice(v2))
  7874. for _, k2 := range v2 {
  7875. ee.EncodeInt(int64(int(k2)))
  7876. ee.EncodeString(c_UTF8, v[int(k2)])
  7877. }
  7878. } else {
  7879. for k2, v2 := range v {
  7880. ee.EncodeInt(int64(k2))
  7881. ee.EncodeString(c_UTF8, v2)
  7882. }
  7883. }
  7884. ee.EncodeEnd()
  7885. }
  7886. func (f *encFnInfo) fastpathEncMapIntUintR(rv reflect.Value) {
  7887. fastpathTV.EncMapIntUintV(rv.Interface().(map[int]uint), fastpathCheckNilFalse, f.e)
  7888. }
  7889. func (_ fastpathT) EncMapIntUintV(v map[int]uint, checkNil bool, e *Encoder) {
  7890. ee := e.e
  7891. if checkNil && v == nil {
  7892. ee.EncodeNil()
  7893. return
  7894. }
  7895. ee.EncodeMapStart(len(v))
  7896. if e.h.Canonical {
  7897. v2 := make([]int64, len(v))
  7898. var i int
  7899. for k, _ := range v {
  7900. v2[i] = int64(k)
  7901. i++
  7902. }
  7903. sort.Sort(intSlice(v2))
  7904. for _, k2 := range v2 {
  7905. ee.EncodeInt(int64(int(k2)))
  7906. ee.EncodeUint(uint64(v[int(k2)]))
  7907. }
  7908. } else {
  7909. for k2, v2 := range v {
  7910. ee.EncodeInt(int64(k2))
  7911. ee.EncodeUint(uint64(v2))
  7912. }
  7913. }
  7914. ee.EncodeEnd()
  7915. }
  7916. func (f *encFnInfo) fastpathEncMapIntUint8R(rv reflect.Value) {
  7917. fastpathTV.EncMapIntUint8V(rv.Interface().(map[int]uint8), fastpathCheckNilFalse, f.e)
  7918. }
  7919. func (_ fastpathT) EncMapIntUint8V(v map[int]uint8, checkNil bool, e *Encoder) {
  7920. ee := e.e
  7921. if checkNil && v == nil {
  7922. ee.EncodeNil()
  7923. return
  7924. }
  7925. ee.EncodeMapStart(len(v))
  7926. if e.h.Canonical {
  7927. v2 := make([]int64, len(v))
  7928. var i int
  7929. for k, _ := range v {
  7930. v2[i] = int64(k)
  7931. i++
  7932. }
  7933. sort.Sort(intSlice(v2))
  7934. for _, k2 := range v2 {
  7935. ee.EncodeInt(int64(int(k2)))
  7936. ee.EncodeUint(uint64(v[int(k2)]))
  7937. }
  7938. } else {
  7939. for k2, v2 := range v {
  7940. ee.EncodeInt(int64(k2))
  7941. ee.EncodeUint(uint64(v2))
  7942. }
  7943. }
  7944. ee.EncodeEnd()
  7945. }
  7946. func (f *encFnInfo) fastpathEncMapIntUint16R(rv reflect.Value) {
  7947. fastpathTV.EncMapIntUint16V(rv.Interface().(map[int]uint16), fastpathCheckNilFalse, f.e)
  7948. }
  7949. func (_ fastpathT) EncMapIntUint16V(v map[int]uint16, checkNil bool, e *Encoder) {
  7950. ee := e.e
  7951. if checkNil && v == nil {
  7952. ee.EncodeNil()
  7953. return
  7954. }
  7955. ee.EncodeMapStart(len(v))
  7956. if e.h.Canonical {
  7957. v2 := make([]int64, len(v))
  7958. var i int
  7959. for k, _ := range v {
  7960. v2[i] = int64(k)
  7961. i++
  7962. }
  7963. sort.Sort(intSlice(v2))
  7964. for _, k2 := range v2 {
  7965. ee.EncodeInt(int64(int(k2)))
  7966. ee.EncodeUint(uint64(v[int(k2)]))
  7967. }
  7968. } else {
  7969. for k2, v2 := range v {
  7970. ee.EncodeInt(int64(k2))
  7971. ee.EncodeUint(uint64(v2))
  7972. }
  7973. }
  7974. ee.EncodeEnd()
  7975. }
  7976. func (f *encFnInfo) fastpathEncMapIntUint32R(rv reflect.Value) {
  7977. fastpathTV.EncMapIntUint32V(rv.Interface().(map[int]uint32), fastpathCheckNilFalse, f.e)
  7978. }
  7979. func (_ fastpathT) EncMapIntUint32V(v map[int]uint32, checkNil bool, e *Encoder) {
  7980. ee := e.e
  7981. if checkNil && v == nil {
  7982. ee.EncodeNil()
  7983. return
  7984. }
  7985. ee.EncodeMapStart(len(v))
  7986. if e.h.Canonical {
  7987. v2 := make([]int64, len(v))
  7988. var i int
  7989. for k, _ := range v {
  7990. v2[i] = int64(k)
  7991. i++
  7992. }
  7993. sort.Sort(intSlice(v2))
  7994. for _, k2 := range v2 {
  7995. ee.EncodeInt(int64(int(k2)))
  7996. ee.EncodeUint(uint64(v[int(k2)]))
  7997. }
  7998. } else {
  7999. for k2, v2 := range v {
  8000. ee.EncodeInt(int64(k2))
  8001. ee.EncodeUint(uint64(v2))
  8002. }
  8003. }
  8004. ee.EncodeEnd()
  8005. }
  8006. func (f *encFnInfo) fastpathEncMapIntUint64R(rv reflect.Value) {
  8007. fastpathTV.EncMapIntUint64V(rv.Interface().(map[int]uint64), fastpathCheckNilFalse, f.e)
  8008. }
  8009. func (_ fastpathT) EncMapIntUint64V(v map[int]uint64, checkNil bool, e *Encoder) {
  8010. ee := e.e
  8011. if checkNil && v == nil {
  8012. ee.EncodeNil()
  8013. return
  8014. }
  8015. ee.EncodeMapStart(len(v))
  8016. if e.h.Canonical {
  8017. v2 := make([]int64, len(v))
  8018. var i int
  8019. for k, _ := range v {
  8020. v2[i] = int64(k)
  8021. i++
  8022. }
  8023. sort.Sort(intSlice(v2))
  8024. for _, k2 := range v2 {
  8025. ee.EncodeInt(int64(int(k2)))
  8026. ee.EncodeUint(uint64(v[int(k2)]))
  8027. }
  8028. } else {
  8029. for k2, v2 := range v {
  8030. ee.EncodeInt(int64(k2))
  8031. ee.EncodeUint(uint64(v2))
  8032. }
  8033. }
  8034. ee.EncodeEnd()
  8035. }
  8036. func (f *encFnInfo) fastpathEncMapIntUintptrR(rv reflect.Value) {
  8037. fastpathTV.EncMapIntUintptrV(rv.Interface().(map[int]uintptr), fastpathCheckNilFalse, f.e)
  8038. }
  8039. func (_ fastpathT) EncMapIntUintptrV(v map[int]uintptr, checkNil bool, e *Encoder) {
  8040. ee := e.e
  8041. if checkNil && v == nil {
  8042. ee.EncodeNil()
  8043. return
  8044. }
  8045. ee.EncodeMapStart(len(v))
  8046. if e.h.Canonical {
  8047. v2 := make([]int64, len(v))
  8048. var i int
  8049. for k, _ := range v {
  8050. v2[i] = int64(k)
  8051. i++
  8052. }
  8053. sort.Sort(intSlice(v2))
  8054. for _, k2 := range v2 {
  8055. ee.EncodeInt(int64(int(k2)))
  8056. e.encode(v[int(k2)])
  8057. }
  8058. } else {
  8059. for k2, v2 := range v {
  8060. ee.EncodeInt(int64(k2))
  8061. e.encode(v2)
  8062. }
  8063. }
  8064. ee.EncodeEnd()
  8065. }
  8066. func (f *encFnInfo) fastpathEncMapIntIntR(rv reflect.Value) {
  8067. fastpathTV.EncMapIntIntV(rv.Interface().(map[int]int), fastpathCheckNilFalse, f.e)
  8068. }
  8069. func (_ fastpathT) EncMapIntIntV(v map[int]int, checkNil bool, e *Encoder) {
  8070. ee := e.e
  8071. if checkNil && v == nil {
  8072. ee.EncodeNil()
  8073. return
  8074. }
  8075. ee.EncodeMapStart(len(v))
  8076. if e.h.Canonical {
  8077. v2 := make([]int64, len(v))
  8078. var i int
  8079. for k, _ := range v {
  8080. v2[i] = int64(k)
  8081. i++
  8082. }
  8083. sort.Sort(intSlice(v2))
  8084. for _, k2 := range v2 {
  8085. ee.EncodeInt(int64(int(k2)))
  8086. ee.EncodeInt(int64(v[int(k2)]))
  8087. }
  8088. } else {
  8089. for k2, v2 := range v {
  8090. ee.EncodeInt(int64(k2))
  8091. ee.EncodeInt(int64(v2))
  8092. }
  8093. }
  8094. ee.EncodeEnd()
  8095. }
  8096. func (f *encFnInfo) fastpathEncMapIntInt8R(rv reflect.Value) {
  8097. fastpathTV.EncMapIntInt8V(rv.Interface().(map[int]int8), fastpathCheckNilFalse, f.e)
  8098. }
  8099. func (_ fastpathT) EncMapIntInt8V(v map[int]int8, checkNil bool, e *Encoder) {
  8100. ee := e.e
  8101. if checkNil && v == nil {
  8102. ee.EncodeNil()
  8103. return
  8104. }
  8105. ee.EncodeMapStart(len(v))
  8106. if e.h.Canonical {
  8107. v2 := make([]int64, len(v))
  8108. var i int
  8109. for k, _ := range v {
  8110. v2[i] = int64(k)
  8111. i++
  8112. }
  8113. sort.Sort(intSlice(v2))
  8114. for _, k2 := range v2 {
  8115. ee.EncodeInt(int64(int(k2)))
  8116. ee.EncodeInt(int64(v[int(k2)]))
  8117. }
  8118. } else {
  8119. for k2, v2 := range v {
  8120. ee.EncodeInt(int64(k2))
  8121. ee.EncodeInt(int64(v2))
  8122. }
  8123. }
  8124. ee.EncodeEnd()
  8125. }
  8126. func (f *encFnInfo) fastpathEncMapIntInt16R(rv reflect.Value) {
  8127. fastpathTV.EncMapIntInt16V(rv.Interface().(map[int]int16), fastpathCheckNilFalse, f.e)
  8128. }
  8129. func (_ fastpathT) EncMapIntInt16V(v map[int]int16, checkNil bool, e *Encoder) {
  8130. ee := e.e
  8131. if checkNil && v == nil {
  8132. ee.EncodeNil()
  8133. return
  8134. }
  8135. ee.EncodeMapStart(len(v))
  8136. if e.h.Canonical {
  8137. v2 := make([]int64, len(v))
  8138. var i int
  8139. for k, _ := range v {
  8140. v2[i] = int64(k)
  8141. i++
  8142. }
  8143. sort.Sort(intSlice(v2))
  8144. for _, k2 := range v2 {
  8145. ee.EncodeInt(int64(int(k2)))
  8146. ee.EncodeInt(int64(v[int(k2)]))
  8147. }
  8148. } else {
  8149. for k2, v2 := range v {
  8150. ee.EncodeInt(int64(k2))
  8151. ee.EncodeInt(int64(v2))
  8152. }
  8153. }
  8154. ee.EncodeEnd()
  8155. }
  8156. func (f *encFnInfo) fastpathEncMapIntInt32R(rv reflect.Value) {
  8157. fastpathTV.EncMapIntInt32V(rv.Interface().(map[int]int32), fastpathCheckNilFalse, f.e)
  8158. }
  8159. func (_ fastpathT) EncMapIntInt32V(v map[int]int32, checkNil bool, e *Encoder) {
  8160. ee := e.e
  8161. if checkNil && v == nil {
  8162. ee.EncodeNil()
  8163. return
  8164. }
  8165. ee.EncodeMapStart(len(v))
  8166. if e.h.Canonical {
  8167. v2 := make([]int64, len(v))
  8168. var i int
  8169. for k, _ := range v {
  8170. v2[i] = int64(k)
  8171. i++
  8172. }
  8173. sort.Sort(intSlice(v2))
  8174. for _, k2 := range v2 {
  8175. ee.EncodeInt(int64(int(k2)))
  8176. ee.EncodeInt(int64(v[int(k2)]))
  8177. }
  8178. } else {
  8179. for k2, v2 := range v {
  8180. ee.EncodeInt(int64(k2))
  8181. ee.EncodeInt(int64(v2))
  8182. }
  8183. }
  8184. ee.EncodeEnd()
  8185. }
  8186. func (f *encFnInfo) fastpathEncMapIntInt64R(rv reflect.Value) {
  8187. fastpathTV.EncMapIntInt64V(rv.Interface().(map[int]int64), fastpathCheckNilFalse, f.e)
  8188. }
  8189. func (_ fastpathT) EncMapIntInt64V(v map[int]int64, checkNil bool, e *Encoder) {
  8190. ee := e.e
  8191. if checkNil && v == nil {
  8192. ee.EncodeNil()
  8193. return
  8194. }
  8195. ee.EncodeMapStart(len(v))
  8196. if e.h.Canonical {
  8197. v2 := make([]int64, len(v))
  8198. var i int
  8199. for k, _ := range v {
  8200. v2[i] = int64(k)
  8201. i++
  8202. }
  8203. sort.Sort(intSlice(v2))
  8204. for _, k2 := range v2 {
  8205. ee.EncodeInt(int64(int(k2)))
  8206. ee.EncodeInt(int64(v[int(k2)]))
  8207. }
  8208. } else {
  8209. for k2, v2 := range v {
  8210. ee.EncodeInt(int64(k2))
  8211. ee.EncodeInt(int64(v2))
  8212. }
  8213. }
  8214. ee.EncodeEnd()
  8215. }
  8216. func (f *encFnInfo) fastpathEncMapIntFloat32R(rv reflect.Value) {
  8217. fastpathTV.EncMapIntFloat32V(rv.Interface().(map[int]float32), fastpathCheckNilFalse, f.e)
  8218. }
  8219. func (_ fastpathT) EncMapIntFloat32V(v map[int]float32, checkNil bool, e *Encoder) {
  8220. ee := e.e
  8221. if checkNil && v == nil {
  8222. ee.EncodeNil()
  8223. return
  8224. }
  8225. ee.EncodeMapStart(len(v))
  8226. if e.h.Canonical {
  8227. v2 := make([]int64, len(v))
  8228. var i int
  8229. for k, _ := range v {
  8230. v2[i] = int64(k)
  8231. i++
  8232. }
  8233. sort.Sort(intSlice(v2))
  8234. for _, k2 := range v2 {
  8235. ee.EncodeInt(int64(int(k2)))
  8236. ee.EncodeFloat32(v[int(k2)])
  8237. }
  8238. } else {
  8239. for k2, v2 := range v {
  8240. ee.EncodeInt(int64(k2))
  8241. ee.EncodeFloat32(v2)
  8242. }
  8243. }
  8244. ee.EncodeEnd()
  8245. }
  8246. func (f *encFnInfo) fastpathEncMapIntFloat64R(rv reflect.Value) {
  8247. fastpathTV.EncMapIntFloat64V(rv.Interface().(map[int]float64), fastpathCheckNilFalse, f.e)
  8248. }
  8249. func (_ fastpathT) EncMapIntFloat64V(v map[int]float64, checkNil bool, e *Encoder) {
  8250. ee := e.e
  8251. if checkNil && v == nil {
  8252. ee.EncodeNil()
  8253. return
  8254. }
  8255. ee.EncodeMapStart(len(v))
  8256. if e.h.Canonical {
  8257. v2 := make([]int64, len(v))
  8258. var i int
  8259. for k, _ := range v {
  8260. v2[i] = int64(k)
  8261. i++
  8262. }
  8263. sort.Sort(intSlice(v2))
  8264. for _, k2 := range v2 {
  8265. ee.EncodeInt(int64(int(k2)))
  8266. ee.EncodeFloat64(v[int(k2)])
  8267. }
  8268. } else {
  8269. for k2, v2 := range v {
  8270. ee.EncodeInt(int64(k2))
  8271. ee.EncodeFloat64(v2)
  8272. }
  8273. }
  8274. ee.EncodeEnd()
  8275. }
  8276. func (f *encFnInfo) fastpathEncMapIntBoolR(rv reflect.Value) {
  8277. fastpathTV.EncMapIntBoolV(rv.Interface().(map[int]bool), fastpathCheckNilFalse, f.e)
  8278. }
  8279. func (_ fastpathT) EncMapIntBoolV(v map[int]bool, checkNil bool, e *Encoder) {
  8280. ee := e.e
  8281. if checkNil && v == nil {
  8282. ee.EncodeNil()
  8283. return
  8284. }
  8285. ee.EncodeMapStart(len(v))
  8286. if e.h.Canonical {
  8287. v2 := make([]int64, len(v))
  8288. var i int
  8289. for k, _ := range v {
  8290. v2[i] = int64(k)
  8291. i++
  8292. }
  8293. sort.Sort(intSlice(v2))
  8294. for _, k2 := range v2 {
  8295. ee.EncodeInt(int64(int(k2)))
  8296. ee.EncodeBool(v[int(k2)])
  8297. }
  8298. } else {
  8299. for k2, v2 := range v {
  8300. ee.EncodeInt(int64(k2))
  8301. ee.EncodeBool(v2)
  8302. }
  8303. }
  8304. ee.EncodeEnd()
  8305. }
  8306. func (f *encFnInfo) fastpathEncMapInt8IntfR(rv reflect.Value) {
  8307. fastpathTV.EncMapInt8IntfV(rv.Interface().(map[int8]interface{}), fastpathCheckNilFalse, f.e)
  8308. }
  8309. func (_ fastpathT) EncMapInt8IntfV(v map[int8]interface{}, checkNil bool, e *Encoder) {
  8310. ee := e.e
  8311. if checkNil && v == nil {
  8312. ee.EncodeNil()
  8313. return
  8314. }
  8315. ee.EncodeMapStart(len(v))
  8316. if e.h.Canonical {
  8317. v2 := make([]int64, len(v))
  8318. var i int
  8319. for k, _ := range v {
  8320. v2[i] = int64(k)
  8321. i++
  8322. }
  8323. sort.Sort(intSlice(v2))
  8324. for _, k2 := range v2 {
  8325. ee.EncodeInt(int64(int8(k2)))
  8326. e.encode(v[int8(k2)])
  8327. }
  8328. } else {
  8329. for k2, v2 := range v {
  8330. ee.EncodeInt(int64(k2))
  8331. e.encode(v2)
  8332. }
  8333. }
  8334. ee.EncodeEnd()
  8335. }
  8336. func (f *encFnInfo) fastpathEncMapInt8StringR(rv reflect.Value) {
  8337. fastpathTV.EncMapInt8StringV(rv.Interface().(map[int8]string), fastpathCheckNilFalse, f.e)
  8338. }
  8339. func (_ fastpathT) EncMapInt8StringV(v map[int8]string, checkNil bool, e *Encoder) {
  8340. ee := e.e
  8341. if checkNil && v == nil {
  8342. ee.EncodeNil()
  8343. return
  8344. }
  8345. ee.EncodeMapStart(len(v))
  8346. if e.h.Canonical {
  8347. v2 := make([]int64, len(v))
  8348. var i int
  8349. for k, _ := range v {
  8350. v2[i] = int64(k)
  8351. i++
  8352. }
  8353. sort.Sort(intSlice(v2))
  8354. for _, k2 := range v2 {
  8355. ee.EncodeInt(int64(int8(k2)))
  8356. ee.EncodeString(c_UTF8, v[int8(k2)])
  8357. }
  8358. } else {
  8359. for k2, v2 := range v {
  8360. ee.EncodeInt(int64(k2))
  8361. ee.EncodeString(c_UTF8, v2)
  8362. }
  8363. }
  8364. ee.EncodeEnd()
  8365. }
  8366. func (f *encFnInfo) fastpathEncMapInt8UintR(rv reflect.Value) {
  8367. fastpathTV.EncMapInt8UintV(rv.Interface().(map[int8]uint), fastpathCheckNilFalse, f.e)
  8368. }
  8369. func (_ fastpathT) EncMapInt8UintV(v map[int8]uint, checkNil bool, e *Encoder) {
  8370. ee := e.e
  8371. if checkNil && v == nil {
  8372. ee.EncodeNil()
  8373. return
  8374. }
  8375. ee.EncodeMapStart(len(v))
  8376. if e.h.Canonical {
  8377. v2 := make([]int64, len(v))
  8378. var i int
  8379. for k, _ := range v {
  8380. v2[i] = int64(k)
  8381. i++
  8382. }
  8383. sort.Sort(intSlice(v2))
  8384. for _, k2 := range v2 {
  8385. ee.EncodeInt(int64(int8(k2)))
  8386. ee.EncodeUint(uint64(v[int8(k2)]))
  8387. }
  8388. } else {
  8389. for k2, v2 := range v {
  8390. ee.EncodeInt(int64(k2))
  8391. ee.EncodeUint(uint64(v2))
  8392. }
  8393. }
  8394. ee.EncodeEnd()
  8395. }
  8396. func (f *encFnInfo) fastpathEncMapInt8Uint8R(rv reflect.Value) {
  8397. fastpathTV.EncMapInt8Uint8V(rv.Interface().(map[int8]uint8), fastpathCheckNilFalse, f.e)
  8398. }
  8399. func (_ fastpathT) EncMapInt8Uint8V(v map[int8]uint8, checkNil bool, e *Encoder) {
  8400. ee := e.e
  8401. if checkNil && v == nil {
  8402. ee.EncodeNil()
  8403. return
  8404. }
  8405. ee.EncodeMapStart(len(v))
  8406. if e.h.Canonical {
  8407. v2 := make([]int64, len(v))
  8408. var i int
  8409. for k, _ := range v {
  8410. v2[i] = int64(k)
  8411. i++
  8412. }
  8413. sort.Sort(intSlice(v2))
  8414. for _, k2 := range v2 {
  8415. ee.EncodeInt(int64(int8(k2)))
  8416. ee.EncodeUint(uint64(v[int8(k2)]))
  8417. }
  8418. } else {
  8419. for k2, v2 := range v {
  8420. ee.EncodeInt(int64(k2))
  8421. ee.EncodeUint(uint64(v2))
  8422. }
  8423. }
  8424. ee.EncodeEnd()
  8425. }
  8426. func (f *encFnInfo) fastpathEncMapInt8Uint16R(rv reflect.Value) {
  8427. fastpathTV.EncMapInt8Uint16V(rv.Interface().(map[int8]uint16), fastpathCheckNilFalse, f.e)
  8428. }
  8429. func (_ fastpathT) EncMapInt8Uint16V(v map[int8]uint16, checkNil bool, e *Encoder) {
  8430. ee := e.e
  8431. if checkNil && v == nil {
  8432. ee.EncodeNil()
  8433. return
  8434. }
  8435. ee.EncodeMapStart(len(v))
  8436. if e.h.Canonical {
  8437. v2 := make([]int64, len(v))
  8438. var i int
  8439. for k, _ := range v {
  8440. v2[i] = int64(k)
  8441. i++
  8442. }
  8443. sort.Sort(intSlice(v2))
  8444. for _, k2 := range v2 {
  8445. ee.EncodeInt(int64(int8(k2)))
  8446. ee.EncodeUint(uint64(v[int8(k2)]))
  8447. }
  8448. } else {
  8449. for k2, v2 := range v {
  8450. ee.EncodeInt(int64(k2))
  8451. ee.EncodeUint(uint64(v2))
  8452. }
  8453. }
  8454. ee.EncodeEnd()
  8455. }
  8456. func (f *encFnInfo) fastpathEncMapInt8Uint32R(rv reflect.Value) {
  8457. fastpathTV.EncMapInt8Uint32V(rv.Interface().(map[int8]uint32), fastpathCheckNilFalse, f.e)
  8458. }
  8459. func (_ fastpathT) EncMapInt8Uint32V(v map[int8]uint32, checkNil bool, e *Encoder) {
  8460. ee := e.e
  8461. if checkNil && v == nil {
  8462. ee.EncodeNil()
  8463. return
  8464. }
  8465. ee.EncodeMapStart(len(v))
  8466. if e.h.Canonical {
  8467. v2 := make([]int64, len(v))
  8468. var i int
  8469. for k, _ := range v {
  8470. v2[i] = int64(k)
  8471. i++
  8472. }
  8473. sort.Sort(intSlice(v2))
  8474. for _, k2 := range v2 {
  8475. ee.EncodeInt(int64(int8(k2)))
  8476. ee.EncodeUint(uint64(v[int8(k2)]))
  8477. }
  8478. } else {
  8479. for k2, v2 := range v {
  8480. ee.EncodeInt(int64(k2))
  8481. ee.EncodeUint(uint64(v2))
  8482. }
  8483. }
  8484. ee.EncodeEnd()
  8485. }
  8486. func (f *encFnInfo) fastpathEncMapInt8Uint64R(rv reflect.Value) {
  8487. fastpathTV.EncMapInt8Uint64V(rv.Interface().(map[int8]uint64), fastpathCheckNilFalse, f.e)
  8488. }
  8489. func (_ fastpathT) EncMapInt8Uint64V(v map[int8]uint64, checkNil bool, e *Encoder) {
  8490. ee := e.e
  8491. if checkNil && v == nil {
  8492. ee.EncodeNil()
  8493. return
  8494. }
  8495. ee.EncodeMapStart(len(v))
  8496. if e.h.Canonical {
  8497. v2 := make([]int64, len(v))
  8498. var i int
  8499. for k, _ := range v {
  8500. v2[i] = int64(k)
  8501. i++
  8502. }
  8503. sort.Sort(intSlice(v2))
  8504. for _, k2 := range v2 {
  8505. ee.EncodeInt(int64(int8(k2)))
  8506. ee.EncodeUint(uint64(v[int8(k2)]))
  8507. }
  8508. } else {
  8509. for k2, v2 := range v {
  8510. ee.EncodeInt(int64(k2))
  8511. ee.EncodeUint(uint64(v2))
  8512. }
  8513. }
  8514. ee.EncodeEnd()
  8515. }
  8516. func (f *encFnInfo) fastpathEncMapInt8UintptrR(rv reflect.Value) {
  8517. fastpathTV.EncMapInt8UintptrV(rv.Interface().(map[int8]uintptr), fastpathCheckNilFalse, f.e)
  8518. }
  8519. func (_ fastpathT) EncMapInt8UintptrV(v map[int8]uintptr, checkNil bool, e *Encoder) {
  8520. ee := e.e
  8521. if checkNil && v == nil {
  8522. ee.EncodeNil()
  8523. return
  8524. }
  8525. ee.EncodeMapStart(len(v))
  8526. if e.h.Canonical {
  8527. v2 := make([]int64, len(v))
  8528. var i int
  8529. for k, _ := range v {
  8530. v2[i] = int64(k)
  8531. i++
  8532. }
  8533. sort.Sort(intSlice(v2))
  8534. for _, k2 := range v2 {
  8535. ee.EncodeInt(int64(int8(k2)))
  8536. e.encode(v[int8(k2)])
  8537. }
  8538. } else {
  8539. for k2, v2 := range v {
  8540. ee.EncodeInt(int64(k2))
  8541. e.encode(v2)
  8542. }
  8543. }
  8544. ee.EncodeEnd()
  8545. }
  8546. func (f *encFnInfo) fastpathEncMapInt8IntR(rv reflect.Value) {
  8547. fastpathTV.EncMapInt8IntV(rv.Interface().(map[int8]int), fastpathCheckNilFalse, f.e)
  8548. }
  8549. func (_ fastpathT) EncMapInt8IntV(v map[int8]int, checkNil bool, e *Encoder) {
  8550. ee := e.e
  8551. if checkNil && v == nil {
  8552. ee.EncodeNil()
  8553. return
  8554. }
  8555. ee.EncodeMapStart(len(v))
  8556. if e.h.Canonical {
  8557. v2 := make([]int64, len(v))
  8558. var i int
  8559. for k, _ := range v {
  8560. v2[i] = int64(k)
  8561. i++
  8562. }
  8563. sort.Sort(intSlice(v2))
  8564. for _, k2 := range v2 {
  8565. ee.EncodeInt(int64(int8(k2)))
  8566. ee.EncodeInt(int64(v[int8(k2)]))
  8567. }
  8568. } else {
  8569. for k2, v2 := range v {
  8570. ee.EncodeInt(int64(k2))
  8571. ee.EncodeInt(int64(v2))
  8572. }
  8573. }
  8574. ee.EncodeEnd()
  8575. }
  8576. func (f *encFnInfo) fastpathEncMapInt8Int8R(rv reflect.Value) {
  8577. fastpathTV.EncMapInt8Int8V(rv.Interface().(map[int8]int8), fastpathCheckNilFalse, f.e)
  8578. }
  8579. func (_ fastpathT) EncMapInt8Int8V(v map[int8]int8, checkNil bool, e *Encoder) {
  8580. ee := e.e
  8581. if checkNil && v == nil {
  8582. ee.EncodeNil()
  8583. return
  8584. }
  8585. ee.EncodeMapStart(len(v))
  8586. if e.h.Canonical {
  8587. v2 := make([]int64, len(v))
  8588. var i int
  8589. for k, _ := range v {
  8590. v2[i] = int64(k)
  8591. i++
  8592. }
  8593. sort.Sort(intSlice(v2))
  8594. for _, k2 := range v2 {
  8595. ee.EncodeInt(int64(int8(k2)))
  8596. ee.EncodeInt(int64(v[int8(k2)]))
  8597. }
  8598. } else {
  8599. for k2, v2 := range v {
  8600. ee.EncodeInt(int64(k2))
  8601. ee.EncodeInt(int64(v2))
  8602. }
  8603. }
  8604. ee.EncodeEnd()
  8605. }
  8606. func (f *encFnInfo) fastpathEncMapInt8Int16R(rv reflect.Value) {
  8607. fastpathTV.EncMapInt8Int16V(rv.Interface().(map[int8]int16), fastpathCheckNilFalse, f.e)
  8608. }
  8609. func (_ fastpathT) EncMapInt8Int16V(v map[int8]int16, checkNil bool, e *Encoder) {
  8610. ee := e.e
  8611. if checkNil && v == nil {
  8612. ee.EncodeNil()
  8613. return
  8614. }
  8615. ee.EncodeMapStart(len(v))
  8616. if e.h.Canonical {
  8617. v2 := make([]int64, len(v))
  8618. var i int
  8619. for k, _ := range v {
  8620. v2[i] = int64(k)
  8621. i++
  8622. }
  8623. sort.Sort(intSlice(v2))
  8624. for _, k2 := range v2 {
  8625. ee.EncodeInt(int64(int8(k2)))
  8626. ee.EncodeInt(int64(v[int8(k2)]))
  8627. }
  8628. } else {
  8629. for k2, v2 := range v {
  8630. ee.EncodeInt(int64(k2))
  8631. ee.EncodeInt(int64(v2))
  8632. }
  8633. }
  8634. ee.EncodeEnd()
  8635. }
  8636. func (f *encFnInfo) fastpathEncMapInt8Int32R(rv reflect.Value) {
  8637. fastpathTV.EncMapInt8Int32V(rv.Interface().(map[int8]int32), fastpathCheckNilFalse, f.e)
  8638. }
  8639. func (_ fastpathT) EncMapInt8Int32V(v map[int8]int32, checkNil bool, e *Encoder) {
  8640. ee := e.e
  8641. if checkNil && v == nil {
  8642. ee.EncodeNil()
  8643. return
  8644. }
  8645. ee.EncodeMapStart(len(v))
  8646. if e.h.Canonical {
  8647. v2 := make([]int64, len(v))
  8648. var i int
  8649. for k, _ := range v {
  8650. v2[i] = int64(k)
  8651. i++
  8652. }
  8653. sort.Sort(intSlice(v2))
  8654. for _, k2 := range v2 {
  8655. ee.EncodeInt(int64(int8(k2)))
  8656. ee.EncodeInt(int64(v[int8(k2)]))
  8657. }
  8658. } else {
  8659. for k2, v2 := range v {
  8660. ee.EncodeInt(int64(k2))
  8661. ee.EncodeInt(int64(v2))
  8662. }
  8663. }
  8664. ee.EncodeEnd()
  8665. }
  8666. func (f *encFnInfo) fastpathEncMapInt8Int64R(rv reflect.Value) {
  8667. fastpathTV.EncMapInt8Int64V(rv.Interface().(map[int8]int64), fastpathCheckNilFalse, f.e)
  8668. }
  8669. func (_ fastpathT) EncMapInt8Int64V(v map[int8]int64, checkNil bool, e *Encoder) {
  8670. ee := e.e
  8671. if checkNil && v == nil {
  8672. ee.EncodeNil()
  8673. return
  8674. }
  8675. ee.EncodeMapStart(len(v))
  8676. if e.h.Canonical {
  8677. v2 := make([]int64, len(v))
  8678. var i int
  8679. for k, _ := range v {
  8680. v2[i] = int64(k)
  8681. i++
  8682. }
  8683. sort.Sort(intSlice(v2))
  8684. for _, k2 := range v2 {
  8685. ee.EncodeInt(int64(int8(k2)))
  8686. ee.EncodeInt(int64(v[int8(k2)]))
  8687. }
  8688. } else {
  8689. for k2, v2 := range v {
  8690. ee.EncodeInt(int64(k2))
  8691. ee.EncodeInt(int64(v2))
  8692. }
  8693. }
  8694. ee.EncodeEnd()
  8695. }
  8696. func (f *encFnInfo) fastpathEncMapInt8Float32R(rv reflect.Value) {
  8697. fastpathTV.EncMapInt8Float32V(rv.Interface().(map[int8]float32), fastpathCheckNilFalse, f.e)
  8698. }
  8699. func (_ fastpathT) EncMapInt8Float32V(v map[int8]float32, checkNil bool, e *Encoder) {
  8700. ee := e.e
  8701. if checkNil && v == nil {
  8702. ee.EncodeNil()
  8703. return
  8704. }
  8705. ee.EncodeMapStart(len(v))
  8706. if e.h.Canonical {
  8707. v2 := make([]int64, len(v))
  8708. var i int
  8709. for k, _ := range v {
  8710. v2[i] = int64(k)
  8711. i++
  8712. }
  8713. sort.Sort(intSlice(v2))
  8714. for _, k2 := range v2 {
  8715. ee.EncodeInt(int64(int8(k2)))
  8716. ee.EncodeFloat32(v[int8(k2)])
  8717. }
  8718. } else {
  8719. for k2, v2 := range v {
  8720. ee.EncodeInt(int64(k2))
  8721. ee.EncodeFloat32(v2)
  8722. }
  8723. }
  8724. ee.EncodeEnd()
  8725. }
  8726. func (f *encFnInfo) fastpathEncMapInt8Float64R(rv reflect.Value) {
  8727. fastpathTV.EncMapInt8Float64V(rv.Interface().(map[int8]float64), fastpathCheckNilFalse, f.e)
  8728. }
  8729. func (_ fastpathT) EncMapInt8Float64V(v map[int8]float64, checkNil bool, e *Encoder) {
  8730. ee := e.e
  8731. if checkNil && v == nil {
  8732. ee.EncodeNil()
  8733. return
  8734. }
  8735. ee.EncodeMapStart(len(v))
  8736. if e.h.Canonical {
  8737. v2 := make([]int64, len(v))
  8738. var i int
  8739. for k, _ := range v {
  8740. v2[i] = int64(k)
  8741. i++
  8742. }
  8743. sort.Sort(intSlice(v2))
  8744. for _, k2 := range v2 {
  8745. ee.EncodeInt(int64(int8(k2)))
  8746. ee.EncodeFloat64(v[int8(k2)])
  8747. }
  8748. } else {
  8749. for k2, v2 := range v {
  8750. ee.EncodeInt(int64(k2))
  8751. ee.EncodeFloat64(v2)
  8752. }
  8753. }
  8754. ee.EncodeEnd()
  8755. }
  8756. func (f *encFnInfo) fastpathEncMapInt8BoolR(rv reflect.Value) {
  8757. fastpathTV.EncMapInt8BoolV(rv.Interface().(map[int8]bool), fastpathCheckNilFalse, f.e)
  8758. }
  8759. func (_ fastpathT) EncMapInt8BoolV(v map[int8]bool, checkNil bool, e *Encoder) {
  8760. ee := e.e
  8761. if checkNil && v == nil {
  8762. ee.EncodeNil()
  8763. return
  8764. }
  8765. ee.EncodeMapStart(len(v))
  8766. if e.h.Canonical {
  8767. v2 := make([]int64, len(v))
  8768. var i int
  8769. for k, _ := range v {
  8770. v2[i] = int64(k)
  8771. i++
  8772. }
  8773. sort.Sort(intSlice(v2))
  8774. for _, k2 := range v2 {
  8775. ee.EncodeInt(int64(int8(k2)))
  8776. ee.EncodeBool(v[int8(k2)])
  8777. }
  8778. } else {
  8779. for k2, v2 := range v {
  8780. ee.EncodeInt(int64(k2))
  8781. ee.EncodeBool(v2)
  8782. }
  8783. }
  8784. ee.EncodeEnd()
  8785. }
  8786. func (f *encFnInfo) fastpathEncMapInt16IntfR(rv reflect.Value) {
  8787. fastpathTV.EncMapInt16IntfV(rv.Interface().(map[int16]interface{}), fastpathCheckNilFalse, f.e)
  8788. }
  8789. func (_ fastpathT) EncMapInt16IntfV(v map[int16]interface{}, checkNil bool, e *Encoder) {
  8790. ee := e.e
  8791. if checkNil && v == nil {
  8792. ee.EncodeNil()
  8793. return
  8794. }
  8795. ee.EncodeMapStart(len(v))
  8796. if e.h.Canonical {
  8797. v2 := make([]int64, len(v))
  8798. var i int
  8799. for k, _ := range v {
  8800. v2[i] = int64(k)
  8801. i++
  8802. }
  8803. sort.Sort(intSlice(v2))
  8804. for _, k2 := range v2 {
  8805. ee.EncodeInt(int64(int16(k2)))
  8806. e.encode(v[int16(k2)])
  8807. }
  8808. } else {
  8809. for k2, v2 := range v {
  8810. ee.EncodeInt(int64(k2))
  8811. e.encode(v2)
  8812. }
  8813. }
  8814. ee.EncodeEnd()
  8815. }
  8816. func (f *encFnInfo) fastpathEncMapInt16StringR(rv reflect.Value) {
  8817. fastpathTV.EncMapInt16StringV(rv.Interface().(map[int16]string), fastpathCheckNilFalse, f.e)
  8818. }
  8819. func (_ fastpathT) EncMapInt16StringV(v map[int16]string, checkNil bool, e *Encoder) {
  8820. ee := e.e
  8821. if checkNil && v == nil {
  8822. ee.EncodeNil()
  8823. return
  8824. }
  8825. ee.EncodeMapStart(len(v))
  8826. if e.h.Canonical {
  8827. v2 := make([]int64, len(v))
  8828. var i int
  8829. for k, _ := range v {
  8830. v2[i] = int64(k)
  8831. i++
  8832. }
  8833. sort.Sort(intSlice(v2))
  8834. for _, k2 := range v2 {
  8835. ee.EncodeInt(int64(int16(k2)))
  8836. ee.EncodeString(c_UTF8, v[int16(k2)])
  8837. }
  8838. } else {
  8839. for k2, v2 := range v {
  8840. ee.EncodeInt(int64(k2))
  8841. ee.EncodeString(c_UTF8, v2)
  8842. }
  8843. }
  8844. ee.EncodeEnd()
  8845. }
  8846. func (f *encFnInfo) fastpathEncMapInt16UintR(rv reflect.Value) {
  8847. fastpathTV.EncMapInt16UintV(rv.Interface().(map[int16]uint), fastpathCheckNilFalse, f.e)
  8848. }
  8849. func (_ fastpathT) EncMapInt16UintV(v map[int16]uint, checkNil bool, e *Encoder) {
  8850. ee := e.e
  8851. if checkNil && v == nil {
  8852. ee.EncodeNil()
  8853. return
  8854. }
  8855. ee.EncodeMapStart(len(v))
  8856. if e.h.Canonical {
  8857. v2 := make([]int64, len(v))
  8858. var i int
  8859. for k, _ := range v {
  8860. v2[i] = int64(k)
  8861. i++
  8862. }
  8863. sort.Sort(intSlice(v2))
  8864. for _, k2 := range v2 {
  8865. ee.EncodeInt(int64(int16(k2)))
  8866. ee.EncodeUint(uint64(v[int16(k2)]))
  8867. }
  8868. } else {
  8869. for k2, v2 := range v {
  8870. ee.EncodeInt(int64(k2))
  8871. ee.EncodeUint(uint64(v2))
  8872. }
  8873. }
  8874. ee.EncodeEnd()
  8875. }
  8876. func (f *encFnInfo) fastpathEncMapInt16Uint8R(rv reflect.Value) {
  8877. fastpathTV.EncMapInt16Uint8V(rv.Interface().(map[int16]uint8), fastpathCheckNilFalse, f.e)
  8878. }
  8879. func (_ fastpathT) EncMapInt16Uint8V(v map[int16]uint8, checkNil bool, e *Encoder) {
  8880. ee := e.e
  8881. if checkNil && v == nil {
  8882. ee.EncodeNil()
  8883. return
  8884. }
  8885. ee.EncodeMapStart(len(v))
  8886. if e.h.Canonical {
  8887. v2 := make([]int64, len(v))
  8888. var i int
  8889. for k, _ := range v {
  8890. v2[i] = int64(k)
  8891. i++
  8892. }
  8893. sort.Sort(intSlice(v2))
  8894. for _, k2 := range v2 {
  8895. ee.EncodeInt(int64(int16(k2)))
  8896. ee.EncodeUint(uint64(v[int16(k2)]))
  8897. }
  8898. } else {
  8899. for k2, v2 := range v {
  8900. ee.EncodeInt(int64(k2))
  8901. ee.EncodeUint(uint64(v2))
  8902. }
  8903. }
  8904. ee.EncodeEnd()
  8905. }
  8906. func (f *encFnInfo) fastpathEncMapInt16Uint16R(rv reflect.Value) {
  8907. fastpathTV.EncMapInt16Uint16V(rv.Interface().(map[int16]uint16), fastpathCheckNilFalse, f.e)
  8908. }
  8909. func (_ fastpathT) EncMapInt16Uint16V(v map[int16]uint16, checkNil bool, e *Encoder) {
  8910. ee := e.e
  8911. if checkNil && v == nil {
  8912. ee.EncodeNil()
  8913. return
  8914. }
  8915. ee.EncodeMapStart(len(v))
  8916. if e.h.Canonical {
  8917. v2 := make([]int64, len(v))
  8918. var i int
  8919. for k, _ := range v {
  8920. v2[i] = int64(k)
  8921. i++
  8922. }
  8923. sort.Sort(intSlice(v2))
  8924. for _, k2 := range v2 {
  8925. ee.EncodeInt(int64(int16(k2)))
  8926. ee.EncodeUint(uint64(v[int16(k2)]))
  8927. }
  8928. } else {
  8929. for k2, v2 := range v {
  8930. ee.EncodeInt(int64(k2))
  8931. ee.EncodeUint(uint64(v2))
  8932. }
  8933. }
  8934. ee.EncodeEnd()
  8935. }
  8936. func (f *encFnInfo) fastpathEncMapInt16Uint32R(rv reflect.Value) {
  8937. fastpathTV.EncMapInt16Uint32V(rv.Interface().(map[int16]uint32), fastpathCheckNilFalse, f.e)
  8938. }
  8939. func (_ fastpathT) EncMapInt16Uint32V(v map[int16]uint32, checkNil bool, e *Encoder) {
  8940. ee := e.e
  8941. if checkNil && v == nil {
  8942. ee.EncodeNil()
  8943. return
  8944. }
  8945. ee.EncodeMapStart(len(v))
  8946. if e.h.Canonical {
  8947. v2 := make([]int64, len(v))
  8948. var i int
  8949. for k, _ := range v {
  8950. v2[i] = int64(k)
  8951. i++
  8952. }
  8953. sort.Sort(intSlice(v2))
  8954. for _, k2 := range v2 {
  8955. ee.EncodeInt(int64(int16(k2)))
  8956. ee.EncodeUint(uint64(v[int16(k2)]))
  8957. }
  8958. } else {
  8959. for k2, v2 := range v {
  8960. ee.EncodeInt(int64(k2))
  8961. ee.EncodeUint(uint64(v2))
  8962. }
  8963. }
  8964. ee.EncodeEnd()
  8965. }
  8966. func (f *encFnInfo) fastpathEncMapInt16Uint64R(rv reflect.Value) {
  8967. fastpathTV.EncMapInt16Uint64V(rv.Interface().(map[int16]uint64), fastpathCheckNilFalse, f.e)
  8968. }
  8969. func (_ fastpathT) EncMapInt16Uint64V(v map[int16]uint64, checkNil bool, e *Encoder) {
  8970. ee := e.e
  8971. if checkNil && v == nil {
  8972. ee.EncodeNil()
  8973. return
  8974. }
  8975. ee.EncodeMapStart(len(v))
  8976. if e.h.Canonical {
  8977. v2 := make([]int64, len(v))
  8978. var i int
  8979. for k, _ := range v {
  8980. v2[i] = int64(k)
  8981. i++
  8982. }
  8983. sort.Sort(intSlice(v2))
  8984. for _, k2 := range v2 {
  8985. ee.EncodeInt(int64(int16(k2)))
  8986. ee.EncodeUint(uint64(v[int16(k2)]))
  8987. }
  8988. } else {
  8989. for k2, v2 := range v {
  8990. ee.EncodeInt(int64(k2))
  8991. ee.EncodeUint(uint64(v2))
  8992. }
  8993. }
  8994. ee.EncodeEnd()
  8995. }
  8996. func (f *encFnInfo) fastpathEncMapInt16UintptrR(rv reflect.Value) {
  8997. fastpathTV.EncMapInt16UintptrV(rv.Interface().(map[int16]uintptr), fastpathCheckNilFalse, f.e)
  8998. }
  8999. func (_ fastpathT) EncMapInt16UintptrV(v map[int16]uintptr, checkNil bool, e *Encoder) {
  9000. ee := e.e
  9001. if checkNil && v == nil {
  9002. ee.EncodeNil()
  9003. return
  9004. }
  9005. ee.EncodeMapStart(len(v))
  9006. if e.h.Canonical {
  9007. v2 := make([]int64, len(v))
  9008. var i int
  9009. for k, _ := range v {
  9010. v2[i] = int64(k)
  9011. i++
  9012. }
  9013. sort.Sort(intSlice(v2))
  9014. for _, k2 := range v2 {
  9015. ee.EncodeInt(int64(int16(k2)))
  9016. e.encode(v[int16(k2)])
  9017. }
  9018. } else {
  9019. for k2, v2 := range v {
  9020. ee.EncodeInt(int64(k2))
  9021. e.encode(v2)
  9022. }
  9023. }
  9024. ee.EncodeEnd()
  9025. }
  9026. func (f *encFnInfo) fastpathEncMapInt16IntR(rv reflect.Value) {
  9027. fastpathTV.EncMapInt16IntV(rv.Interface().(map[int16]int), fastpathCheckNilFalse, f.e)
  9028. }
  9029. func (_ fastpathT) EncMapInt16IntV(v map[int16]int, checkNil bool, e *Encoder) {
  9030. ee := e.e
  9031. if checkNil && v == nil {
  9032. ee.EncodeNil()
  9033. return
  9034. }
  9035. ee.EncodeMapStart(len(v))
  9036. if e.h.Canonical {
  9037. v2 := make([]int64, len(v))
  9038. var i int
  9039. for k, _ := range v {
  9040. v2[i] = int64(k)
  9041. i++
  9042. }
  9043. sort.Sort(intSlice(v2))
  9044. for _, k2 := range v2 {
  9045. ee.EncodeInt(int64(int16(k2)))
  9046. ee.EncodeInt(int64(v[int16(k2)]))
  9047. }
  9048. } else {
  9049. for k2, v2 := range v {
  9050. ee.EncodeInt(int64(k2))
  9051. ee.EncodeInt(int64(v2))
  9052. }
  9053. }
  9054. ee.EncodeEnd()
  9055. }
  9056. func (f *encFnInfo) fastpathEncMapInt16Int8R(rv reflect.Value) {
  9057. fastpathTV.EncMapInt16Int8V(rv.Interface().(map[int16]int8), fastpathCheckNilFalse, f.e)
  9058. }
  9059. func (_ fastpathT) EncMapInt16Int8V(v map[int16]int8, checkNil bool, e *Encoder) {
  9060. ee := e.e
  9061. if checkNil && v == nil {
  9062. ee.EncodeNil()
  9063. return
  9064. }
  9065. ee.EncodeMapStart(len(v))
  9066. if e.h.Canonical {
  9067. v2 := make([]int64, len(v))
  9068. var i int
  9069. for k, _ := range v {
  9070. v2[i] = int64(k)
  9071. i++
  9072. }
  9073. sort.Sort(intSlice(v2))
  9074. for _, k2 := range v2 {
  9075. ee.EncodeInt(int64(int16(k2)))
  9076. ee.EncodeInt(int64(v[int16(k2)]))
  9077. }
  9078. } else {
  9079. for k2, v2 := range v {
  9080. ee.EncodeInt(int64(k2))
  9081. ee.EncodeInt(int64(v2))
  9082. }
  9083. }
  9084. ee.EncodeEnd()
  9085. }
  9086. func (f *encFnInfo) fastpathEncMapInt16Int16R(rv reflect.Value) {
  9087. fastpathTV.EncMapInt16Int16V(rv.Interface().(map[int16]int16), fastpathCheckNilFalse, f.e)
  9088. }
  9089. func (_ fastpathT) EncMapInt16Int16V(v map[int16]int16, checkNil bool, e *Encoder) {
  9090. ee := e.e
  9091. if checkNil && v == nil {
  9092. ee.EncodeNil()
  9093. return
  9094. }
  9095. ee.EncodeMapStart(len(v))
  9096. if e.h.Canonical {
  9097. v2 := make([]int64, len(v))
  9098. var i int
  9099. for k, _ := range v {
  9100. v2[i] = int64(k)
  9101. i++
  9102. }
  9103. sort.Sort(intSlice(v2))
  9104. for _, k2 := range v2 {
  9105. ee.EncodeInt(int64(int16(k2)))
  9106. ee.EncodeInt(int64(v[int16(k2)]))
  9107. }
  9108. } else {
  9109. for k2, v2 := range v {
  9110. ee.EncodeInt(int64(k2))
  9111. ee.EncodeInt(int64(v2))
  9112. }
  9113. }
  9114. ee.EncodeEnd()
  9115. }
  9116. func (f *encFnInfo) fastpathEncMapInt16Int32R(rv reflect.Value) {
  9117. fastpathTV.EncMapInt16Int32V(rv.Interface().(map[int16]int32), fastpathCheckNilFalse, f.e)
  9118. }
  9119. func (_ fastpathT) EncMapInt16Int32V(v map[int16]int32, checkNil bool, e *Encoder) {
  9120. ee := e.e
  9121. if checkNil && v == nil {
  9122. ee.EncodeNil()
  9123. return
  9124. }
  9125. ee.EncodeMapStart(len(v))
  9126. if e.h.Canonical {
  9127. v2 := make([]int64, len(v))
  9128. var i int
  9129. for k, _ := range v {
  9130. v2[i] = int64(k)
  9131. i++
  9132. }
  9133. sort.Sort(intSlice(v2))
  9134. for _, k2 := range v2 {
  9135. ee.EncodeInt(int64(int16(k2)))
  9136. ee.EncodeInt(int64(v[int16(k2)]))
  9137. }
  9138. } else {
  9139. for k2, v2 := range v {
  9140. ee.EncodeInt(int64(k2))
  9141. ee.EncodeInt(int64(v2))
  9142. }
  9143. }
  9144. ee.EncodeEnd()
  9145. }
  9146. func (f *encFnInfo) fastpathEncMapInt16Int64R(rv reflect.Value) {
  9147. fastpathTV.EncMapInt16Int64V(rv.Interface().(map[int16]int64), fastpathCheckNilFalse, f.e)
  9148. }
  9149. func (_ fastpathT) EncMapInt16Int64V(v map[int16]int64, checkNil bool, e *Encoder) {
  9150. ee := e.e
  9151. if checkNil && v == nil {
  9152. ee.EncodeNil()
  9153. return
  9154. }
  9155. ee.EncodeMapStart(len(v))
  9156. if e.h.Canonical {
  9157. v2 := make([]int64, len(v))
  9158. var i int
  9159. for k, _ := range v {
  9160. v2[i] = int64(k)
  9161. i++
  9162. }
  9163. sort.Sort(intSlice(v2))
  9164. for _, k2 := range v2 {
  9165. ee.EncodeInt(int64(int16(k2)))
  9166. ee.EncodeInt(int64(v[int16(k2)]))
  9167. }
  9168. } else {
  9169. for k2, v2 := range v {
  9170. ee.EncodeInt(int64(k2))
  9171. ee.EncodeInt(int64(v2))
  9172. }
  9173. }
  9174. ee.EncodeEnd()
  9175. }
  9176. func (f *encFnInfo) fastpathEncMapInt16Float32R(rv reflect.Value) {
  9177. fastpathTV.EncMapInt16Float32V(rv.Interface().(map[int16]float32), fastpathCheckNilFalse, f.e)
  9178. }
  9179. func (_ fastpathT) EncMapInt16Float32V(v map[int16]float32, checkNil bool, e *Encoder) {
  9180. ee := e.e
  9181. if checkNil && v == nil {
  9182. ee.EncodeNil()
  9183. return
  9184. }
  9185. ee.EncodeMapStart(len(v))
  9186. if e.h.Canonical {
  9187. v2 := make([]int64, len(v))
  9188. var i int
  9189. for k, _ := range v {
  9190. v2[i] = int64(k)
  9191. i++
  9192. }
  9193. sort.Sort(intSlice(v2))
  9194. for _, k2 := range v2 {
  9195. ee.EncodeInt(int64(int16(k2)))
  9196. ee.EncodeFloat32(v[int16(k2)])
  9197. }
  9198. } else {
  9199. for k2, v2 := range v {
  9200. ee.EncodeInt(int64(k2))
  9201. ee.EncodeFloat32(v2)
  9202. }
  9203. }
  9204. ee.EncodeEnd()
  9205. }
  9206. func (f *encFnInfo) fastpathEncMapInt16Float64R(rv reflect.Value) {
  9207. fastpathTV.EncMapInt16Float64V(rv.Interface().(map[int16]float64), fastpathCheckNilFalse, f.e)
  9208. }
  9209. func (_ fastpathT) EncMapInt16Float64V(v map[int16]float64, checkNil bool, e *Encoder) {
  9210. ee := e.e
  9211. if checkNil && v == nil {
  9212. ee.EncodeNil()
  9213. return
  9214. }
  9215. ee.EncodeMapStart(len(v))
  9216. if e.h.Canonical {
  9217. v2 := make([]int64, len(v))
  9218. var i int
  9219. for k, _ := range v {
  9220. v2[i] = int64(k)
  9221. i++
  9222. }
  9223. sort.Sort(intSlice(v2))
  9224. for _, k2 := range v2 {
  9225. ee.EncodeInt(int64(int16(k2)))
  9226. ee.EncodeFloat64(v[int16(k2)])
  9227. }
  9228. } else {
  9229. for k2, v2 := range v {
  9230. ee.EncodeInt(int64(k2))
  9231. ee.EncodeFloat64(v2)
  9232. }
  9233. }
  9234. ee.EncodeEnd()
  9235. }
  9236. func (f *encFnInfo) fastpathEncMapInt16BoolR(rv reflect.Value) {
  9237. fastpathTV.EncMapInt16BoolV(rv.Interface().(map[int16]bool), fastpathCheckNilFalse, f.e)
  9238. }
  9239. func (_ fastpathT) EncMapInt16BoolV(v map[int16]bool, checkNil bool, e *Encoder) {
  9240. ee := e.e
  9241. if checkNil && v == nil {
  9242. ee.EncodeNil()
  9243. return
  9244. }
  9245. ee.EncodeMapStart(len(v))
  9246. if e.h.Canonical {
  9247. v2 := make([]int64, len(v))
  9248. var i int
  9249. for k, _ := range v {
  9250. v2[i] = int64(k)
  9251. i++
  9252. }
  9253. sort.Sort(intSlice(v2))
  9254. for _, k2 := range v2 {
  9255. ee.EncodeInt(int64(int16(k2)))
  9256. ee.EncodeBool(v[int16(k2)])
  9257. }
  9258. } else {
  9259. for k2, v2 := range v {
  9260. ee.EncodeInt(int64(k2))
  9261. ee.EncodeBool(v2)
  9262. }
  9263. }
  9264. ee.EncodeEnd()
  9265. }
  9266. func (f *encFnInfo) fastpathEncMapInt32IntfR(rv reflect.Value) {
  9267. fastpathTV.EncMapInt32IntfV(rv.Interface().(map[int32]interface{}), fastpathCheckNilFalse, f.e)
  9268. }
  9269. func (_ fastpathT) EncMapInt32IntfV(v map[int32]interface{}, checkNil bool, e *Encoder) {
  9270. ee := e.e
  9271. if checkNil && v == nil {
  9272. ee.EncodeNil()
  9273. return
  9274. }
  9275. ee.EncodeMapStart(len(v))
  9276. if e.h.Canonical {
  9277. v2 := make([]int64, len(v))
  9278. var i int
  9279. for k, _ := range v {
  9280. v2[i] = int64(k)
  9281. i++
  9282. }
  9283. sort.Sort(intSlice(v2))
  9284. for _, k2 := range v2 {
  9285. ee.EncodeInt(int64(int32(k2)))
  9286. e.encode(v[int32(k2)])
  9287. }
  9288. } else {
  9289. for k2, v2 := range v {
  9290. ee.EncodeInt(int64(k2))
  9291. e.encode(v2)
  9292. }
  9293. }
  9294. ee.EncodeEnd()
  9295. }
  9296. func (f *encFnInfo) fastpathEncMapInt32StringR(rv reflect.Value) {
  9297. fastpathTV.EncMapInt32StringV(rv.Interface().(map[int32]string), fastpathCheckNilFalse, f.e)
  9298. }
  9299. func (_ fastpathT) EncMapInt32StringV(v map[int32]string, checkNil bool, e *Encoder) {
  9300. ee := e.e
  9301. if checkNil && v == nil {
  9302. ee.EncodeNil()
  9303. return
  9304. }
  9305. ee.EncodeMapStart(len(v))
  9306. if e.h.Canonical {
  9307. v2 := make([]int64, len(v))
  9308. var i int
  9309. for k, _ := range v {
  9310. v2[i] = int64(k)
  9311. i++
  9312. }
  9313. sort.Sort(intSlice(v2))
  9314. for _, k2 := range v2 {
  9315. ee.EncodeInt(int64(int32(k2)))
  9316. ee.EncodeString(c_UTF8, v[int32(k2)])
  9317. }
  9318. } else {
  9319. for k2, v2 := range v {
  9320. ee.EncodeInt(int64(k2))
  9321. ee.EncodeString(c_UTF8, v2)
  9322. }
  9323. }
  9324. ee.EncodeEnd()
  9325. }
  9326. func (f *encFnInfo) fastpathEncMapInt32UintR(rv reflect.Value) {
  9327. fastpathTV.EncMapInt32UintV(rv.Interface().(map[int32]uint), fastpathCheckNilFalse, f.e)
  9328. }
  9329. func (_ fastpathT) EncMapInt32UintV(v map[int32]uint, checkNil bool, e *Encoder) {
  9330. ee := e.e
  9331. if checkNil && v == nil {
  9332. ee.EncodeNil()
  9333. return
  9334. }
  9335. ee.EncodeMapStart(len(v))
  9336. if e.h.Canonical {
  9337. v2 := make([]int64, len(v))
  9338. var i int
  9339. for k, _ := range v {
  9340. v2[i] = int64(k)
  9341. i++
  9342. }
  9343. sort.Sort(intSlice(v2))
  9344. for _, k2 := range v2 {
  9345. ee.EncodeInt(int64(int32(k2)))
  9346. ee.EncodeUint(uint64(v[int32(k2)]))
  9347. }
  9348. } else {
  9349. for k2, v2 := range v {
  9350. ee.EncodeInt(int64(k2))
  9351. ee.EncodeUint(uint64(v2))
  9352. }
  9353. }
  9354. ee.EncodeEnd()
  9355. }
  9356. func (f *encFnInfo) fastpathEncMapInt32Uint8R(rv reflect.Value) {
  9357. fastpathTV.EncMapInt32Uint8V(rv.Interface().(map[int32]uint8), fastpathCheckNilFalse, f.e)
  9358. }
  9359. func (_ fastpathT) EncMapInt32Uint8V(v map[int32]uint8, checkNil bool, e *Encoder) {
  9360. ee := e.e
  9361. if checkNil && v == nil {
  9362. ee.EncodeNil()
  9363. return
  9364. }
  9365. ee.EncodeMapStart(len(v))
  9366. if e.h.Canonical {
  9367. v2 := make([]int64, len(v))
  9368. var i int
  9369. for k, _ := range v {
  9370. v2[i] = int64(k)
  9371. i++
  9372. }
  9373. sort.Sort(intSlice(v2))
  9374. for _, k2 := range v2 {
  9375. ee.EncodeInt(int64(int32(k2)))
  9376. ee.EncodeUint(uint64(v[int32(k2)]))
  9377. }
  9378. } else {
  9379. for k2, v2 := range v {
  9380. ee.EncodeInt(int64(k2))
  9381. ee.EncodeUint(uint64(v2))
  9382. }
  9383. }
  9384. ee.EncodeEnd()
  9385. }
  9386. func (f *encFnInfo) fastpathEncMapInt32Uint16R(rv reflect.Value) {
  9387. fastpathTV.EncMapInt32Uint16V(rv.Interface().(map[int32]uint16), fastpathCheckNilFalse, f.e)
  9388. }
  9389. func (_ fastpathT) EncMapInt32Uint16V(v map[int32]uint16, checkNil bool, e *Encoder) {
  9390. ee := e.e
  9391. if checkNil && v == nil {
  9392. ee.EncodeNil()
  9393. return
  9394. }
  9395. ee.EncodeMapStart(len(v))
  9396. if e.h.Canonical {
  9397. v2 := make([]int64, len(v))
  9398. var i int
  9399. for k, _ := range v {
  9400. v2[i] = int64(k)
  9401. i++
  9402. }
  9403. sort.Sort(intSlice(v2))
  9404. for _, k2 := range v2 {
  9405. ee.EncodeInt(int64(int32(k2)))
  9406. ee.EncodeUint(uint64(v[int32(k2)]))
  9407. }
  9408. } else {
  9409. for k2, v2 := range v {
  9410. ee.EncodeInt(int64(k2))
  9411. ee.EncodeUint(uint64(v2))
  9412. }
  9413. }
  9414. ee.EncodeEnd()
  9415. }
  9416. func (f *encFnInfo) fastpathEncMapInt32Uint32R(rv reflect.Value) {
  9417. fastpathTV.EncMapInt32Uint32V(rv.Interface().(map[int32]uint32), fastpathCheckNilFalse, f.e)
  9418. }
  9419. func (_ fastpathT) EncMapInt32Uint32V(v map[int32]uint32, checkNil bool, e *Encoder) {
  9420. ee := e.e
  9421. if checkNil && v == nil {
  9422. ee.EncodeNil()
  9423. return
  9424. }
  9425. ee.EncodeMapStart(len(v))
  9426. if e.h.Canonical {
  9427. v2 := make([]int64, len(v))
  9428. var i int
  9429. for k, _ := range v {
  9430. v2[i] = int64(k)
  9431. i++
  9432. }
  9433. sort.Sort(intSlice(v2))
  9434. for _, k2 := range v2 {
  9435. ee.EncodeInt(int64(int32(k2)))
  9436. ee.EncodeUint(uint64(v[int32(k2)]))
  9437. }
  9438. } else {
  9439. for k2, v2 := range v {
  9440. ee.EncodeInt(int64(k2))
  9441. ee.EncodeUint(uint64(v2))
  9442. }
  9443. }
  9444. ee.EncodeEnd()
  9445. }
  9446. func (f *encFnInfo) fastpathEncMapInt32Uint64R(rv reflect.Value) {
  9447. fastpathTV.EncMapInt32Uint64V(rv.Interface().(map[int32]uint64), fastpathCheckNilFalse, f.e)
  9448. }
  9449. func (_ fastpathT) EncMapInt32Uint64V(v map[int32]uint64, checkNil bool, e *Encoder) {
  9450. ee := e.e
  9451. if checkNil && v == nil {
  9452. ee.EncodeNil()
  9453. return
  9454. }
  9455. ee.EncodeMapStart(len(v))
  9456. if e.h.Canonical {
  9457. v2 := make([]int64, len(v))
  9458. var i int
  9459. for k, _ := range v {
  9460. v2[i] = int64(k)
  9461. i++
  9462. }
  9463. sort.Sort(intSlice(v2))
  9464. for _, k2 := range v2 {
  9465. ee.EncodeInt(int64(int32(k2)))
  9466. ee.EncodeUint(uint64(v[int32(k2)]))
  9467. }
  9468. } else {
  9469. for k2, v2 := range v {
  9470. ee.EncodeInt(int64(k2))
  9471. ee.EncodeUint(uint64(v2))
  9472. }
  9473. }
  9474. ee.EncodeEnd()
  9475. }
  9476. func (f *encFnInfo) fastpathEncMapInt32UintptrR(rv reflect.Value) {
  9477. fastpathTV.EncMapInt32UintptrV(rv.Interface().(map[int32]uintptr), fastpathCheckNilFalse, f.e)
  9478. }
  9479. func (_ fastpathT) EncMapInt32UintptrV(v map[int32]uintptr, checkNil bool, e *Encoder) {
  9480. ee := e.e
  9481. if checkNil && v == nil {
  9482. ee.EncodeNil()
  9483. return
  9484. }
  9485. ee.EncodeMapStart(len(v))
  9486. if e.h.Canonical {
  9487. v2 := make([]int64, len(v))
  9488. var i int
  9489. for k, _ := range v {
  9490. v2[i] = int64(k)
  9491. i++
  9492. }
  9493. sort.Sort(intSlice(v2))
  9494. for _, k2 := range v2 {
  9495. ee.EncodeInt(int64(int32(k2)))
  9496. e.encode(v[int32(k2)])
  9497. }
  9498. } else {
  9499. for k2, v2 := range v {
  9500. ee.EncodeInt(int64(k2))
  9501. e.encode(v2)
  9502. }
  9503. }
  9504. ee.EncodeEnd()
  9505. }
  9506. func (f *encFnInfo) fastpathEncMapInt32IntR(rv reflect.Value) {
  9507. fastpathTV.EncMapInt32IntV(rv.Interface().(map[int32]int), fastpathCheckNilFalse, f.e)
  9508. }
  9509. func (_ fastpathT) EncMapInt32IntV(v map[int32]int, checkNil bool, e *Encoder) {
  9510. ee := e.e
  9511. if checkNil && v == nil {
  9512. ee.EncodeNil()
  9513. return
  9514. }
  9515. ee.EncodeMapStart(len(v))
  9516. if e.h.Canonical {
  9517. v2 := make([]int64, len(v))
  9518. var i int
  9519. for k, _ := range v {
  9520. v2[i] = int64(k)
  9521. i++
  9522. }
  9523. sort.Sort(intSlice(v2))
  9524. for _, k2 := range v2 {
  9525. ee.EncodeInt(int64(int32(k2)))
  9526. ee.EncodeInt(int64(v[int32(k2)]))
  9527. }
  9528. } else {
  9529. for k2, v2 := range v {
  9530. ee.EncodeInt(int64(k2))
  9531. ee.EncodeInt(int64(v2))
  9532. }
  9533. }
  9534. ee.EncodeEnd()
  9535. }
  9536. func (f *encFnInfo) fastpathEncMapInt32Int8R(rv reflect.Value) {
  9537. fastpathTV.EncMapInt32Int8V(rv.Interface().(map[int32]int8), fastpathCheckNilFalse, f.e)
  9538. }
  9539. func (_ fastpathT) EncMapInt32Int8V(v map[int32]int8, checkNil bool, e *Encoder) {
  9540. ee := e.e
  9541. if checkNil && v == nil {
  9542. ee.EncodeNil()
  9543. return
  9544. }
  9545. ee.EncodeMapStart(len(v))
  9546. if e.h.Canonical {
  9547. v2 := make([]int64, len(v))
  9548. var i int
  9549. for k, _ := range v {
  9550. v2[i] = int64(k)
  9551. i++
  9552. }
  9553. sort.Sort(intSlice(v2))
  9554. for _, k2 := range v2 {
  9555. ee.EncodeInt(int64(int32(k2)))
  9556. ee.EncodeInt(int64(v[int32(k2)]))
  9557. }
  9558. } else {
  9559. for k2, v2 := range v {
  9560. ee.EncodeInt(int64(k2))
  9561. ee.EncodeInt(int64(v2))
  9562. }
  9563. }
  9564. ee.EncodeEnd()
  9565. }
  9566. func (f *encFnInfo) fastpathEncMapInt32Int16R(rv reflect.Value) {
  9567. fastpathTV.EncMapInt32Int16V(rv.Interface().(map[int32]int16), fastpathCheckNilFalse, f.e)
  9568. }
  9569. func (_ fastpathT) EncMapInt32Int16V(v map[int32]int16, checkNil bool, e *Encoder) {
  9570. ee := e.e
  9571. if checkNil && v == nil {
  9572. ee.EncodeNil()
  9573. return
  9574. }
  9575. ee.EncodeMapStart(len(v))
  9576. if e.h.Canonical {
  9577. v2 := make([]int64, len(v))
  9578. var i int
  9579. for k, _ := range v {
  9580. v2[i] = int64(k)
  9581. i++
  9582. }
  9583. sort.Sort(intSlice(v2))
  9584. for _, k2 := range v2 {
  9585. ee.EncodeInt(int64(int32(k2)))
  9586. ee.EncodeInt(int64(v[int32(k2)]))
  9587. }
  9588. } else {
  9589. for k2, v2 := range v {
  9590. ee.EncodeInt(int64(k2))
  9591. ee.EncodeInt(int64(v2))
  9592. }
  9593. }
  9594. ee.EncodeEnd()
  9595. }
  9596. func (f *encFnInfo) fastpathEncMapInt32Int32R(rv reflect.Value) {
  9597. fastpathTV.EncMapInt32Int32V(rv.Interface().(map[int32]int32), fastpathCheckNilFalse, f.e)
  9598. }
  9599. func (_ fastpathT) EncMapInt32Int32V(v map[int32]int32, checkNil bool, e *Encoder) {
  9600. ee := e.e
  9601. if checkNil && v == nil {
  9602. ee.EncodeNil()
  9603. return
  9604. }
  9605. ee.EncodeMapStart(len(v))
  9606. if e.h.Canonical {
  9607. v2 := make([]int64, len(v))
  9608. var i int
  9609. for k, _ := range v {
  9610. v2[i] = int64(k)
  9611. i++
  9612. }
  9613. sort.Sort(intSlice(v2))
  9614. for _, k2 := range v2 {
  9615. ee.EncodeInt(int64(int32(k2)))
  9616. ee.EncodeInt(int64(v[int32(k2)]))
  9617. }
  9618. } else {
  9619. for k2, v2 := range v {
  9620. ee.EncodeInt(int64(k2))
  9621. ee.EncodeInt(int64(v2))
  9622. }
  9623. }
  9624. ee.EncodeEnd()
  9625. }
  9626. func (f *encFnInfo) fastpathEncMapInt32Int64R(rv reflect.Value) {
  9627. fastpathTV.EncMapInt32Int64V(rv.Interface().(map[int32]int64), fastpathCheckNilFalse, f.e)
  9628. }
  9629. func (_ fastpathT) EncMapInt32Int64V(v map[int32]int64, checkNil bool, e *Encoder) {
  9630. ee := e.e
  9631. if checkNil && v == nil {
  9632. ee.EncodeNil()
  9633. return
  9634. }
  9635. ee.EncodeMapStart(len(v))
  9636. if e.h.Canonical {
  9637. v2 := make([]int64, len(v))
  9638. var i int
  9639. for k, _ := range v {
  9640. v2[i] = int64(k)
  9641. i++
  9642. }
  9643. sort.Sort(intSlice(v2))
  9644. for _, k2 := range v2 {
  9645. ee.EncodeInt(int64(int32(k2)))
  9646. ee.EncodeInt(int64(v[int32(k2)]))
  9647. }
  9648. } else {
  9649. for k2, v2 := range v {
  9650. ee.EncodeInt(int64(k2))
  9651. ee.EncodeInt(int64(v2))
  9652. }
  9653. }
  9654. ee.EncodeEnd()
  9655. }
  9656. func (f *encFnInfo) fastpathEncMapInt32Float32R(rv reflect.Value) {
  9657. fastpathTV.EncMapInt32Float32V(rv.Interface().(map[int32]float32), fastpathCheckNilFalse, f.e)
  9658. }
  9659. func (_ fastpathT) EncMapInt32Float32V(v map[int32]float32, checkNil bool, e *Encoder) {
  9660. ee := e.e
  9661. if checkNil && v == nil {
  9662. ee.EncodeNil()
  9663. return
  9664. }
  9665. ee.EncodeMapStart(len(v))
  9666. if e.h.Canonical {
  9667. v2 := make([]int64, len(v))
  9668. var i int
  9669. for k, _ := range v {
  9670. v2[i] = int64(k)
  9671. i++
  9672. }
  9673. sort.Sort(intSlice(v2))
  9674. for _, k2 := range v2 {
  9675. ee.EncodeInt(int64(int32(k2)))
  9676. ee.EncodeFloat32(v[int32(k2)])
  9677. }
  9678. } else {
  9679. for k2, v2 := range v {
  9680. ee.EncodeInt(int64(k2))
  9681. ee.EncodeFloat32(v2)
  9682. }
  9683. }
  9684. ee.EncodeEnd()
  9685. }
  9686. func (f *encFnInfo) fastpathEncMapInt32Float64R(rv reflect.Value) {
  9687. fastpathTV.EncMapInt32Float64V(rv.Interface().(map[int32]float64), fastpathCheckNilFalse, f.e)
  9688. }
  9689. func (_ fastpathT) EncMapInt32Float64V(v map[int32]float64, checkNil bool, e *Encoder) {
  9690. ee := e.e
  9691. if checkNil && v == nil {
  9692. ee.EncodeNil()
  9693. return
  9694. }
  9695. ee.EncodeMapStart(len(v))
  9696. if e.h.Canonical {
  9697. v2 := make([]int64, len(v))
  9698. var i int
  9699. for k, _ := range v {
  9700. v2[i] = int64(k)
  9701. i++
  9702. }
  9703. sort.Sort(intSlice(v2))
  9704. for _, k2 := range v2 {
  9705. ee.EncodeInt(int64(int32(k2)))
  9706. ee.EncodeFloat64(v[int32(k2)])
  9707. }
  9708. } else {
  9709. for k2, v2 := range v {
  9710. ee.EncodeInt(int64(k2))
  9711. ee.EncodeFloat64(v2)
  9712. }
  9713. }
  9714. ee.EncodeEnd()
  9715. }
  9716. func (f *encFnInfo) fastpathEncMapInt32BoolR(rv reflect.Value) {
  9717. fastpathTV.EncMapInt32BoolV(rv.Interface().(map[int32]bool), fastpathCheckNilFalse, f.e)
  9718. }
  9719. func (_ fastpathT) EncMapInt32BoolV(v map[int32]bool, checkNil bool, e *Encoder) {
  9720. ee := e.e
  9721. if checkNil && v == nil {
  9722. ee.EncodeNil()
  9723. return
  9724. }
  9725. ee.EncodeMapStart(len(v))
  9726. if e.h.Canonical {
  9727. v2 := make([]int64, len(v))
  9728. var i int
  9729. for k, _ := range v {
  9730. v2[i] = int64(k)
  9731. i++
  9732. }
  9733. sort.Sort(intSlice(v2))
  9734. for _, k2 := range v2 {
  9735. ee.EncodeInt(int64(int32(k2)))
  9736. ee.EncodeBool(v[int32(k2)])
  9737. }
  9738. } else {
  9739. for k2, v2 := range v {
  9740. ee.EncodeInt(int64(k2))
  9741. ee.EncodeBool(v2)
  9742. }
  9743. }
  9744. ee.EncodeEnd()
  9745. }
  9746. func (f *encFnInfo) fastpathEncMapInt64IntfR(rv reflect.Value) {
  9747. fastpathTV.EncMapInt64IntfV(rv.Interface().(map[int64]interface{}), fastpathCheckNilFalse, f.e)
  9748. }
  9749. func (_ fastpathT) EncMapInt64IntfV(v map[int64]interface{}, checkNil bool, e *Encoder) {
  9750. ee := e.e
  9751. if checkNil && v == nil {
  9752. ee.EncodeNil()
  9753. return
  9754. }
  9755. ee.EncodeMapStart(len(v))
  9756. if e.h.Canonical {
  9757. v2 := make([]int64, len(v))
  9758. var i int
  9759. for k, _ := range v {
  9760. v2[i] = int64(k)
  9761. i++
  9762. }
  9763. sort.Sort(intSlice(v2))
  9764. for _, k2 := range v2 {
  9765. ee.EncodeInt(int64(int64(k2)))
  9766. e.encode(v[int64(k2)])
  9767. }
  9768. } else {
  9769. for k2, v2 := range v {
  9770. ee.EncodeInt(int64(k2))
  9771. e.encode(v2)
  9772. }
  9773. }
  9774. ee.EncodeEnd()
  9775. }
  9776. func (f *encFnInfo) fastpathEncMapInt64StringR(rv reflect.Value) {
  9777. fastpathTV.EncMapInt64StringV(rv.Interface().(map[int64]string), fastpathCheckNilFalse, f.e)
  9778. }
  9779. func (_ fastpathT) EncMapInt64StringV(v map[int64]string, checkNil bool, e *Encoder) {
  9780. ee := e.e
  9781. if checkNil && v == nil {
  9782. ee.EncodeNil()
  9783. return
  9784. }
  9785. ee.EncodeMapStart(len(v))
  9786. if e.h.Canonical {
  9787. v2 := make([]int64, len(v))
  9788. var i int
  9789. for k, _ := range v {
  9790. v2[i] = int64(k)
  9791. i++
  9792. }
  9793. sort.Sort(intSlice(v2))
  9794. for _, k2 := range v2 {
  9795. ee.EncodeInt(int64(int64(k2)))
  9796. ee.EncodeString(c_UTF8, v[int64(k2)])
  9797. }
  9798. } else {
  9799. for k2, v2 := range v {
  9800. ee.EncodeInt(int64(k2))
  9801. ee.EncodeString(c_UTF8, v2)
  9802. }
  9803. }
  9804. ee.EncodeEnd()
  9805. }
  9806. func (f *encFnInfo) fastpathEncMapInt64UintR(rv reflect.Value) {
  9807. fastpathTV.EncMapInt64UintV(rv.Interface().(map[int64]uint), fastpathCheckNilFalse, f.e)
  9808. }
  9809. func (_ fastpathT) EncMapInt64UintV(v map[int64]uint, checkNil bool, e *Encoder) {
  9810. ee := e.e
  9811. if checkNil && v == nil {
  9812. ee.EncodeNil()
  9813. return
  9814. }
  9815. ee.EncodeMapStart(len(v))
  9816. if e.h.Canonical {
  9817. v2 := make([]int64, len(v))
  9818. var i int
  9819. for k, _ := range v {
  9820. v2[i] = int64(k)
  9821. i++
  9822. }
  9823. sort.Sort(intSlice(v2))
  9824. for _, k2 := range v2 {
  9825. ee.EncodeInt(int64(int64(k2)))
  9826. ee.EncodeUint(uint64(v[int64(k2)]))
  9827. }
  9828. } else {
  9829. for k2, v2 := range v {
  9830. ee.EncodeInt(int64(k2))
  9831. ee.EncodeUint(uint64(v2))
  9832. }
  9833. }
  9834. ee.EncodeEnd()
  9835. }
  9836. func (f *encFnInfo) fastpathEncMapInt64Uint8R(rv reflect.Value) {
  9837. fastpathTV.EncMapInt64Uint8V(rv.Interface().(map[int64]uint8), fastpathCheckNilFalse, f.e)
  9838. }
  9839. func (_ fastpathT) EncMapInt64Uint8V(v map[int64]uint8, checkNil bool, e *Encoder) {
  9840. ee := e.e
  9841. if checkNil && v == nil {
  9842. ee.EncodeNil()
  9843. return
  9844. }
  9845. ee.EncodeMapStart(len(v))
  9846. if e.h.Canonical {
  9847. v2 := make([]int64, len(v))
  9848. var i int
  9849. for k, _ := range v {
  9850. v2[i] = int64(k)
  9851. i++
  9852. }
  9853. sort.Sort(intSlice(v2))
  9854. for _, k2 := range v2 {
  9855. ee.EncodeInt(int64(int64(k2)))
  9856. ee.EncodeUint(uint64(v[int64(k2)]))
  9857. }
  9858. } else {
  9859. for k2, v2 := range v {
  9860. ee.EncodeInt(int64(k2))
  9861. ee.EncodeUint(uint64(v2))
  9862. }
  9863. }
  9864. ee.EncodeEnd()
  9865. }
  9866. func (f *encFnInfo) fastpathEncMapInt64Uint16R(rv reflect.Value) {
  9867. fastpathTV.EncMapInt64Uint16V(rv.Interface().(map[int64]uint16), fastpathCheckNilFalse, f.e)
  9868. }
  9869. func (_ fastpathT) EncMapInt64Uint16V(v map[int64]uint16, checkNil bool, e *Encoder) {
  9870. ee := e.e
  9871. if checkNil && v == nil {
  9872. ee.EncodeNil()
  9873. return
  9874. }
  9875. ee.EncodeMapStart(len(v))
  9876. if e.h.Canonical {
  9877. v2 := make([]int64, len(v))
  9878. var i int
  9879. for k, _ := range v {
  9880. v2[i] = int64(k)
  9881. i++
  9882. }
  9883. sort.Sort(intSlice(v2))
  9884. for _, k2 := range v2 {
  9885. ee.EncodeInt(int64(int64(k2)))
  9886. ee.EncodeUint(uint64(v[int64(k2)]))
  9887. }
  9888. } else {
  9889. for k2, v2 := range v {
  9890. ee.EncodeInt(int64(k2))
  9891. ee.EncodeUint(uint64(v2))
  9892. }
  9893. }
  9894. ee.EncodeEnd()
  9895. }
  9896. func (f *encFnInfo) fastpathEncMapInt64Uint32R(rv reflect.Value) {
  9897. fastpathTV.EncMapInt64Uint32V(rv.Interface().(map[int64]uint32), fastpathCheckNilFalse, f.e)
  9898. }
  9899. func (_ fastpathT) EncMapInt64Uint32V(v map[int64]uint32, checkNil bool, e *Encoder) {
  9900. ee := e.e
  9901. if checkNil && v == nil {
  9902. ee.EncodeNil()
  9903. return
  9904. }
  9905. ee.EncodeMapStart(len(v))
  9906. if e.h.Canonical {
  9907. v2 := make([]int64, len(v))
  9908. var i int
  9909. for k, _ := range v {
  9910. v2[i] = int64(k)
  9911. i++
  9912. }
  9913. sort.Sort(intSlice(v2))
  9914. for _, k2 := range v2 {
  9915. ee.EncodeInt(int64(int64(k2)))
  9916. ee.EncodeUint(uint64(v[int64(k2)]))
  9917. }
  9918. } else {
  9919. for k2, v2 := range v {
  9920. ee.EncodeInt(int64(k2))
  9921. ee.EncodeUint(uint64(v2))
  9922. }
  9923. }
  9924. ee.EncodeEnd()
  9925. }
  9926. func (f *encFnInfo) fastpathEncMapInt64Uint64R(rv reflect.Value) {
  9927. fastpathTV.EncMapInt64Uint64V(rv.Interface().(map[int64]uint64), fastpathCheckNilFalse, f.e)
  9928. }
  9929. func (_ fastpathT) EncMapInt64Uint64V(v map[int64]uint64, checkNil bool, e *Encoder) {
  9930. ee := e.e
  9931. if checkNil && v == nil {
  9932. ee.EncodeNil()
  9933. return
  9934. }
  9935. ee.EncodeMapStart(len(v))
  9936. if e.h.Canonical {
  9937. v2 := make([]int64, len(v))
  9938. var i int
  9939. for k, _ := range v {
  9940. v2[i] = int64(k)
  9941. i++
  9942. }
  9943. sort.Sort(intSlice(v2))
  9944. for _, k2 := range v2 {
  9945. ee.EncodeInt(int64(int64(k2)))
  9946. ee.EncodeUint(uint64(v[int64(k2)]))
  9947. }
  9948. } else {
  9949. for k2, v2 := range v {
  9950. ee.EncodeInt(int64(k2))
  9951. ee.EncodeUint(uint64(v2))
  9952. }
  9953. }
  9954. ee.EncodeEnd()
  9955. }
  9956. func (f *encFnInfo) fastpathEncMapInt64UintptrR(rv reflect.Value) {
  9957. fastpathTV.EncMapInt64UintptrV(rv.Interface().(map[int64]uintptr), fastpathCheckNilFalse, f.e)
  9958. }
  9959. func (_ fastpathT) EncMapInt64UintptrV(v map[int64]uintptr, checkNil bool, e *Encoder) {
  9960. ee := e.e
  9961. if checkNil && v == nil {
  9962. ee.EncodeNil()
  9963. return
  9964. }
  9965. ee.EncodeMapStart(len(v))
  9966. if e.h.Canonical {
  9967. v2 := make([]int64, len(v))
  9968. var i int
  9969. for k, _ := range v {
  9970. v2[i] = int64(k)
  9971. i++
  9972. }
  9973. sort.Sort(intSlice(v2))
  9974. for _, k2 := range v2 {
  9975. ee.EncodeInt(int64(int64(k2)))
  9976. e.encode(v[int64(k2)])
  9977. }
  9978. } else {
  9979. for k2, v2 := range v {
  9980. ee.EncodeInt(int64(k2))
  9981. e.encode(v2)
  9982. }
  9983. }
  9984. ee.EncodeEnd()
  9985. }
  9986. func (f *encFnInfo) fastpathEncMapInt64IntR(rv reflect.Value) {
  9987. fastpathTV.EncMapInt64IntV(rv.Interface().(map[int64]int), fastpathCheckNilFalse, f.e)
  9988. }
  9989. func (_ fastpathT) EncMapInt64IntV(v map[int64]int, checkNil bool, e *Encoder) {
  9990. ee := e.e
  9991. if checkNil && v == nil {
  9992. ee.EncodeNil()
  9993. return
  9994. }
  9995. ee.EncodeMapStart(len(v))
  9996. if e.h.Canonical {
  9997. v2 := make([]int64, len(v))
  9998. var i int
  9999. for k, _ := range v {
  10000. v2[i] = int64(k)
  10001. i++
  10002. }
  10003. sort.Sort(intSlice(v2))
  10004. for _, k2 := range v2 {
  10005. ee.EncodeInt(int64(int64(k2)))
  10006. ee.EncodeInt(int64(v[int64(k2)]))
  10007. }
  10008. } else {
  10009. for k2, v2 := range v {
  10010. ee.EncodeInt(int64(k2))
  10011. ee.EncodeInt(int64(v2))
  10012. }
  10013. }
  10014. ee.EncodeEnd()
  10015. }
  10016. func (f *encFnInfo) fastpathEncMapInt64Int8R(rv reflect.Value) {
  10017. fastpathTV.EncMapInt64Int8V(rv.Interface().(map[int64]int8), fastpathCheckNilFalse, f.e)
  10018. }
  10019. func (_ fastpathT) EncMapInt64Int8V(v map[int64]int8, checkNil bool, e *Encoder) {
  10020. ee := e.e
  10021. if checkNil && v == nil {
  10022. ee.EncodeNil()
  10023. return
  10024. }
  10025. ee.EncodeMapStart(len(v))
  10026. if e.h.Canonical {
  10027. v2 := make([]int64, len(v))
  10028. var i int
  10029. for k, _ := range v {
  10030. v2[i] = int64(k)
  10031. i++
  10032. }
  10033. sort.Sort(intSlice(v2))
  10034. for _, k2 := range v2 {
  10035. ee.EncodeInt(int64(int64(k2)))
  10036. ee.EncodeInt(int64(v[int64(k2)]))
  10037. }
  10038. } else {
  10039. for k2, v2 := range v {
  10040. ee.EncodeInt(int64(k2))
  10041. ee.EncodeInt(int64(v2))
  10042. }
  10043. }
  10044. ee.EncodeEnd()
  10045. }
  10046. func (f *encFnInfo) fastpathEncMapInt64Int16R(rv reflect.Value) {
  10047. fastpathTV.EncMapInt64Int16V(rv.Interface().(map[int64]int16), fastpathCheckNilFalse, f.e)
  10048. }
  10049. func (_ fastpathT) EncMapInt64Int16V(v map[int64]int16, checkNil bool, e *Encoder) {
  10050. ee := e.e
  10051. if checkNil && v == nil {
  10052. ee.EncodeNil()
  10053. return
  10054. }
  10055. ee.EncodeMapStart(len(v))
  10056. if e.h.Canonical {
  10057. v2 := make([]int64, len(v))
  10058. var i int
  10059. for k, _ := range v {
  10060. v2[i] = int64(k)
  10061. i++
  10062. }
  10063. sort.Sort(intSlice(v2))
  10064. for _, k2 := range v2 {
  10065. ee.EncodeInt(int64(int64(k2)))
  10066. ee.EncodeInt(int64(v[int64(k2)]))
  10067. }
  10068. } else {
  10069. for k2, v2 := range v {
  10070. ee.EncodeInt(int64(k2))
  10071. ee.EncodeInt(int64(v2))
  10072. }
  10073. }
  10074. ee.EncodeEnd()
  10075. }
  10076. func (f *encFnInfo) fastpathEncMapInt64Int32R(rv reflect.Value) {
  10077. fastpathTV.EncMapInt64Int32V(rv.Interface().(map[int64]int32), fastpathCheckNilFalse, f.e)
  10078. }
  10079. func (_ fastpathT) EncMapInt64Int32V(v map[int64]int32, checkNil bool, e *Encoder) {
  10080. ee := e.e
  10081. if checkNil && v == nil {
  10082. ee.EncodeNil()
  10083. return
  10084. }
  10085. ee.EncodeMapStart(len(v))
  10086. if e.h.Canonical {
  10087. v2 := make([]int64, len(v))
  10088. var i int
  10089. for k, _ := range v {
  10090. v2[i] = int64(k)
  10091. i++
  10092. }
  10093. sort.Sort(intSlice(v2))
  10094. for _, k2 := range v2 {
  10095. ee.EncodeInt(int64(int64(k2)))
  10096. ee.EncodeInt(int64(v[int64(k2)]))
  10097. }
  10098. } else {
  10099. for k2, v2 := range v {
  10100. ee.EncodeInt(int64(k2))
  10101. ee.EncodeInt(int64(v2))
  10102. }
  10103. }
  10104. ee.EncodeEnd()
  10105. }
  10106. func (f *encFnInfo) fastpathEncMapInt64Int64R(rv reflect.Value) {
  10107. fastpathTV.EncMapInt64Int64V(rv.Interface().(map[int64]int64), fastpathCheckNilFalse, f.e)
  10108. }
  10109. func (_ fastpathT) EncMapInt64Int64V(v map[int64]int64, checkNil bool, e *Encoder) {
  10110. ee := e.e
  10111. if checkNil && v == nil {
  10112. ee.EncodeNil()
  10113. return
  10114. }
  10115. ee.EncodeMapStart(len(v))
  10116. if e.h.Canonical {
  10117. v2 := make([]int64, len(v))
  10118. var i int
  10119. for k, _ := range v {
  10120. v2[i] = int64(k)
  10121. i++
  10122. }
  10123. sort.Sort(intSlice(v2))
  10124. for _, k2 := range v2 {
  10125. ee.EncodeInt(int64(int64(k2)))
  10126. ee.EncodeInt(int64(v[int64(k2)]))
  10127. }
  10128. } else {
  10129. for k2, v2 := range v {
  10130. ee.EncodeInt(int64(k2))
  10131. ee.EncodeInt(int64(v2))
  10132. }
  10133. }
  10134. ee.EncodeEnd()
  10135. }
  10136. func (f *encFnInfo) fastpathEncMapInt64Float32R(rv reflect.Value) {
  10137. fastpathTV.EncMapInt64Float32V(rv.Interface().(map[int64]float32), fastpathCheckNilFalse, f.e)
  10138. }
  10139. func (_ fastpathT) EncMapInt64Float32V(v map[int64]float32, checkNil bool, e *Encoder) {
  10140. ee := e.e
  10141. if checkNil && v == nil {
  10142. ee.EncodeNil()
  10143. return
  10144. }
  10145. ee.EncodeMapStart(len(v))
  10146. if e.h.Canonical {
  10147. v2 := make([]int64, len(v))
  10148. var i int
  10149. for k, _ := range v {
  10150. v2[i] = int64(k)
  10151. i++
  10152. }
  10153. sort.Sort(intSlice(v2))
  10154. for _, k2 := range v2 {
  10155. ee.EncodeInt(int64(int64(k2)))
  10156. ee.EncodeFloat32(v[int64(k2)])
  10157. }
  10158. } else {
  10159. for k2, v2 := range v {
  10160. ee.EncodeInt(int64(k2))
  10161. ee.EncodeFloat32(v2)
  10162. }
  10163. }
  10164. ee.EncodeEnd()
  10165. }
  10166. func (f *encFnInfo) fastpathEncMapInt64Float64R(rv reflect.Value) {
  10167. fastpathTV.EncMapInt64Float64V(rv.Interface().(map[int64]float64), fastpathCheckNilFalse, f.e)
  10168. }
  10169. func (_ fastpathT) EncMapInt64Float64V(v map[int64]float64, checkNil bool, e *Encoder) {
  10170. ee := e.e
  10171. if checkNil && v == nil {
  10172. ee.EncodeNil()
  10173. return
  10174. }
  10175. ee.EncodeMapStart(len(v))
  10176. if e.h.Canonical {
  10177. v2 := make([]int64, len(v))
  10178. var i int
  10179. for k, _ := range v {
  10180. v2[i] = int64(k)
  10181. i++
  10182. }
  10183. sort.Sort(intSlice(v2))
  10184. for _, k2 := range v2 {
  10185. ee.EncodeInt(int64(int64(k2)))
  10186. ee.EncodeFloat64(v[int64(k2)])
  10187. }
  10188. } else {
  10189. for k2, v2 := range v {
  10190. ee.EncodeInt(int64(k2))
  10191. ee.EncodeFloat64(v2)
  10192. }
  10193. }
  10194. ee.EncodeEnd()
  10195. }
  10196. func (f *encFnInfo) fastpathEncMapInt64BoolR(rv reflect.Value) {
  10197. fastpathTV.EncMapInt64BoolV(rv.Interface().(map[int64]bool), fastpathCheckNilFalse, f.e)
  10198. }
  10199. func (_ fastpathT) EncMapInt64BoolV(v map[int64]bool, checkNil bool, e *Encoder) {
  10200. ee := e.e
  10201. if checkNil && v == nil {
  10202. ee.EncodeNil()
  10203. return
  10204. }
  10205. ee.EncodeMapStart(len(v))
  10206. if e.h.Canonical {
  10207. v2 := make([]int64, len(v))
  10208. var i int
  10209. for k, _ := range v {
  10210. v2[i] = int64(k)
  10211. i++
  10212. }
  10213. sort.Sort(intSlice(v2))
  10214. for _, k2 := range v2 {
  10215. ee.EncodeInt(int64(int64(k2)))
  10216. ee.EncodeBool(v[int64(k2)])
  10217. }
  10218. } else {
  10219. for k2, v2 := range v {
  10220. ee.EncodeInt(int64(k2))
  10221. ee.EncodeBool(v2)
  10222. }
  10223. }
  10224. ee.EncodeEnd()
  10225. }
  10226. func (f *encFnInfo) fastpathEncMapBoolIntfR(rv reflect.Value) {
  10227. fastpathTV.EncMapBoolIntfV(rv.Interface().(map[bool]interface{}), fastpathCheckNilFalse, f.e)
  10228. }
  10229. func (_ fastpathT) EncMapBoolIntfV(v map[bool]interface{}, checkNil bool, e *Encoder) {
  10230. ee := e.e
  10231. if checkNil && v == nil {
  10232. ee.EncodeNil()
  10233. return
  10234. }
  10235. ee.EncodeMapStart(len(v))
  10236. if e.h.Canonical {
  10237. v2 := make([]bool, len(v))
  10238. var i int
  10239. for k, _ := range v {
  10240. v2[i] = bool(k)
  10241. i++
  10242. }
  10243. sort.Sort(boolSlice(v2))
  10244. for _, k2 := range v2 {
  10245. ee.EncodeBool(bool(k2))
  10246. e.encode(v[bool(k2)])
  10247. }
  10248. } else {
  10249. for k2, v2 := range v {
  10250. ee.EncodeBool(k2)
  10251. e.encode(v2)
  10252. }
  10253. }
  10254. ee.EncodeEnd()
  10255. }
  10256. func (f *encFnInfo) fastpathEncMapBoolStringR(rv reflect.Value) {
  10257. fastpathTV.EncMapBoolStringV(rv.Interface().(map[bool]string), fastpathCheckNilFalse, f.e)
  10258. }
  10259. func (_ fastpathT) EncMapBoolStringV(v map[bool]string, checkNil bool, e *Encoder) {
  10260. ee := e.e
  10261. if checkNil && v == nil {
  10262. ee.EncodeNil()
  10263. return
  10264. }
  10265. ee.EncodeMapStart(len(v))
  10266. if e.h.Canonical {
  10267. v2 := make([]bool, len(v))
  10268. var i int
  10269. for k, _ := range v {
  10270. v2[i] = bool(k)
  10271. i++
  10272. }
  10273. sort.Sort(boolSlice(v2))
  10274. for _, k2 := range v2 {
  10275. ee.EncodeBool(bool(k2))
  10276. ee.EncodeString(c_UTF8, v[bool(k2)])
  10277. }
  10278. } else {
  10279. for k2, v2 := range v {
  10280. ee.EncodeBool(k2)
  10281. ee.EncodeString(c_UTF8, v2)
  10282. }
  10283. }
  10284. ee.EncodeEnd()
  10285. }
  10286. func (f *encFnInfo) fastpathEncMapBoolUintR(rv reflect.Value) {
  10287. fastpathTV.EncMapBoolUintV(rv.Interface().(map[bool]uint), fastpathCheckNilFalse, f.e)
  10288. }
  10289. func (_ fastpathT) EncMapBoolUintV(v map[bool]uint, checkNil bool, e *Encoder) {
  10290. ee := e.e
  10291. if checkNil && v == nil {
  10292. ee.EncodeNil()
  10293. return
  10294. }
  10295. ee.EncodeMapStart(len(v))
  10296. if e.h.Canonical {
  10297. v2 := make([]bool, len(v))
  10298. var i int
  10299. for k, _ := range v {
  10300. v2[i] = bool(k)
  10301. i++
  10302. }
  10303. sort.Sort(boolSlice(v2))
  10304. for _, k2 := range v2 {
  10305. ee.EncodeBool(bool(k2))
  10306. ee.EncodeUint(uint64(v[bool(k2)]))
  10307. }
  10308. } else {
  10309. for k2, v2 := range v {
  10310. ee.EncodeBool(k2)
  10311. ee.EncodeUint(uint64(v2))
  10312. }
  10313. }
  10314. ee.EncodeEnd()
  10315. }
  10316. func (f *encFnInfo) fastpathEncMapBoolUint8R(rv reflect.Value) {
  10317. fastpathTV.EncMapBoolUint8V(rv.Interface().(map[bool]uint8), fastpathCheckNilFalse, f.e)
  10318. }
  10319. func (_ fastpathT) EncMapBoolUint8V(v map[bool]uint8, checkNil bool, e *Encoder) {
  10320. ee := e.e
  10321. if checkNil && v == nil {
  10322. ee.EncodeNil()
  10323. return
  10324. }
  10325. ee.EncodeMapStart(len(v))
  10326. if e.h.Canonical {
  10327. v2 := make([]bool, len(v))
  10328. var i int
  10329. for k, _ := range v {
  10330. v2[i] = bool(k)
  10331. i++
  10332. }
  10333. sort.Sort(boolSlice(v2))
  10334. for _, k2 := range v2 {
  10335. ee.EncodeBool(bool(k2))
  10336. ee.EncodeUint(uint64(v[bool(k2)]))
  10337. }
  10338. } else {
  10339. for k2, v2 := range v {
  10340. ee.EncodeBool(k2)
  10341. ee.EncodeUint(uint64(v2))
  10342. }
  10343. }
  10344. ee.EncodeEnd()
  10345. }
  10346. func (f *encFnInfo) fastpathEncMapBoolUint16R(rv reflect.Value) {
  10347. fastpathTV.EncMapBoolUint16V(rv.Interface().(map[bool]uint16), fastpathCheckNilFalse, f.e)
  10348. }
  10349. func (_ fastpathT) EncMapBoolUint16V(v map[bool]uint16, checkNil bool, e *Encoder) {
  10350. ee := e.e
  10351. if checkNil && v == nil {
  10352. ee.EncodeNil()
  10353. return
  10354. }
  10355. ee.EncodeMapStart(len(v))
  10356. if e.h.Canonical {
  10357. v2 := make([]bool, len(v))
  10358. var i int
  10359. for k, _ := range v {
  10360. v2[i] = bool(k)
  10361. i++
  10362. }
  10363. sort.Sort(boolSlice(v2))
  10364. for _, k2 := range v2 {
  10365. ee.EncodeBool(bool(k2))
  10366. ee.EncodeUint(uint64(v[bool(k2)]))
  10367. }
  10368. } else {
  10369. for k2, v2 := range v {
  10370. ee.EncodeBool(k2)
  10371. ee.EncodeUint(uint64(v2))
  10372. }
  10373. }
  10374. ee.EncodeEnd()
  10375. }
  10376. func (f *encFnInfo) fastpathEncMapBoolUint32R(rv reflect.Value) {
  10377. fastpathTV.EncMapBoolUint32V(rv.Interface().(map[bool]uint32), fastpathCheckNilFalse, f.e)
  10378. }
  10379. func (_ fastpathT) EncMapBoolUint32V(v map[bool]uint32, checkNil bool, e *Encoder) {
  10380. ee := e.e
  10381. if checkNil && v == nil {
  10382. ee.EncodeNil()
  10383. return
  10384. }
  10385. ee.EncodeMapStart(len(v))
  10386. if e.h.Canonical {
  10387. v2 := make([]bool, len(v))
  10388. var i int
  10389. for k, _ := range v {
  10390. v2[i] = bool(k)
  10391. i++
  10392. }
  10393. sort.Sort(boolSlice(v2))
  10394. for _, k2 := range v2 {
  10395. ee.EncodeBool(bool(k2))
  10396. ee.EncodeUint(uint64(v[bool(k2)]))
  10397. }
  10398. } else {
  10399. for k2, v2 := range v {
  10400. ee.EncodeBool(k2)
  10401. ee.EncodeUint(uint64(v2))
  10402. }
  10403. }
  10404. ee.EncodeEnd()
  10405. }
  10406. func (f *encFnInfo) fastpathEncMapBoolUint64R(rv reflect.Value) {
  10407. fastpathTV.EncMapBoolUint64V(rv.Interface().(map[bool]uint64), fastpathCheckNilFalse, f.e)
  10408. }
  10409. func (_ fastpathT) EncMapBoolUint64V(v map[bool]uint64, checkNil bool, e *Encoder) {
  10410. ee := e.e
  10411. if checkNil && v == nil {
  10412. ee.EncodeNil()
  10413. return
  10414. }
  10415. ee.EncodeMapStart(len(v))
  10416. if e.h.Canonical {
  10417. v2 := make([]bool, len(v))
  10418. var i int
  10419. for k, _ := range v {
  10420. v2[i] = bool(k)
  10421. i++
  10422. }
  10423. sort.Sort(boolSlice(v2))
  10424. for _, k2 := range v2 {
  10425. ee.EncodeBool(bool(k2))
  10426. ee.EncodeUint(uint64(v[bool(k2)]))
  10427. }
  10428. } else {
  10429. for k2, v2 := range v {
  10430. ee.EncodeBool(k2)
  10431. ee.EncodeUint(uint64(v2))
  10432. }
  10433. }
  10434. ee.EncodeEnd()
  10435. }
  10436. func (f *encFnInfo) fastpathEncMapBoolUintptrR(rv reflect.Value) {
  10437. fastpathTV.EncMapBoolUintptrV(rv.Interface().(map[bool]uintptr), fastpathCheckNilFalse, f.e)
  10438. }
  10439. func (_ fastpathT) EncMapBoolUintptrV(v map[bool]uintptr, checkNil bool, e *Encoder) {
  10440. ee := e.e
  10441. if checkNil && v == nil {
  10442. ee.EncodeNil()
  10443. return
  10444. }
  10445. ee.EncodeMapStart(len(v))
  10446. if e.h.Canonical {
  10447. v2 := make([]bool, len(v))
  10448. var i int
  10449. for k, _ := range v {
  10450. v2[i] = bool(k)
  10451. i++
  10452. }
  10453. sort.Sort(boolSlice(v2))
  10454. for _, k2 := range v2 {
  10455. ee.EncodeBool(bool(k2))
  10456. e.encode(v[bool(k2)])
  10457. }
  10458. } else {
  10459. for k2, v2 := range v {
  10460. ee.EncodeBool(k2)
  10461. e.encode(v2)
  10462. }
  10463. }
  10464. ee.EncodeEnd()
  10465. }
  10466. func (f *encFnInfo) fastpathEncMapBoolIntR(rv reflect.Value) {
  10467. fastpathTV.EncMapBoolIntV(rv.Interface().(map[bool]int), fastpathCheckNilFalse, f.e)
  10468. }
  10469. func (_ fastpathT) EncMapBoolIntV(v map[bool]int, checkNil bool, e *Encoder) {
  10470. ee := e.e
  10471. if checkNil && v == nil {
  10472. ee.EncodeNil()
  10473. return
  10474. }
  10475. ee.EncodeMapStart(len(v))
  10476. if e.h.Canonical {
  10477. v2 := make([]bool, len(v))
  10478. var i int
  10479. for k, _ := range v {
  10480. v2[i] = bool(k)
  10481. i++
  10482. }
  10483. sort.Sort(boolSlice(v2))
  10484. for _, k2 := range v2 {
  10485. ee.EncodeBool(bool(k2))
  10486. ee.EncodeInt(int64(v[bool(k2)]))
  10487. }
  10488. } else {
  10489. for k2, v2 := range v {
  10490. ee.EncodeBool(k2)
  10491. ee.EncodeInt(int64(v2))
  10492. }
  10493. }
  10494. ee.EncodeEnd()
  10495. }
  10496. func (f *encFnInfo) fastpathEncMapBoolInt8R(rv reflect.Value) {
  10497. fastpathTV.EncMapBoolInt8V(rv.Interface().(map[bool]int8), fastpathCheckNilFalse, f.e)
  10498. }
  10499. func (_ fastpathT) EncMapBoolInt8V(v map[bool]int8, checkNil bool, e *Encoder) {
  10500. ee := e.e
  10501. if checkNil && v == nil {
  10502. ee.EncodeNil()
  10503. return
  10504. }
  10505. ee.EncodeMapStart(len(v))
  10506. if e.h.Canonical {
  10507. v2 := make([]bool, len(v))
  10508. var i int
  10509. for k, _ := range v {
  10510. v2[i] = bool(k)
  10511. i++
  10512. }
  10513. sort.Sort(boolSlice(v2))
  10514. for _, k2 := range v2 {
  10515. ee.EncodeBool(bool(k2))
  10516. ee.EncodeInt(int64(v[bool(k2)]))
  10517. }
  10518. } else {
  10519. for k2, v2 := range v {
  10520. ee.EncodeBool(k2)
  10521. ee.EncodeInt(int64(v2))
  10522. }
  10523. }
  10524. ee.EncodeEnd()
  10525. }
  10526. func (f *encFnInfo) fastpathEncMapBoolInt16R(rv reflect.Value) {
  10527. fastpathTV.EncMapBoolInt16V(rv.Interface().(map[bool]int16), fastpathCheckNilFalse, f.e)
  10528. }
  10529. func (_ fastpathT) EncMapBoolInt16V(v map[bool]int16, checkNil bool, e *Encoder) {
  10530. ee := e.e
  10531. if checkNil && v == nil {
  10532. ee.EncodeNil()
  10533. return
  10534. }
  10535. ee.EncodeMapStart(len(v))
  10536. if e.h.Canonical {
  10537. v2 := make([]bool, len(v))
  10538. var i int
  10539. for k, _ := range v {
  10540. v2[i] = bool(k)
  10541. i++
  10542. }
  10543. sort.Sort(boolSlice(v2))
  10544. for _, k2 := range v2 {
  10545. ee.EncodeBool(bool(k2))
  10546. ee.EncodeInt(int64(v[bool(k2)]))
  10547. }
  10548. } else {
  10549. for k2, v2 := range v {
  10550. ee.EncodeBool(k2)
  10551. ee.EncodeInt(int64(v2))
  10552. }
  10553. }
  10554. ee.EncodeEnd()
  10555. }
  10556. func (f *encFnInfo) fastpathEncMapBoolInt32R(rv reflect.Value) {
  10557. fastpathTV.EncMapBoolInt32V(rv.Interface().(map[bool]int32), fastpathCheckNilFalse, f.e)
  10558. }
  10559. func (_ fastpathT) EncMapBoolInt32V(v map[bool]int32, checkNil bool, e *Encoder) {
  10560. ee := e.e
  10561. if checkNil && v == nil {
  10562. ee.EncodeNil()
  10563. return
  10564. }
  10565. ee.EncodeMapStart(len(v))
  10566. if e.h.Canonical {
  10567. v2 := make([]bool, len(v))
  10568. var i int
  10569. for k, _ := range v {
  10570. v2[i] = bool(k)
  10571. i++
  10572. }
  10573. sort.Sort(boolSlice(v2))
  10574. for _, k2 := range v2 {
  10575. ee.EncodeBool(bool(k2))
  10576. ee.EncodeInt(int64(v[bool(k2)]))
  10577. }
  10578. } else {
  10579. for k2, v2 := range v {
  10580. ee.EncodeBool(k2)
  10581. ee.EncodeInt(int64(v2))
  10582. }
  10583. }
  10584. ee.EncodeEnd()
  10585. }
  10586. func (f *encFnInfo) fastpathEncMapBoolInt64R(rv reflect.Value) {
  10587. fastpathTV.EncMapBoolInt64V(rv.Interface().(map[bool]int64), fastpathCheckNilFalse, f.e)
  10588. }
  10589. func (_ fastpathT) EncMapBoolInt64V(v map[bool]int64, checkNil bool, e *Encoder) {
  10590. ee := e.e
  10591. if checkNil && v == nil {
  10592. ee.EncodeNil()
  10593. return
  10594. }
  10595. ee.EncodeMapStart(len(v))
  10596. if e.h.Canonical {
  10597. v2 := make([]bool, len(v))
  10598. var i int
  10599. for k, _ := range v {
  10600. v2[i] = bool(k)
  10601. i++
  10602. }
  10603. sort.Sort(boolSlice(v2))
  10604. for _, k2 := range v2 {
  10605. ee.EncodeBool(bool(k2))
  10606. ee.EncodeInt(int64(v[bool(k2)]))
  10607. }
  10608. } else {
  10609. for k2, v2 := range v {
  10610. ee.EncodeBool(k2)
  10611. ee.EncodeInt(int64(v2))
  10612. }
  10613. }
  10614. ee.EncodeEnd()
  10615. }
  10616. func (f *encFnInfo) fastpathEncMapBoolFloat32R(rv reflect.Value) {
  10617. fastpathTV.EncMapBoolFloat32V(rv.Interface().(map[bool]float32), fastpathCheckNilFalse, f.e)
  10618. }
  10619. func (_ fastpathT) EncMapBoolFloat32V(v map[bool]float32, checkNil bool, e *Encoder) {
  10620. ee := e.e
  10621. if checkNil && v == nil {
  10622. ee.EncodeNil()
  10623. return
  10624. }
  10625. ee.EncodeMapStart(len(v))
  10626. if e.h.Canonical {
  10627. v2 := make([]bool, len(v))
  10628. var i int
  10629. for k, _ := range v {
  10630. v2[i] = bool(k)
  10631. i++
  10632. }
  10633. sort.Sort(boolSlice(v2))
  10634. for _, k2 := range v2 {
  10635. ee.EncodeBool(bool(k2))
  10636. ee.EncodeFloat32(v[bool(k2)])
  10637. }
  10638. } else {
  10639. for k2, v2 := range v {
  10640. ee.EncodeBool(k2)
  10641. ee.EncodeFloat32(v2)
  10642. }
  10643. }
  10644. ee.EncodeEnd()
  10645. }
  10646. func (f *encFnInfo) fastpathEncMapBoolFloat64R(rv reflect.Value) {
  10647. fastpathTV.EncMapBoolFloat64V(rv.Interface().(map[bool]float64), fastpathCheckNilFalse, f.e)
  10648. }
  10649. func (_ fastpathT) EncMapBoolFloat64V(v map[bool]float64, checkNil bool, e *Encoder) {
  10650. ee := e.e
  10651. if checkNil && v == nil {
  10652. ee.EncodeNil()
  10653. return
  10654. }
  10655. ee.EncodeMapStart(len(v))
  10656. if e.h.Canonical {
  10657. v2 := make([]bool, len(v))
  10658. var i int
  10659. for k, _ := range v {
  10660. v2[i] = bool(k)
  10661. i++
  10662. }
  10663. sort.Sort(boolSlice(v2))
  10664. for _, k2 := range v2 {
  10665. ee.EncodeBool(bool(k2))
  10666. ee.EncodeFloat64(v[bool(k2)])
  10667. }
  10668. } else {
  10669. for k2, v2 := range v {
  10670. ee.EncodeBool(k2)
  10671. ee.EncodeFloat64(v2)
  10672. }
  10673. }
  10674. ee.EncodeEnd()
  10675. }
  10676. func (f *encFnInfo) fastpathEncMapBoolBoolR(rv reflect.Value) {
  10677. fastpathTV.EncMapBoolBoolV(rv.Interface().(map[bool]bool), fastpathCheckNilFalse, f.e)
  10678. }
  10679. func (_ fastpathT) EncMapBoolBoolV(v map[bool]bool, checkNil bool, e *Encoder) {
  10680. ee := e.e
  10681. if checkNil && v == nil {
  10682. ee.EncodeNil()
  10683. return
  10684. }
  10685. ee.EncodeMapStart(len(v))
  10686. if e.h.Canonical {
  10687. v2 := make([]bool, len(v))
  10688. var i int
  10689. for k, _ := range v {
  10690. v2[i] = bool(k)
  10691. i++
  10692. }
  10693. sort.Sort(boolSlice(v2))
  10694. for _, k2 := range v2 {
  10695. ee.EncodeBool(bool(k2))
  10696. ee.EncodeBool(v[bool(k2)])
  10697. }
  10698. } else {
  10699. for k2, v2 := range v {
  10700. ee.EncodeBool(k2)
  10701. ee.EncodeBool(v2)
  10702. }
  10703. }
  10704. ee.EncodeEnd()
  10705. }
  10706. // -- decode
  10707. // -- -- fast path type switch
  10708. func fastpathDecodeTypeSwitch(iv interface{}, d *Decoder) bool {
  10709. switch v := iv.(type) {
  10710. case []interface{}:
  10711. fastpathTV.DecSliceIntfV(v, fastpathCheckNilFalse, false, d)
  10712. case *[]interface{}:
  10713. v2, changed2 := fastpathTV.DecSliceIntfV(*v, fastpathCheckNilFalse, true, d)
  10714. if changed2 {
  10715. *v = v2
  10716. }
  10717. case map[interface{}]interface{}:
  10718. fastpathTV.DecMapIntfIntfV(v, fastpathCheckNilFalse, false, d)
  10719. case *map[interface{}]interface{}:
  10720. v2, changed2 := fastpathTV.DecMapIntfIntfV(*v, fastpathCheckNilFalse, true, d)
  10721. if changed2 {
  10722. *v = v2
  10723. }
  10724. case map[interface{}]string:
  10725. fastpathTV.DecMapIntfStringV(v, fastpathCheckNilFalse, false, d)
  10726. case *map[interface{}]string:
  10727. v2, changed2 := fastpathTV.DecMapIntfStringV(*v, fastpathCheckNilFalse, true, d)
  10728. if changed2 {
  10729. *v = v2
  10730. }
  10731. case map[interface{}]uint:
  10732. fastpathTV.DecMapIntfUintV(v, fastpathCheckNilFalse, false, d)
  10733. case *map[interface{}]uint:
  10734. v2, changed2 := fastpathTV.DecMapIntfUintV(*v, fastpathCheckNilFalse, true, d)
  10735. if changed2 {
  10736. *v = v2
  10737. }
  10738. case map[interface{}]uint8:
  10739. fastpathTV.DecMapIntfUint8V(v, fastpathCheckNilFalse, false, d)
  10740. case *map[interface{}]uint8:
  10741. v2, changed2 := fastpathTV.DecMapIntfUint8V(*v, fastpathCheckNilFalse, true, d)
  10742. if changed2 {
  10743. *v = v2
  10744. }
  10745. case map[interface{}]uint16:
  10746. fastpathTV.DecMapIntfUint16V(v, fastpathCheckNilFalse, false, d)
  10747. case *map[interface{}]uint16:
  10748. v2, changed2 := fastpathTV.DecMapIntfUint16V(*v, fastpathCheckNilFalse, true, d)
  10749. if changed2 {
  10750. *v = v2
  10751. }
  10752. case map[interface{}]uint32:
  10753. fastpathTV.DecMapIntfUint32V(v, fastpathCheckNilFalse, false, d)
  10754. case *map[interface{}]uint32:
  10755. v2, changed2 := fastpathTV.DecMapIntfUint32V(*v, fastpathCheckNilFalse, true, d)
  10756. if changed2 {
  10757. *v = v2
  10758. }
  10759. case map[interface{}]uint64:
  10760. fastpathTV.DecMapIntfUint64V(v, fastpathCheckNilFalse, false, d)
  10761. case *map[interface{}]uint64:
  10762. v2, changed2 := fastpathTV.DecMapIntfUint64V(*v, fastpathCheckNilFalse, true, d)
  10763. if changed2 {
  10764. *v = v2
  10765. }
  10766. case map[interface{}]uintptr:
  10767. fastpathTV.DecMapIntfUintptrV(v, fastpathCheckNilFalse, false, d)
  10768. case *map[interface{}]uintptr:
  10769. v2, changed2 := fastpathTV.DecMapIntfUintptrV(*v, fastpathCheckNilFalse, true, d)
  10770. if changed2 {
  10771. *v = v2
  10772. }
  10773. case map[interface{}]int:
  10774. fastpathTV.DecMapIntfIntV(v, fastpathCheckNilFalse, false, d)
  10775. case *map[interface{}]int:
  10776. v2, changed2 := fastpathTV.DecMapIntfIntV(*v, fastpathCheckNilFalse, true, d)
  10777. if changed2 {
  10778. *v = v2
  10779. }
  10780. case map[interface{}]int8:
  10781. fastpathTV.DecMapIntfInt8V(v, fastpathCheckNilFalse, false, d)
  10782. case *map[interface{}]int8:
  10783. v2, changed2 := fastpathTV.DecMapIntfInt8V(*v, fastpathCheckNilFalse, true, d)
  10784. if changed2 {
  10785. *v = v2
  10786. }
  10787. case map[interface{}]int16:
  10788. fastpathTV.DecMapIntfInt16V(v, fastpathCheckNilFalse, false, d)
  10789. case *map[interface{}]int16:
  10790. v2, changed2 := fastpathTV.DecMapIntfInt16V(*v, fastpathCheckNilFalse, true, d)
  10791. if changed2 {
  10792. *v = v2
  10793. }
  10794. case map[interface{}]int32:
  10795. fastpathTV.DecMapIntfInt32V(v, fastpathCheckNilFalse, false, d)
  10796. case *map[interface{}]int32:
  10797. v2, changed2 := fastpathTV.DecMapIntfInt32V(*v, fastpathCheckNilFalse, true, d)
  10798. if changed2 {
  10799. *v = v2
  10800. }
  10801. case map[interface{}]int64:
  10802. fastpathTV.DecMapIntfInt64V(v, fastpathCheckNilFalse, false, d)
  10803. case *map[interface{}]int64:
  10804. v2, changed2 := fastpathTV.DecMapIntfInt64V(*v, fastpathCheckNilFalse, true, d)
  10805. if changed2 {
  10806. *v = v2
  10807. }
  10808. case map[interface{}]float32:
  10809. fastpathTV.DecMapIntfFloat32V(v, fastpathCheckNilFalse, false, d)
  10810. case *map[interface{}]float32:
  10811. v2, changed2 := fastpathTV.DecMapIntfFloat32V(*v, fastpathCheckNilFalse, true, d)
  10812. if changed2 {
  10813. *v = v2
  10814. }
  10815. case map[interface{}]float64:
  10816. fastpathTV.DecMapIntfFloat64V(v, fastpathCheckNilFalse, false, d)
  10817. case *map[interface{}]float64:
  10818. v2, changed2 := fastpathTV.DecMapIntfFloat64V(*v, fastpathCheckNilFalse, true, d)
  10819. if changed2 {
  10820. *v = v2
  10821. }
  10822. case map[interface{}]bool:
  10823. fastpathTV.DecMapIntfBoolV(v, fastpathCheckNilFalse, false, d)
  10824. case *map[interface{}]bool:
  10825. v2, changed2 := fastpathTV.DecMapIntfBoolV(*v, fastpathCheckNilFalse, true, d)
  10826. if changed2 {
  10827. *v = v2
  10828. }
  10829. case []string:
  10830. fastpathTV.DecSliceStringV(v, fastpathCheckNilFalse, false, d)
  10831. case *[]string:
  10832. v2, changed2 := fastpathTV.DecSliceStringV(*v, fastpathCheckNilFalse, true, d)
  10833. if changed2 {
  10834. *v = v2
  10835. }
  10836. case map[string]interface{}:
  10837. fastpathTV.DecMapStringIntfV(v, fastpathCheckNilFalse, false, d)
  10838. case *map[string]interface{}:
  10839. v2, changed2 := fastpathTV.DecMapStringIntfV(*v, fastpathCheckNilFalse, true, d)
  10840. if changed2 {
  10841. *v = v2
  10842. }
  10843. case map[string]string:
  10844. fastpathTV.DecMapStringStringV(v, fastpathCheckNilFalse, false, d)
  10845. case *map[string]string:
  10846. v2, changed2 := fastpathTV.DecMapStringStringV(*v, fastpathCheckNilFalse, true, d)
  10847. if changed2 {
  10848. *v = v2
  10849. }
  10850. case map[string]uint:
  10851. fastpathTV.DecMapStringUintV(v, fastpathCheckNilFalse, false, d)
  10852. case *map[string]uint:
  10853. v2, changed2 := fastpathTV.DecMapStringUintV(*v, fastpathCheckNilFalse, true, d)
  10854. if changed2 {
  10855. *v = v2
  10856. }
  10857. case map[string]uint8:
  10858. fastpathTV.DecMapStringUint8V(v, fastpathCheckNilFalse, false, d)
  10859. case *map[string]uint8:
  10860. v2, changed2 := fastpathTV.DecMapStringUint8V(*v, fastpathCheckNilFalse, true, d)
  10861. if changed2 {
  10862. *v = v2
  10863. }
  10864. case map[string]uint16:
  10865. fastpathTV.DecMapStringUint16V(v, fastpathCheckNilFalse, false, d)
  10866. case *map[string]uint16:
  10867. v2, changed2 := fastpathTV.DecMapStringUint16V(*v, fastpathCheckNilFalse, true, d)
  10868. if changed2 {
  10869. *v = v2
  10870. }
  10871. case map[string]uint32:
  10872. fastpathTV.DecMapStringUint32V(v, fastpathCheckNilFalse, false, d)
  10873. case *map[string]uint32:
  10874. v2, changed2 := fastpathTV.DecMapStringUint32V(*v, fastpathCheckNilFalse, true, d)
  10875. if changed2 {
  10876. *v = v2
  10877. }
  10878. case map[string]uint64:
  10879. fastpathTV.DecMapStringUint64V(v, fastpathCheckNilFalse, false, d)
  10880. case *map[string]uint64:
  10881. v2, changed2 := fastpathTV.DecMapStringUint64V(*v, fastpathCheckNilFalse, true, d)
  10882. if changed2 {
  10883. *v = v2
  10884. }
  10885. case map[string]uintptr:
  10886. fastpathTV.DecMapStringUintptrV(v, fastpathCheckNilFalse, false, d)
  10887. case *map[string]uintptr:
  10888. v2, changed2 := fastpathTV.DecMapStringUintptrV(*v, fastpathCheckNilFalse, true, d)
  10889. if changed2 {
  10890. *v = v2
  10891. }
  10892. case map[string]int:
  10893. fastpathTV.DecMapStringIntV(v, fastpathCheckNilFalse, false, d)
  10894. case *map[string]int:
  10895. v2, changed2 := fastpathTV.DecMapStringIntV(*v, fastpathCheckNilFalse, true, d)
  10896. if changed2 {
  10897. *v = v2
  10898. }
  10899. case map[string]int8:
  10900. fastpathTV.DecMapStringInt8V(v, fastpathCheckNilFalse, false, d)
  10901. case *map[string]int8:
  10902. v2, changed2 := fastpathTV.DecMapStringInt8V(*v, fastpathCheckNilFalse, true, d)
  10903. if changed2 {
  10904. *v = v2
  10905. }
  10906. case map[string]int16:
  10907. fastpathTV.DecMapStringInt16V(v, fastpathCheckNilFalse, false, d)
  10908. case *map[string]int16:
  10909. v2, changed2 := fastpathTV.DecMapStringInt16V(*v, fastpathCheckNilFalse, true, d)
  10910. if changed2 {
  10911. *v = v2
  10912. }
  10913. case map[string]int32:
  10914. fastpathTV.DecMapStringInt32V(v, fastpathCheckNilFalse, false, d)
  10915. case *map[string]int32:
  10916. v2, changed2 := fastpathTV.DecMapStringInt32V(*v, fastpathCheckNilFalse, true, d)
  10917. if changed2 {
  10918. *v = v2
  10919. }
  10920. case map[string]int64:
  10921. fastpathTV.DecMapStringInt64V(v, fastpathCheckNilFalse, false, d)
  10922. case *map[string]int64:
  10923. v2, changed2 := fastpathTV.DecMapStringInt64V(*v, fastpathCheckNilFalse, true, d)
  10924. if changed2 {
  10925. *v = v2
  10926. }
  10927. case map[string]float32:
  10928. fastpathTV.DecMapStringFloat32V(v, fastpathCheckNilFalse, false, d)
  10929. case *map[string]float32:
  10930. v2, changed2 := fastpathTV.DecMapStringFloat32V(*v, fastpathCheckNilFalse, true, d)
  10931. if changed2 {
  10932. *v = v2
  10933. }
  10934. case map[string]float64:
  10935. fastpathTV.DecMapStringFloat64V(v, fastpathCheckNilFalse, false, d)
  10936. case *map[string]float64:
  10937. v2, changed2 := fastpathTV.DecMapStringFloat64V(*v, fastpathCheckNilFalse, true, d)
  10938. if changed2 {
  10939. *v = v2
  10940. }
  10941. case map[string]bool:
  10942. fastpathTV.DecMapStringBoolV(v, fastpathCheckNilFalse, false, d)
  10943. case *map[string]bool:
  10944. v2, changed2 := fastpathTV.DecMapStringBoolV(*v, fastpathCheckNilFalse, true, d)
  10945. if changed2 {
  10946. *v = v2
  10947. }
  10948. case []float32:
  10949. fastpathTV.DecSliceFloat32V(v, fastpathCheckNilFalse, false, d)
  10950. case *[]float32:
  10951. v2, changed2 := fastpathTV.DecSliceFloat32V(*v, fastpathCheckNilFalse, true, d)
  10952. if changed2 {
  10953. *v = v2
  10954. }
  10955. case map[float32]interface{}:
  10956. fastpathTV.DecMapFloat32IntfV(v, fastpathCheckNilFalse, false, d)
  10957. case *map[float32]interface{}:
  10958. v2, changed2 := fastpathTV.DecMapFloat32IntfV(*v, fastpathCheckNilFalse, true, d)
  10959. if changed2 {
  10960. *v = v2
  10961. }
  10962. case map[float32]string:
  10963. fastpathTV.DecMapFloat32StringV(v, fastpathCheckNilFalse, false, d)
  10964. case *map[float32]string:
  10965. v2, changed2 := fastpathTV.DecMapFloat32StringV(*v, fastpathCheckNilFalse, true, d)
  10966. if changed2 {
  10967. *v = v2
  10968. }
  10969. case map[float32]uint:
  10970. fastpathTV.DecMapFloat32UintV(v, fastpathCheckNilFalse, false, d)
  10971. case *map[float32]uint:
  10972. v2, changed2 := fastpathTV.DecMapFloat32UintV(*v, fastpathCheckNilFalse, true, d)
  10973. if changed2 {
  10974. *v = v2
  10975. }
  10976. case map[float32]uint8:
  10977. fastpathTV.DecMapFloat32Uint8V(v, fastpathCheckNilFalse, false, d)
  10978. case *map[float32]uint8:
  10979. v2, changed2 := fastpathTV.DecMapFloat32Uint8V(*v, fastpathCheckNilFalse, true, d)
  10980. if changed2 {
  10981. *v = v2
  10982. }
  10983. case map[float32]uint16:
  10984. fastpathTV.DecMapFloat32Uint16V(v, fastpathCheckNilFalse, false, d)
  10985. case *map[float32]uint16:
  10986. v2, changed2 := fastpathTV.DecMapFloat32Uint16V(*v, fastpathCheckNilFalse, true, d)
  10987. if changed2 {
  10988. *v = v2
  10989. }
  10990. case map[float32]uint32:
  10991. fastpathTV.DecMapFloat32Uint32V(v, fastpathCheckNilFalse, false, d)
  10992. case *map[float32]uint32:
  10993. v2, changed2 := fastpathTV.DecMapFloat32Uint32V(*v, fastpathCheckNilFalse, true, d)
  10994. if changed2 {
  10995. *v = v2
  10996. }
  10997. case map[float32]uint64:
  10998. fastpathTV.DecMapFloat32Uint64V(v, fastpathCheckNilFalse, false, d)
  10999. case *map[float32]uint64:
  11000. v2, changed2 := fastpathTV.DecMapFloat32Uint64V(*v, fastpathCheckNilFalse, true, d)
  11001. if changed2 {
  11002. *v = v2
  11003. }
  11004. case map[float32]uintptr:
  11005. fastpathTV.DecMapFloat32UintptrV(v, fastpathCheckNilFalse, false, d)
  11006. case *map[float32]uintptr:
  11007. v2, changed2 := fastpathTV.DecMapFloat32UintptrV(*v, fastpathCheckNilFalse, true, d)
  11008. if changed2 {
  11009. *v = v2
  11010. }
  11011. case map[float32]int:
  11012. fastpathTV.DecMapFloat32IntV(v, fastpathCheckNilFalse, false, d)
  11013. case *map[float32]int:
  11014. v2, changed2 := fastpathTV.DecMapFloat32IntV(*v, fastpathCheckNilFalse, true, d)
  11015. if changed2 {
  11016. *v = v2
  11017. }
  11018. case map[float32]int8:
  11019. fastpathTV.DecMapFloat32Int8V(v, fastpathCheckNilFalse, false, d)
  11020. case *map[float32]int8:
  11021. v2, changed2 := fastpathTV.DecMapFloat32Int8V(*v, fastpathCheckNilFalse, true, d)
  11022. if changed2 {
  11023. *v = v2
  11024. }
  11025. case map[float32]int16:
  11026. fastpathTV.DecMapFloat32Int16V(v, fastpathCheckNilFalse, false, d)
  11027. case *map[float32]int16:
  11028. v2, changed2 := fastpathTV.DecMapFloat32Int16V(*v, fastpathCheckNilFalse, true, d)
  11029. if changed2 {
  11030. *v = v2
  11031. }
  11032. case map[float32]int32:
  11033. fastpathTV.DecMapFloat32Int32V(v, fastpathCheckNilFalse, false, d)
  11034. case *map[float32]int32:
  11035. v2, changed2 := fastpathTV.DecMapFloat32Int32V(*v, fastpathCheckNilFalse, true, d)
  11036. if changed2 {
  11037. *v = v2
  11038. }
  11039. case map[float32]int64:
  11040. fastpathTV.DecMapFloat32Int64V(v, fastpathCheckNilFalse, false, d)
  11041. case *map[float32]int64:
  11042. v2, changed2 := fastpathTV.DecMapFloat32Int64V(*v, fastpathCheckNilFalse, true, d)
  11043. if changed2 {
  11044. *v = v2
  11045. }
  11046. case map[float32]float32:
  11047. fastpathTV.DecMapFloat32Float32V(v, fastpathCheckNilFalse, false, d)
  11048. case *map[float32]float32:
  11049. v2, changed2 := fastpathTV.DecMapFloat32Float32V(*v, fastpathCheckNilFalse, true, d)
  11050. if changed2 {
  11051. *v = v2
  11052. }
  11053. case map[float32]float64:
  11054. fastpathTV.DecMapFloat32Float64V(v, fastpathCheckNilFalse, false, d)
  11055. case *map[float32]float64:
  11056. v2, changed2 := fastpathTV.DecMapFloat32Float64V(*v, fastpathCheckNilFalse, true, d)
  11057. if changed2 {
  11058. *v = v2
  11059. }
  11060. case map[float32]bool:
  11061. fastpathTV.DecMapFloat32BoolV(v, fastpathCheckNilFalse, false, d)
  11062. case *map[float32]bool:
  11063. v2, changed2 := fastpathTV.DecMapFloat32BoolV(*v, fastpathCheckNilFalse, true, d)
  11064. if changed2 {
  11065. *v = v2
  11066. }
  11067. case []float64:
  11068. fastpathTV.DecSliceFloat64V(v, fastpathCheckNilFalse, false, d)
  11069. case *[]float64:
  11070. v2, changed2 := fastpathTV.DecSliceFloat64V(*v, fastpathCheckNilFalse, true, d)
  11071. if changed2 {
  11072. *v = v2
  11073. }
  11074. case map[float64]interface{}:
  11075. fastpathTV.DecMapFloat64IntfV(v, fastpathCheckNilFalse, false, d)
  11076. case *map[float64]interface{}:
  11077. v2, changed2 := fastpathTV.DecMapFloat64IntfV(*v, fastpathCheckNilFalse, true, d)
  11078. if changed2 {
  11079. *v = v2
  11080. }
  11081. case map[float64]string:
  11082. fastpathTV.DecMapFloat64StringV(v, fastpathCheckNilFalse, false, d)
  11083. case *map[float64]string:
  11084. v2, changed2 := fastpathTV.DecMapFloat64StringV(*v, fastpathCheckNilFalse, true, d)
  11085. if changed2 {
  11086. *v = v2
  11087. }
  11088. case map[float64]uint:
  11089. fastpathTV.DecMapFloat64UintV(v, fastpathCheckNilFalse, false, d)
  11090. case *map[float64]uint:
  11091. v2, changed2 := fastpathTV.DecMapFloat64UintV(*v, fastpathCheckNilFalse, true, d)
  11092. if changed2 {
  11093. *v = v2
  11094. }
  11095. case map[float64]uint8:
  11096. fastpathTV.DecMapFloat64Uint8V(v, fastpathCheckNilFalse, false, d)
  11097. case *map[float64]uint8:
  11098. v2, changed2 := fastpathTV.DecMapFloat64Uint8V(*v, fastpathCheckNilFalse, true, d)
  11099. if changed2 {
  11100. *v = v2
  11101. }
  11102. case map[float64]uint16:
  11103. fastpathTV.DecMapFloat64Uint16V(v, fastpathCheckNilFalse, false, d)
  11104. case *map[float64]uint16:
  11105. v2, changed2 := fastpathTV.DecMapFloat64Uint16V(*v, fastpathCheckNilFalse, true, d)
  11106. if changed2 {
  11107. *v = v2
  11108. }
  11109. case map[float64]uint32:
  11110. fastpathTV.DecMapFloat64Uint32V(v, fastpathCheckNilFalse, false, d)
  11111. case *map[float64]uint32:
  11112. v2, changed2 := fastpathTV.DecMapFloat64Uint32V(*v, fastpathCheckNilFalse, true, d)
  11113. if changed2 {
  11114. *v = v2
  11115. }
  11116. case map[float64]uint64:
  11117. fastpathTV.DecMapFloat64Uint64V(v, fastpathCheckNilFalse, false, d)
  11118. case *map[float64]uint64:
  11119. v2, changed2 := fastpathTV.DecMapFloat64Uint64V(*v, fastpathCheckNilFalse, true, d)
  11120. if changed2 {
  11121. *v = v2
  11122. }
  11123. case map[float64]uintptr:
  11124. fastpathTV.DecMapFloat64UintptrV(v, fastpathCheckNilFalse, false, d)
  11125. case *map[float64]uintptr:
  11126. v2, changed2 := fastpathTV.DecMapFloat64UintptrV(*v, fastpathCheckNilFalse, true, d)
  11127. if changed2 {
  11128. *v = v2
  11129. }
  11130. case map[float64]int:
  11131. fastpathTV.DecMapFloat64IntV(v, fastpathCheckNilFalse, false, d)
  11132. case *map[float64]int:
  11133. v2, changed2 := fastpathTV.DecMapFloat64IntV(*v, fastpathCheckNilFalse, true, d)
  11134. if changed2 {
  11135. *v = v2
  11136. }
  11137. case map[float64]int8:
  11138. fastpathTV.DecMapFloat64Int8V(v, fastpathCheckNilFalse, false, d)
  11139. case *map[float64]int8:
  11140. v2, changed2 := fastpathTV.DecMapFloat64Int8V(*v, fastpathCheckNilFalse, true, d)
  11141. if changed2 {
  11142. *v = v2
  11143. }
  11144. case map[float64]int16:
  11145. fastpathTV.DecMapFloat64Int16V(v, fastpathCheckNilFalse, false, d)
  11146. case *map[float64]int16:
  11147. v2, changed2 := fastpathTV.DecMapFloat64Int16V(*v, fastpathCheckNilFalse, true, d)
  11148. if changed2 {
  11149. *v = v2
  11150. }
  11151. case map[float64]int32:
  11152. fastpathTV.DecMapFloat64Int32V(v, fastpathCheckNilFalse, false, d)
  11153. case *map[float64]int32:
  11154. v2, changed2 := fastpathTV.DecMapFloat64Int32V(*v, fastpathCheckNilFalse, true, d)
  11155. if changed2 {
  11156. *v = v2
  11157. }
  11158. case map[float64]int64:
  11159. fastpathTV.DecMapFloat64Int64V(v, fastpathCheckNilFalse, false, d)
  11160. case *map[float64]int64:
  11161. v2, changed2 := fastpathTV.DecMapFloat64Int64V(*v, fastpathCheckNilFalse, true, d)
  11162. if changed2 {
  11163. *v = v2
  11164. }
  11165. case map[float64]float32:
  11166. fastpathTV.DecMapFloat64Float32V(v, fastpathCheckNilFalse, false, d)
  11167. case *map[float64]float32:
  11168. v2, changed2 := fastpathTV.DecMapFloat64Float32V(*v, fastpathCheckNilFalse, true, d)
  11169. if changed2 {
  11170. *v = v2
  11171. }
  11172. case map[float64]float64:
  11173. fastpathTV.DecMapFloat64Float64V(v, fastpathCheckNilFalse, false, d)
  11174. case *map[float64]float64:
  11175. v2, changed2 := fastpathTV.DecMapFloat64Float64V(*v, fastpathCheckNilFalse, true, d)
  11176. if changed2 {
  11177. *v = v2
  11178. }
  11179. case map[float64]bool:
  11180. fastpathTV.DecMapFloat64BoolV(v, fastpathCheckNilFalse, false, d)
  11181. case *map[float64]bool:
  11182. v2, changed2 := fastpathTV.DecMapFloat64BoolV(*v, fastpathCheckNilFalse, true, d)
  11183. if changed2 {
  11184. *v = v2
  11185. }
  11186. case []uint:
  11187. fastpathTV.DecSliceUintV(v, fastpathCheckNilFalse, false, d)
  11188. case *[]uint:
  11189. v2, changed2 := fastpathTV.DecSliceUintV(*v, fastpathCheckNilFalse, true, d)
  11190. if changed2 {
  11191. *v = v2
  11192. }
  11193. case map[uint]interface{}:
  11194. fastpathTV.DecMapUintIntfV(v, fastpathCheckNilFalse, false, d)
  11195. case *map[uint]interface{}:
  11196. v2, changed2 := fastpathTV.DecMapUintIntfV(*v, fastpathCheckNilFalse, true, d)
  11197. if changed2 {
  11198. *v = v2
  11199. }
  11200. case map[uint]string:
  11201. fastpathTV.DecMapUintStringV(v, fastpathCheckNilFalse, false, d)
  11202. case *map[uint]string:
  11203. v2, changed2 := fastpathTV.DecMapUintStringV(*v, fastpathCheckNilFalse, true, d)
  11204. if changed2 {
  11205. *v = v2
  11206. }
  11207. case map[uint]uint:
  11208. fastpathTV.DecMapUintUintV(v, fastpathCheckNilFalse, false, d)
  11209. case *map[uint]uint:
  11210. v2, changed2 := fastpathTV.DecMapUintUintV(*v, fastpathCheckNilFalse, true, d)
  11211. if changed2 {
  11212. *v = v2
  11213. }
  11214. case map[uint]uint8:
  11215. fastpathTV.DecMapUintUint8V(v, fastpathCheckNilFalse, false, d)
  11216. case *map[uint]uint8:
  11217. v2, changed2 := fastpathTV.DecMapUintUint8V(*v, fastpathCheckNilFalse, true, d)
  11218. if changed2 {
  11219. *v = v2
  11220. }
  11221. case map[uint]uint16:
  11222. fastpathTV.DecMapUintUint16V(v, fastpathCheckNilFalse, false, d)
  11223. case *map[uint]uint16:
  11224. v2, changed2 := fastpathTV.DecMapUintUint16V(*v, fastpathCheckNilFalse, true, d)
  11225. if changed2 {
  11226. *v = v2
  11227. }
  11228. case map[uint]uint32:
  11229. fastpathTV.DecMapUintUint32V(v, fastpathCheckNilFalse, false, d)
  11230. case *map[uint]uint32:
  11231. v2, changed2 := fastpathTV.DecMapUintUint32V(*v, fastpathCheckNilFalse, true, d)
  11232. if changed2 {
  11233. *v = v2
  11234. }
  11235. case map[uint]uint64:
  11236. fastpathTV.DecMapUintUint64V(v, fastpathCheckNilFalse, false, d)
  11237. case *map[uint]uint64:
  11238. v2, changed2 := fastpathTV.DecMapUintUint64V(*v, fastpathCheckNilFalse, true, d)
  11239. if changed2 {
  11240. *v = v2
  11241. }
  11242. case map[uint]uintptr:
  11243. fastpathTV.DecMapUintUintptrV(v, fastpathCheckNilFalse, false, d)
  11244. case *map[uint]uintptr:
  11245. v2, changed2 := fastpathTV.DecMapUintUintptrV(*v, fastpathCheckNilFalse, true, d)
  11246. if changed2 {
  11247. *v = v2
  11248. }
  11249. case map[uint]int:
  11250. fastpathTV.DecMapUintIntV(v, fastpathCheckNilFalse, false, d)
  11251. case *map[uint]int:
  11252. v2, changed2 := fastpathTV.DecMapUintIntV(*v, fastpathCheckNilFalse, true, d)
  11253. if changed2 {
  11254. *v = v2
  11255. }
  11256. case map[uint]int8:
  11257. fastpathTV.DecMapUintInt8V(v, fastpathCheckNilFalse, false, d)
  11258. case *map[uint]int8:
  11259. v2, changed2 := fastpathTV.DecMapUintInt8V(*v, fastpathCheckNilFalse, true, d)
  11260. if changed2 {
  11261. *v = v2
  11262. }
  11263. case map[uint]int16:
  11264. fastpathTV.DecMapUintInt16V(v, fastpathCheckNilFalse, false, d)
  11265. case *map[uint]int16:
  11266. v2, changed2 := fastpathTV.DecMapUintInt16V(*v, fastpathCheckNilFalse, true, d)
  11267. if changed2 {
  11268. *v = v2
  11269. }
  11270. case map[uint]int32:
  11271. fastpathTV.DecMapUintInt32V(v, fastpathCheckNilFalse, false, d)
  11272. case *map[uint]int32:
  11273. v2, changed2 := fastpathTV.DecMapUintInt32V(*v, fastpathCheckNilFalse, true, d)
  11274. if changed2 {
  11275. *v = v2
  11276. }
  11277. case map[uint]int64:
  11278. fastpathTV.DecMapUintInt64V(v, fastpathCheckNilFalse, false, d)
  11279. case *map[uint]int64:
  11280. v2, changed2 := fastpathTV.DecMapUintInt64V(*v, fastpathCheckNilFalse, true, d)
  11281. if changed2 {
  11282. *v = v2
  11283. }
  11284. case map[uint]float32:
  11285. fastpathTV.DecMapUintFloat32V(v, fastpathCheckNilFalse, false, d)
  11286. case *map[uint]float32:
  11287. v2, changed2 := fastpathTV.DecMapUintFloat32V(*v, fastpathCheckNilFalse, true, d)
  11288. if changed2 {
  11289. *v = v2
  11290. }
  11291. case map[uint]float64:
  11292. fastpathTV.DecMapUintFloat64V(v, fastpathCheckNilFalse, false, d)
  11293. case *map[uint]float64:
  11294. v2, changed2 := fastpathTV.DecMapUintFloat64V(*v, fastpathCheckNilFalse, true, d)
  11295. if changed2 {
  11296. *v = v2
  11297. }
  11298. case map[uint]bool:
  11299. fastpathTV.DecMapUintBoolV(v, fastpathCheckNilFalse, false, d)
  11300. case *map[uint]bool:
  11301. v2, changed2 := fastpathTV.DecMapUintBoolV(*v, fastpathCheckNilFalse, true, d)
  11302. if changed2 {
  11303. *v = v2
  11304. }
  11305. case map[uint8]interface{}:
  11306. fastpathTV.DecMapUint8IntfV(v, fastpathCheckNilFalse, false, d)
  11307. case *map[uint8]interface{}:
  11308. v2, changed2 := fastpathTV.DecMapUint8IntfV(*v, fastpathCheckNilFalse, true, d)
  11309. if changed2 {
  11310. *v = v2
  11311. }
  11312. case map[uint8]string:
  11313. fastpathTV.DecMapUint8StringV(v, fastpathCheckNilFalse, false, d)
  11314. case *map[uint8]string:
  11315. v2, changed2 := fastpathTV.DecMapUint8StringV(*v, fastpathCheckNilFalse, true, d)
  11316. if changed2 {
  11317. *v = v2
  11318. }
  11319. case map[uint8]uint:
  11320. fastpathTV.DecMapUint8UintV(v, fastpathCheckNilFalse, false, d)
  11321. case *map[uint8]uint:
  11322. v2, changed2 := fastpathTV.DecMapUint8UintV(*v, fastpathCheckNilFalse, true, d)
  11323. if changed2 {
  11324. *v = v2
  11325. }
  11326. case map[uint8]uint8:
  11327. fastpathTV.DecMapUint8Uint8V(v, fastpathCheckNilFalse, false, d)
  11328. case *map[uint8]uint8:
  11329. v2, changed2 := fastpathTV.DecMapUint8Uint8V(*v, fastpathCheckNilFalse, true, d)
  11330. if changed2 {
  11331. *v = v2
  11332. }
  11333. case map[uint8]uint16:
  11334. fastpathTV.DecMapUint8Uint16V(v, fastpathCheckNilFalse, false, d)
  11335. case *map[uint8]uint16:
  11336. v2, changed2 := fastpathTV.DecMapUint8Uint16V(*v, fastpathCheckNilFalse, true, d)
  11337. if changed2 {
  11338. *v = v2
  11339. }
  11340. case map[uint8]uint32:
  11341. fastpathTV.DecMapUint8Uint32V(v, fastpathCheckNilFalse, false, d)
  11342. case *map[uint8]uint32:
  11343. v2, changed2 := fastpathTV.DecMapUint8Uint32V(*v, fastpathCheckNilFalse, true, d)
  11344. if changed2 {
  11345. *v = v2
  11346. }
  11347. case map[uint8]uint64:
  11348. fastpathTV.DecMapUint8Uint64V(v, fastpathCheckNilFalse, false, d)
  11349. case *map[uint8]uint64:
  11350. v2, changed2 := fastpathTV.DecMapUint8Uint64V(*v, fastpathCheckNilFalse, true, d)
  11351. if changed2 {
  11352. *v = v2
  11353. }
  11354. case map[uint8]uintptr:
  11355. fastpathTV.DecMapUint8UintptrV(v, fastpathCheckNilFalse, false, d)
  11356. case *map[uint8]uintptr:
  11357. v2, changed2 := fastpathTV.DecMapUint8UintptrV(*v, fastpathCheckNilFalse, true, d)
  11358. if changed2 {
  11359. *v = v2
  11360. }
  11361. case map[uint8]int:
  11362. fastpathTV.DecMapUint8IntV(v, fastpathCheckNilFalse, false, d)
  11363. case *map[uint8]int:
  11364. v2, changed2 := fastpathTV.DecMapUint8IntV(*v, fastpathCheckNilFalse, true, d)
  11365. if changed2 {
  11366. *v = v2
  11367. }
  11368. case map[uint8]int8:
  11369. fastpathTV.DecMapUint8Int8V(v, fastpathCheckNilFalse, false, d)
  11370. case *map[uint8]int8:
  11371. v2, changed2 := fastpathTV.DecMapUint8Int8V(*v, fastpathCheckNilFalse, true, d)
  11372. if changed2 {
  11373. *v = v2
  11374. }
  11375. case map[uint8]int16:
  11376. fastpathTV.DecMapUint8Int16V(v, fastpathCheckNilFalse, false, d)
  11377. case *map[uint8]int16:
  11378. v2, changed2 := fastpathTV.DecMapUint8Int16V(*v, fastpathCheckNilFalse, true, d)
  11379. if changed2 {
  11380. *v = v2
  11381. }
  11382. case map[uint8]int32:
  11383. fastpathTV.DecMapUint8Int32V(v, fastpathCheckNilFalse, false, d)
  11384. case *map[uint8]int32:
  11385. v2, changed2 := fastpathTV.DecMapUint8Int32V(*v, fastpathCheckNilFalse, true, d)
  11386. if changed2 {
  11387. *v = v2
  11388. }
  11389. case map[uint8]int64:
  11390. fastpathTV.DecMapUint8Int64V(v, fastpathCheckNilFalse, false, d)
  11391. case *map[uint8]int64:
  11392. v2, changed2 := fastpathTV.DecMapUint8Int64V(*v, fastpathCheckNilFalse, true, d)
  11393. if changed2 {
  11394. *v = v2
  11395. }
  11396. case map[uint8]float32:
  11397. fastpathTV.DecMapUint8Float32V(v, fastpathCheckNilFalse, false, d)
  11398. case *map[uint8]float32:
  11399. v2, changed2 := fastpathTV.DecMapUint8Float32V(*v, fastpathCheckNilFalse, true, d)
  11400. if changed2 {
  11401. *v = v2
  11402. }
  11403. case map[uint8]float64:
  11404. fastpathTV.DecMapUint8Float64V(v, fastpathCheckNilFalse, false, d)
  11405. case *map[uint8]float64:
  11406. v2, changed2 := fastpathTV.DecMapUint8Float64V(*v, fastpathCheckNilFalse, true, d)
  11407. if changed2 {
  11408. *v = v2
  11409. }
  11410. case map[uint8]bool:
  11411. fastpathTV.DecMapUint8BoolV(v, fastpathCheckNilFalse, false, d)
  11412. case *map[uint8]bool:
  11413. v2, changed2 := fastpathTV.DecMapUint8BoolV(*v, fastpathCheckNilFalse, true, d)
  11414. if changed2 {
  11415. *v = v2
  11416. }
  11417. case []uint16:
  11418. fastpathTV.DecSliceUint16V(v, fastpathCheckNilFalse, false, d)
  11419. case *[]uint16:
  11420. v2, changed2 := fastpathTV.DecSliceUint16V(*v, fastpathCheckNilFalse, true, d)
  11421. if changed2 {
  11422. *v = v2
  11423. }
  11424. case map[uint16]interface{}:
  11425. fastpathTV.DecMapUint16IntfV(v, fastpathCheckNilFalse, false, d)
  11426. case *map[uint16]interface{}:
  11427. v2, changed2 := fastpathTV.DecMapUint16IntfV(*v, fastpathCheckNilFalse, true, d)
  11428. if changed2 {
  11429. *v = v2
  11430. }
  11431. case map[uint16]string:
  11432. fastpathTV.DecMapUint16StringV(v, fastpathCheckNilFalse, false, d)
  11433. case *map[uint16]string:
  11434. v2, changed2 := fastpathTV.DecMapUint16StringV(*v, fastpathCheckNilFalse, true, d)
  11435. if changed2 {
  11436. *v = v2
  11437. }
  11438. case map[uint16]uint:
  11439. fastpathTV.DecMapUint16UintV(v, fastpathCheckNilFalse, false, d)
  11440. case *map[uint16]uint:
  11441. v2, changed2 := fastpathTV.DecMapUint16UintV(*v, fastpathCheckNilFalse, true, d)
  11442. if changed2 {
  11443. *v = v2
  11444. }
  11445. case map[uint16]uint8:
  11446. fastpathTV.DecMapUint16Uint8V(v, fastpathCheckNilFalse, false, d)
  11447. case *map[uint16]uint8:
  11448. v2, changed2 := fastpathTV.DecMapUint16Uint8V(*v, fastpathCheckNilFalse, true, d)
  11449. if changed2 {
  11450. *v = v2
  11451. }
  11452. case map[uint16]uint16:
  11453. fastpathTV.DecMapUint16Uint16V(v, fastpathCheckNilFalse, false, d)
  11454. case *map[uint16]uint16:
  11455. v2, changed2 := fastpathTV.DecMapUint16Uint16V(*v, fastpathCheckNilFalse, true, d)
  11456. if changed2 {
  11457. *v = v2
  11458. }
  11459. case map[uint16]uint32:
  11460. fastpathTV.DecMapUint16Uint32V(v, fastpathCheckNilFalse, false, d)
  11461. case *map[uint16]uint32:
  11462. v2, changed2 := fastpathTV.DecMapUint16Uint32V(*v, fastpathCheckNilFalse, true, d)
  11463. if changed2 {
  11464. *v = v2
  11465. }
  11466. case map[uint16]uint64:
  11467. fastpathTV.DecMapUint16Uint64V(v, fastpathCheckNilFalse, false, d)
  11468. case *map[uint16]uint64:
  11469. v2, changed2 := fastpathTV.DecMapUint16Uint64V(*v, fastpathCheckNilFalse, true, d)
  11470. if changed2 {
  11471. *v = v2
  11472. }
  11473. case map[uint16]uintptr:
  11474. fastpathTV.DecMapUint16UintptrV(v, fastpathCheckNilFalse, false, d)
  11475. case *map[uint16]uintptr:
  11476. v2, changed2 := fastpathTV.DecMapUint16UintptrV(*v, fastpathCheckNilFalse, true, d)
  11477. if changed2 {
  11478. *v = v2
  11479. }
  11480. case map[uint16]int:
  11481. fastpathTV.DecMapUint16IntV(v, fastpathCheckNilFalse, false, d)
  11482. case *map[uint16]int:
  11483. v2, changed2 := fastpathTV.DecMapUint16IntV(*v, fastpathCheckNilFalse, true, d)
  11484. if changed2 {
  11485. *v = v2
  11486. }
  11487. case map[uint16]int8:
  11488. fastpathTV.DecMapUint16Int8V(v, fastpathCheckNilFalse, false, d)
  11489. case *map[uint16]int8:
  11490. v2, changed2 := fastpathTV.DecMapUint16Int8V(*v, fastpathCheckNilFalse, true, d)
  11491. if changed2 {
  11492. *v = v2
  11493. }
  11494. case map[uint16]int16:
  11495. fastpathTV.DecMapUint16Int16V(v, fastpathCheckNilFalse, false, d)
  11496. case *map[uint16]int16:
  11497. v2, changed2 := fastpathTV.DecMapUint16Int16V(*v, fastpathCheckNilFalse, true, d)
  11498. if changed2 {
  11499. *v = v2
  11500. }
  11501. case map[uint16]int32:
  11502. fastpathTV.DecMapUint16Int32V(v, fastpathCheckNilFalse, false, d)
  11503. case *map[uint16]int32:
  11504. v2, changed2 := fastpathTV.DecMapUint16Int32V(*v, fastpathCheckNilFalse, true, d)
  11505. if changed2 {
  11506. *v = v2
  11507. }
  11508. case map[uint16]int64:
  11509. fastpathTV.DecMapUint16Int64V(v, fastpathCheckNilFalse, false, d)
  11510. case *map[uint16]int64:
  11511. v2, changed2 := fastpathTV.DecMapUint16Int64V(*v, fastpathCheckNilFalse, true, d)
  11512. if changed2 {
  11513. *v = v2
  11514. }
  11515. case map[uint16]float32:
  11516. fastpathTV.DecMapUint16Float32V(v, fastpathCheckNilFalse, false, d)
  11517. case *map[uint16]float32:
  11518. v2, changed2 := fastpathTV.DecMapUint16Float32V(*v, fastpathCheckNilFalse, true, d)
  11519. if changed2 {
  11520. *v = v2
  11521. }
  11522. case map[uint16]float64:
  11523. fastpathTV.DecMapUint16Float64V(v, fastpathCheckNilFalse, false, d)
  11524. case *map[uint16]float64:
  11525. v2, changed2 := fastpathTV.DecMapUint16Float64V(*v, fastpathCheckNilFalse, true, d)
  11526. if changed2 {
  11527. *v = v2
  11528. }
  11529. case map[uint16]bool:
  11530. fastpathTV.DecMapUint16BoolV(v, fastpathCheckNilFalse, false, d)
  11531. case *map[uint16]bool:
  11532. v2, changed2 := fastpathTV.DecMapUint16BoolV(*v, fastpathCheckNilFalse, true, d)
  11533. if changed2 {
  11534. *v = v2
  11535. }
  11536. case []uint32:
  11537. fastpathTV.DecSliceUint32V(v, fastpathCheckNilFalse, false, d)
  11538. case *[]uint32:
  11539. v2, changed2 := fastpathTV.DecSliceUint32V(*v, fastpathCheckNilFalse, true, d)
  11540. if changed2 {
  11541. *v = v2
  11542. }
  11543. case map[uint32]interface{}:
  11544. fastpathTV.DecMapUint32IntfV(v, fastpathCheckNilFalse, false, d)
  11545. case *map[uint32]interface{}:
  11546. v2, changed2 := fastpathTV.DecMapUint32IntfV(*v, fastpathCheckNilFalse, true, d)
  11547. if changed2 {
  11548. *v = v2
  11549. }
  11550. case map[uint32]string:
  11551. fastpathTV.DecMapUint32StringV(v, fastpathCheckNilFalse, false, d)
  11552. case *map[uint32]string:
  11553. v2, changed2 := fastpathTV.DecMapUint32StringV(*v, fastpathCheckNilFalse, true, d)
  11554. if changed2 {
  11555. *v = v2
  11556. }
  11557. case map[uint32]uint:
  11558. fastpathTV.DecMapUint32UintV(v, fastpathCheckNilFalse, false, d)
  11559. case *map[uint32]uint:
  11560. v2, changed2 := fastpathTV.DecMapUint32UintV(*v, fastpathCheckNilFalse, true, d)
  11561. if changed2 {
  11562. *v = v2
  11563. }
  11564. case map[uint32]uint8:
  11565. fastpathTV.DecMapUint32Uint8V(v, fastpathCheckNilFalse, false, d)
  11566. case *map[uint32]uint8:
  11567. v2, changed2 := fastpathTV.DecMapUint32Uint8V(*v, fastpathCheckNilFalse, true, d)
  11568. if changed2 {
  11569. *v = v2
  11570. }
  11571. case map[uint32]uint16:
  11572. fastpathTV.DecMapUint32Uint16V(v, fastpathCheckNilFalse, false, d)
  11573. case *map[uint32]uint16:
  11574. v2, changed2 := fastpathTV.DecMapUint32Uint16V(*v, fastpathCheckNilFalse, true, d)
  11575. if changed2 {
  11576. *v = v2
  11577. }
  11578. case map[uint32]uint32:
  11579. fastpathTV.DecMapUint32Uint32V(v, fastpathCheckNilFalse, false, d)
  11580. case *map[uint32]uint32:
  11581. v2, changed2 := fastpathTV.DecMapUint32Uint32V(*v, fastpathCheckNilFalse, true, d)
  11582. if changed2 {
  11583. *v = v2
  11584. }
  11585. case map[uint32]uint64:
  11586. fastpathTV.DecMapUint32Uint64V(v, fastpathCheckNilFalse, false, d)
  11587. case *map[uint32]uint64:
  11588. v2, changed2 := fastpathTV.DecMapUint32Uint64V(*v, fastpathCheckNilFalse, true, d)
  11589. if changed2 {
  11590. *v = v2
  11591. }
  11592. case map[uint32]uintptr:
  11593. fastpathTV.DecMapUint32UintptrV(v, fastpathCheckNilFalse, false, d)
  11594. case *map[uint32]uintptr:
  11595. v2, changed2 := fastpathTV.DecMapUint32UintptrV(*v, fastpathCheckNilFalse, true, d)
  11596. if changed2 {
  11597. *v = v2
  11598. }
  11599. case map[uint32]int:
  11600. fastpathTV.DecMapUint32IntV(v, fastpathCheckNilFalse, false, d)
  11601. case *map[uint32]int:
  11602. v2, changed2 := fastpathTV.DecMapUint32IntV(*v, fastpathCheckNilFalse, true, d)
  11603. if changed2 {
  11604. *v = v2
  11605. }
  11606. case map[uint32]int8:
  11607. fastpathTV.DecMapUint32Int8V(v, fastpathCheckNilFalse, false, d)
  11608. case *map[uint32]int8:
  11609. v2, changed2 := fastpathTV.DecMapUint32Int8V(*v, fastpathCheckNilFalse, true, d)
  11610. if changed2 {
  11611. *v = v2
  11612. }
  11613. case map[uint32]int16:
  11614. fastpathTV.DecMapUint32Int16V(v, fastpathCheckNilFalse, false, d)
  11615. case *map[uint32]int16:
  11616. v2, changed2 := fastpathTV.DecMapUint32Int16V(*v, fastpathCheckNilFalse, true, d)
  11617. if changed2 {
  11618. *v = v2
  11619. }
  11620. case map[uint32]int32:
  11621. fastpathTV.DecMapUint32Int32V(v, fastpathCheckNilFalse, false, d)
  11622. case *map[uint32]int32:
  11623. v2, changed2 := fastpathTV.DecMapUint32Int32V(*v, fastpathCheckNilFalse, true, d)
  11624. if changed2 {
  11625. *v = v2
  11626. }
  11627. case map[uint32]int64:
  11628. fastpathTV.DecMapUint32Int64V(v, fastpathCheckNilFalse, false, d)
  11629. case *map[uint32]int64:
  11630. v2, changed2 := fastpathTV.DecMapUint32Int64V(*v, fastpathCheckNilFalse, true, d)
  11631. if changed2 {
  11632. *v = v2
  11633. }
  11634. case map[uint32]float32:
  11635. fastpathTV.DecMapUint32Float32V(v, fastpathCheckNilFalse, false, d)
  11636. case *map[uint32]float32:
  11637. v2, changed2 := fastpathTV.DecMapUint32Float32V(*v, fastpathCheckNilFalse, true, d)
  11638. if changed2 {
  11639. *v = v2
  11640. }
  11641. case map[uint32]float64:
  11642. fastpathTV.DecMapUint32Float64V(v, fastpathCheckNilFalse, false, d)
  11643. case *map[uint32]float64:
  11644. v2, changed2 := fastpathTV.DecMapUint32Float64V(*v, fastpathCheckNilFalse, true, d)
  11645. if changed2 {
  11646. *v = v2
  11647. }
  11648. case map[uint32]bool:
  11649. fastpathTV.DecMapUint32BoolV(v, fastpathCheckNilFalse, false, d)
  11650. case *map[uint32]bool:
  11651. v2, changed2 := fastpathTV.DecMapUint32BoolV(*v, fastpathCheckNilFalse, true, d)
  11652. if changed2 {
  11653. *v = v2
  11654. }
  11655. case []uint64:
  11656. fastpathTV.DecSliceUint64V(v, fastpathCheckNilFalse, false, d)
  11657. case *[]uint64:
  11658. v2, changed2 := fastpathTV.DecSliceUint64V(*v, fastpathCheckNilFalse, true, d)
  11659. if changed2 {
  11660. *v = v2
  11661. }
  11662. case map[uint64]interface{}:
  11663. fastpathTV.DecMapUint64IntfV(v, fastpathCheckNilFalse, false, d)
  11664. case *map[uint64]interface{}:
  11665. v2, changed2 := fastpathTV.DecMapUint64IntfV(*v, fastpathCheckNilFalse, true, d)
  11666. if changed2 {
  11667. *v = v2
  11668. }
  11669. case map[uint64]string:
  11670. fastpathTV.DecMapUint64StringV(v, fastpathCheckNilFalse, false, d)
  11671. case *map[uint64]string:
  11672. v2, changed2 := fastpathTV.DecMapUint64StringV(*v, fastpathCheckNilFalse, true, d)
  11673. if changed2 {
  11674. *v = v2
  11675. }
  11676. case map[uint64]uint:
  11677. fastpathTV.DecMapUint64UintV(v, fastpathCheckNilFalse, false, d)
  11678. case *map[uint64]uint:
  11679. v2, changed2 := fastpathTV.DecMapUint64UintV(*v, fastpathCheckNilFalse, true, d)
  11680. if changed2 {
  11681. *v = v2
  11682. }
  11683. case map[uint64]uint8:
  11684. fastpathTV.DecMapUint64Uint8V(v, fastpathCheckNilFalse, false, d)
  11685. case *map[uint64]uint8:
  11686. v2, changed2 := fastpathTV.DecMapUint64Uint8V(*v, fastpathCheckNilFalse, true, d)
  11687. if changed2 {
  11688. *v = v2
  11689. }
  11690. case map[uint64]uint16:
  11691. fastpathTV.DecMapUint64Uint16V(v, fastpathCheckNilFalse, false, d)
  11692. case *map[uint64]uint16:
  11693. v2, changed2 := fastpathTV.DecMapUint64Uint16V(*v, fastpathCheckNilFalse, true, d)
  11694. if changed2 {
  11695. *v = v2
  11696. }
  11697. case map[uint64]uint32:
  11698. fastpathTV.DecMapUint64Uint32V(v, fastpathCheckNilFalse, false, d)
  11699. case *map[uint64]uint32:
  11700. v2, changed2 := fastpathTV.DecMapUint64Uint32V(*v, fastpathCheckNilFalse, true, d)
  11701. if changed2 {
  11702. *v = v2
  11703. }
  11704. case map[uint64]uint64:
  11705. fastpathTV.DecMapUint64Uint64V(v, fastpathCheckNilFalse, false, d)
  11706. case *map[uint64]uint64:
  11707. v2, changed2 := fastpathTV.DecMapUint64Uint64V(*v, fastpathCheckNilFalse, true, d)
  11708. if changed2 {
  11709. *v = v2
  11710. }
  11711. case map[uint64]uintptr:
  11712. fastpathTV.DecMapUint64UintptrV(v, fastpathCheckNilFalse, false, d)
  11713. case *map[uint64]uintptr:
  11714. v2, changed2 := fastpathTV.DecMapUint64UintptrV(*v, fastpathCheckNilFalse, true, d)
  11715. if changed2 {
  11716. *v = v2
  11717. }
  11718. case map[uint64]int:
  11719. fastpathTV.DecMapUint64IntV(v, fastpathCheckNilFalse, false, d)
  11720. case *map[uint64]int:
  11721. v2, changed2 := fastpathTV.DecMapUint64IntV(*v, fastpathCheckNilFalse, true, d)
  11722. if changed2 {
  11723. *v = v2
  11724. }
  11725. case map[uint64]int8:
  11726. fastpathTV.DecMapUint64Int8V(v, fastpathCheckNilFalse, false, d)
  11727. case *map[uint64]int8:
  11728. v2, changed2 := fastpathTV.DecMapUint64Int8V(*v, fastpathCheckNilFalse, true, d)
  11729. if changed2 {
  11730. *v = v2
  11731. }
  11732. case map[uint64]int16:
  11733. fastpathTV.DecMapUint64Int16V(v, fastpathCheckNilFalse, false, d)
  11734. case *map[uint64]int16:
  11735. v2, changed2 := fastpathTV.DecMapUint64Int16V(*v, fastpathCheckNilFalse, true, d)
  11736. if changed2 {
  11737. *v = v2
  11738. }
  11739. case map[uint64]int32:
  11740. fastpathTV.DecMapUint64Int32V(v, fastpathCheckNilFalse, false, d)
  11741. case *map[uint64]int32:
  11742. v2, changed2 := fastpathTV.DecMapUint64Int32V(*v, fastpathCheckNilFalse, true, d)
  11743. if changed2 {
  11744. *v = v2
  11745. }
  11746. case map[uint64]int64:
  11747. fastpathTV.DecMapUint64Int64V(v, fastpathCheckNilFalse, false, d)
  11748. case *map[uint64]int64:
  11749. v2, changed2 := fastpathTV.DecMapUint64Int64V(*v, fastpathCheckNilFalse, true, d)
  11750. if changed2 {
  11751. *v = v2
  11752. }
  11753. case map[uint64]float32:
  11754. fastpathTV.DecMapUint64Float32V(v, fastpathCheckNilFalse, false, d)
  11755. case *map[uint64]float32:
  11756. v2, changed2 := fastpathTV.DecMapUint64Float32V(*v, fastpathCheckNilFalse, true, d)
  11757. if changed2 {
  11758. *v = v2
  11759. }
  11760. case map[uint64]float64:
  11761. fastpathTV.DecMapUint64Float64V(v, fastpathCheckNilFalse, false, d)
  11762. case *map[uint64]float64:
  11763. v2, changed2 := fastpathTV.DecMapUint64Float64V(*v, fastpathCheckNilFalse, true, d)
  11764. if changed2 {
  11765. *v = v2
  11766. }
  11767. case map[uint64]bool:
  11768. fastpathTV.DecMapUint64BoolV(v, fastpathCheckNilFalse, false, d)
  11769. case *map[uint64]bool:
  11770. v2, changed2 := fastpathTV.DecMapUint64BoolV(*v, fastpathCheckNilFalse, true, d)
  11771. if changed2 {
  11772. *v = v2
  11773. }
  11774. case []uintptr:
  11775. fastpathTV.DecSliceUintptrV(v, fastpathCheckNilFalse, false, d)
  11776. case *[]uintptr:
  11777. v2, changed2 := fastpathTV.DecSliceUintptrV(*v, fastpathCheckNilFalse, true, d)
  11778. if changed2 {
  11779. *v = v2
  11780. }
  11781. case map[uintptr]interface{}:
  11782. fastpathTV.DecMapUintptrIntfV(v, fastpathCheckNilFalse, false, d)
  11783. case *map[uintptr]interface{}:
  11784. v2, changed2 := fastpathTV.DecMapUintptrIntfV(*v, fastpathCheckNilFalse, true, d)
  11785. if changed2 {
  11786. *v = v2
  11787. }
  11788. case map[uintptr]string:
  11789. fastpathTV.DecMapUintptrStringV(v, fastpathCheckNilFalse, false, d)
  11790. case *map[uintptr]string:
  11791. v2, changed2 := fastpathTV.DecMapUintptrStringV(*v, fastpathCheckNilFalse, true, d)
  11792. if changed2 {
  11793. *v = v2
  11794. }
  11795. case map[uintptr]uint:
  11796. fastpathTV.DecMapUintptrUintV(v, fastpathCheckNilFalse, false, d)
  11797. case *map[uintptr]uint:
  11798. v2, changed2 := fastpathTV.DecMapUintptrUintV(*v, fastpathCheckNilFalse, true, d)
  11799. if changed2 {
  11800. *v = v2
  11801. }
  11802. case map[uintptr]uint8:
  11803. fastpathTV.DecMapUintptrUint8V(v, fastpathCheckNilFalse, false, d)
  11804. case *map[uintptr]uint8:
  11805. v2, changed2 := fastpathTV.DecMapUintptrUint8V(*v, fastpathCheckNilFalse, true, d)
  11806. if changed2 {
  11807. *v = v2
  11808. }
  11809. case map[uintptr]uint16:
  11810. fastpathTV.DecMapUintptrUint16V(v, fastpathCheckNilFalse, false, d)
  11811. case *map[uintptr]uint16:
  11812. v2, changed2 := fastpathTV.DecMapUintptrUint16V(*v, fastpathCheckNilFalse, true, d)
  11813. if changed2 {
  11814. *v = v2
  11815. }
  11816. case map[uintptr]uint32:
  11817. fastpathTV.DecMapUintptrUint32V(v, fastpathCheckNilFalse, false, d)
  11818. case *map[uintptr]uint32:
  11819. v2, changed2 := fastpathTV.DecMapUintptrUint32V(*v, fastpathCheckNilFalse, true, d)
  11820. if changed2 {
  11821. *v = v2
  11822. }
  11823. case map[uintptr]uint64:
  11824. fastpathTV.DecMapUintptrUint64V(v, fastpathCheckNilFalse, false, d)
  11825. case *map[uintptr]uint64:
  11826. v2, changed2 := fastpathTV.DecMapUintptrUint64V(*v, fastpathCheckNilFalse, true, d)
  11827. if changed2 {
  11828. *v = v2
  11829. }
  11830. case map[uintptr]uintptr:
  11831. fastpathTV.DecMapUintptrUintptrV(v, fastpathCheckNilFalse, false, d)
  11832. case *map[uintptr]uintptr:
  11833. v2, changed2 := fastpathTV.DecMapUintptrUintptrV(*v, fastpathCheckNilFalse, true, d)
  11834. if changed2 {
  11835. *v = v2
  11836. }
  11837. case map[uintptr]int:
  11838. fastpathTV.DecMapUintptrIntV(v, fastpathCheckNilFalse, false, d)
  11839. case *map[uintptr]int:
  11840. v2, changed2 := fastpathTV.DecMapUintptrIntV(*v, fastpathCheckNilFalse, true, d)
  11841. if changed2 {
  11842. *v = v2
  11843. }
  11844. case map[uintptr]int8:
  11845. fastpathTV.DecMapUintptrInt8V(v, fastpathCheckNilFalse, false, d)
  11846. case *map[uintptr]int8:
  11847. v2, changed2 := fastpathTV.DecMapUintptrInt8V(*v, fastpathCheckNilFalse, true, d)
  11848. if changed2 {
  11849. *v = v2
  11850. }
  11851. case map[uintptr]int16:
  11852. fastpathTV.DecMapUintptrInt16V(v, fastpathCheckNilFalse, false, d)
  11853. case *map[uintptr]int16:
  11854. v2, changed2 := fastpathTV.DecMapUintptrInt16V(*v, fastpathCheckNilFalse, true, d)
  11855. if changed2 {
  11856. *v = v2
  11857. }
  11858. case map[uintptr]int32:
  11859. fastpathTV.DecMapUintptrInt32V(v, fastpathCheckNilFalse, false, d)
  11860. case *map[uintptr]int32:
  11861. v2, changed2 := fastpathTV.DecMapUintptrInt32V(*v, fastpathCheckNilFalse, true, d)
  11862. if changed2 {
  11863. *v = v2
  11864. }
  11865. case map[uintptr]int64:
  11866. fastpathTV.DecMapUintptrInt64V(v, fastpathCheckNilFalse, false, d)
  11867. case *map[uintptr]int64:
  11868. v2, changed2 := fastpathTV.DecMapUintptrInt64V(*v, fastpathCheckNilFalse, true, d)
  11869. if changed2 {
  11870. *v = v2
  11871. }
  11872. case map[uintptr]float32:
  11873. fastpathTV.DecMapUintptrFloat32V(v, fastpathCheckNilFalse, false, d)
  11874. case *map[uintptr]float32:
  11875. v2, changed2 := fastpathTV.DecMapUintptrFloat32V(*v, fastpathCheckNilFalse, true, d)
  11876. if changed2 {
  11877. *v = v2
  11878. }
  11879. case map[uintptr]float64:
  11880. fastpathTV.DecMapUintptrFloat64V(v, fastpathCheckNilFalse, false, d)
  11881. case *map[uintptr]float64:
  11882. v2, changed2 := fastpathTV.DecMapUintptrFloat64V(*v, fastpathCheckNilFalse, true, d)
  11883. if changed2 {
  11884. *v = v2
  11885. }
  11886. case map[uintptr]bool:
  11887. fastpathTV.DecMapUintptrBoolV(v, fastpathCheckNilFalse, false, d)
  11888. case *map[uintptr]bool:
  11889. v2, changed2 := fastpathTV.DecMapUintptrBoolV(*v, fastpathCheckNilFalse, true, d)
  11890. if changed2 {
  11891. *v = v2
  11892. }
  11893. case []int:
  11894. fastpathTV.DecSliceIntV(v, fastpathCheckNilFalse, false, d)
  11895. case *[]int:
  11896. v2, changed2 := fastpathTV.DecSliceIntV(*v, fastpathCheckNilFalse, true, d)
  11897. if changed2 {
  11898. *v = v2
  11899. }
  11900. case map[int]interface{}:
  11901. fastpathTV.DecMapIntIntfV(v, fastpathCheckNilFalse, false, d)
  11902. case *map[int]interface{}:
  11903. v2, changed2 := fastpathTV.DecMapIntIntfV(*v, fastpathCheckNilFalse, true, d)
  11904. if changed2 {
  11905. *v = v2
  11906. }
  11907. case map[int]string:
  11908. fastpathTV.DecMapIntStringV(v, fastpathCheckNilFalse, false, d)
  11909. case *map[int]string:
  11910. v2, changed2 := fastpathTV.DecMapIntStringV(*v, fastpathCheckNilFalse, true, d)
  11911. if changed2 {
  11912. *v = v2
  11913. }
  11914. case map[int]uint:
  11915. fastpathTV.DecMapIntUintV(v, fastpathCheckNilFalse, false, d)
  11916. case *map[int]uint:
  11917. v2, changed2 := fastpathTV.DecMapIntUintV(*v, fastpathCheckNilFalse, true, d)
  11918. if changed2 {
  11919. *v = v2
  11920. }
  11921. case map[int]uint8:
  11922. fastpathTV.DecMapIntUint8V(v, fastpathCheckNilFalse, false, d)
  11923. case *map[int]uint8:
  11924. v2, changed2 := fastpathTV.DecMapIntUint8V(*v, fastpathCheckNilFalse, true, d)
  11925. if changed2 {
  11926. *v = v2
  11927. }
  11928. case map[int]uint16:
  11929. fastpathTV.DecMapIntUint16V(v, fastpathCheckNilFalse, false, d)
  11930. case *map[int]uint16:
  11931. v2, changed2 := fastpathTV.DecMapIntUint16V(*v, fastpathCheckNilFalse, true, d)
  11932. if changed2 {
  11933. *v = v2
  11934. }
  11935. case map[int]uint32:
  11936. fastpathTV.DecMapIntUint32V(v, fastpathCheckNilFalse, false, d)
  11937. case *map[int]uint32:
  11938. v2, changed2 := fastpathTV.DecMapIntUint32V(*v, fastpathCheckNilFalse, true, d)
  11939. if changed2 {
  11940. *v = v2
  11941. }
  11942. case map[int]uint64:
  11943. fastpathTV.DecMapIntUint64V(v, fastpathCheckNilFalse, false, d)
  11944. case *map[int]uint64:
  11945. v2, changed2 := fastpathTV.DecMapIntUint64V(*v, fastpathCheckNilFalse, true, d)
  11946. if changed2 {
  11947. *v = v2
  11948. }
  11949. case map[int]uintptr:
  11950. fastpathTV.DecMapIntUintptrV(v, fastpathCheckNilFalse, false, d)
  11951. case *map[int]uintptr:
  11952. v2, changed2 := fastpathTV.DecMapIntUintptrV(*v, fastpathCheckNilFalse, true, d)
  11953. if changed2 {
  11954. *v = v2
  11955. }
  11956. case map[int]int:
  11957. fastpathTV.DecMapIntIntV(v, fastpathCheckNilFalse, false, d)
  11958. case *map[int]int:
  11959. v2, changed2 := fastpathTV.DecMapIntIntV(*v, fastpathCheckNilFalse, true, d)
  11960. if changed2 {
  11961. *v = v2
  11962. }
  11963. case map[int]int8:
  11964. fastpathTV.DecMapIntInt8V(v, fastpathCheckNilFalse, false, d)
  11965. case *map[int]int8:
  11966. v2, changed2 := fastpathTV.DecMapIntInt8V(*v, fastpathCheckNilFalse, true, d)
  11967. if changed2 {
  11968. *v = v2
  11969. }
  11970. case map[int]int16:
  11971. fastpathTV.DecMapIntInt16V(v, fastpathCheckNilFalse, false, d)
  11972. case *map[int]int16:
  11973. v2, changed2 := fastpathTV.DecMapIntInt16V(*v, fastpathCheckNilFalse, true, d)
  11974. if changed2 {
  11975. *v = v2
  11976. }
  11977. case map[int]int32:
  11978. fastpathTV.DecMapIntInt32V(v, fastpathCheckNilFalse, false, d)
  11979. case *map[int]int32:
  11980. v2, changed2 := fastpathTV.DecMapIntInt32V(*v, fastpathCheckNilFalse, true, d)
  11981. if changed2 {
  11982. *v = v2
  11983. }
  11984. case map[int]int64:
  11985. fastpathTV.DecMapIntInt64V(v, fastpathCheckNilFalse, false, d)
  11986. case *map[int]int64:
  11987. v2, changed2 := fastpathTV.DecMapIntInt64V(*v, fastpathCheckNilFalse, true, d)
  11988. if changed2 {
  11989. *v = v2
  11990. }
  11991. case map[int]float32:
  11992. fastpathTV.DecMapIntFloat32V(v, fastpathCheckNilFalse, false, d)
  11993. case *map[int]float32:
  11994. v2, changed2 := fastpathTV.DecMapIntFloat32V(*v, fastpathCheckNilFalse, true, d)
  11995. if changed2 {
  11996. *v = v2
  11997. }
  11998. case map[int]float64:
  11999. fastpathTV.DecMapIntFloat64V(v, fastpathCheckNilFalse, false, d)
  12000. case *map[int]float64:
  12001. v2, changed2 := fastpathTV.DecMapIntFloat64V(*v, fastpathCheckNilFalse, true, d)
  12002. if changed2 {
  12003. *v = v2
  12004. }
  12005. case map[int]bool:
  12006. fastpathTV.DecMapIntBoolV(v, fastpathCheckNilFalse, false, d)
  12007. case *map[int]bool:
  12008. v2, changed2 := fastpathTV.DecMapIntBoolV(*v, fastpathCheckNilFalse, true, d)
  12009. if changed2 {
  12010. *v = v2
  12011. }
  12012. case []int8:
  12013. fastpathTV.DecSliceInt8V(v, fastpathCheckNilFalse, false, d)
  12014. case *[]int8:
  12015. v2, changed2 := fastpathTV.DecSliceInt8V(*v, fastpathCheckNilFalse, true, d)
  12016. if changed2 {
  12017. *v = v2
  12018. }
  12019. case map[int8]interface{}:
  12020. fastpathTV.DecMapInt8IntfV(v, fastpathCheckNilFalse, false, d)
  12021. case *map[int8]interface{}:
  12022. v2, changed2 := fastpathTV.DecMapInt8IntfV(*v, fastpathCheckNilFalse, true, d)
  12023. if changed2 {
  12024. *v = v2
  12025. }
  12026. case map[int8]string:
  12027. fastpathTV.DecMapInt8StringV(v, fastpathCheckNilFalse, false, d)
  12028. case *map[int8]string:
  12029. v2, changed2 := fastpathTV.DecMapInt8StringV(*v, fastpathCheckNilFalse, true, d)
  12030. if changed2 {
  12031. *v = v2
  12032. }
  12033. case map[int8]uint:
  12034. fastpathTV.DecMapInt8UintV(v, fastpathCheckNilFalse, false, d)
  12035. case *map[int8]uint:
  12036. v2, changed2 := fastpathTV.DecMapInt8UintV(*v, fastpathCheckNilFalse, true, d)
  12037. if changed2 {
  12038. *v = v2
  12039. }
  12040. case map[int8]uint8:
  12041. fastpathTV.DecMapInt8Uint8V(v, fastpathCheckNilFalse, false, d)
  12042. case *map[int8]uint8:
  12043. v2, changed2 := fastpathTV.DecMapInt8Uint8V(*v, fastpathCheckNilFalse, true, d)
  12044. if changed2 {
  12045. *v = v2
  12046. }
  12047. case map[int8]uint16:
  12048. fastpathTV.DecMapInt8Uint16V(v, fastpathCheckNilFalse, false, d)
  12049. case *map[int8]uint16:
  12050. v2, changed2 := fastpathTV.DecMapInt8Uint16V(*v, fastpathCheckNilFalse, true, d)
  12051. if changed2 {
  12052. *v = v2
  12053. }
  12054. case map[int8]uint32:
  12055. fastpathTV.DecMapInt8Uint32V(v, fastpathCheckNilFalse, false, d)
  12056. case *map[int8]uint32:
  12057. v2, changed2 := fastpathTV.DecMapInt8Uint32V(*v, fastpathCheckNilFalse, true, d)
  12058. if changed2 {
  12059. *v = v2
  12060. }
  12061. case map[int8]uint64:
  12062. fastpathTV.DecMapInt8Uint64V(v, fastpathCheckNilFalse, false, d)
  12063. case *map[int8]uint64:
  12064. v2, changed2 := fastpathTV.DecMapInt8Uint64V(*v, fastpathCheckNilFalse, true, d)
  12065. if changed2 {
  12066. *v = v2
  12067. }
  12068. case map[int8]uintptr:
  12069. fastpathTV.DecMapInt8UintptrV(v, fastpathCheckNilFalse, false, d)
  12070. case *map[int8]uintptr:
  12071. v2, changed2 := fastpathTV.DecMapInt8UintptrV(*v, fastpathCheckNilFalse, true, d)
  12072. if changed2 {
  12073. *v = v2
  12074. }
  12075. case map[int8]int:
  12076. fastpathTV.DecMapInt8IntV(v, fastpathCheckNilFalse, false, d)
  12077. case *map[int8]int:
  12078. v2, changed2 := fastpathTV.DecMapInt8IntV(*v, fastpathCheckNilFalse, true, d)
  12079. if changed2 {
  12080. *v = v2
  12081. }
  12082. case map[int8]int8:
  12083. fastpathTV.DecMapInt8Int8V(v, fastpathCheckNilFalse, false, d)
  12084. case *map[int8]int8:
  12085. v2, changed2 := fastpathTV.DecMapInt8Int8V(*v, fastpathCheckNilFalse, true, d)
  12086. if changed2 {
  12087. *v = v2
  12088. }
  12089. case map[int8]int16:
  12090. fastpathTV.DecMapInt8Int16V(v, fastpathCheckNilFalse, false, d)
  12091. case *map[int8]int16:
  12092. v2, changed2 := fastpathTV.DecMapInt8Int16V(*v, fastpathCheckNilFalse, true, d)
  12093. if changed2 {
  12094. *v = v2
  12095. }
  12096. case map[int8]int32:
  12097. fastpathTV.DecMapInt8Int32V(v, fastpathCheckNilFalse, false, d)
  12098. case *map[int8]int32:
  12099. v2, changed2 := fastpathTV.DecMapInt8Int32V(*v, fastpathCheckNilFalse, true, d)
  12100. if changed2 {
  12101. *v = v2
  12102. }
  12103. case map[int8]int64:
  12104. fastpathTV.DecMapInt8Int64V(v, fastpathCheckNilFalse, false, d)
  12105. case *map[int8]int64:
  12106. v2, changed2 := fastpathTV.DecMapInt8Int64V(*v, fastpathCheckNilFalse, true, d)
  12107. if changed2 {
  12108. *v = v2
  12109. }
  12110. case map[int8]float32:
  12111. fastpathTV.DecMapInt8Float32V(v, fastpathCheckNilFalse, false, d)
  12112. case *map[int8]float32:
  12113. v2, changed2 := fastpathTV.DecMapInt8Float32V(*v, fastpathCheckNilFalse, true, d)
  12114. if changed2 {
  12115. *v = v2
  12116. }
  12117. case map[int8]float64:
  12118. fastpathTV.DecMapInt8Float64V(v, fastpathCheckNilFalse, false, d)
  12119. case *map[int8]float64:
  12120. v2, changed2 := fastpathTV.DecMapInt8Float64V(*v, fastpathCheckNilFalse, true, d)
  12121. if changed2 {
  12122. *v = v2
  12123. }
  12124. case map[int8]bool:
  12125. fastpathTV.DecMapInt8BoolV(v, fastpathCheckNilFalse, false, d)
  12126. case *map[int8]bool:
  12127. v2, changed2 := fastpathTV.DecMapInt8BoolV(*v, fastpathCheckNilFalse, true, d)
  12128. if changed2 {
  12129. *v = v2
  12130. }
  12131. case []int16:
  12132. fastpathTV.DecSliceInt16V(v, fastpathCheckNilFalse, false, d)
  12133. case *[]int16:
  12134. v2, changed2 := fastpathTV.DecSliceInt16V(*v, fastpathCheckNilFalse, true, d)
  12135. if changed2 {
  12136. *v = v2
  12137. }
  12138. case map[int16]interface{}:
  12139. fastpathTV.DecMapInt16IntfV(v, fastpathCheckNilFalse, false, d)
  12140. case *map[int16]interface{}:
  12141. v2, changed2 := fastpathTV.DecMapInt16IntfV(*v, fastpathCheckNilFalse, true, d)
  12142. if changed2 {
  12143. *v = v2
  12144. }
  12145. case map[int16]string:
  12146. fastpathTV.DecMapInt16StringV(v, fastpathCheckNilFalse, false, d)
  12147. case *map[int16]string:
  12148. v2, changed2 := fastpathTV.DecMapInt16StringV(*v, fastpathCheckNilFalse, true, d)
  12149. if changed2 {
  12150. *v = v2
  12151. }
  12152. case map[int16]uint:
  12153. fastpathTV.DecMapInt16UintV(v, fastpathCheckNilFalse, false, d)
  12154. case *map[int16]uint:
  12155. v2, changed2 := fastpathTV.DecMapInt16UintV(*v, fastpathCheckNilFalse, true, d)
  12156. if changed2 {
  12157. *v = v2
  12158. }
  12159. case map[int16]uint8:
  12160. fastpathTV.DecMapInt16Uint8V(v, fastpathCheckNilFalse, false, d)
  12161. case *map[int16]uint8:
  12162. v2, changed2 := fastpathTV.DecMapInt16Uint8V(*v, fastpathCheckNilFalse, true, d)
  12163. if changed2 {
  12164. *v = v2
  12165. }
  12166. case map[int16]uint16:
  12167. fastpathTV.DecMapInt16Uint16V(v, fastpathCheckNilFalse, false, d)
  12168. case *map[int16]uint16:
  12169. v2, changed2 := fastpathTV.DecMapInt16Uint16V(*v, fastpathCheckNilFalse, true, d)
  12170. if changed2 {
  12171. *v = v2
  12172. }
  12173. case map[int16]uint32:
  12174. fastpathTV.DecMapInt16Uint32V(v, fastpathCheckNilFalse, false, d)
  12175. case *map[int16]uint32:
  12176. v2, changed2 := fastpathTV.DecMapInt16Uint32V(*v, fastpathCheckNilFalse, true, d)
  12177. if changed2 {
  12178. *v = v2
  12179. }
  12180. case map[int16]uint64:
  12181. fastpathTV.DecMapInt16Uint64V(v, fastpathCheckNilFalse, false, d)
  12182. case *map[int16]uint64:
  12183. v2, changed2 := fastpathTV.DecMapInt16Uint64V(*v, fastpathCheckNilFalse, true, d)
  12184. if changed2 {
  12185. *v = v2
  12186. }
  12187. case map[int16]uintptr:
  12188. fastpathTV.DecMapInt16UintptrV(v, fastpathCheckNilFalse, false, d)
  12189. case *map[int16]uintptr:
  12190. v2, changed2 := fastpathTV.DecMapInt16UintptrV(*v, fastpathCheckNilFalse, true, d)
  12191. if changed2 {
  12192. *v = v2
  12193. }
  12194. case map[int16]int:
  12195. fastpathTV.DecMapInt16IntV(v, fastpathCheckNilFalse, false, d)
  12196. case *map[int16]int:
  12197. v2, changed2 := fastpathTV.DecMapInt16IntV(*v, fastpathCheckNilFalse, true, d)
  12198. if changed2 {
  12199. *v = v2
  12200. }
  12201. case map[int16]int8:
  12202. fastpathTV.DecMapInt16Int8V(v, fastpathCheckNilFalse, false, d)
  12203. case *map[int16]int8:
  12204. v2, changed2 := fastpathTV.DecMapInt16Int8V(*v, fastpathCheckNilFalse, true, d)
  12205. if changed2 {
  12206. *v = v2
  12207. }
  12208. case map[int16]int16:
  12209. fastpathTV.DecMapInt16Int16V(v, fastpathCheckNilFalse, false, d)
  12210. case *map[int16]int16:
  12211. v2, changed2 := fastpathTV.DecMapInt16Int16V(*v, fastpathCheckNilFalse, true, d)
  12212. if changed2 {
  12213. *v = v2
  12214. }
  12215. case map[int16]int32:
  12216. fastpathTV.DecMapInt16Int32V(v, fastpathCheckNilFalse, false, d)
  12217. case *map[int16]int32:
  12218. v2, changed2 := fastpathTV.DecMapInt16Int32V(*v, fastpathCheckNilFalse, true, d)
  12219. if changed2 {
  12220. *v = v2
  12221. }
  12222. case map[int16]int64:
  12223. fastpathTV.DecMapInt16Int64V(v, fastpathCheckNilFalse, false, d)
  12224. case *map[int16]int64:
  12225. v2, changed2 := fastpathTV.DecMapInt16Int64V(*v, fastpathCheckNilFalse, true, d)
  12226. if changed2 {
  12227. *v = v2
  12228. }
  12229. case map[int16]float32:
  12230. fastpathTV.DecMapInt16Float32V(v, fastpathCheckNilFalse, false, d)
  12231. case *map[int16]float32:
  12232. v2, changed2 := fastpathTV.DecMapInt16Float32V(*v, fastpathCheckNilFalse, true, d)
  12233. if changed2 {
  12234. *v = v2
  12235. }
  12236. case map[int16]float64:
  12237. fastpathTV.DecMapInt16Float64V(v, fastpathCheckNilFalse, false, d)
  12238. case *map[int16]float64:
  12239. v2, changed2 := fastpathTV.DecMapInt16Float64V(*v, fastpathCheckNilFalse, true, d)
  12240. if changed2 {
  12241. *v = v2
  12242. }
  12243. case map[int16]bool:
  12244. fastpathTV.DecMapInt16BoolV(v, fastpathCheckNilFalse, false, d)
  12245. case *map[int16]bool:
  12246. v2, changed2 := fastpathTV.DecMapInt16BoolV(*v, fastpathCheckNilFalse, true, d)
  12247. if changed2 {
  12248. *v = v2
  12249. }
  12250. case []int32:
  12251. fastpathTV.DecSliceInt32V(v, fastpathCheckNilFalse, false, d)
  12252. case *[]int32:
  12253. v2, changed2 := fastpathTV.DecSliceInt32V(*v, fastpathCheckNilFalse, true, d)
  12254. if changed2 {
  12255. *v = v2
  12256. }
  12257. case map[int32]interface{}:
  12258. fastpathTV.DecMapInt32IntfV(v, fastpathCheckNilFalse, false, d)
  12259. case *map[int32]interface{}:
  12260. v2, changed2 := fastpathTV.DecMapInt32IntfV(*v, fastpathCheckNilFalse, true, d)
  12261. if changed2 {
  12262. *v = v2
  12263. }
  12264. case map[int32]string:
  12265. fastpathTV.DecMapInt32StringV(v, fastpathCheckNilFalse, false, d)
  12266. case *map[int32]string:
  12267. v2, changed2 := fastpathTV.DecMapInt32StringV(*v, fastpathCheckNilFalse, true, d)
  12268. if changed2 {
  12269. *v = v2
  12270. }
  12271. case map[int32]uint:
  12272. fastpathTV.DecMapInt32UintV(v, fastpathCheckNilFalse, false, d)
  12273. case *map[int32]uint:
  12274. v2, changed2 := fastpathTV.DecMapInt32UintV(*v, fastpathCheckNilFalse, true, d)
  12275. if changed2 {
  12276. *v = v2
  12277. }
  12278. case map[int32]uint8:
  12279. fastpathTV.DecMapInt32Uint8V(v, fastpathCheckNilFalse, false, d)
  12280. case *map[int32]uint8:
  12281. v2, changed2 := fastpathTV.DecMapInt32Uint8V(*v, fastpathCheckNilFalse, true, d)
  12282. if changed2 {
  12283. *v = v2
  12284. }
  12285. case map[int32]uint16:
  12286. fastpathTV.DecMapInt32Uint16V(v, fastpathCheckNilFalse, false, d)
  12287. case *map[int32]uint16:
  12288. v2, changed2 := fastpathTV.DecMapInt32Uint16V(*v, fastpathCheckNilFalse, true, d)
  12289. if changed2 {
  12290. *v = v2
  12291. }
  12292. case map[int32]uint32:
  12293. fastpathTV.DecMapInt32Uint32V(v, fastpathCheckNilFalse, false, d)
  12294. case *map[int32]uint32:
  12295. v2, changed2 := fastpathTV.DecMapInt32Uint32V(*v, fastpathCheckNilFalse, true, d)
  12296. if changed2 {
  12297. *v = v2
  12298. }
  12299. case map[int32]uint64:
  12300. fastpathTV.DecMapInt32Uint64V(v, fastpathCheckNilFalse, false, d)
  12301. case *map[int32]uint64:
  12302. v2, changed2 := fastpathTV.DecMapInt32Uint64V(*v, fastpathCheckNilFalse, true, d)
  12303. if changed2 {
  12304. *v = v2
  12305. }
  12306. case map[int32]uintptr:
  12307. fastpathTV.DecMapInt32UintptrV(v, fastpathCheckNilFalse, false, d)
  12308. case *map[int32]uintptr:
  12309. v2, changed2 := fastpathTV.DecMapInt32UintptrV(*v, fastpathCheckNilFalse, true, d)
  12310. if changed2 {
  12311. *v = v2
  12312. }
  12313. case map[int32]int:
  12314. fastpathTV.DecMapInt32IntV(v, fastpathCheckNilFalse, false, d)
  12315. case *map[int32]int:
  12316. v2, changed2 := fastpathTV.DecMapInt32IntV(*v, fastpathCheckNilFalse, true, d)
  12317. if changed2 {
  12318. *v = v2
  12319. }
  12320. case map[int32]int8:
  12321. fastpathTV.DecMapInt32Int8V(v, fastpathCheckNilFalse, false, d)
  12322. case *map[int32]int8:
  12323. v2, changed2 := fastpathTV.DecMapInt32Int8V(*v, fastpathCheckNilFalse, true, d)
  12324. if changed2 {
  12325. *v = v2
  12326. }
  12327. case map[int32]int16:
  12328. fastpathTV.DecMapInt32Int16V(v, fastpathCheckNilFalse, false, d)
  12329. case *map[int32]int16:
  12330. v2, changed2 := fastpathTV.DecMapInt32Int16V(*v, fastpathCheckNilFalse, true, d)
  12331. if changed2 {
  12332. *v = v2
  12333. }
  12334. case map[int32]int32:
  12335. fastpathTV.DecMapInt32Int32V(v, fastpathCheckNilFalse, false, d)
  12336. case *map[int32]int32:
  12337. v2, changed2 := fastpathTV.DecMapInt32Int32V(*v, fastpathCheckNilFalse, true, d)
  12338. if changed2 {
  12339. *v = v2
  12340. }
  12341. case map[int32]int64:
  12342. fastpathTV.DecMapInt32Int64V(v, fastpathCheckNilFalse, false, d)
  12343. case *map[int32]int64:
  12344. v2, changed2 := fastpathTV.DecMapInt32Int64V(*v, fastpathCheckNilFalse, true, d)
  12345. if changed2 {
  12346. *v = v2
  12347. }
  12348. case map[int32]float32:
  12349. fastpathTV.DecMapInt32Float32V(v, fastpathCheckNilFalse, false, d)
  12350. case *map[int32]float32:
  12351. v2, changed2 := fastpathTV.DecMapInt32Float32V(*v, fastpathCheckNilFalse, true, d)
  12352. if changed2 {
  12353. *v = v2
  12354. }
  12355. case map[int32]float64:
  12356. fastpathTV.DecMapInt32Float64V(v, fastpathCheckNilFalse, false, d)
  12357. case *map[int32]float64:
  12358. v2, changed2 := fastpathTV.DecMapInt32Float64V(*v, fastpathCheckNilFalse, true, d)
  12359. if changed2 {
  12360. *v = v2
  12361. }
  12362. case map[int32]bool:
  12363. fastpathTV.DecMapInt32BoolV(v, fastpathCheckNilFalse, false, d)
  12364. case *map[int32]bool:
  12365. v2, changed2 := fastpathTV.DecMapInt32BoolV(*v, fastpathCheckNilFalse, true, d)
  12366. if changed2 {
  12367. *v = v2
  12368. }
  12369. case []int64:
  12370. fastpathTV.DecSliceInt64V(v, fastpathCheckNilFalse, false, d)
  12371. case *[]int64:
  12372. v2, changed2 := fastpathTV.DecSliceInt64V(*v, fastpathCheckNilFalse, true, d)
  12373. if changed2 {
  12374. *v = v2
  12375. }
  12376. case map[int64]interface{}:
  12377. fastpathTV.DecMapInt64IntfV(v, fastpathCheckNilFalse, false, d)
  12378. case *map[int64]interface{}:
  12379. v2, changed2 := fastpathTV.DecMapInt64IntfV(*v, fastpathCheckNilFalse, true, d)
  12380. if changed2 {
  12381. *v = v2
  12382. }
  12383. case map[int64]string:
  12384. fastpathTV.DecMapInt64StringV(v, fastpathCheckNilFalse, false, d)
  12385. case *map[int64]string:
  12386. v2, changed2 := fastpathTV.DecMapInt64StringV(*v, fastpathCheckNilFalse, true, d)
  12387. if changed2 {
  12388. *v = v2
  12389. }
  12390. case map[int64]uint:
  12391. fastpathTV.DecMapInt64UintV(v, fastpathCheckNilFalse, false, d)
  12392. case *map[int64]uint:
  12393. v2, changed2 := fastpathTV.DecMapInt64UintV(*v, fastpathCheckNilFalse, true, d)
  12394. if changed2 {
  12395. *v = v2
  12396. }
  12397. case map[int64]uint8:
  12398. fastpathTV.DecMapInt64Uint8V(v, fastpathCheckNilFalse, false, d)
  12399. case *map[int64]uint8:
  12400. v2, changed2 := fastpathTV.DecMapInt64Uint8V(*v, fastpathCheckNilFalse, true, d)
  12401. if changed2 {
  12402. *v = v2
  12403. }
  12404. case map[int64]uint16:
  12405. fastpathTV.DecMapInt64Uint16V(v, fastpathCheckNilFalse, false, d)
  12406. case *map[int64]uint16:
  12407. v2, changed2 := fastpathTV.DecMapInt64Uint16V(*v, fastpathCheckNilFalse, true, d)
  12408. if changed2 {
  12409. *v = v2
  12410. }
  12411. case map[int64]uint32:
  12412. fastpathTV.DecMapInt64Uint32V(v, fastpathCheckNilFalse, false, d)
  12413. case *map[int64]uint32:
  12414. v2, changed2 := fastpathTV.DecMapInt64Uint32V(*v, fastpathCheckNilFalse, true, d)
  12415. if changed2 {
  12416. *v = v2
  12417. }
  12418. case map[int64]uint64:
  12419. fastpathTV.DecMapInt64Uint64V(v, fastpathCheckNilFalse, false, d)
  12420. case *map[int64]uint64:
  12421. v2, changed2 := fastpathTV.DecMapInt64Uint64V(*v, fastpathCheckNilFalse, true, d)
  12422. if changed2 {
  12423. *v = v2
  12424. }
  12425. case map[int64]uintptr:
  12426. fastpathTV.DecMapInt64UintptrV(v, fastpathCheckNilFalse, false, d)
  12427. case *map[int64]uintptr:
  12428. v2, changed2 := fastpathTV.DecMapInt64UintptrV(*v, fastpathCheckNilFalse, true, d)
  12429. if changed2 {
  12430. *v = v2
  12431. }
  12432. case map[int64]int:
  12433. fastpathTV.DecMapInt64IntV(v, fastpathCheckNilFalse, false, d)
  12434. case *map[int64]int:
  12435. v2, changed2 := fastpathTV.DecMapInt64IntV(*v, fastpathCheckNilFalse, true, d)
  12436. if changed2 {
  12437. *v = v2
  12438. }
  12439. case map[int64]int8:
  12440. fastpathTV.DecMapInt64Int8V(v, fastpathCheckNilFalse, false, d)
  12441. case *map[int64]int8:
  12442. v2, changed2 := fastpathTV.DecMapInt64Int8V(*v, fastpathCheckNilFalse, true, d)
  12443. if changed2 {
  12444. *v = v2
  12445. }
  12446. case map[int64]int16:
  12447. fastpathTV.DecMapInt64Int16V(v, fastpathCheckNilFalse, false, d)
  12448. case *map[int64]int16:
  12449. v2, changed2 := fastpathTV.DecMapInt64Int16V(*v, fastpathCheckNilFalse, true, d)
  12450. if changed2 {
  12451. *v = v2
  12452. }
  12453. case map[int64]int32:
  12454. fastpathTV.DecMapInt64Int32V(v, fastpathCheckNilFalse, false, d)
  12455. case *map[int64]int32:
  12456. v2, changed2 := fastpathTV.DecMapInt64Int32V(*v, fastpathCheckNilFalse, true, d)
  12457. if changed2 {
  12458. *v = v2
  12459. }
  12460. case map[int64]int64:
  12461. fastpathTV.DecMapInt64Int64V(v, fastpathCheckNilFalse, false, d)
  12462. case *map[int64]int64:
  12463. v2, changed2 := fastpathTV.DecMapInt64Int64V(*v, fastpathCheckNilFalse, true, d)
  12464. if changed2 {
  12465. *v = v2
  12466. }
  12467. case map[int64]float32:
  12468. fastpathTV.DecMapInt64Float32V(v, fastpathCheckNilFalse, false, d)
  12469. case *map[int64]float32:
  12470. v2, changed2 := fastpathTV.DecMapInt64Float32V(*v, fastpathCheckNilFalse, true, d)
  12471. if changed2 {
  12472. *v = v2
  12473. }
  12474. case map[int64]float64:
  12475. fastpathTV.DecMapInt64Float64V(v, fastpathCheckNilFalse, false, d)
  12476. case *map[int64]float64:
  12477. v2, changed2 := fastpathTV.DecMapInt64Float64V(*v, fastpathCheckNilFalse, true, d)
  12478. if changed2 {
  12479. *v = v2
  12480. }
  12481. case map[int64]bool:
  12482. fastpathTV.DecMapInt64BoolV(v, fastpathCheckNilFalse, false, d)
  12483. case *map[int64]bool:
  12484. v2, changed2 := fastpathTV.DecMapInt64BoolV(*v, fastpathCheckNilFalse, true, d)
  12485. if changed2 {
  12486. *v = v2
  12487. }
  12488. case []bool:
  12489. fastpathTV.DecSliceBoolV(v, fastpathCheckNilFalse, false, d)
  12490. case *[]bool:
  12491. v2, changed2 := fastpathTV.DecSliceBoolV(*v, fastpathCheckNilFalse, true, d)
  12492. if changed2 {
  12493. *v = v2
  12494. }
  12495. case map[bool]interface{}:
  12496. fastpathTV.DecMapBoolIntfV(v, fastpathCheckNilFalse, false, d)
  12497. case *map[bool]interface{}:
  12498. v2, changed2 := fastpathTV.DecMapBoolIntfV(*v, fastpathCheckNilFalse, true, d)
  12499. if changed2 {
  12500. *v = v2
  12501. }
  12502. case map[bool]string:
  12503. fastpathTV.DecMapBoolStringV(v, fastpathCheckNilFalse, false, d)
  12504. case *map[bool]string:
  12505. v2, changed2 := fastpathTV.DecMapBoolStringV(*v, fastpathCheckNilFalse, true, d)
  12506. if changed2 {
  12507. *v = v2
  12508. }
  12509. case map[bool]uint:
  12510. fastpathTV.DecMapBoolUintV(v, fastpathCheckNilFalse, false, d)
  12511. case *map[bool]uint:
  12512. v2, changed2 := fastpathTV.DecMapBoolUintV(*v, fastpathCheckNilFalse, true, d)
  12513. if changed2 {
  12514. *v = v2
  12515. }
  12516. case map[bool]uint8:
  12517. fastpathTV.DecMapBoolUint8V(v, fastpathCheckNilFalse, false, d)
  12518. case *map[bool]uint8:
  12519. v2, changed2 := fastpathTV.DecMapBoolUint8V(*v, fastpathCheckNilFalse, true, d)
  12520. if changed2 {
  12521. *v = v2
  12522. }
  12523. case map[bool]uint16:
  12524. fastpathTV.DecMapBoolUint16V(v, fastpathCheckNilFalse, false, d)
  12525. case *map[bool]uint16:
  12526. v2, changed2 := fastpathTV.DecMapBoolUint16V(*v, fastpathCheckNilFalse, true, d)
  12527. if changed2 {
  12528. *v = v2
  12529. }
  12530. case map[bool]uint32:
  12531. fastpathTV.DecMapBoolUint32V(v, fastpathCheckNilFalse, false, d)
  12532. case *map[bool]uint32:
  12533. v2, changed2 := fastpathTV.DecMapBoolUint32V(*v, fastpathCheckNilFalse, true, d)
  12534. if changed2 {
  12535. *v = v2
  12536. }
  12537. case map[bool]uint64:
  12538. fastpathTV.DecMapBoolUint64V(v, fastpathCheckNilFalse, false, d)
  12539. case *map[bool]uint64:
  12540. v2, changed2 := fastpathTV.DecMapBoolUint64V(*v, fastpathCheckNilFalse, true, d)
  12541. if changed2 {
  12542. *v = v2
  12543. }
  12544. case map[bool]uintptr:
  12545. fastpathTV.DecMapBoolUintptrV(v, fastpathCheckNilFalse, false, d)
  12546. case *map[bool]uintptr:
  12547. v2, changed2 := fastpathTV.DecMapBoolUintptrV(*v, fastpathCheckNilFalse, true, d)
  12548. if changed2 {
  12549. *v = v2
  12550. }
  12551. case map[bool]int:
  12552. fastpathTV.DecMapBoolIntV(v, fastpathCheckNilFalse, false, d)
  12553. case *map[bool]int:
  12554. v2, changed2 := fastpathTV.DecMapBoolIntV(*v, fastpathCheckNilFalse, true, d)
  12555. if changed2 {
  12556. *v = v2
  12557. }
  12558. case map[bool]int8:
  12559. fastpathTV.DecMapBoolInt8V(v, fastpathCheckNilFalse, false, d)
  12560. case *map[bool]int8:
  12561. v2, changed2 := fastpathTV.DecMapBoolInt8V(*v, fastpathCheckNilFalse, true, d)
  12562. if changed2 {
  12563. *v = v2
  12564. }
  12565. case map[bool]int16:
  12566. fastpathTV.DecMapBoolInt16V(v, fastpathCheckNilFalse, false, d)
  12567. case *map[bool]int16:
  12568. v2, changed2 := fastpathTV.DecMapBoolInt16V(*v, fastpathCheckNilFalse, true, d)
  12569. if changed2 {
  12570. *v = v2
  12571. }
  12572. case map[bool]int32:
  12573. fastpathTV.DecMapBoolInt32V(v, fastpathCheckNilFalse, false, d)
  12574. case *map[bool]int32:
  12575. v2, changed2 := fastpathTV.DecMapBoolInt32V(*v, fastpathCheckNilFalse, true, d)
  12576. if changed2 {
  12577. *v = v2
  12578. }
  12579. case map[bool]int64:
  12580. fastpathTV.DecMapBoolInt64V(v, fastpathCheckNilFalse, false, d)
  12581. case *map[bool]int64:
  12582. v2, changed2 := fastpathTV.DecMapBoolInt64V(*v, fastpathCheckNilFalse, true, d)
  12583. if changed2 {
  12584. *v = v2
  12585. }
  12586. case map[bool]float32:
  12587. fastpathTV.DecMapBoolFloat32V(v, fastpathCheckNilFalse, false, d)
  12588. case *map[bool]float32:
  12589. v2, changed2 := fastpathTV.DecMapBoolFloat32V(*v, fastpathCheckNilFalse, true, d)
  12590. if changed2 {
  12591. *v = v2
  12592. }
  12593. case map[bool]float64:
  12594. fastpathTV.DecMapBoolFloat64V(v, fastpathCheckNilFalse, false, d)
  12595. case *map[bool]float64:
  12596. v2, changed2 := fastpathTV.DecMapBoolFloat64V(*v, fastpathCheckNilFalse, true, d)
  12597. if changed2 {
  12598. *v = v2
  12599. }
  12600. case map[bool]bool:
  12601. fastpathTV.DecMapBoolBoolV(v, fastpathCheckNilFalse, false, d)
  12602. case *map[bool]bool:
  12603. v2, changed2 := fastpathTV.DecMapBoolBoolV(*v, fastpathCheckNilFalse, true, d)
  12604. if changed2 {
  12605. *v = v2
  12606. }
  12607. default:
  12608. return false
  12609. }
  12610. return true
  12611. }
  12612. // -- -- fast path functions
  12613. func (f *decFnInfo) fastpathDecSliceIntfR(rv reflect.Value) {
  12614. array := f.seq == seqTypeArray
  12615. if !array && rv.CanAddr() {
  12616. vp := rv.Addr().Interface().(*[]interface{})
  12617. v, changed := fastpathTV.DecSliceIntfV(*vp, fastpathCheckNilFalse, !array, f.d)
  12618. if changed {
  12619. *vp = v
  12620. }
  12621. } else {
  12622. v := rv.Interface().([]interface{})
  12623. fastpathTV.DecSliceIntfV(v, fastpathCheckNilFalse, false, f.d)
  12624. }
  12625. }
  12626. func (f fastpathT) DecSliceIntfX(vp *[]interface{}, checkNil bool, d *Decoder) {
  12627. v, changed := f.DecSliceIntfV(*vp, checkNil, true, d)
  12628. if changed {
  12629. *vp = v
  12630. }
  12631. }
  12632. func (_ fastpathT) DecSliceIntfV(v []interface{}, checkNil bool, canChange bool,
  12633. d *Decoder) (_ []interface{}, changed bool) {
  12634. dd := d.d
  12635. if checkNil && dd.TryDecodeAsNil() {
  12636. if v != nil {
  12637. changed = true
  12638. }
  12639. return nil, changed
  12640. }
  12641. slh, containerLenS := d.decSliceHelperStart()
  12642. x2read := containerLenS
  12643. var xtrunc bool
  12644. if canChange && v == nil {
  12645. var xlen int
  12646. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 16); xtrunc {
  12647. x2read = xlen
  12648. }
  12649. v = make([]interface{}, xlen)
  12650. changed = true
  12651. }
  12652. if containerLenS == 0 {
  12653. if canChange && len(v) != 0 {
  12654. v = v[:0]
  12655. changed = true
  12656. }
  12657. return v, changed
  12658. }
  12659. if containerLenS > 0 {
  12660. if containerLenS > cap(v) {
  12661. if canChange {
  12662. var xlen int
  12663. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 16); xtrunc {
  12664. x2read = xlen
  12665. }
  12666. v = make([]interface{}, xlen)
  12667. changed = true
  12668. } else {
  12669. d.arrayCannotExpand(len(v), containerLenS)
  12670. x2read = len(v)
  12671. }
  12672. } else if containerLenS != len(v) {
  12673. v = v[:containerLenS]
  12674. changed = true
  12675. }
  12676. j := 0
  12677. for ; j < x2read; j++ {
  12678. d.decode(&v[j])
  12679. }
  12680. if xtrunc {
  12681. for ; j < containerLenS; j++ {
  12682. v = append(v, nil)
  12683. d.decode(&v[j])
  12684. }
  12685. } else if !canChange {
  12686. for ; j < containerLenS; j++ {
  12687. d.swallow()
  12688. }
  12689. }
  12690. } else {
  12691. j := 0
  12692. for ; !dd.CheckBreak(); j++ {
  12693. if j >= len(v) {
  12694. if canChange {
  12695. v = append(v, nil)
  12696. changed = true
  12697. } else {
  12698. d.arrayCannotExpand(len(v), j+1)
  12699. }
  12700. }
  12701. if j < len(v) {
  12702. d.decode(&v[j])
  12703. } else {
  12704. d.swallow()
  12705. }
  12706. }
  12707. slh.End()
  12708. }
  12709. return v, changed
  12710. }
  12711. func (f *decFnInfo) fastpathDecSliceStringR(rv reflect.Value) {
  12712. array := f.seq == seqTypeArray
  12713. if !array && rv.CanAddr() {
  12714. vp := rv.Addr().Interface().(*[]string)
  12715. v, changed := fastpathTV.DecSliceStringV(*vp, fastpathCheckNilFalse, !array, f.d)
  12716. if changed {
  12717. *vp = v
  12718. }
  12719. } else {
  12720. v := rv.Interface().([]string)
  12721. fastpathTV.DecSliceStringV(v, fastpathCheckNilFalse, false, f.d)
  12722. }
  12723. }
  12724. func (f fastpathT) DecSliceStringX(vp *[]string, checkNil bool, d *Decoder) {
  12725. v, changed := f.DecSliceStringV(*vp, checkNil, true, d)
  12726. if changed {
  12727. *vp = v
  12728. }
  12729. }
  12730. func (_ fastpathT) DecSliceStringV(v []string, checkNil bool, canChange bool,
  12731. d *Decoder) (_ []string, changed bool) {
  12732. dd := d.d
  12733. if checkNil && dd.TryDecodeAsNil() {
  12734. if v != nil {
  12735. changed = true
  12736. }
  12737. return nil, changed
  12738. }
  12739. slh, containerLenS := d.decSliceHelperStart()
  12740. x2read := containerLenS
  12741. var xtrunc bool
  12742. if canChange && v == nil {
  12743. var xlen int
  12744. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 16); xtrunc {
  12745. x2read = xlen
  12746. }
  12747. v = make([]string, xlen)
  12748. changed = true
  12749. }
  12750. if containerLenS == 0 {
  12751. if canChange && len(v) != 0 {
  12752. v = v[:0]
  12753. changed = true
  12754. }
  12755. return v, changed
  12756. }
  12757. if containerLenS > 0 {
  12758. if containerLenS > cap(v) {
  12759. if canChange {
  12760. var xlen int
  12761. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 16); xtrunc {
  12762. x2read = xlen
  12763. }
  12764. v = make([]string, xlen)
  12765. changed = true
  12766. } else {
  12767. d.arrayCannotExpand(len(v), containerLenS)
  12768. x2read = len(v)
  12769. }
  12770. } else if containerLenS != len(v) {
  12771. v = v[:containerLenS]
  12772. changed = true
  12773. }
  12774. j := 0
  12775. for ; j < x2read; j++ {
  12776. v[j] = dd.DecodeString()
  12777. }
  12778. if xtrunc {
  12779. for ; j < containerLenS; j++ {
  12780. v = append(v, "")
  12781. v[j] = dd.DecodeString()
  12782. }
  12783. } else if !canChange {
  12784. for ; j < containerLenS; j++ {
  12785. d.swallow()
  12786. }
  12787. }
  12788. } else {
  12789. j := 0
  12790. for ; !dd.CheckBreak(); j++ {
  12791. if j >= len(v) {
  12792. if canChange {
  12793. v = append(v, "")
  12794. changed = true
  12795. } else {
  12796. d.arrayCannotExpand(len(v), j+1)
  12797. }
  12798. }
  12799. if j < len(v) {
  12800. v[j] = dd.DecodeString()
  12801. } else {
  12802. d.swallow()
  12803. }
  12804. }
  12805. slh.End()
  12806. }
  12807. return v, changed
  12808. }
  12809. func (f *decFnInfo) fastpathDecSliceFloat32R(rv reflect.Value) {
  12810. array := f.seq == seqTypeArray
  12811. if !array && rv.CanAddr() {
  12812. vp := rv.Addr().Interface().(*[]float32)
  12813. v, changed := fastpathTV.DecSliceFloat32V(*vp, fastpathCheckNilFalse, !array, f.d)
  12814. if changed {
  12815. *vp = v
  12816. }
  12817. } else {
  12818. v := rv.Interface().([]float32)
  12819. fastpathTV.DecSliceFloat32V(v, fastpathCheckNilFalse, false, f.d)
  12820. }
  12821. }
  12822. func (f fastpathT) DecSliceFloat32X(vp *[]float32, checkNil bool, d *Decoder) {
  12823. v, changed := f.DecSliceFloat32V(*vp, checkNil, true, d)
  12824. if changed {
  12825. *vp = v
  12826. }
  12827. }
  12828. func (_ fastpathT) DecSliceFloat32V(v []float32, checkNil bool, canChange bool,
  12829. d *Decoder) (_ []float32, changed bool) {
  12830. dd := d.d
  12831. if checkNil && dd.TryDecodeAsNil() {
  12832. if v != nil {
  12833. changed = true
  12834. }
  12835. return nil, changed
  12836. }
  12837. slh, containerLenS := d.decSliceHelperStart()
  12838. x2read := containerLenS
  12839. var xtrunc bool
  12840. if canChange && v == nil {
  12841. var xlen int
  12842. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 4); xtrunc {
  12843. x2read = xlen
  12844. }
  12845. v = make([]float32, xlen)
  12846. changed = true
  12847. }
  12848. if containerLenS == 0 {
  12849. if canChange && len(v) != 0 {
  12850. v = v[:0]
  12851. changed = true
  12852. }
  12853. return v, changed
  12854. }
  12855. if containerLenS > 0 {
  12856. if containerLenS > cap(v) {
  12857. if canChange {
  12858. var xlen int
  12859. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 4); xtrunc {
  12860. x2read = xlen
  12861. }
  12862. v = make([]float32, xlen)
  12863. changed = true
  12864. } else {
  12865. d.arrayCannotExpand(len(v), containerLenS)
  12866. x2read = len(v)
  12867. }
  12868. } else if containerLenS != len(v) {
  12869. v = v[:containerLenS]
  12870. changed = true
  12871. }
  12872. j := 0
  12873. for ; j < x2read; j++ {
  12874. v[j] = float32(dd.DecodeFloat(true))
  12875. }
  12876. if xtrunc {
  12877. for ; j < containerLenS; j++ {
  12878. v = append(v, 0)
  12879. v[j] = float32(dd.DecodeFloat(true))
  12880. }
  12881. } else if !canChange {
  12882. for ; j < containerLenS; j++ {
  12883. d.swallow()
  12884. }
  12885. }
  12886. } else {
  12887. j := 0
  12888. for ; !dd.CheckBreak(); j++ {
  12889. if j >= len(v) {
  12890. if canChange {
  12891. v = append(v, 0)
  12892. changed = true
  12893. } else {
  12894. d.arrayCannotExpand(len(v), j+1)
  12895. }
  12896. }
  12897. if j < len(v) {
  12898. v[j] = float32(dd.DecodeFloat(true))
  12899. } else {
  12900. d.swallow()
  12901. }
  12902. }
  12903. slh.End()
  12904. }
  12905. return v, changed
  12906. }
  12907. func (f *decFnInfo) fastpathDecSliceFloat64R(rv reflect.Value) {
  12908. array := f.seq == seqTypeArray
  12909. if !array && rv.CanAddr() {
  12910. vp := rv.Addr().Interface().(*[]float64)
  12911. v, changed := fastpathTV.DecSliceFloat64V(*vp, fastpathCheckNilFalse, !array, f.d)
  12912. if changed {
  12913. *vp = v
  12914. }
  12915. } else {
  12916. v := rv.Interface().([]float64)
  12917. fastpathTV.DecSliceFloat64V(v, fastpathCheckNilFalse, false, f.d)
  12918. }
  12919. }
  12920. func (f fastpathT) DecSliceFloat64X(vp *[]float64, checkNil bool, d *Decoder) {
  12921. v, changed := f.DecSliceFloat64V(*vp, checkNil, true, d)
  12922. if changed {
  12923. *vp = v
  12924. }
  12925. }
  12926. func (_ fastpathT) DecSliceFloat64V(v []float64, checkNil bool, canChange bool,
  12927. d *Decoder) (_ []float64, changed bool) {
  12928. dd := d.d
  12929. if checkNil && dd.TryDecodeAsNil() {
  12930. if v != nil {
  12931. changed = true
  12932. }
  12933. return nil, changed
  12934. }
  12935. slh, containerLenS := d.decSliceHelperStart()
  12936. x2read := containerLenS
  12937. var xtrunc bool
  12938. if canChange && v == nil {
  12939. var xlen int
  12940. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  12941. x2read = xlen
  12942. }
  12943. v = make([]float64, xlen)
  12944. changed = true
  12945. }
  12946. if containerLenS == 0 {
  12947. if canChange && len(v) != 0 {
  12948. v = v[:0]
  12949. changed = true
  12950. }
  12951. return v, changed
  12952. }
  12953. if containerLenS > 0 {
  12954. if containerLenS > cap(v) {
  12955. if canChange {
  12956. var xlen int
  12957. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  12958. x2read = xlen
  12959. }
  12960. v = make([]float64, xlen)
  12961. changed = true
  12962. } else {
  12963. d.arrayCannotExpand(len(v), containerLenS)
  12964. x2read = len(v)
  12965. }
  12966. } else if containerLenS != len(v) {
  12967. v = v[:containerLenS]
  12968. changed = true
  12969. }
  12970. j := 0
  12971. for ; j < x2read; j++ {
  12972. v[j] = dd.DecodeFloat(false)
  12973. }
  12974. if xtrunc {
  12975. for ; j < containerLenS; j++ {
  12976. v = append(v, 0)
  12977. v[j] = dd.DecodeFloat(false)
  12978. }
  12979. } else if !canChange {
  12980. for ; j < containerLenS; j++ {
  12981. d.swallow()
  12982. }
  12983. }
  12984. } else {
  12985. j := 0
  12986. for ; !dd.CheckBreak(); j++ {
  12987. if j >= len(v) {
  12988. if canChange {
  12989. v = append(v, 0)
  12990. changed = true
  12991. } else {
  12992. d.arrayCannotExpand(len(v), j+1)
  12993. }
  12994. }
  12995. if j < len(v) {
  12996. v[j] = dd.DecodeFloat(false)
  12997. } else {
  12998. d.swallow()
  12999. }
  13000. }
  13001. slh.End()
  13002. }
  13003. return v, changed
  13004. }
  13005. func (f *decFnInfo) fastpathDecSliceUintR(rv reflect.Value) {
  13006. array := f.seq == seqTypeArray
  13007. if !array && rv.CanAddr() {
  13008. vp := rv.Addr().Interface().(*[]uint)
  13009. v, changed := fastpathTV.DecSliceUintV(*vp, fastpathCheckNilFalse, !array, f.d)
  13010. if changed {
  13011. *vp = v
  13012. }
  13013. } else {
  13014. v := rv.Interface().([]uint)
  13015. fastpathTV.DecSliceUintV(v, fastpathCheckNilFalse, false, f.d)
  13016. }
  13017. }
  13018. func (f fastpathT) DecSliceUintX(vp *[]uint, checkNil bool, d *Decoder) {
  13019. v, changed := f.DecSliceUintV(*vp, checkNil, true, d)
  13020. if changed {
  13021. *vp = v
  13022. }
  13023. }
  13024. func (_ fastpathT) DecSliceUintV(v []uint, checkNil bool, canChange bool,
  13025. d *Decoder) (_ []uint, changed bool) {
  13026. dd := d.d
  13027. if checkNil && dd.TryDecodeAsNil() {
  13028. if v != nil {
  13029. changed = true
  13030. }
  13031. return nil, changed
  13032. }
  13033. slh, containerLenS := d.decSliceHelperStart()
  13034. x2read := containerLenS
  13035. var xtrunc bool
  13036. if canChange && v == nil {
  13037. var xlen int
  13038. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13039. x2read = xlen
  13040. }
  13041. v = make([]uint, xlen)
  13042. changed = true
  13043. }
  13044. if containerLenS == 0 {
  13045. if canChange && len(v) != 0 {
  13046. v = v[:0]
  13047. changed = true
  13048. }
  13049. return v, changed
  13050. }
  13051. if containerLenS > 0 {
  13052. if containerLenS > cap(v) {
  13053. if canChange {
  13054. var xlen int
  13055. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13056. x2read = xlen
  13057. }
  13058. v = make([]uint, xlen)
  13059. changed = true
  13060. } else {
  13061. d.arrayCannotExpand(len(v), containerLenS)
  13062. x2read = len(v)
  13063. }
  13064. } else if containerLenS != len(v) {
  13065. v = v[:containerLenS]
  13066. changed = true
  13067. }
  13068. j := 0
  13069. for ; j < x2read; j++ {
  13070. v[j] = uint(dd.DecodeUint(uintBitsize))
  13071. }
  13072. if xtrunc {
  13073. for ; j < containerLenS; j++ {
  13074. v = append(v, 0)
  13075. v[j] = uint(dd.DecodeUint(uintBitsize))
  13076. }
  13077. } else if !canChange {
  13078. for ; j < containerLenS; j++ {
  13079. d.swallow()
  13080. }
  13081. }
  13082. } else {
  13083. j := 0
  13084. for ; !dd.CheckBreak(); j++ {
  13085. if j >= len(v) {
  13086. if canChange {
  13087. v = append(v, 0)
  13088. changed = true
  13089. } else {
  13090. d.arrayCannotExpand(len(v), j+1)
  13091. }
  13092. }
  13093. if j < len(v) {
  13094. v[j] = uint(dd.DecodeUint(uintBitsize))
  13095. } else {
  13096. d.swallow()
  13097. }
  13098. }
  13099. slh.End()
  13100. }
  13101. return v, changed
  13102. }
  13103. func (f *decFnInfo) fastpathDecSliceUint16R(rv reflect.Value) {
  13104. array := f.seq == seqTypeArray
  13105. if !array && rv.CanAddr() {
  13106. vp := rv.Addr().Interface().(*[]uint16)
  13107. v, changed := fastpathTV.DecSliceUint16V(*vp, fastpathCheckNilFalse, !array, f.d)
  13108. if changed {
  13109. *vp = v
  13110. }
  13111. } else {
  13112. v := rv.Interface().([]uint16)
  13113. fastpathTV.DecSliceUint16V(v, fastpathCheckNilFalse, false, f.d)
  13114. }
  13115. }
  13116. func (f fastpathT) DecSliceUint16X(vp *[]uint16, checkNil bool, d *Decoder) {
  13117. v, changed := f.DecSliceUint16V(*vp, checkNil, true, d)
  13118. if changed {
  13119. *vp = v
  13120. }
  13121. }
  13122. func (_ fastpathT) DecSliceUint16V(v []uint16, checkNil bool, canChange bool,
  13123. d *Decoder) (_ []uint16, changed bool) {
  13124. dd := d.d
  13125. if checkNil && dd.TryDecodeAsNil() {
  13126. if v != nil {
  13127. changed = true
  13128. }
  13129. return nil, changed
  13130. }
  13131. slh, containerLenS := d.decSliceHelperStart()
  13132. x2read := containerLenS
  13133. var xtrunc bool
  13134. if canChange && v == nil {
  13135. var xlen int
  13136. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 2); xtrunc {
  13137. x2read = xlen
  13138. }
  13139. v = make([]uint16, xlen)
  13140. changed = true
  13141. }
  13142. if containerLenS == 0 {
  13143. if canChange && len(v) != 0 {
  13144. v = v[:0]
  13145. changed = true
  13146. }
  13147. return v, changed
  13148. }
  13149. if containerLenS > 0 {
  13150. if containerLenS > cap(v) {
  13151. if canChange {
  13152. var xlen int
  13153. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 2); xtrunc {
  13154. x2read = xlen
  13155. }
  13156. v = make([]uint16, xlen)
  13157. changed = true
  13158. } else {
  13159. d.arrayCannotExpand(len(v), containerLenS)
  13160. x2read = len(v)
  13161. }
  13162. } else if containerLenS != len(v) {
  13163. v = v[:containerLenS]
  13164. changed = true
  13165. }
  13166. j := 0
  13167. for ; j < x2read; j++ {
  13168. v[j] = uint16(dd.DecodeUint(16))
  13169. }
  13170. if xtrunc {
  13171. for ; j < containerLenS; j++ {
  13172. v = append(v, 0)
  13173. v[j] = uint16(dd.DecodeUint(16))
  13174. }
  13175. } else if !canChange {
  13176. for ; j < containerLenS; j++ {
  13177. d.swallow()
  13178. }
  13179. }
  13180. } else {
  13181. j := 0
  13182. for ; !dd.CheckBreak(); j++ {
  13183. if j >= len(v) {
  13184. if canChange {
  13185. v = append(v, 0)
  13186. changed = true
  13187. } else {
  13188. d.arrayCannotExpand(len(v), j+1)
  13189. }
  13190. }
  13191. if j < len(v) {
  13192. v[j] = uint16(dd.DecodeUint(16))
  13193. } else {
  13194. d.swallow()
  13195. }
  13196. }
  13197. slh.End()
  13198. }
  13199. return v, changed
  13200. }
  13201. func (f *decFnInfo) fastpathDecSliceUint32R(rv reflect.Value) {
  13202. array := f.seq == seqTypeArray
  13203. if !array && rv.CanAddr() {
  13204. vp := rv.Addr().Interface().(*[]uint32)
  13205. v, changed := fastpathTV.DecSliceUint32V(*vp, fastpathCheckNilFalse, !array, f.d)
  13206. if changed {
  13207. *vp = v
  13208. }
  13209. } else {
  13210. v := rv.Interface().([]uint32)
  13211. fastpathTV.DecSliceUint32V(v, fastpathCheckNilFalse, false, f.d)
  13212. }
  13213. }
  13214. func (f fastpathT) DecSliceUint32X(vp *[]uint32, checkNil bool, d *Decoder) {
  13215. v, changed := f.DecSliceUint32V(*vp, checkNil, true, d)
  13216. if changed {
  13217. *vp = v
  13218. }
  13219. }
  13220. func (_ fastpathT) DecSliceUint32V(v []uint32, checkNil bool, canChange bool,
  13221. d *Decoder) (_ []uint32, changed bool) {
  13222. dd := d.d
  13223. if checkNil && dd.TryDecodeAsNil() {
  13224. if v != nil {
  13225. changed = true
  13226. }
  13227. return nil, changed
  13228. }
  13229. slh, containerLenS := d.decSliceHelperStart()
  13230. x2read := containerLenS
  13231. var xtrunc bool
  13232. if canChange && v == nil {
  13233. var xlen int
  13234. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 4); xtrunc {
  13235. x2read = xlen
  13236. }
  13237. v = make([]uint32, xlen)
  13238. changed = true
  13239. }
  13240. if containerLenS == 0 {
  13241. if canChange && len(v) != 0 {
  13242. v = v[:0]
  13243. changed = true
  13244. }
  13245. return v, changed
  13246. }
  13247. if containerLenS > 0 {
  13248. if containerLenS > cap(v) {
  13249. if canChange {
  13250. var xlen int
  13251. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 4); xtrunc {
  13252. x2read = xlen
  13253. }
  13254. v = make([]uint32, xlen)
  13255. changed = true
  13256. } else {
  13257. d.arrayCannotExpand(len(v), containerLenS)
  13258. x2read = len(v)
  13259. }
  13260. } else if containerLenS != len(v) {
  13261. v = v[:containerLenS]
  13262. changed = true
  13263. }
  13264. j := 0
  13265. for ; j < x2read; j++ {
  13266. v[j] = uint32(dd.DecodeUint(32))
  13267. }
  13268. if xtrunc {
  13269. for ; j < containerLenS; j++ {
  13270. v = append(v, 0)
  13271. v[j] = uint32(dd.DecodeUint(32))
  13272. }
  13273. } else if !canChange {
  13274. for ; j < containerLenS; j++ {
  13275. d.swallow()
  13276. }
  13277. }
  13278. } else {
  13279. j := 0
  13280. for ; !dd.CheckBreak(); j++ {
  13281. if j >= len(v) {
  13282. if canChange {
  13283. v = append(v, 0)
  13284. changed = true
  13285. } else {
  13286. d.arrayCannotExpand(len(v), j+1)
  13287. }
  13288. }
  13289. if j < len(v) {
  13290. v[j] = uint32(dd.DecodeUint(32))
  13291. } else {
  13292. d.swallow()
  13293. }
  13294. }
  13295. slh.End()
  13296. }
  13297. return v, changed
  13298. }
  13299. func (f *decFnInfo) fastpathDecSliceUint64R(rv reflect.Value) {
  13300. array := f.seq == seqTypeArray
  13301. if !array && rv.CanAddr() {
  13302. vp := rv.Addr().Interface().(*[]uint64)
  13303. v, changed := fastpathTV.DecSliceUint64V(*vp, fastpathCheckNilFalse, !array, f.d)
  13304. if changed {
  13305. *vp = v
  13306. }
  13307. } else {
  13308. v := rv.Interface().([]uint64)
  13309. fastpathTV.DecSliceUint64V(v, fastpathCheckNilFalse, false, f.d)
  13310. }
  13311. }
  13312. func (f fastpathT) DecSliceUint64X(vp *[]uint64, checkNil bool, d *Decoder) {
  13313. v, changed := f.DecSliceUint64V(*vp, checkNil, true, d)
  13314. if changed {
  13315. *vp = v
  13316. }
  13317. }
  13318. func (_ fastpathT) DecSliceUint64V(v []uint64, checkNil bool, canChange bool,
  13319. d *Decoder) (_ []uint64, changed bool) {
  13320. dd := d.d
  13321. if checkNil && dd.TryDecodeAsNil() {
  13322. if v != nil {
  13323. changed = true
  13324. }
  13325. return nil, changed
  13326. }
  13327. slh, containerLenS := d.decSliceHelperStart()
  13328. x2read := containerLenS
  13329. var xtrunc bool
  13330. if canChange && v == nil {
  13331. var xlen int
  13332. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13333. x2read = xlen
  13334. }
  13335. v = make([]uint64, xlen)
  13336. changed = true
  13337. }
  13338. if containerLenS == 0 {
  13339. if canChange && len(v) != 0 {
  13340. v = v[:0]
  13341. changed = true
  13342. }
  13343. return v, changed
  13344. }
  13345. if containerLenS > 0 {
  13346. if containerLenS > cap(v) {
  13347. if canChange {
  13348. var xlen int
  13349. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13350. x2read = xlen
  13351. }
  13352. v = make([]uint64, xlen)
  13353. changed = true
  13354. } else {
  13355. d.arrayCannotExpand(len(v), containerLenS)
  13356. x2read = len(v)
  13357. }
  13358. } else if containerLenS != len(v) {
  13359. v = v[:containerLenS]
  13360. changed = true
  13361. }
  13362. j := 0
  13363. for ; j < x2read; j++ {
  13364. v[j] = dd.DecodeUint(64)
  13365. }
  13366. if xtrunc {
  13367. for ; j < containerLenS; j++ {
  13368. v = append(v, 0)
  13369. v[j] = dd.DecodeUint(64)
  13370. }
  13371. } else if !canChange {
  13372. for ; j < containerLenS; j++ {
  13373. d.swallow()
  13374. }
  13375. }
  13376. } else {
  13377. j := 0
  13378. for ; !dd.CheckBreak(); j++ {
  13379. if j >= len(v) {
  13380. if canChange {
  13381. v = append(v, 0)
  13382. changed = true
  13383. } else {
  13384. d.arrayCannotExpand(len(v), j+1)
  13385. }
  13386. }
  13387. if j < len(v) {
  13388. v[j] = dd.DecodeUint(64)
  13389. } else {
  13390. d.swallow()
  13391. }
  13392. }
  13393. slh.End()
  13394. }
  13395. return v, changed
  13396. }
  13397. func (f *decFnInfo) fastpathDecSliceUintptrR(rv reflect.Value) {
  13398. array := f.seq == seqTypeArray
  13399. if !array && rv.CanAddr() {
  13400. vp := rv.Addr().Interface().(*[]uintptr)
  13401. v, changed := fastpathTV.DecSliceUintptrV(*vp, fastpathCheckNilFalse, !array, f.d)
  13402. if changed {
  13403. *vp = v
  13404. }
  13405. } else {
  13406. v := rv.Interface().([]uintptr)
  13407. fastpathTV.DecSliceUintptrV(v, fastpathCheckNilFalse, false, f.d)
  13408. }
  13409. }
  13410. func (f fastpathT) DecSliceUintptrX(vp *[]uintptr, checkNil bool, d *Decoder) {
  13411. v, changed := f.DecSliceUintptrV(*vp, checkNil, true, d)
  13412. if changed {
  13413. *vp = v
  13414. }
  13415. }
  13416. func (_ fastpathT) DecSliceUintptrV(v []uintptr, checkNil bool, canChange bool,
  13417. d *Decoder) (_ []uintptr, changed bool) {
  13418. dd := d.d
  13419. if checkNil && dd.TryDecodeAsNil() {
  13420. if v != nil {
  13421. changed = true
  13422. }
  13423. return nil, changed
  13424. }
  13425. slh, containerLenS := d.decSliceHelperStart()
  13426. x2read := containerLenS
  13427. var xtrunc bool
  13428. if canChange && v == nil {
  13429. var xlen int
  13430. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13431. x2read = xlen
  13432. }
  13433. v = make([]uintptr, xlen)
  13434. changed = true
  13435. }
  13436. if containerLenS == 0 {
  13437. if canChange && len(v) != 0 {
  13438. v = v[:0]
  13439. changed = true
  13440. }
  13441. return v, changed
  13442. }
  13443. if containerLenS > 0 {
  13444. if containerLenS > cap(v) {
  13445. if canChange {
  13446. var xlen int
  13447. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13448. x2read = xlen
  13449. }
  13450. v = make([]uintptr, xlen)
  13451. changed = true
  13452. } else {
  13453. d.arrayCannotExpand(len(v), containerLenS)
  13454. x2read = len(v)
  13455. }
  13456. } else if containerLenS != len(v) {
  13457. v = v[:containerLenS]
  13458. changed = true
  13459. }
  13460. j := 0
  13461. for ; j < x2read; j++ {
  13462. v[j] = uintptr(dd.DecodeUint(uintBitsize))
  13463. }
  13464. if xtrunc {
  13465. for ; j < containerLenS; j++ {
  13466. v = append(v, 0)
  13467. v[j] = uintptr(dd.DecodeUint(uintBitsize))
  13468. }
  13469. } else if !canChange {
  13470. for ; j < containerLenS; j++ {
  13471. d.swallow()
  13472. }
  13473. }
  13474. } else {
  13475. j := 0
  13476. for ; !dd.CheckBreak(); j++ {
  13477. if j >= len(v) {
  13478. if canChange {
  13479. v = append(v, 0)
  13480. changed = true
  13481. } else {
  13482. d.arrayCannotExpand(len(v), j+1)
  13483. }
  13484. }
  13485. if j < len(v) {
  13486. v[j] = uintptr(dd.DecodeUint(uintBitsize))
  13487. } else {
  13488. d.swallow()
  13489. }
  13490. }
  13491. slh.End()
  13492. }
  13493. return v, changed
  13494. }
  13495. func (f *decFnInfo) fastpathDecSliceIntR(rv reflect.Value) {
  13496. array := f.seq == seqTypeArray
  13497. if !array && rv.CanAddr() {
  13498. vp := rv.Addr().Interface().(*[]int)
  13499. v, changed := fastpathTV.DecSliceIntV(*vp, fastpathCheckNilFalse, !array, f.d)
  13500. if changed {
  13501. *vp = v
  13502. }
  13503. } else {
  13504. v := rv.Interface().([]int)
  13505. fastpathTV.DecSliceIntV(v, fastpathCheckNilFalse, false, f.d)
  13506. }
  13507. }
  13508. func (f fastpathT) DecSliceIntX(vp *[]int, checkNil bool, d *Decoder) {
  13509. v, changed := f.DecSliceIntV(*vp, checkNil, true, d)
  13510. if changed {
  13511. *vp = v
  13512. }
  13513. }
  13514. func (_ fastpathT) DecSliceIntV(v []int, checkNil bool, canChange bool,
  13515. d *Decoder) (_ []int, changed bool) {
  13516. dd := d.d
  13517. if checkNil && dd.TryDecodeAsNil() {
  13518. if v != nil {
  13519. changed = true
  13520. }
  13521. return nil, changed
  13522. }
  13523. slh, containerLenS := d.decSliceHelperStart()
  13524. x2read := containerLenS
  13525. var xtrunc bool
  13526. if canChange && v == nil {
  13527. var xlen int
  13528. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13529. x2read = xlen
  13530. }
  13531. v = make([]int, xlen)
  13532. changed = true
  13533. }
  13534. if containerLenS == 0 {
  13535. if canChange && len(v) != 0 {
  13536. v = v[:0]
  13537. changed = true
  13538. }
  13539. return v, changed
  13540. }
  13541. if containerLenS > 0 {
  13542. if containerLenS > cap(v) {
  13543. if canChange {
  13544. var xlen int
  13545. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13546. x2read = xlen
  13547. }
  13548. v = make([]int, xlen)
  13549. changed = true
  13550. } else {
  13551. d.arrayCannotExpand(len(v), containerLenS)
  13552. x2read = len(v)
  13553. }
  13554. } else if containerLenS != len(v) {
  13555. v = v[:containerLenS]
  13556. changed = true
  13557. }
  13558. j := 0
  13559. for ; j < x2read; j++ {
  13560. v[j] = int(dd.DecodeInt(intBitsize))
  13561. }
  13562. if xtrunc {
  13563. for ; j < containerLenS; j++ {
  13564. v = append(v, 0)
  13565. v[j] = int(dd.DecodeInt(intBitsize))
  13566. }
  13567. } else if !canChange {
  13568. for ; j < containerLenS; j++ {
  13569. d.swallow()
  13570. }
  13571. }
  13572. } else {
  13573. j := 0
  13574. for ; !dd.CheckBreak(); j++ {
  13575. if j >= len(v) {
  13576. if canChange {
  13577. v = append(v, 0)
  13578. changed = true
  13579. } else {
  13580. d.arrayCannotExpand(len(v), j+1)
  13581. }
  13582. }
  13583. if j < len(v) {
  13584. v[j] = int(dd.DecodeInt(intBitsize))
  13585. } else {
  13586. d.swallow()
  13587. }
  13588. }
  13589. slh.End()
  13590. }
  13591. return v, changed
  13592. }
  13593. func (f *decFnInfo) fastpathDecSliceInt8R(rv reflect.Value) {
  13594. array := f.seq == seqTypeArray
  13595. if !array && rv.CanAddr() {
  13596. vp := rv.Addr().Interface().(*[]int8)
  13597. v, changed := fastpathTV.DecSliceInt8V(*vp, fastpathCheckNilFalse, !array, f.d)
  13598. if changed {
  13599. *vp = v
  13600. }
  13601. } else {
  13602. v := rv.Interface().([]int8)
  13603. fastpathTV.DecSliceInt8V(v, fastpathCheckNilFalse, false, f.d)
  13604. }
  13605. }
  13606. func (f fastpathT) DecSliceInt8X(vp *[]int8, checkNil bool, d *Decoder) {
  13607. v, changed := f.DecSliceInt8V(*vp, checkNil, true, d)
  13608. if changed {
  13609. *vp = v
  13610. }
  13611. }
  13612. func (_ fastpathT) DecSliceInt8V(v []int8, checkNil bool, canChange bool,
  13613. d *Decoder) (_ []int8, changed bool) {
  13614. dd := d.d
  13615. if checkNil && dd.TryDecodeAsNil() {
  13616. if v != nil {
  13617. changed = true
  13618. }
  13619. return nil, changed
  13620. }
  13621. slh, containerLenS := d.decSliceHelperStart()
  13622. x2read := containerLenS
  13623. var xtrunc bool
  13624. if canChange && v == nil {
  13625. var xlen int
  13626. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 1); xtrunc {
  13627. x2read = xlen
  13628. }
  13629. v = make([]int8, xlen)
  13630. changed = true
  13631. }
  13632. if containerLenS == 0 {
  13633. if canChange && len(v) != 0 {
  13634. v = v[:0]
  13635. changed = true
  13636. }
  13637. return v, changed
  13638. }
  13639. if containerLenS > 0 {
  13640. if containerLenS > cap(v) {
  13641. if canChange {
  13642. var xlen int
  13643. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 1); xtrunc {
  13644. x2read = xlen
  13645. }
  13646. v = make([]int8, xlen)
  13647. changed = true
  13648. } else {
  13649. d.arrayCannotExpand(len(v), containerLenS)
  13650. x2read = len(v)
  13651. }
  13652. } else if containerLenS != len(v) {
  13653. v = v[:containerLenS]
  13654. changed = true
  13655. }
  13656. j := 0
  13657. for ; j < x2read; j++ {
  13658. v[j] = int8(dd.DecodeInt(8))
  13659. }
  13660. if xtrunc {
  13661. for ; j < containerLenS; j++ {
  13662. v = append(v, 0)
  13663. v[j] = int8(dd.DecodeInt(8))
  13664. }
  13665. } else if !canChange {
  13666. for ; j < containerLenS; j++ {
  13667. d.swallow()
  13668. }
  13669. }
  13670. } else {
  13671. j := 0
  13672. for ; !dd.CheckBreak(); j++ {
  13673. if j >= len(v) {
  13674. if canChange {
  13675. v = append(v, 0)
  13676. changed = true
  13677. } else {
  13678. d.arrayCannotExpand(len(v), j+1)
  13679. }
  13680. }
  13681. if j < len(v) {
  13682. v[j] = int8(dd.DecodeInt(8))
  13683. } else {
  13684. d.swallow()
  13685. }
  13686. }
  13687. slh.End()
  13688. }
  13689. return v, changed
  13690. }
  13691. func (f *decFnInfo) fastpathDecSliceInt16R(rv reflect.Value) {
  13692. array := f.seq == seqTypeArray
  13693. if !array && rv.CanAddr() {
  13694. vp := rv.Addr().Interface().(*[]int16)
  13695. v, changed := fastpathTV.DecSliceInt16V(*vp, fastpathCheckNilFalse, !array, f.d)
  13696. if changed {
  13697. *vp = v
  13698. }
  13699. } else {
  13700. v := rv.Interface().([]int16)
  13701. fastpathTV.DecSliceInt16V(v, fastpathCheckNilFalse, false, f.d)
  13702. }
  13703. }
  13704. func (f fastpathT) DecSliceInt16X(vp *[]int16, checkNil bool, d *Decoder) {
  13705. v, changed := f.DecSliceInt16V(*vp, checkNil, true, d)
  13706. if changed {
  13707. *vp = v
  13708. }
  13709. }
  13710. func (_ fastpathT) DecSliceInt16V(v []int16, checkNil bool, canChange bool,
  13711. d *Decoder) (_ []int16, changed bool) {
  13712. dd := d.d
  13713. if checkNil && dd.TryDecodeAsNil() {
  13714. if v != nil {
  13715. changed = true
  13716. }
  13717. return nil, changed
  13718. }
  13719. slh, containerLenS := d.decSliceHelperStart()
  13720. x2read := containerLenS
  13721. var xtrunc bool
  13722. if canChange && v == nil {
  13723. var xlen int
  13724. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 2); xtrunc {
  13725. x2read = xlen
  13726. }
  13727. v = make([]int16, xlen)
  13728. changed = true
  13729. }
  13730. if containerLenS == 0 {
  13731. if canChange && len(v) != 0 {
  13732. v = v[:0]
  13733. changed = true
  13734. }
  13735. return v, changed
  13736. }
  13737. if containerLenS > 0 {
  13738. if containerLenS > cap(v) {
  13739. if canChange {
  13740. var xlen int
  13741. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 2); xtrunc {
  13742. x2read = xlen
  13743. }
  13744. v = make([]int16, xlen)
  13745. changed = true
  13746. } else {
  13747. d.arrayCannotExpand(len(v), containerLenS)
  13748. x2read = len(v)
  13749. }
  13750. } else if containerLenS != len(v) {
  13751. v = v[:containerLenS]
  13752. changed = true
  13753. }
  13754. j := 0
  13755. for ; j < x2read; j++ {
  13756. v[j] = int16(dd.DecodeInt(16))
  13757. }
  13758. if xtrunc {
  13759. for ; j < containerLenS; j++ {
  13760. v = append(v, 0)
  13761. v[j] = int16(dd.DecodeInt(16))
  13762. }
  13763. } else if !canChange {
  13764. for ; j < containerLenS; j++ {
  13765. d.swallow()
  13766. }
  13767. }
  13768. } else {
  13769. j := 0
  13770. for ; !dd.CheckBreak(); j++ {
  13771. if j >= len(v) {
  13772. if canChange {
  13773. v = append(v, 0)
  13774. changed = true
  13775. } else {
  13776. d.arrayCannotExpand(len(v), j+1)
  13777. }
  13778. }
  13779. if j < len(v) {
  13780. v[j] = int16(dd.DecodeInt(16))
  13781. } else {
  13782. d.swallow()
  13783. }
  13784. }
  13785. slh.End()
  13786. }
  13787. return v, changed
  13788. }
  13789. func (f *decFnInfo) fastpathDecSliceInt32R(rv reflect.Value) {
  13790. array := f.seq == seqTypeArray
  13791. if !array && rv.CanAddr() {
  13792. vp := rv.Addr().Interface().(*[]int32)
  13793. v, changed := fastpathTV.DecSliceInt32V(*vp, fastpathCheckNilFalse, !array, f.d)
  13794. if changed {
  13795. *vp = v
  13796. }
  13797. } else {
  13798. v := rv.Interface().([]int32)
  13799. fastpathTV.DecSliceInt32V(v, fastpathCheckNilFalse, false, f.d)
  13800. }
  13801. }
  13802. func (f fastpathT) DecSliceInt32X(vp *[]int32, checkNil bool, d *Decoder) {
  13803. v, changed := f.DecSliceInt32V(*vp, checkNil, true, d)
  13804. if changed {
  13805. *vp = v
  13806. }
  13807. }
  13808. func (_ fastpathT) DecSliceInt32V(v []int32, checkNil bool, canChange bool,
  13809. d *Decoder) (_ []int32, changed bool) {
  13810. dd := d.d
  13811. if checkNil && dd.TryDecodeAsNil() {
  13812. if v != nil {
  13813. changed = true
  13814. }
  13815. return nil, changed
  13816. }
  13817. slh, containerLenS := d.decSliceHelperStart()
  13818. x2read := containerLenS
  13819. var xtrunc bool
  13820. if canChange && v == nil {
  13821. var xlen int
  13822. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 4); xtrunc {
  13823. x2read = xlen
  13824. }
  13825. v = make([]int32, xlen)
  13826. changed = true
  13827. }
  13828. if containerLenS == 0 {
  13829. if canChange && len(v) != 0 {
  13830. v = v[:0]
  13831. changed = true
  13832. }
  13833. return v, changed
  13834. }
  13835. if containerLenS > 0 {
  13836. if containerLenS > cap(v) {
  13837. if canChange {
  13838. var xlen int
  13839. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 4); xtrunc {
  13840. x2read = xlen
  13841. }
  13842. v = make([]int32, xlen)
  13843. changed = true
  13844. } else {
  13845. d.arrayCannotExpand(len(v), containerLenS)
  13846. x2read = len(v)
  13847. }
  13848. } else if containerLenS != len(v) {
  13849. v = v[:containerLenS]
  13850. changed = true
  13851. }
  13852. j := 0
  13853. for ; j < x2read; j++ {
  13854. v[j] = int32(dd.DecodeInt(32))
  13855. }
  13856. if xtrunc {
  13857. for ; j < containerLenS; j++ {
  13858. v = append(v, 0)
  13859. v[j] = int32(dd.DecodeInt(32))
  13860. }
  13861. } else if !canChange {
  13862. for ; j < containerLenS; j++ {
  13863. d.swallow()
  13864. }
  13865. }
  13866. } else {
  13867. j := 0
  13868. for ; !dd.CheckBreak(); j++ {
  13869. if j >= len(v) {
  13870. if canChange {
  13871. v = append(v, 0)
  13872. changed = true
  13873. } else {
  13874. d.arrayCannotExpand(len(v), j+1)
  13875. }
  13876. }
  13877. if j < len(v) {
  13878. v[j] = int32(dd.DecodeInt(32))
  13879. } else {
  13880. d.swallow()
  13881. }
  13882. }
  13883. slh.End()
  13884. }
  13885. return v, changed
  13886. }
  13887. func (f *decFnInfo) fastpathDecSliceInt64R(rv reflect.Value) {
  13888. array := f.seq == seqTypeArray
  13889. if !array && rv.CanAddr() {
  13890. vp := rv.Addr().Interface().(*[]int64)
  13891. v, changed := fastpathTV.DecSliceInt64V(*vp, fastpathCheckNilFalse, !array, f.d)
  13892. if changed {
  13893. *vp = v
  13894. }
  13895. } else {
  13896. v := rv.Interface().([]int64)
  13897. fastpathTV.DecSliceInt64V(v, fastpathCheckNilFalse, false, f.d)
  13898. }
  13899. }
  13900. func (f fastpathT) DecSliceInt64X(vp *[]int64, checkNil bool, d *Decoder) {
  13901. v, changed := f.DecSliceInt64V(*vp, checkNil, true, d)
  13902. if changed {
  13903. *vp = v
  13904. }
  13905. }
  13906. func (_ fastpathT) DecSliceInt64V(v []int64, checkNil bool, canChange bool,
  13907. d *Decoder) (_ []int64, changed bool) {
  13908. dd := d.d
  13909. if checkNil && dd.TryDecodeAsNil() {
  13910. if v != nil {
  13911. changed = true
  13912. }
  13913. return nil, changed
  13914. }
  13915. slh, containerLenS := d.decSliceHelperStart()
  13916. x2read := containerLenS
  13917. var xtrunc bool
  13918. if canChange && v == nil {
  13919. var xlen int
  13920. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13921. x2read = xlen
  13922. }
  13923. v = make([]int64, xlen)
  13924. changed = true
  13925. }
  13926. if containerLenS == 0 {
  13927. if canChange && len(v) != 0 {
  13928. v = v[:0]
  13929. changed = true
  13930. }
  13931. return v, changed
  13932. }
  13933. if containerLenS > 0 {
  13934. if containerLenS > cap(v) {
  13935. if canChange {
  13936. var xlen int
  13937. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 8); xtrunc {
  13938. x2read = xlen
  13939. }
  13940. v = make([]int64, xlen)
  13941. changed = true
  13942. } else {
  13943. d.arrayCannotExpand(len(v), containerLenS)
  13944. x2read = len(v)
  13945. }
  13946. } else if containerLenS != len(v) {
  13947. v = v[:containerLenS]
  13948. changed = true
  13949. }
  13950. j := 0
  13951. for ; j < x2read; j++ {
  13952. v[j] = dd.DecodeInt(64)
  13953. }
  13954. if xtrunc {
  13955. for ; j < containerLenS; j++ {
  13956. v = append(v, 0)
  13957. v[j] = dd.DecodeInt(64)
  13958. }
  13959. } else if !canChange {
  13960. for ; j < containerLenS; j++ {
  13961. d.swallow()
  13962. }
  13963. }
  13964. } else {
  13965. j := 0
  13966. for ; !dd.CheckBreak(); j++ {
  13967. if j >= len(v) {
  13968. if canChange {
  13969. v = append(v, 0)
  13970. changed = true
  13971. } else {
  13972. d.arrayCannotExpand(len(v), j+1)
  13973. }
  13974. }
  13975. if j < len(v) {
  13976. v[j] = dd.DecodeInt(64)
  13977. } else {
  13978. d.swallow()
  13979. }
  13980. }
  13981. slh.End()
  13982. }
  13983. return v, changed
  13984. }
  13985. func (f *decFnInfo) fastpathDecSliceBoolR(rv reflect.Value) {
  13986. array := f.seq == seqTypeArray
  13987. if !array && rv.CanAddr() {
  13988. vp := rv.Addr().Interface().(*[]bool)
  13989. v, changed := fastpathTV.DecSliceBoolV(*vp, fastpathCheckNilFalse, !array, f.d)
  13990. if changed {
  13991. *vp = v
  13992. }
  13993. } else {
  13994. v := rv.Interface().([]bool)
  13995. fastpathTV.DecSliceBoolV(v, fastpathCheckNilFalse, false, f.d)
  13996. }
  13997. }
  13998. func (f fastpathT) DecSliceBoolX(vp *[]bool, checkNil bool, d *Decoder) {
  13999. v, changed := f.DecSliceBoolV(*vp, checkNil, true, d)
  14000. if changed {
  14001. *vp = v
  14002. }
  14003. }
  14004. func (_ fastpathT) DecSliceBoolV(v []bool, checkNil bool, canChange bool,
  14005. d *Decoder) (_ []bool, changed bool) {
  14006. dd := d.d
  14007. if checkNil && dd.TryDecodeAsNil() {
  14008. if v != nil {
  14009. changed = true
  14010. }
  14011. return nil, changed
  14012. }
  14013. slh, containerLenS := d.decSliceHelperStart()
  14014. x2read := containerLenS
  14015. var xtrunc bool
  14016. if canChange && v == nil {
  14017. var xlen int
  14018. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 1); xtrunc {
  14019. x2read = xlen
  14020. }
  14021. v = make([]bool, xlen)
  14022. changed = true
  14023. }
  14024. if containerLenS == 0 {
  14025. if canChange && len(v) != 0 {
  14026. v = v[:0]
  14027. changed = true
  14028. }
  14029. return v, changed
  14030. }
  14031. if containerLenS > 0 {
  14032. if containerLenS > cap(v) {
  14033. if canChange {
  14034. var xlen int
  14035. if xlen, xtrunc = decInferLen(containerLenS, d.h.MaxInitLen, 1); xtrunc {
  14036. x2read = xlen
  14037. }
  14038. v = make([]bool, xlen)
  14039. changed = true
  14040. } else {
  14041. d.arrayCannotExpand(len(v), containerLenS)
  14042. x2read = len(v)
  14043. }
  14044. } else if containerLenS != len(v) {
  14045. v = v[:containerLenS]
  14046. changed = true
  14047. }
  14048. j := 0
  14049. for ; j < x2read; j++ {
  14050. v[j] = dd.DecodeBool()
  14051. }
  14052. if xtrunc {
  14053. for ; j < containerLenS; j++ {
  14054. v = append(v, false)
  14055. v[j] = dd.DecodeBool()
  14056. }
  14057. } else if !canChange {
  14058. for ; j < containerLenS; j++ {
  14059. d.swallow()
  14060. }
  14061. }
  14062. } else {
  14063. j := 0
  14064. for ; !dd.CheckBreak(); j++ {
  14065. if j >= len(v) {
  14066. if canChange {
  14067. v = append(v, false)
  14068. changed = true
  14069. } else {
  14070. d.arrayCannotExpand(len(v), j+1)
  14071. }
  14072. }
  14073. if j < len(v) {
  14074. v[j] = dd.DecodeBool()
  14075. } else {
  14076. d.swallow()
  14077. }
  14078. }
  14079. slh.End()
  14080. }
  14081. return v, changed
  14082. }
  14083. func (f *decFnInfo) fastpathDecMapIntfIntfR(rv reflect.Value) {
  14084. if rv.CanAddr() {
  14085. vp := rv.Addr().Interface().(*map[interface{}]interface{})
  14086. v, changed := fastpathTV.DecMapIntfIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  14087. if changed {
  14088. *vp = v
  14089. }
  14090. } else {
  14091. v := rv.Interface().(map[interface{}]interface{})
  14092. fastpathTV.DecMapIntfIntfV(v, fastpathCheckNilFalse, false, f.d)
  14093. }
  14094. }
  14095. func (f fastpathT) DecMapIntfIntfX(vp *map[interface{}]interface{}, checkNil bool, d *Decoder) {
  14096. v, changed := f.DecMapIntfIntfV(*vp, checkNil, true, d)
  14097. if changed {
  14098. *vp = v
  14099. }
  14100. }
  14101. func (_ fastpathT) DecMapIntfIntfV(v map[interface{}]interface{}, checkNil bool, canChange bool,
  14102. d *Decoder) (_ map[interface{}]interface{}, changed bool) {
  14103. dd := d.d
  14104. if checkNil && dd.TryDecodeAsNil() {
  14105. if v != nil {
  14106. changed = true
  14107. }
  14108. return nil, changed
  14109. }
  14110. containerLen := dd.ReadMapStart()
  14111. if canChange && v == nil {
  14112. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 32)
  14113. v = make(map[interface{}]interface{}, xlen)
  14114. changed = true
  14115. }
  14116. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  14117. var mk interface{}
  14118. var mv interface{}
  14119. if containerLen > 0 {
  14120. for j := 0; j < containerLen; j++ {
  14121. mk = nil
  14122. d.decode(&mk)
  14123. if bv, bok := mk.([]byte); bok {
  14124. mk = d.string(bv)
  14125. }
  14126. if mapGet {
  14127. mv = v[mk]
  14128. } else {
  14129. mv = nil
  14130. }
  14131. d.decode(&mv)
  14132. if v != nil {
  14133. v[mk] = mv
  14134. }
  14135. }
  14136. } else if containerLen < 0 {
  14137. for j := 0; !dd.CheckBreak(); j++ {
  14138. mk = nil
  14139. d.decode(&mk)
  14140. if bv, bok := mk.([]byte); bok {
  14141. mk = d.string(bv)
  14142. }
  14143. if mapGet {
  14144. mv = v[mk]
  14145. } else {
  14146. mv = nil
  14147. }
  14148. d.decode(&mv)
  14149. if v != nil {
  14150. v[mk] = mv
  14151. }
  14152. }
  14153. dd.ReadEnd()
  14154. }
  14155. return v, changed
  14156. }
  14157. func (f *decFnInfo) fastpathDecMapIntfStringR(rv reflect.Value) {
  14158. if rv.CanAddr() {
  14159. vp := rv.Addr().Interface().(*map[interface{}]string)
  14160. v, changed := fastpathTV.DecMapIntfStringV(*vp, fastpathCheckNilFalse, true, f.d)
  14161. if changed {
  14162. *vp = v
  14163. }
  14164. } else {
  14165. v := rv.Interface().(map[interface{}]string)
  14166. fastpathTV.DecMapIntfStringV(v, fastpathCheckNilFalse, false, f.d)
  14167. }
  14168. }
  14169. func (f fastpathT) DecMapIntfStringX(vp *map[interface{}]string, checkNil bool, d *Decoder) {
  14170. v, changed := f.DecMapIntfStringV(*vp, checkNil, true, d)
  14171. if changed {
  14172. *vp = v
  14173. }
  14174. }
  14175. func (_ fastpathT) DecMapIntfStringV(v map[interface{}]string, checkNil bool, canChange bool,
  14176. d *Decoder) (_ map[interface{}]string, changed bool) {
  14177. dd := d.d
  14178. if checkNil && dd.TryDecodeAsNil() {
  14179. if v != nil {
  14180. changed = true
  14181. }
  14182. return nil, changed
  14183. }
  14184. containerLen := dd.ReadMapStart()
  14185. if canChange && v == nil {
  14186. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 32)
  14187. v = make(map[interface{}]string, xlen)
  14188. changed = true
  14189. }
  14190. var mk interface{}
  14191. var mv string
  14192. if containerLen > 0 {
  14193. for j := 0; j < containerLen; j++ {
  14194. mk = nil
  14195. d.decode(&mk)
  14196. if bv, bok := mk.([]byte); bok {
  14197. mk = d.string(bv)
  14198. }
  14199. mv = dd.DecodeString()
  14200. if v != nil {
  14201. v[mk] = mv
  14202. }
  14203. }
  14204. } else if containerLen < 0 {
  14205. for j := 0; !dd.CheckBreak(); j++ {
  14206. mk = nil
  14207. d.decode(&mk)
  14208. if bv, bok := mk.([]byte); bok {
  14209. mk = d.string(bv)
  14210. }
  14211. mv = dd.DecodeString()
  14212. if v != nil {
  14213. v[mk] = mv
  14214. }
  14215. }
  14216. dd.ReadEnd()
  14217. }
  14218. return v, changed
  14219. }
  14220. func (f *decFnInfo) fastpathDecMapIntfUintR(rv reflect.Value) {
  14221. if rv.CanAddr() {
  14222. vp := rv.Addr().Interface().(*map[interface{}]uint)
  14223. v, changed := fastpathTV.DecMapIntfUintV(*vp, fastpathCheckNilFalse, true, f.d)
  14224. if changed {
  14225. *vp = v
  14226. }
  14227. } else {
  14228. v := rv.Interface().(map[interface{}]uint)
  14229. fastpathTV.DecMapIntfUintV(v, fastpathCheckNilFalse, false, f.d)
  14230. }
  14231. }
  14232. func (f fastpathT) DecMapIntfUintX(vp *map[interface{}]uint, checkNil bool, d *Decoder) {
  14233. v, changed := f.DecMapIntfUintV(*vp, checkNil, true, d)
  14234. if changed {
  14235. *vp = v
  14236. }
  14237. }
  14238. func (_ fastpathT) DecMapIntfUintV(v map[interface{}]uint, checkNil bool, canChange bool,
  14239. d *Decoder) (_ map[interface{}]uint, changed bool) {
  14240. dd := d.d
  14241. if checkNil && dd.TryDecodeAsNil() {
  14242. if v != nil {
  14243. changed = true
  14244. }
  14245. return nil, changed
  14246. }
  14247. containerLen := dd.ReadMapStart()
  14248. if canChange && v == nil {
  14249. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  14250. v = make(map[interface{}]uint, xlen)
  14251. changed = true
  14252. }
  14253. var mk interface{}
  14254. var mv uint
  14255. if containerLen > 0 {
  14256. for j := 0; j < containerLen; j++ {
  14257. mk = nil
  14258. d.decode(&mk)
  14259. if bv, bok := mk.([]byte); bok {
  14260. mk = d.string(bv)
  14261. }
  14262. mv = uint(dd.DecodeUint(uintBitsize))
  14263. if v != nil {
  14264. v[mk] = mv
  14265. }
  14266. }
  14267. } else if containerLen < 0 {
  14268. for j := 0; !dd.CheckBreak(); j++ {
  14269. mk = nil
  14270. d.decode(&mk)
  14271. if bv, bok := mk.([]byte); bok {
  14272. mk = d.string(bv)
  14273. }
  14274. mv = uint(dd.DecodeUint(uintBitsize))
  14275. if v != nil {
  14276. v[mk] = mv
  14277. }
  14278. }
  14279. dd.ReadEnd()
  14280. }
  14281. return v, changed
  14282. }
  14283. func (f *decFnInfo) fastpathDecMapIntfUint8R(rv reflect.Value) {
  14284. if rv.CanAddr() {
  14285. vp := rv.Addr().Interface().(*map[interface{}]uint8)
  14286. v, changed := fastpathTV.DecMapIntfUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  14287. if changed {
  14288. *vp = v
  14289. }
  14290. } else {
  14291. v := rv.Interface().(map[interface{}]uint8)
  14292. fastpathTV.DecMapIntfUint8V(v, fastpathCheckNilFalse, false, f.d)
  14293. }
  14294. }
  14295. func (f fastpathT) DecMapIntfUint8X(vp *map[interface{}]uint8, checkNil bool, d *Decoder) {
  14296. v, changed := f.DecMapIntfUint8V(*vp, checkNil, true, d)
  14297. if changed {
  14298. *vp = v
  14299. }
  14300. }
  14301. func (_ fastpathT) DecMapIntfUint8V(v map[interface{}]uint8, checkNil bool, canChange bool,
  14302. d *Decoder) (_ map[interface{}]uint8, changed bool) {
  14303. dd := d.d
  14304. if checkNil && dd.TryDecodeAsNil() {
  14305. if v != nil {
  14306. changed = true
  14307. }
  14308. return nil, changed
  14309. }
  14310. containerLen := dd.ReadMapStart()
  14311. if canChange && v == nil {
  14312. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  14313. v = make(map[interface{}]uint8, xlen)
  14314. changed = true
  14315. }
  14316. var mk interface{}
  14317. var mv uint8
  14318. if containerLen > 0 {
  14319. for j := 0; j < containerLen; j++ {
  14320. mk = nil
  14321. d.decode(&mk)
  14322. if bv, bok := mk.([]byte); bok {
  14323. mk = d.string(bv)
  14324. }
  14325. mv = uint8(dd.DecodeUint(8))
  14326. if v != nil {
  14327. v[mk] = mv
  14328. }
  14329. }
  14330. } else if containerLen < 0 {
  14331. for j := 0; !dd.CheckBreak(); j++ {
  14332. mk = nil
  14333. d.decode(&mk)
  14334. if bv, bok := mk.([]byte); bok {
  14335. mk = d.string(bv)
  14336. }
  14337. mv = uint8(dd.DecodeUint(8))
  14338. if v != nil {
  14339. v[mk] = mv
  14340. }
  14341. }
  14342. dd.ReadEnd()
  14343. }
  14344. return v, changed
  14345. }
  14346. func (f *decFnInfo) fastpathDecMapIntfUint16R(rv reflect.Value) {
  14347. if rv.CanAddr() {
  14348. vp := rv.Addr().Interface().(*map[interface{}]uint16)
  14349. v, changed := fastpathTV.DecMapIntfUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  14350. if changed {
  14351. *vp = v
  14352. }
  14353. } else {
  14354. v := rv.Interface().(map[interface{}]uint16)
  14355. fastpathTV.DecMapIntfUint16V(v, fastpathCheckNilFalse, false, f.d)
  14356. }
  14357. }
  14358. func (f fastpathT) DecMapIntfUint16X(vp *map[interface{}]uint16, checkNil bool, d *Decoder) {
  14359. v, changed := f.DecMapIntfUint16V(*vp, checkNil, true, d)
  14360. if changed {
  14361. *vp = v
  14362. }
  14363. }
  14364. func (_ fastpathT) DecMapIntfUint16V(v map[interface{}]uint16, checkNil bool, canChange bool,
  14365. d *Decoder) (_ map[interface{}]uint16, changed bool) {
  14366. dd := d.d
  14367. if checkNil && dd.TryDecodeAsNil() {
  14368. if v != nil {
  14369. changed = true
  14370. }
  14371. return nil, changed
  14372. }
  14373. containerLen := dd.ReadMapStart()
  14374. if canChange && v == nil {
  14375. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 18)
  14376. v = make(map[interface{}]uint16, xlen)
  14377. changed = true
  14378. }
  14379. var mk interface{}
  14380. var mv uint16
  14381. if containerLen > 0 {
  14382. for j := 0; j < containerLen; j++ {
  14383. mk = nil
  14384. d.decode(&mk)
  14385. if bv, bok := mk.([]byte); bok {
  14386. mk = d.string(bv)
  14387. }
  14388. mv = uint16(dd.DecodeUint(16))
  14389. if v != nil {
  14390. v[mk] = mv
  14391. }
  14392. }
  14393. } else if containerLen < 0 {
  14394. for j := 0; !dd.CheckBreak(); j++ {
  14395. mk = nil
  14396. d.decode(&mk)
  14397. if bv, bok := mk.([]byte); bok {
  14398. mk = d.string(bv)
  14399. }
  14400. mv = uint16(dd.DecodeUint(16))
  14401. if v != nil {
  14402. v[mk] = mv
  14403. }
  14404. }
  14405. dd.ReadEnd()
  14406. }
  14407. return v, changed
  14408. }
  14409. func (f *decFnInfo) fastpathDecMapIntfUint32R(rv reflect.Value) {
  14410. if rv.CanAddr() {
  14411. vp := rv.Addr().Interface().(*map[interface{}]uint32)
  14412. v, changed := fastpathTV.DecMapIntfUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  14413. if changed {
  14414. *vp = v
  14415. }
  14416. } else {
  14417. v := rv.Interface().(map[interface{}]uint32)
  14418. fastpathTV.DecMapIntfUint32V(v, fastpathCheckNilFalse, false, f.d)
  14419. }
  14420. }
  14421. func (f fastpathT) DecMapIntfUint32X(vp *map[interface{}]uint32, checkNil bool, d *Decoder) {
  14422. v, changed := f.DecMapIntfUint32V(*vp, checkNil, true, d)
  14423. if changed {
  14424. *vp = v
  14425. }
  14426. }
  14427. func (_ fastpathT) DecMapIntfUint32V(v map[interface{}]uint32, checkNil bool, canChange bool,
  14428. d *Decoder) (_ map[interface{}]uint32, changed bool) {
  14429. dd := d.d
  14430. if checkNil && dd.TryDecodeAsNil() {
  14431. if v != nil {
  14432. changed = true
  14433. }
  14434. return nil, changed
  14435. }
  14436. containerLen := dd.ReadMapStart()
  14437. if canChange && v == nil {
  14438. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  14439. v = make(map[interface{}]uint32, xlen)
  14440. changed = true
  14441. }
  14442. var mk interface{}
  14443. var mv uint32
  14444. if containerLen > 0 {
  14445. for j := 0; j < containerLen; j++ {
  14446. mk = nil
  14447. d.decode(&mk)
  14448. if bv, bok := mk.([]byte); bok {
  14449. mk = d.string(bv)
  14450. }
  14451. mv = uint32(dd.DecodeUint(32))
  14452. if v != nil {
  14453. v[mk] = mv
  14454. }
  14455. }
  14456. } else if containerLen < 0 {
  14457. for j := 0; !dd.CheckBreak(); j++ {
  14458. mk = nil
  14459. d.decode(&mk)
  14460. if bv, bok := mk.([]byte); bok {
  14461. mk = d.string(bv)
  14462. }
  14463. mv = uint32(dd.DecodeUint(32))
  14464. if v != nil {
  14465. v[mk] = mv
  14466. }
  14467. }
  14468. dd.ReadEnd()
  14469. }
  14470. return v, changed
  14471. }
  14472. func (f *decFnInfo) fastpathDecMapIntfUint64R(rv reflect.Value) {
  14473. if rv.CanAddr() {
  14474. vp := rv.Addr().Interface().(*map[interface{}]uint64)
  14475. v, changed := fastpathTV.DecMapIntfUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  14476. if changed {
  14477. *vp = v
  14478. }
  14479. } else {
  14480. v := rv.Interface().(map[interface{}]uint64)
  14481. fastpathTV.DecMapIntfUint64V(v, fastpathCheckNilFalse, false, f.d)
  14482. }
  14483. }
  14484. func (f fastpathT) DecMapIntfUint64X(vp *map[interface{}]uint64, checkNil bool, d *Decoder) {
  14485. v, changed := f.DecMapIntfUint64V(*vp, checkNil, true, d)
  14486. if changed {
  14487. *vp = v
  14488. }
  14489. }
  14490. func (_ fastpathT) DecMapIntfUint64V(v map[interface{}]uint64, checkNil bool, canChange bool,
  14491. d *Decoder) (_ map[interface{}]uint64, changed bool) {
  14492. dd := d.d
  14493. if checkNil && dd.TryDecodeAsNil() {
  14494. if v != nil {
  14495. changed = true
  14496. }
  14497. return nil, changed
  14498. }
  14499. containerLen := dd.ReadMapStart()
  14500. if canChange && v == nil {
  14501. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  14502. v = make(map[interface{}]uint64, xlen)
  14503. changed = true
  14504. }
  14505. var mk interface{}
  14506. var mv uint64
  14507. if containerLen > 0 {
  14508. for j := 0; j < containerLen; j++ {
  14509. mk = nil
  14510. d.decode(&mk)
  14511. if bv, bok := mk.([]byte); bok {
  14512. mk = d.string(bv)
  14513. }
  14514. mv = dd.DecodeUint(64)
  14515. if v != nil {
  14516. v[mk] = mv
  14517. }
  14518. }
  14519. } else if containerLen < 0 {
  14520. for j := 0; !dd.CheckBreak(); j++ {
  14521. mk = nil
  14522. d.decode(&mk)
  14523. if bv, bok := mk.([]byte); bok {
  14524. mk = d.string(bv)
  14525. }
  14526. mv = dd.DecodeUint(64)
  14527. if v != nil {
  14528. v[mk] = mv
  14529. }
  14530. }
  14531. dd.ReadEnd()
  14532. }
  14533. return v, changed
  14534. }
  14535. func (f *decFnInfo) fastpathDecMapIntfUintptrR(rv reflect.Value) {
  14536. if rv.CanAddr() {
  14537. vp := rv.Addr().Interface().(*map[interface{}]uintptr)
  14538. v, changed := fastpathTV.DecMapIntfUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  14539. if changed {
  14540. *vp = v
  14541. }
  14542. } else {
  14543. v := rv.Interface().(map[interface{}]uintptr)
  14544. fastpathTV.DecMapIntfUintptrV(v, fastpathCheckNilFalse, false, f.d)
  14545. }
  14546. }
  14547. func (f fastpathT) DecMapIntfUintptrX(vp *map[interface{}]uintptr, checkNil bool, d *Decoder) {
  14548. v, changed := f.DecMapIntfUintptrV(*vp, checkNil, true, d)
  14549. if changed {
  14550. *vp = v
  14551. }
  14552. }
  14553. func (_ fastpathT) DecMapIntfUintptrV(v map[interface{}]uintptr, checkNil bool, canChange bool,
  14554. d *Decoder) (_ map[interface{}]uintptr, changed bool) {
  14555. dd := d.d
  14556. if checkNil && dd.TryDecodeAsNil() {
  14557. if v != nil {
  14558. changed = true
  14559. }
  14560. return nil, changed
  14561. }
  14562. containerLen := dd.ReadMapStart()
  14563. if canChange && v == nil {
  14564. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  14565. v = make(map[interface{}]uintptr, xlen)
  14566. changed = true
  14567. }
  14568. var mk interface{}
  14569. var mv uintptr
  14570. if containerLen > 0 {
  14571. for j := 0; j < containerLen; j++ {
  14572. mk = nil
  14573. d.decode(&mk)
  14574. if bv, bok := mk.([]byte); bok {
  14575. mk = d.string(bv)
  14576. }
  14577. mv = uintptr(dd.DecodeUint(uintBitsize))
  14578. if v != nil {
  14579. v[mk] = mv
  14580. }
  14581. }
  14582. } else if containerLen < 0 {
  14583. for j := 0; !dd.CheckBreak(); j++ {
  14584. mk = nil
  14585. d.decode(&mk)
  14586. if bv, bok := mk.([]byte); bok {
  14587. mk = d.string(bv)
  14588. }
  14589. mv = uintptr(dd.DecodeUint(uintBitsize))
  14590. if v != nil {
  14591. v[mk] = mv
  14592. }
  14593. }
  14594. dd.ReadEnd()
  14595. }
  14596. return v, changed
  14597. }
  14598. func (f *decFnInfo) fastpathDecMapIntfIntR(rv reflect.Value) {
  14599. if rv.CanAddr() {
  14600. vp := rv.Addr().Interface().(*map[interface{}]int)
  14601. v, changed := fastpathTV.DecMapIntfIntV(*vp, fastpathCheckNilFalse, true, f.d)
  14602. if changed {
  14603. *vp = v
  14604. }
  14605. } else {
  14606. v := rv.Interface().(map[interface{}]int)
  14607. fastpathTV.DecMapIntfIntV(v, fastpathCheckNilFalse, false, f.d)
  14608. }
  14609. }
  14610. func (f fastpathT) DecMapIntfIntX(vp *map[interface{}]int, checkNil bool, d *Decoder) {
  14611. v, changed := f.DecMapIntfIntV(*vp, checkNil, true, d)
  14612. if changed {
  14613. *vp = v
  14614. }
  14615. }
  14616. func (_ fastpathT) DecMapIntfIntV(v map[interface{}]int, checkNil bool, canChange bool,
  14617. d *Decoder) (_ map[interface{}]int, changed bool) {
  14618. dd := d.d
  14619. if checkNil && dd.TryDecodeAsNil() {
  14620. if v != nil {
  14621. changed = true
  14622. }
  14623. return nil, changed
  14624. }
  14625. containerLen := dd.ReadMapStart()
  14626. if canChange && v == nil {
  14627. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  14628. v = make(map[interface{}]int, xlen)
  14629. changed = true
  14630. }
  14631. var mk interface{}
  14632. var mv int
  14633. if containerLen > 0 {
  14634. for j := 0; j < containerLen; j++ {
  14635. mk = nil
  14636. d.decode(&mk)
  14637. if bv, bok := mk.([]byte); bok {
  14638. mk = d.string(bv)
  14639. }
  14640. mv = int(dd.DecodeInt(intBitsize))
  14641. if v != nil {
  14642. v[mk] = mv
  14643. }
  14644. }
  14645. } else if containerLen < 0 {
  14646. for j := 0; !dd.CheckBreak(); j++ {
  14647. mk = nil
  14648. d.decode(&mk)
  14649. if bv, bok := mk.([]byte); bok {
  14650. mk = d.string(bv)
  14651. }
  14652. mv = int(dd.DecodeInt(intBitsize))
  14653. if v != nil {
  14654. v[mk] = mv
  14655. }
  14656. }
  14657. dd.ReadEnd()
  14658. }
  14659. return v, changed
  14660. }
  14661. func (f *decFnInfo) fastpathDecMapIntfInt8R(rv reflect.Value) {
  14662. if rv.CanAddr() {
  14663. vp := rv.Addr().Interface().(*map[interface{}]int8)
  14664. v, changed := fastpathTV.DecMapIntfInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  14665. if changed {
  14666. *vp = v
  14667. }
  14668. } else {
  14669. v := rv.Interface().(map[interface{}]int8)
  14670. fastpathTV.DecMapIntfInt8V(v, fastpathCheckNilFalse, false, f.d)
  14671. }
  14672. }
  14673. func (f fastpathT) DecMapIntfInt8X(vp *map[interface{}]int8, checkNil bool, d *Decoder) {
  14674. v, changed := f.DecMapIntfInt8V(*vp, checkNil, true, d)
  14675. if changed {
  14676. *vp = v
  14677. }
  14678. }
  14679. func (_ fastpathT) DecMapIntfInt8V(v map[interface{}]int8, checkNil bool, canChange bool,
  14680. d *Decoder) (_ map[interface{}]int8, changed bool) {
  14681. dd := d.d
  14682. if checkNil && dd.TryDecodeAsNil() {
  14683. if v != nil {
  14684. changed = true
  14685. }
  14686. return nil, changed
  14687. }
  14688. containerLen := dd.ReadMapStart()
  14689. if canChange && v == nil {
  14690. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  14691. v = make(map[interface{}]int8, xlen)
  14692. changed = true
  14693. }
  14694. var mk interface{}
  14695. var mv int8
  14696. if containerLen > 0 {
  14697. for j := 0; j < containerLen; j++ {
  14698. mk = nil
  14699. d.decode(&mk)
  14700. if bv, bok := mk.([]byte); bok {
  14701. mk = d.string(bv)
  14702. }
  14703. mv = int8(dd.DecodeInt(8))
  14704. if v != nil {
  14705. v[mk] = mv
  14706. }
  14707. }
  14708. } else if containerLen < 0 {
  14709. for j := 0; !dd.CheckBreak(); j++ {
  14710. mk = nil
  14711. d.decode(&mk)
  14712. if bv, bok := mk.([]byte); bok {
  14713. mk = d.string(bv)
  14714. }
  14715. mv = int8(dd.DecodeInt(8))
  14716. if v != nil {
  14717. v[mk] = mv
  14718. }
  14719. }
  14720. dd.ReadEnd()
  14721. }
  14722. return v, changed
  14723. }
  14724. func (f *decFnInfo) fastpathDecMapIntfInt16R(rv reflect.Value) {
  14725. if rv.CanAddr() {
  14726. vp := rv.Addr().Interface().(*map[interface{}]int16)
  14727. v, changed := fastpathTV.DecMapIntfInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  14728. if changed {
  14729. *vp = v
  14730. }
  14731. } else {
  14732. v := rv.Interface().(map[interface{}]int16)
  14733. fastpathTV.DecMapIntfInt16V(v, fastpathCheckNilFalse, false, f.d)
  14734. }
  14735. }
  14736. func (f fastpathT) DecMapIntfInt16X(vp *map[interface{}]int16, checkNil bool, d *Decoder) {
  14737. v, changed := f.DecMapIntfInt16V(*vp, checkNil, true, d)
  14738. if changed {
  14739. *vp = v
  14740. }
  14741. }
  14742. func (_ fastpathT) DecMapIntfInt16V(v map[interface{}]int16, checkNil bool, canChange bool,
  14743. d *Decoder) (_ map[interface{}]int16, changed bool) {
  14744. dd := d.d
  14745. if checkNil && dd.TryDecodeAsNil() {
  14746. if v != nil {
  14747. changed = true
  14748. }
  14749. return nil, changed
  14750. }
  14751. containerLen := dd.ReadMapStart()
  14752. if canChange && v == nil {
  14753. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 18)
  14754. v = make(map[interface{}]int16, xlen)
  14755. changed = true
  14756. }
  14757. var mk interface{}
  14758. var mv int16
  14759. if containerLen > 0 {
  14760. for j := 0; j < containerLen; j++ {
  14761. mk = nil
  14762. d.decode(&mk)
  14763. if bv, bok := mk.([]byte); bok {
  14764. mk = d.string(bv)
  14765. }
  14766. mv = int16(dd.DecodeInt(16))
  14767. if v != nil {
  14768. v[mk] = mv
  14769. }
  14770. }
  14771. } else if containerLen < 0 {
  14772. for j := 0; !dd.CheckBreak(); j++ {
  14773. mk = nil
  14774. d.decode(&mk)
  14775. if bv, bok := mk.([]byte); bok {
  14776. mk = d.string(bv)
  14777. }
  14778. mv = int16(dd.DecodeInt(16))
  14779. if v != nil {
  14780. v[mk] = mv
  14781. }
  14782. }
  14783. dd.ReadEnd()
  14784. }
  14785. return v, changed
  14786. }
  14787. func (f *decFnInfo) fastpathDecMapIntfInt32R(rv reflect.Value) {
  14788. if rv.CanAddr() {
  14789. vp := rv.Addr().Interface().(*map[interface{}]int32)
  14790. v, changed := fastpathTV.DecMapIntfInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  14791. if changed {
  14792. *vp = v
  14793. }
  14794. } else {
  14795. v := rv.Interface().(map[interface{}]int32)
  14796. fastpathTV.DecMapIntfInt32V(v, fastpathCheckNilFalse, false, f.d)
  14797. }
  14798. }
  14799. func (f fastpathT) DecMapIntfInt32X(vp *map[interface{}]int32, checkNil bool, d *Decoder) {
  14800. v, changed := f.DecMapIntfInt32V(*vp, checkNil, true, d)
  14801. if changed {
  14802. *vp = v
  14803. }
  14804. }
  14805. func (_ fastpathT) DecMapIntfInt32V(v map[interface{}]int32, checkNil bool, canChange bool,
  14806. d *Decoder) (_ map[interface{}]int32, changed bool) {
  14807. dd := d.d
  14808. if checkNil && dd.TryDecodeAsNil() {
  14809. if v != nil {
  14810. changed = true
  14811. }
  14812. return nil, changed
  14813. }
  14814. containerLen := dd.ReadMapStart()
  14815. if canChange && v == nil {
  14816. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  14817. v = make(map[interface{}]int32, xlen)
  14818. changed = true
  14819. }
  14820. var mk interface{}
  14821. var mv int32
  14822. if containerLen > 0 {
  14823. for j := 0; j < containerLen; j++ {
  14824. mk = nil
  14825. d.decode(&mk)
  14826. if bv, bok := mk.([]byte); bok {
  14827. mk = d.string(bv)
  14828. }
  14829. mv = int32(dd.DecodeInt(32))
  14830. if v != nil {
  14831. v[mk] = mv
  14832. }
  14833. }
  14834. } else if containerLen < 0 {
  14835. for j := 0; !dd.CheckBreak(); j++ {
  14836. mk = nil
  14837. d.decode(&mk)
  14838. if bv, bok := mk.([]byte); bok {
  14839. mk = d.string(bv)
  14840. }
  14841. mv = int32(dd.DecodeInt(32))
  14842. if v != nil {
  14843. v[mk] = mv
  14844. }
  14845. }
  14846. dd.ReadEnd()
  14847. }
  14848. return v, changed
  14849. }
  14850. func (f *decFnInfo) fastpathDecMapIntfInt64R(rv reflect.Value) {
  14851. if rv.CanAddr() {
  14852. vp := rv.Addr().Interface().(*map[interface{}]int64)
  14853. v, changed := fastpathTV.DecMapIntfInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  14854. if changed {
  14855. *vp = v
  14856. }
  14857. } else {
  14858. v := rv.Interface().(map[interface{}]int64)
  14859. fastpathTV.DecMapIntfInt64V(v, fastpathCheckNilFalse, false, f.d)
  14860. }
  14861. }
  14862. func (f fastpathT) DecMapIntfInt64X(vp *map[interface{}]int64, checkNil bool, d *Decoder) {
  14863. v, changed := f.DecMapIntfInt64V(*vp, checkNil, true, d)
  14864. if changed {
  14865. *vp = v
  14866. }
  14867. }
  14868. func (_ fastpathT) DecMapIntfInt64V(v map[interface{}]int64, checkNil bool, canChange bool,
  14869. d *Decoder) (_ map[interface{}]int64, changed bool) {
  14870. dd := d.d
  14871. if checkNil && dd.TryDecodeAsNil() {
  14872. if v != nil {
  14873. changed = true
  14874. }
  14875. return nil, changed
  14876. }
  14877. containerLen := dd.ReadMapStart()
  14878. if canChange && v == nil {
  14879. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  14880. v = make(map[interface{}]int64, xlen)
  14881. changed = true
  14882. }
  14883. var mk interface{}
  14884. var mv int64
  14885. if containerLen > 0 {
  14886. for j := 0; j < containerLen; j++ {
  14887. mk = nil
  14888. d.decode(&mk)
  14889. if bv, bok := mk.([]byte); bok {
  14890. mk = d.string(bv)
  14891. }
  14892. mv = dd.DecodeInt(64)
  14893. if v != nil {
  14894. v[mk] = mv
  14895. }
  14896. }
  14897. } else if containerLen < 0 {
  14898. for j := 0; !dd.CheckBreak(); j++ {
  14899. mk = nil
  14900. d.decode(&mk)
  14901. if bv, bok := mk.([]byte); bok {
  14902. mk = d.string(bv)
  14903. }
  14904. mv = dd.DecodeInt(64)
  14905. if v != nil {
  14906. v[mk] = mv
  14907. }
  14908. }
  14909. dd.ReadEnd()
  14910. }
  14911. return v, changed
  14912. }
  14913. func (f *decFnInfo) fastpathDecMapIntfFloat32R(rv reflect.Value) {
  14914. if rv.CanAddr() {
  14915. vp := rv.Addr().Interface().(*map[interface{}]float32)
  14916. v, changed := fastpathTV.DecMapIntfFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  14917. if changed {
  14918. *vp = v
  14919. }
  14920. } else {
  14921. v := rv.Interface().(map[interface{}]float32)
  14922. fastpathTV.DecMapIntfFloat32V(v, fastpathCheckNilFalse, false, f.d)
  14923. }
  14924. }
  14925. func (f fastpathT) DecMapIntfFloat32X(vp *map[interface{}]float32, checkNil bool, d *Decoder) {
  14926. v, changed := f.DecMapIntfFloat32V(*vp, checkNil, true, d)
  14927. if changed {
  14928. *vp = v
  14929. }
  14930. }
  14931. func (_ fastpathT) DecMapIntfFloat32V(v map[interface{}]float32, checkNil bool, canChange bool,
  14932. d *Decoder) (_ map[interface{}]float32, changed bool) {
  14933. dd := d.d
  14934. if checkNil && dd.TryDecodeAsNil() {
  14935. if v != nil {
  14936. changed = true
  14937. }
  14938. return nil, changed
  14939. }
  14940. containerLen := dd.ReadMapStart()
  14941. if canChange && v == nil {
  14942. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  14943. v = make(map[interface{}]float32, xlen)
  14944. changed = true
  14945. }
  14946. var mk interface{}
  14947. var mv float32
  14948. if containerLen > 0 {
  14949. for j := 0; j < containerLen; j++ {
  14950. mk = nil
  14951. d.decode(&mk)
  14952. if bv, bok := mk.([]byte); bok {
  14953. mk = d.string(bv)
  14954. }
  14955. mv = float32(dd.DecodeFloat(true))
  14956. if v != nil {
  14957. v[mk] = mv
  14958. }
  14959. }
  14960. } else if containerLen < 0 {
  14961. for j := 0; !dd.CheckBreak(); j++ {
  14962. mk = nil
  14963. d.decode(&mk)
  14964. if bv, bok := mk.([]byte); bok {
  14965. mk = d.string(bv)
  14966. }
  14967. mv = float32(dd.DecodeFloat(true))
  14968. if v != nil {
  14969. v[mk] = mv
  14970. }
  14971. }
  14972. dd.ReadEnd()
  14973. }
  14974. return v, changed
  14975. }
  14976. func (f *decFnInfo) fastpathDecMapIntfFloat64R(rv reflect.Value) {
  14977. if rv.CanAddr() {
  14978. vp := rv.Addr().Interface().(*map[interface{}]float64)
  14979. v, changed := fastpathTV.DecMapIntfFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  14980. if changed {
  14981. *vp = v
  14982. }
  14983. } else {
  14984. v := rv.Interface().(map[interface{}]float64)
  14985. fastpathTV.DecMapIntfFloat64V(v, fastpathCheckNilFalse, false, f.d)
  14986. }
  14987. }
  14988. func (f fastpathT) DecMapIntfFloat64X(vp *map[interface{}]float64, checkNil bool, d *Decoder) {
  14989. v, changed := f.DecMapIntfFloat64V(*vp, checkNil, true, d)
  14990. if changed {
  14991. *vp = v
  14992. }
  14993. }
  14994. func (_ fastpathT) DecMapIntfFloat64V(v map[interface{}]float64, checkNil bool, canChange bool,
  14995. d *Decoder) (_ map[interface{}]float64, changed bool) {
  14996. dd := d.d
  14997. if checkNil && dd.TryDecodeAsNil() {
  14998. if v != nil {
  14999. changed = true
  15000. }
  15001. return nil, changed
  15002. }
  15003. containerLen := dd.ReadMapStart()
  15004. if canChange && v == nil {
  15005. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  15006. v = make(map[interface{}]float64, xlen)
  15007. changed = true
  15008. }
  15009. var mk interface{}
  15010. var mv float64
  15011. if containerLen > 0 {
  15012. for j := 0; j < containerLen; j++ {
  15013. mk = nil
  15014. d.decode(&mk)
  15015. if bv, bok := mk.([]byte); bok {
  15016. mk = d.string(bv)
  15017. }
  15018. mv = dd.DecodeFloat(false)
  15019. if v != nil {
  15020. v[mk] = mv
  15021. }
  15022. }
  15023. } else if containerLen < 0 {
  15024. for j := 0; !dd.CheckBreak(); j++ {
  15025. mk = nil
  15026. d.decode(&mk)
  15027. if bv, bok := mk.([]byte); bok {
  15028. mk = d.string(bv)
  15029. }
  15030. mv = dd.DecodeFloat(false)
  15031. if v != nil {
  15032. v[mk] = mv
  15033. }
  15034. }
  15035. dd.ReadEnd()
  15036. }
  15037. return v, changed
  15038. }
  15039. func (f *decFnInfo) fastpathDecMapIntfBoolR(rv reflect.Value) {
  15040. if rv.CanAddr() {
  15041. vp := rv.Addr().Interface().(*map[interface{}]bool)
  15042. v, changed := fastpathTV.DecMapIntfBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  15043. if changed {
  15044. *vp = v
  15045. }
  15046. } else {
  15047. v := rv.Interface().(map[interface{}]bool)
  15048. fastpathTV.DecMapIntfBoolV(v, fastpathCheckNilFalse, false, f.d)
  15049. }
  15050. }
  15051. func (f fastpathT) DecMapIntfBoolX(vp *map[interface{}]bool, checkNil bool, d *Decoder) {
  15052. v, changed := f.DecMapIntfBoolV(*vp, checkNil, true, d)
  15053. if changed {
  15054. *vp = v
  15055. }
  15056. }
  15057. func (_ fastpathT) DecMapIntfBoolV(v map[interface{}]bool, checkNil bool, canChange bool,
  15058. d *Decoder) (_ map[interface{}]bool, changed bool) {
  15059. dd := d.d
  15060. if checkNil && dd.TryDecodeAsNil() {
  15061. if v != nil {
  15062. changed = true
  15063. }
  15064. return nil, changed
  15065. }
  15066. containerLen := dd.ReadMapStart()
  15067. if canChange && v == nil {
  15068. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  15069. v = make(map[interface{}]bool, xlen)
  15070. changed = true
  15071. }
  15072. var mk interface{}
  15073. var mv bool
  15074. if containerLen > 0 {
  15075. for j := 0; j < containerLen; j++ {
  15076. mk = nil
  15077. d.decode(&mk)
  15078. if bv, bok := mk.([]byte); bok {
  15079. mk = d.string(bv)
  15080. }
  15081. mv = dd.DecodeBool()
  15082. if v != nil {
  15083. v[mk] = mv
  15084. }
  15085. }
  15086. } else if containerLen < 0 {
  15087. for j := 0; !dd.CheckBreak(); j++ {
  15088. mk = nil
  15089. d.decode(&mk)
  15090. if bv, bok := mk.([]byte); bok {
  15091. mk = d.string(bv)
  15092. }
  15093. mv = dd.DecodeBool()
  15094. if v != nil {
  15095. v[mk] = mv
  15096. }
  15097. }
  15098. dd.ReadEnd()
  15099. }
  15100. return v, changed
  15101. }
  15102. func (f *decFnInfo) fastpathDecMapStringIntfR(rv reflect.Value) {
  15103. if rv.CanAddr() {
  15104. vp := rv.Addr().Interface().(*map[string]interface{})
  15105. v, changed := fastpathTV.DecMapStringIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  15106. if changed {
  15107. *vp = v
  15108. }
  15109. } else {
  15110. v := rv.Interface().(map[string]interface{})
  15111. fastpathTV.DecMapStringIntfV(v, fastpathCheckNilFalse, false, f.d)
  15112. }
  15113. }
  15114. func (f fastpathT) DecMapStringIntfX(vp *map[string]interface{}, checkNil bool, d *Decoder) {
  15115. v, changed := f.DecMapStringIntfV(*vp, checkNil, true, d)
  15116. if changed {
  15117. *vp = v
  15118. }
  15119. }
  15120. func (_ fastpathT) DecMapStringIntfV(v map[string]interface{}, checkNil bool, canChange bool,
  15121. d *Decoder) (_ map[string]interface{}, changed bool) {
  15122. dd := d.d
  15123. if checkNil && dd.TryDecodeAsNil() {
  15124. if v != nil {
  15125. changed = true
  15126. }
  15127. return nil, changed
  15128. }
  15129. containerLen := dd.ReadMapStart()
  15130. if canChange && v == nil {
  15131. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 32)
  15132. v = make(map[string]interface{}, xlen)
  15133. changed = true
  15134. }
  15135. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  15136. var mk string
  15137. var mv interface{}
  15138. if containerLen > 0 {
  15139. for j := 0; j < containerLen; j++ {
  15140. mk = dd.DecodeString()
  15141. if mapGet {
  15142. mv = v[mk]
  15143. } else {
  15144. mv = nil
  15145. }
  15146. d.decode(&mv)
  15147. if v != nil {
  15148. v[mk] = mv
  15149. }
  15150. }
  15151. } else if containerLen < 0 {
  15152. for j := 0; !dd.CheckBreak(); j++ {
  15153. mk = dd.DecodeString()
  15154. if mapGet {
  15155. mv = v[mk]
  15156. } else {
  15157. mv = nil
  15158. }
  15159. d.decode(&mv)
  15160. if v != nil {
  15161. v[mk] = mv
  15162. }
  15163. }
  15164. dd.ReadEnd()
  15165. }
  15166. return v, changed
  15167. }
  15168. func (f *decFnInfo) fastpathDecMapStringStringR(rv reflect.Value) {
  15169. if rv.CanAddr() {
  15170. vp := rv.Addr().Interface().(*map[string]string)
  15171. v, changed := fastpathTV.DecMapStringStringV(*vp, fastpathCheckNilFalse, true, f.d)
  15172. if changed {
  15173. *vp = v
  15174. }
  15175. } else {
  15176. v := rv.Interface().(map[string]string)
  15177. fastpathTV.DecMapStringStringV(v, fastpathCheckNilFalse, false, f.d)
  15178. }
  15179. }
  15180. func (f fastpathT) DecMapStringStringX(vp *map[string]string, checkNil bool, d *Decoder) {
  15181. v, changed := f.DecMapStringStringV(*vp, checkNil, true, d)
  15182. if changed {
  15183. *vp = v
  15184. }
  15185. }
  15186. func (_ fastpathT) DecMapStringStringV(v map[string]string, checkNil bool, canChange bool,
  15187. d *Decoder) (_ map[string]string, changed bool) {
  15188. dd := d.d
  15189. if checkNil && dd.TryDecodeAsNil() {
  15190. if v != nil {
  15191. changed = true
  15192. }
  15193. return nil, changed
  15194. }
  15195. containerLen := dd.ReadMapStart()
  15196. if canChange && v == nil {
  15197. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 32)
  15198. v = make(map[string]string, xlen)
  15199. changed = true
  15200. }
  15201. var mk string
  15202. var mv string
  15203. if containerLen > 0 {
  15204. for j := 0; j < containerLen; j++ {
  15205. mk = dd.DecodeString()
  15206. mv = dd.DecodeString()
  15207. if v != nil {
  15208. v[mk] = mv
  15209. }
  15210. }
  15211. } else if containerLen < 0 {
  15212. for j := 0; !dd.CheckBreak(); j++ {
  15213. mk = dd.DecodeString()
  15214. mv = dd.DecodeString()
  15215. if v != nil {
  15216. v[mk] = mv
  15217. }
  15218. }
  15219. dd.ReadEnd()
  15220. }
  15221. return v, changed
  15222. }
  15223. func (f *decFnInfo) fastpathDecMapStringUintR(rv reflect.Value) {
  15224. if rv.CanAddr() {
  15225. vp := rv.Addr().Interface().(*map[string]uint)
  15226. v, changed := fastpathTV.DecMapStringUintV(*vp, fastpathCheckNilFalse, true, f.d)
  15227. if changed {
  15228. *vp = v
  15229. }
  15230. } else {
  15231. v := rv.Interface().(map[string]uint)
  15232. fastpathTV.DecMapStringUintV(v, fastpathCheckNilFalse, false, f.d)
  15233. }
  15234. }
  15235. func (f fastpathT) DecMapStringUintX(vp *map[string]uint, checkNil bool, d *Decoder) {
  15236. v, changed := f.DecMapStringUintV(*vp, checkNil, true, d)
  15237. if changed {
  15238. *vp = v
  15239. }
  15240. }
  15241. func (_ fastpathT) DecMapStringUintV(v map[string]uint, checkNil bool, canChange bool,
  15242. d *Decoder) (_ map[string]uint, changed bool) {
  15243. dd := d.d
  15244. if checkNil && dd.TryDecodeAsNil() {
  15245. if v != nil {
  15246. changed = true
  15247. }
  15248. return nil, changed
  15249. }
  15250. containerLen := dd.ReadMapStart()
  15251. if canChange && v == nil {
  15252. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  15253. v = make(map[string]uint, xlen)
  15254. changed = true
  15255. }
  15256. var mk string
  15257. var mv uint
  15258. if containerLen > 0 {
  15259. for j := 0; j < containerLen; j++ {
  15260. mk = dd.DecodeString()
  15261. mv = uint(dd.DecodeUint(uintBitsize))
  15262. if v != nil {
  15263. v[mk] = mv
  15264. }
  15265. }
  15266. } else if containerLen < 0 {
  15267. for j := 0; !dd.CheckBreak(); j++ {
  15268. mk = dd.DecodeString()
  15269. mv = uint(dd.DecodeUint(uintBitsize))
  15270. if v != nil {
  15271. v[mk] = mv
  15272. }
  15273. }
  15274. dd.ReadEnd()
  15275. }
  15276. return v, changed
  15277. }
  15278. func (f *decFnInfo) fastpathDecMapStringUint8R(rv reflect.Value) {
  15279. if rv.CanAddr() {
  15280. vp := rv.Addr().Interface().(*map[string]uint8)
  15281. v, changed := fastpathTV.DecMapStringUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  15282. if changed {
  15283. *vp = v
  15284. }
  15285. } else {
  15286. v := rv.Interface().(map[string]uint8)
  15287. fastpathTV.DecMapStringUint8V(v, fastpathCheckNilFalse, false, f.d)
  15288. }
  15289. }
  15290. func (f fastpathT) DecMapStringUint8X(vp *map[string]uint8, checkNil bool, d *Decoder) {
  15291. v, changed := f.DecMapStringUint8V(*vp, checkNil, true, d)
  15292. if changed {
  15293. *vp = v
  15294. }
  15295. }
  15296. func (_ fastpathT) DecMapStringUint8V(v map[string]uint8, checkNil bool, canChange bool,
  15297. d *Decoder) (_ map[string]uint8, changed bool) {
  15298. dd := d.d
  15299. if checkNil && dd.TryDecodeAsNil() {
  15300. if v != nil {
  15301. changed = true
  15302. }
  15303. return nil, changed
  15304. }
  15305. containerLen := dd.ReadMapStart()
  15306. if canChange && v == nil {
  15307. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  15308. v = make(map[string]uint8, xlen)
  15309. changed = true
  15310. }
  15311. var mk string
  15312. var mv uint8
  15313. if containerLen > 0 {
  15314. for j := 0; j < containerLen; j++ {
  15315. mk = dd.DecodeString()
  15316. mv = uint8(dd.DecodeUint(8))
  15317. if v != nil {
  15318. v[mk] = mv
  15319. }
  15320. }
  15321. } else if containerLen < 0 {
  15322. for j := 0; !dd.CheckBreak(); j++ {
  15323. mk = dd.DecodeString()
  15324. mv = uint8(dd.DecodeUint(8))
  15325. if v != nil {
  15326. v[mk] = mv
  15327. }
  15328. }
  15329. dd.ReadEnd()
  15330. }
  15331. return v, changed
  15332. }
  15333. func (f *decFnInfo) fastpathDecMapStringUint16R(rv reflect.Value) {
  15334. if rv.CanAddr() {
  15335. vp := rv.Addr().Interface().(*map[string]uint16)
  15336. v, changed := fastpathTV.DecMapStringUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  15337. if changed {
  15338. *vp = v
  15339. }
  15340. } else {
  15341. v := rv.Interface().(map[string]uint16)
  15342. fastpathTV.DecMapStringUint16V(v, fastpathCheckNilFalse, false, f.d)
  15343. }
  15344. }
  15345. func (f fastpathT) DecMapStringUint16X(vp *map[string]uint16, checkNil bool, d *Decoder) {
  15346. v, changed := f.DecMapStringUint16V(*vp, checkNil, true, d)
  15347. if changed {
  15348. *vp = v
  15349. }
  15350. }
  15351. func (_ fastpathT) DecMapStringUint16V(v map[string]uint16, checkNil bool, canChange bool,
  15352. d *Decoder) (_ map[string]uint16, changed bool) {
  15353. dd := d.d
  15354. if checkNil && dd.TryDecodeAsNil() {
  15355. if v != nil {
  15356. changed = true
  15357. }
  15358. return nil, changed
  15359. }
  15360. containerLen := dd.ReadMapStart()
  15361. if canChange && v == nil {
  15362. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 18)
  15363. v = make(map[string]uint16, xlen)
  15364. changed = true
  15365. }
  15366. var mk string
  15367. var mv uint16
  15368. if containerLen > 0 {
  15369. for j := 0; j < containerLen; j++ {
  15370. mk = dd.DecodeString()
  15371. mv = uint16(dd.DecodeUint(16))
  15372. if v != nil {
  15373. v[mk] = mv
  15374. }
  15375. }
  15376. } else if containerLen < 0 {
  15377. for j := 0; !dd.CheckBreak(); j++ {
  15378. mk = dd.DecodeString()
  15379. mv = uint16(dd.DecodeUint(16))
  15380. if v != nil {
  15381. v[mk] = mv
  15382. }
  15383. }
  15384. dd.ReadEnd()
  15385. }
  15386. return v, changed
  15387. }
  15388. func (f *decFnInfo) fastpathDecMapStringUint32R(rv reflect.Value) {
  15389. if rv.CanAddr() {
  15390. vp := rv.Addr().Interface().(*map[string]uint32)
  15391. v, changed := fastpathTV.DecMapStringUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  15392. if changed {
  15393. *vp = v
  15394. }
  15395. } else {
  15396. v := rv.Interface().(map[string]uint32)
  15397. fastpathTV.DecMapStringUint32V(v, fastpathCheckNilFalse, false, f.d)
  15398. }
  15399. }
  15400. func (f fastpathT) DecMapStringUint32X(vp *map[string]uint32, checkNil bool, d *Decoder) {
  15401. v, changed := f.DecMapStringUint32V(*vp, checkNil, true, d)
  15402. if changed {
  15403. *vp = v
  15404. }
  15405. }
  15406. func (_ fastpathT) DecMapStringUint32V(v map[string]uint32, checkNil bool, canChange bool,
  15407. d *Decoder) (_ map[string]uint32, changed bool) {
  15408. dd := d.d
  15409. if checkNil && dd.TryDecodeAsNil() {
  15410. if v != nil {
  15411. changed = true
  15412. }
  15413. return nil, changed
  15414. }
  15415. containerLen := dd.ReadMapStart()
  15416. if canChange && v == nil {
  15417. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  15418. v = make(map[string]uint32, xlen)
  15419. changed = true
  15420. }
  15421. var mk string
  15422. var mv uint32
  15423. if containerLen > 0 {
  15424. for j := 0; j < containerLen; j++ {
  15425. mk = dd.DecodeString()
  15426. mv = uint32(dd.DecodeUint(32))
  15427. if v != nil {
  15428. v[mk] = mv
  15429. }
  15430. }
  15431. } else if containerLen < 0 {
  15432. for j := 0; !dd.CheckBreak(); j++ {
  15433. mk = dd.DecodeString()
  15434. mv = uint32(dd.DecodeUint(32))
  15435. if v != nil {
  15436. v[mk] = mv
  15437. }
  15438. }
  15439. dd.ReadEnd()
  15440. }
  15441. return v, changed
  15442. }
  15443. func (f *decFnInfo) fastpathDecMapStringUint64R(rv reflect.Value) {
  15444. if rv.CanAddr() {
  15445. vp := rv.Addr().Interface().(*map[string]uint64)
  15446. v, changed := fastpathTV.DecMapStringUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  15447. if changed {
  15448. *vp = v
  15449. }
  15450. } else {
  15451. v := rv.Interface().(map[string]uint64)
  15452. fastpathTV.DecMapStringUint64V(v, fastpathCheckNilFalse, false, f.d)
  15453. }
  15454. }
  15455. func (f fastpathT) DecMapStringUint64X(vp *map[string]uint64, checkNil bool, d *Decoder) {
  15456. v, changed := f.DecMapStringUint64V(*vp, checkNil, true, d)
  15457. if changed {
  15458. *vp = v
  15459. }
  15460. }
  15461. func (_ fastpathT) DecMapStringUint64V(v map[string]uint64, checkNil bool, canChange bool,
  15462. d *Decoder) (_ map[string]uint64, changed bool) {
  15463. dd := d.d
  15464. if checkNil && dd.TryDecodeAsNil() {
  15465. if v != nil {
  15466. changed = true
  15467. }
  15468. return nil, changed
  15469. }
  15470. containerLen := dd.ReadMapStart()
  15471. if canChange && v == nil {
  15472. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  15473. v = make(map[string]uint64, xlen)
  15474. changed = true
  15475. }
  15476. var mk string
  15477. var mv uint64
  15478. if containerLen > 0 {
  15479. for j := 0; j < containerLen; j++ {
  15480. mk = dd.DecodeString()
  15481. mv = dd.DecodeUint(64)
  15482. if v != nil {
  15483. v[mk] = mv
  15484. }
  15485. }
  15486. } else if containerLen < 0 {
  15487. for j := 0; !dd.CheckBreak(); j++ {
  15488. mk = dd.DecodeString()
  15489. mv = dd.DecodeUint(64)
  15490. if v != nil {
  15491. v[mk] = mv
  15492. }
  15493. }
  15494. dd.ReadEnd()
  15495. }
  15496. return v, changed
  15497. }
  15498. func (f *decFnInfo) fastpathDecMapStringUintptrR(rv reflect.Value) {
  15499. if rv.CanAddr() {
  15500. vp := rv.Addr().Interface().(*map[string]uintptr)
  15501. v, changed := fastpathTV.DecMapStringUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  15502. if changed {
  15503. *vp = v
  15504. }
  15505. } else {
  15506. v := rv.Interface().(map[string]uintptr)
  15507. fastpathTV.DecMapStringUintptrV(v, fastpathCheckNilFalse, false, f.d)
  15508. }
  15509. }
  15510. func (f fastpathT) DecMapStringUintptrX(vp *map[string]uintptr, checkNil bool, d *Decoder) {
  15511. v, changed := f.DecMapStringUintptrV(*vp, checkNil, true, d)
  15512. if changed {
  15513. *vp = v
  15514. }
  15515. }
  15516. func (_ fastpathT) DecMapStringUintptrV(v map[string]uintptr, checkNil bool, canChange bool,
  15517. d *Decoder) (_ map[string]uintptr, changed bool) {
  15518. dd := d.d
  15519. if checkNil && dd.TryDecodeAsNil() {
  15520. if v != nil {
  15521. changed = true
  15522. }
  15523. return nil, changed
  15524. }
  15525. containerLen := dd.ReadMapStart()
  15526. if canChange && v == nil {
  15527. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  15528. v = make(map[string]uintptr, xlen)
  15529. changed = true
  15530. }
  15531. var mk string
  15532. var mv uintptr
  15533. if containerLen > 0 {
  15534. for j := 0; j < containerLen; j++ {
  15535. mk = dd.DecodeString()
  15536. mv = uintptr(dd.DecodeUint(uintBitsize))
  15537. if v != nil {
  15538. v[mk] = mv
  15539. }
  15540. }
  15541. } else if containerLen < 0 {
  15542. for j := 0; !dd.CheckBreak(); j++ {
  15543. mk = dd.DecodeString()
  15544. mv = uintptr(dd.DecodeUint(uintBitsize))
  15545. if v != nil {
  15546. v[mk] = mv
  15547. }
  15548. }
  15549. dd.ReadEnd()
  15550. }
  15551. return v, changed
  15552. }
  15553. func (f *decFnInfo) fastpathDecMapStringIntR(rv reflect.Value) {
  15554. if rv.CanAddr() {
  15555. vp := rv.Addr().Interface().(*map[string]int)
  15556. v, changed := fastpathTV.DecMapStringIntV(*vp, fastpathCheckNilFalse, true, f.d)
  15557. if changed {
  15558. *vp = v
  15559. }
  15560. } else {
  15561. v := rv.Interface().(map[string]int)
  15562. fastpathTV.DecMapStringIntV(v, fastpathCheckNilFalse, false, f.d)
  15563. }
  15564. }
  15565. func (f fastpathT) DecMapStringIntX(vp *map[string]int, checkNil bool, d *Decoder) {
  15566. v, changed := f.DecMapStringIntV(*vp, checkNil, true, d)
  15567. if changed {
  15568. *vp = v
  15569. }
  15570. }
  15571. func (_ fastpathT) DecMapStringIntV(v map[string]int, checkNil bool, canChange bool,
  15572. d *Decoder) (_ map[string]int, changed bool) {
  15573. dd := d.d
  15574. if checkNil && dd.TryDecodeAsNil() {
  15575. if v != nil {
  15576. changed = true
  15577. }
  15578. return nil, changed
  15579. }
  15580. containerLen := dd.ReadMapStart()
  15581. if canChange && v == nil {
  15582. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  15583. v = make(map[string]int, xlen)
  15584. changed = true
  15585. }
  15586. var mk string
  15587. var mv int
  15588. if containerLen > 0 {
  15589. for j := 0; j < containerLen; j++ {
  15590. mk = dd.DecodeString()
  15591. mv = int(dd.DecodeInt(intBitsize))
  15592. if v != nil {
  15593. v[mk] = mv
  15594. }
  15595. }
  15596. } else if containerLen < 0 {
  15597. for j := 0; !dd.CheckBreak(); j++ {
  15598. mk = dd.DecodeString()
  15599. mv = int(dd.DecodeInt(intBitsize))
  15600. if v != nil {
  15601. v[mk] = mv
  15602. }
  15603. }
  15604. dd.ReadEnd()
  15605. }
  15606. return v, changed
  15607. }
  15608. func (f *decFnInfo) fastpathDecMapStringInt8R(rv reflect.Value) {
  15609. if rv.CanAddr() {
  15610. vp := rv.Addr().Interface().(*map[string]int8)
  15611. v, changed := fastpathTV.DecMapStringInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  15612. if changed {
  15613. *vp = v
  15614. }
  15615. } else {
  15616. v := rv.Interface().(map[string]int8)
  15617. fastpathTV.DecMapStringInt8V(v, fastpathCheckNilFalse, false, f.d)
  15618. }
  15619. }
  15620. func (f fastpathT) DecMapStringInt8X(vp *map[string]int8, checkNil bool, d *Decoder) {
  15621. v, changed := f.DecMapStringInt8V(*vp, checkNil, true, d)
  15622. if changed {
  15623. *vp = v
  15624. }
  15625. }
  15626. func (_ fastpathT) DecMapStringInt8V(v map[string]int8, checkNil bool, canChange bool,
  15627. d *Decoder) (_ map[string]int8, changed bool) {
  15628. dd := d.d
  15629. if checkNil && dd.TryDecodeAsNil() {
  15630. if v != nil {
  15631. changed = true
  15632. }
  15633. return nil, changed
  15634. }
  15635. containerLen := dd.ReadMapStart()
  15636. if canChange && v == nil {
  15637. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  15638. v = make(map[string]int8, xlen)
  15639. changed = true
  15640. }
  15641. var mk string
  15642. var mv int8
  15643. if containerLen > 0 {
  15644. for j := 0; j < containerLen; j++ {
  15645. mk = dd.DecodeString()
  15646. mv = int8(dd.DecodeInt(8))
  15647. if v != nil {
  15648. v[mk] = mv
  15649. }
  15650. }
  15651. } else if containerLen < 0 {
  15652. for j := 0; !dd.CheckBreak(); j++ {
  15653. mk = dd.DecodeString()
  15654. mv = int8(dd.DecodeInt(8))
  15655. if v != nil {
  15656. v[mk] = mv
  15657. }
  15658. }
  15659. dd.ReadEnd()
  15660. }
  15661. return v, changed
  15662. }
  15663. func (f *decFnInfo) fastpathDecMapStringInt16R(rv reflect.Value) {
  15664. if rv.CanAddr() {
  15665. vp := rv.Addr().Interface().(*map[string]int16)
  15666. v, changed := fastpathTV.DecMapStringInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  15667. if changed {
  15668. *vp = v
  15669. }
  15670. } else {
  15671. v := rv.Interface().(map[string]int16)
  15672. fastpathTV.DecMapStringInt16V(v, fastpathCheckNilFalse, false, f.d)
  15673. }
  15674. }
  15675. func (f fastpathT) DecMapStringInt16X(vp *map[string]int16, checkNil bool, d *Decoder) {
  15676. v, changed := f.DecMapStringInt16V(*vp, checkNil, true, d)
  15677. if changed {
  15678. *vp = v
  15679. }
  15680. }
  15681. func (_ fastpathT) DecMapStringInt16V(v map[string]int16, checkNil bool, canChange bool,
  15682. d *Decoder) (_ map[string]int16, changed bool) {
  15683. dd := d.d
  15684. if checkNil && dd.TryDecodeAsNil() {
  15685. if v != nil {
  15686. changed = true
  15687. }
  15688. return nil, changed
  15689. }
  15690. containerLen := dd.ReadMapStart()
  15691. if canChange && v == nil {
  15692. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 18)
  15693. v = make(map[string]int16, xlen)
  15694. changed = true
  15695. }
  15696. var mk string
  15697. var mv int16
  15698. if containerLen > 0 {
  15699. for j := 0; j < containerLen; j++ {
  15700. mk = dd.DecodeString()
  15701. mv = int16(dd.DecodeInt(16))
  15702. if v != nil {
  15703. v[mk] = mv
  15704. }
  15705. }
  15706. } else if containerLen < 0 {
  15707. for j := 0; !dd.CheckBreak(); j++ {
  15708. mk = dd.DecodeString()
  15709. mv = int16(dd.DecodeInt(16))
  15710. if v != nil {
  15711. v[mk] = mv
  15712. }
  15713. }
  15714. dd.ReadEnd()
  15715. }
  15716. return v, changed
  15717. }
  15718. func (f *decFnInfo) fastpathDecMapStringInt32R(rv reflect.Value) {
  15719. if rv.CanAddr() {
  15720. vp := rv.Addr().Interface().(*map[string]int32)
  15721. v, changed := fastpathTV.DecMapStringInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  15722. if changed {
  15723. *vp = v
  15724. }
  15725. } else {
  15726. v := rv.Interface().(map[string]int32)
  15727. fastpathTV.DecMapStringInt32V(v, fastpathCheckNilFalse, false, f.d)
  15728. }
  15729. }
  15730. func (f fastpathT) DecMapStringInt32X(vp *map[string]int32, checkNil bool, d *Decoder) {
  15731. v, changed := f.DecMapStringInt32V(*vp, checkNil, true, d)
  15732. if changed {
  15733. *vp = v
  15734. }
  15735. }
  15736. func (_ fastpathT) DecMapStringInt32V(v map[string]int32, checkNil bool, canChange bool,
  15737. d *Decoder) (_ map[string]int32, changed bool) {
  15738. dd := d.d
  15739. if checkNil && dd.TryDecodeAsNil() {
  15740. if v != nil {
  15741. changed = true
  15742. }
  15743. return nil, changed
  15744. }
  15745. containerLen := dd.ReadMapStart()
  15746. if canChange && v == nil {
  15747. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  15748. v = make(map[string]int32, xlen)
  15749. changed = true
  15750. }
  15751. var mk string
  15752. var mv int32
  15753. if containerLen > 0 {
  15754. for j := 0; j < containerLen; j++ {
  15755. mk = dd.DecodeString()
  15756. mv = int32(dd.DecodeInt(32))
  15757. if v != nil {
  15758. v[mk] = mv
  15759. }
  15760. }
  15761. } else if containerLen < 0 {
  15762. for j := 0; !dd.CheckBreak(); j++ {
  15763. mk = dd.DecodeString()
  15764. mv = int32(dd.DecodeInt(32))
  15765. if v != nil {
  15766. v[mk] = mv
  15767. }
  15768. }
  15769. dd.ReadEnd()
  15770. }
  15771. return v, changed
  15772. }
  15773. func (f *decFnInfo) fastpathDecMapStringInt64R(rv reflect.Value) {
  15774. if rv.CanAddr() {
  15775. vp := rv.Addr().Interface().(*map[string]int64)
  15776. v, changed := fastpathTV.DecMapStringInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  15777. if changed {
  15778. *vp = v
  15779. }
  15780. } else {
  15781. v := rv.Interface().(map[string]int64)
  15782. fastpathTV.DecMapStringInt64V(v, fastpathCheckNilFalse, false, f.d)
  15783. }
  15784. }
  15785. func (f fastpathT) DecMapStringInt64X(vp *map[string]int64, checkNil bool, d *Decoder) {
  15786. v, changed := f.DecMapStringInt64V(*vp, checkNil, true, d)
  15787. if changed {
  15788. *vp = v
  15789. }
  15790. }
  15791. func (_ fastpathT) DecMapStringInt64V(v map[string]int64, checkNil bool, canChange bool,
  15792. d *Decoder) (_ map[string]int64, changed bool) {
  15793. dd := d.d
  15794. if checkNil && dd.TryDecodeAsNil() {
  15795. if v != nil {
  15796. changed = true
  15797. }
  15798. return nil, changed
  15799. }
  15800. containerLen := dd.ReadMapStart()
  15801. if canChange && v == nil {
  15802. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  15803. v = make(map[string]int64, xlen)
  15804. changed = true
  15805. }
  15806. var mk string
  15807. var mv int64
  15808. if containerLen > 0 {
  15809. for j := 0; j < containerLen; j++ {
  15810. mk = dd.DecodeString()
  15811. mv = dd.DecodeInt(64)
  15812. if v != nil {
  15813. v[mk] = mv
  15814. }
  15815. }
  15816. } else if containerLen < 0 {
  15817. for j := 0; !dd.CheckBreak(); j++ {
  15818. mk = dd.DecodeString()
  15819. mv = dd.DecodeInt(64)
  15820. if v != nil {
  15821. v[mk] = mv
  15822. }
  15823. }
  15824. dd.ReadEnd()
  15825. }
  15826. return v, changed
  15827. }
  15828. func (f *decFnInfo) fastpathDecMapStringFloat32R(rv reflect.Value) {
  15829. if rv.CanAddr() {
  15830. vp := rv.Addr().Interface().(*map[string]float32)
  15831. v, changed := fastpathTV.DecMapStringFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  15832. if changed {
  15833. *vp = v
  15834. }
  15835. } else {
  15836. v := rv.Interface().(map[string]float32)
  15837. fastpathTV.DecMapStringFloat32V(v, fastpathCheckNilFalse, false, f.d)
  15838. }
  15839. }
  15840. func (f fastpathT) DecMapStringFloat32X(vp *map[string]float32, checkNil bool, d *Decoder) {
  15841. v, changed := f.DecMapStringFloat32V(*vp, checkNil, true, d)
  15842. if changed {
  15843. *vp = v
  15844. }
  15845. }
  15846. func (_ fastpathT) DecMapStringFloat32V(v map[string]float32, checkNil bool, canChange bool,
  15847. d *Decoder) (_ map[string]float32, changed bool) {
  15848. dd := d.d
  15849. if checkNil && dd.TryDecodeAsNil() {
  15850. if v != nil {
  15851. changed = true
  15852. }
  15853. return nil, changed
  15854. }
  15855. containerLen := dd.ReadMapStart()
  15856. if canChange && v == nil {
  15857. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  15858. v = make(map[string]float32, xlen)
  15859. changed = true
  15860. }
  15861. var mk string
  15862. var mv float32
  15863. if containerLen > 0 {
  15864. for j := 0; j < containerLen; j++ {
  15865. mk = dd.DecodeString()
  15866. mv = float32(dd.DecodeFloat(true))
  15867. if v != nil {
  15868. v[mk] = mv
  15869. }
  15870. }
  15871. } else if containerLen < 0 {
  15872. for j := 0; !dd.CheckBreak(); j++ {
  15873. mk = dd.DecodeString()
  15874. mv = float32(dd.DecodeFloat(true))
  15875. if v != nil {
  15876. v[mk] = mv
  15877. }
  15878. }
  15879. dd.ReadEnd()
  15880. }
  15881. return v, changed
  15882. }
  15883. func (f *decFnInfo) fastpathDecMapStringFloat64R(rv reflect.Value) {
  15884. if rv.CanAddr() {
  15885. vp := rv.Addr().Interface().(*map[string]float64)
  15886. v, changed := fastpathTV.DecMapStringFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  15887. if changed {
  15888. *vp = v
  15889. }
  15890. } else {
  15891. v := rv.Interface().(map[string]float64)
  15892. fastpathTV.DecMapStringFloat64V(v, fastpathCheckNilFalse, false, f.d)
  15893. }
  15894. }
  15895. func (f fastpathT) DecMapStringFloat64X(vp *map[string]float64, checkNil bool, d *Decoder) {
  15896. v, changed := f.DecMapStringFloat64V(*vp, checkNil, true, d)
  15897. if changed {
  15898. *vp = v
  15899. }
  15900. }
  15901. func (_ fastpathT) DecMapStringFloat64V(v map[string]float64, checkNil bool, canChange bool,
  15902. d *Decoder) (_ map[string]float64, changed bool) {
  15903. dd := d.d
  15904. if checkNil && dd.TryDecodeAsNil() {
  15905. if v != nil {
  15906. changed = true
  15907. }
  15908. return nil, changed
  15909. }
  15910. containerLen := dd.ReadMapStart()
  15911. if canChange && v == nil {
  15912. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  15913. v = make(map[string]float64, xlen)
  15914. changed = true
  15915. }
  15916. var mk string
  15917. var mv float64
  15918. if containerLen > 0 {
  15919. for j := 0; j < containerLen; j++ {
  15920. mk = dd.DecodeString()
  15921. mv = dd.DecodeFloat(false)
  15922. if v != nil {
  15923. v[mk] = mv
  15924. }
  15925. }
  15926. } else if containerLen < 0 {
  15927. for j := 0; !dd.CheckBreak(); j++ {
  15928. mk = dd.DecodeString()
  15929. mv = dd.DecodeFloat(false)
  15930. if v != nil {
  15931. v[mk] = mv
  15932. }
  15933. }
  15934. dd.ReadEnd()
  15935. }
  15936. return v, changed
  15937. }
  15938. func (f *decFnInfo) fastpathDecMapStringBoolR(rv reflect.Value) {
  15939. if rv.CanAddr() {
  15940. vp := rv.Addr().Interface().(*map[string]bool)
  15941. v, changed := fastpathTV.DecMapStringBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  15942. if changed {
  15943. *vp = v
  15944. }
  15945. } else {
  15946. v := rv.Interface().(map[string]bool)
  15947. fastpathTV.DecMapStringBoolV(v, fastpathCheckNilFalse, false, f.d)
  15948. }
  15949. }
  15950. func (f fastpathT) DecMapStringBoolX(vp *map[string]bool, checkNil bool, d *Decoder) {
  15951. v, changed := f.DecMapStringBoolV(*vp, checkNil, true, d)
  15952. if changed {
  15953. *vp = v
  15954. }
  15955. }
  15956. func (_ fastpathT) DecMapStringBoolV(v map[string]bool, checkNil bool, canChange bool,
  15957. d *Decoder) (_ map[string]bool, changed bool) {
  15958. dd := d.d
  15959. if checkNil && dd.TryDecodeAsNil() {
  15960. if v != nil {
  15961. changed = true
  15962. }
  15963. return nil, changed
  15964. }
  15965. containerLen := dd.ReadMapStart()
  15966. if canChange && v == nil {
  15967. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  15968. v = make(map[string]bool, xlen)
  15969. changed = true
  15970. }
  15971. var mk string
  15972. var mv bool
  15973. if containerLen > 0 {
  15974. for j := 0; j < containerLen; j++ {
  15975. mk = dd.DecodeString()
  15976. mv = dd.DecodeBool()
  15977. if v != nil {
  15978. v[mk] = mv
  15979. }
  15980. }
  15981. } else if containerLen < 0 {
  15982. for j := 0; !dd.CheckBreak(); j++ {
  15983. mk = dd.DecodeString()
  15984. mv = dd.DecodeBool()
  15985. if v != nil {
  15986. v[mk] = mv
  15987. }
  15988. }
  15989. dd.ReadEnd()
  15990. }
  15991. return v, changed
  15992. }
  15993. func (f *decFnInfo) fastpathDecMapFloat32IntfR(rv reflect.Value) {
  15994. if rv.CanAddr() {
  15995. vp := rv.Addr().Interface().(*map[float32]interface{})
  15996. v, changed := fastpathTV.DecMapFloat32IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  15997. if changed {
  15998. *vp = v
  15999. }
  16000. } else {
  16001. v := rv.Interface().(map[float32]interface{})
  16002. fastpathTV.DecMapFloat32IntfV(v, fastpathCheckNilFalse, false, f.d)
  16003. }
  16004. }
  16005. func (f fastpathT) DecMapFloat32IntfX(vp *map[float32]interface{}, checkNil bool, d *Decoder) {
  16006. v, changed := f.DecMapFloat32IntfV(*vp, checkNil, true, d)
  16007. if changed {
  16008. *vp = v
  16009. }
  16010. }
  16011. func (_ fastpathT) DecMapFloat32IntfV(v map[float32]interface{}, checkNil bool, canChange bool,
  16012. d *Decoder) (_ map[float32]interface{}, changed bool) {
  16013. dd := d.d
  16014. if checkNil && dd.TryDecodeAsNil() {
  16015. if v != nil {
  16016. changed = true
  16017. }
  16018. return nil, changed
  16019. }
  16020. containerLen := dd.ReadMapStart()
  16021. if canChange && v == nil {
  16022. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  16023. v = make(map[float32]interface{}, xlen)
  16024. changed = true
  16025. }
  16026. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  16027. var mk float32
  16028. var mv interface{}
  16029. if containerLen > 0 {
  16030. for j := 0; j < containerLen; j++ {
  16031. mk = float32(dd.DecodeFloat(true))
  16032. if mapGet {
  16033. mv = v[mk]
  16034. } else {
  16035. mv = nil
  16036. }
  16037. d.decode(&mv)
  16038. if v != nil {
  16039. v[mk] = mv
  16040. }
  16041. }
  16042. } else if containerLen < 0 {
  16043. for j := 0; !dd.CheckBreak(); j++ {
  16044. mk = float32(dd.DecodeFloat(true))
  16045. if mapGet {
  16046. mv = v[mk]
  16047. } else {
  16048. mv = nil
  16049. }
  16050. d.decode(&mv)
  16051. if v != nil {
  16052. v[mk] = mv
  16053. }
  16054. }
  16055. dd.ReadEnd()
  16056. }
  16057. return v, changed
  16058. }
  16059. func (f *decFnInfo) fastpathDecMapFloat32StringR(rv reflect.Value) {
  16060. if rv.CanAddr() {
  16061. vp := rv.Addr().Interface().(*map[float32]string)
  16062. v, changed := fastpathTV.DecMapFloat32StringV(*vp, fastpathCheckNilFalse, true, f.d)
  16063. if changed {
  16064. *vp = v
  16065. }
  16066. } else {
  16067. v := rv.Interface().(map[float32]string)
  16068. fastpathTV.DecMapFloat32StringV(v, fastpathCheckNilFalse, false, f.d)
  16069. }
  16070. }
  16071. func (f fastpathT) DecMapFloat32StringX(vp *map[float32]string, checkNil bool, d *Decoder) {
  16072. v, changed := f.DecMapFloat32StringV(*vp, checkNil, true, d)
  16073. if changed {
  16074. *vp = v
  16075. }
  16076. }
  16077. func (_ fastpathT) DecMapFloat32StringV(v map[float32]string, checkNil bool, canChange bool,
  16078. d *Decoder) (_ map[float32]string, changed bool) {
  16079. dd := d.d
  16080. if checkNil && dd.TryDecodeAsNil() {
  16081. if v != nil {
  16082. changed = true
  16083. }
  16084. return nil, changed
  16085. }
  16086. containerLen := dd.ReadMapStart()
  16087. if canChange && v == nil {
  16088. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  16089. v = make(map[float32]string, xlen)
  16090. changed = true
  16091. }
  16092. var mk float32
  16093. var mv string
  16094. if containerLen > 0 {
  16095. for j := 0; j < containerLen; j++ {
  16096. mk = float32(dd.DecodeFloat(true))
  16097. mv = dd.DecodeString()
  16098. if v != nil {
  16099. v[mk] = mv
  16100. }
  16101. }
  16102. } else if containerLen < 0 {
  16103. for j := 0; !dd.CheckBreak(); j++ {
  16104. mk = float32(dd.DecodeFloat(true))
  16105. mv = dd.DecodeString()
  16106. if v != nil {
  16107. v[mk] = mv
  16108. }
  16109. }
  16110. dd.ReadEnd()
  16111. }
  16112. return v, changed
  16113. }
  16114. func (f *decFnInfo) fastpathDecMapFloat32UintR(rv reflect.Value) {
  16115. if rv.CanAddr() {
  16116. vp := rv.Addr().Interface().(*map[float32]uint)
  16117. v, changed := fastpathTV.DecMapFloat32UintV(*vp, fastpathCheckNilFalse, true, f.d)
  16118. if changed {
  16119. *vp = v
  16120. }
  16121. } else {
  16122. v := rv.Interface().(map[float32]uint)
  16123. fastpathTV.DecMapFloat32UintV(v, fastpathCheckNilFalse, false, f.d)
  16124. }
  16125. }
  16126. func (f fastpathT) DecMapFloat32UintX(vp *map[float32]uint, checkNil bool, d *Decoder) {
  16127. v, changed := f.DecMapFloat32UintV(*vp, checkNil, true, d)
  16128. if changed {
  16129. *vp = v
  16130. }
  16131. }
  16132. func (_ fastpathT) DecMapFloat32UintV(v map[float32]uint, checkNil bool, canChange bool,
  16133. d *Decoder) (_ map[float32]uint, changed bool) {
  16134. dd := d.d
  16135. if checkNil && dd.TryDecodeAsNil() {
  16136. if v != nil {
  16137. changed = true
  16138. }
  16139. return nil, changed
  16140. }
  16141. containerLen := dd.ReadMapStart()
  16142. if canChange && v == nil {
  16143. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  16144. v = make(map[float32]uint, xlen)
  16145. changed = true
  16146. }
  16147. var mk float32
  16148. var mv uint
  16149. if containerLen > 0 {
  16150. for j := 0; j < containerLen; j++ {
  16151. mk = float32(dd.DecodeFloat(true))
  16152. mv = uint(dd.DecodeUint(uintBitsize))
  16153. if v != nil {
  16154. v[mk] = mv
  16155. }
  16156. }
  16157. } else if containerLen < 0 {
  16158. for j := 0; !dd.CheckBreak(); j++ {
  16159. mk = float32(dd.DecodeFloat(true))
  16160. mv = uint(dd.DecodeUint(uintBitsize))
  16161. if v != nil {
  16162. v[mk] = mv
  16163. }
  16164. }
  16165. dd.ReadEnd()
  16166. }
  16167. return v, changed
  16168. }
  16169. func (f *decFnInfo) fastpathDecMapFloat32Uint8R(rv reflect.Value) {
  16170. if rv.CanAddr() {
  16171. vp := rv.Addr().Interface().(*map[float32]uint8)
  16172. v, changed := fastpathTV.DecMapFloat32Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  16173. if changed {
  16174. *vp = v
  16175. }
  16176. } else {
  16177. v := rv.Interface().(map[float32]uint8)
  16178. fastpathTV.DecMapFloat32Uint8V(v, fastpathCheckNilFalse, false, f.d)
  16179. }
  16180. }
  16181. func (f fastpathT) DecMapFloat32Uint8X(vp *map[float32]uint8, checkNil bool, d *Decoder) {
  16182. v, changed := f.DecMapFloat32Uint8V(*vp, checkNil, true, d)
  16183. if changed {
  16184. *vp = v
  16185. }
  16186. }
  16187. func (_ fastpathT) DecMapFloat32Uint8V(v map[float32]uint8, checkNil bool, canChange bool,
  16188. d *Decoder) (_ map[float32]uint8, changed bool) {
  16189. dd := d.d
  16190. if checkNil && dd.TryDecodeAsNil() {
  16191. if v != nil {
  16192. changed = true
  16193. }
  16194. return nil, changed
  16195. }
  16196. containerLen := dd.ReadMapStart()
  16197. if canChange && v == nil {
  16198. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  16199. v = make(map[float32]uint8, xlen)
  16200. changed = true
  16201. }
  16202. var mk float32
  16203. var mv uint8
  16204. if containerLen > 0 {
  16205. for j := 0; j < containerLen; j++ {
  16206. mk = float32(dd.DecodeFloat(true))
  16207. mv = uint8(dd.DecodeUint(8))
  16208. if v != nil {
  16209. v[mk] = mv
  16210. }
  16211. }
  16212. } else if containerLen < 0 {
  16213. for j := 0; !dd.CheckBreak(); j++ {
  16214. mk = float32(dd.DecodeFloat(true))
  16215. mv = uint8(dd.DecodeUint(8))
  16216. if v != nil {
  16217. v[mk] = mv
  16218. }
  16219. }
  16220. dd.ReadEnd()
  16221. }
  16222. return v, changed
  16223. }
  16224. func (f *decFnInfo) fastpathDecMapFloat32Uint16R(rv reflect.Value) {
  16225. if rv.CanAddr() {
  16226. vp := rv.Addr().Interface().(*map[float32]uint16)
  16227. v, changed := fastpathTV.DecMapFloat32Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  16228. if changed {
  16229. *vp = v
  16230. }
  16231. } else {
  16232. v := rv.Interface().(map[float32]uint16)
  16233. fastpathTV.DecMapFloat32Uint16V(v, fastpathCheckNilFalse, false, f.d)
  16234. }
  16235. }
  16236. func (f fastpathT) DecMapFloat32Uint16X(vp *map[float32]uint16, checkNil bool, d *Decoder) {
  16237. v, changed := f.DecMapFloat32Uint16V(*vp, checkNil, true, d)
  16238. if changed {
  16239. *vp = v
  16240. }
  16241. }
  16242. func (_ fastpathT) DecMapFloat32Uint16V(v map[float32]uint16, checkNil bool, canChange bool,
  16243. d *Decoder) (_ map[float32]uint16, changed bool) {
  16244. dd := d.d
  16245. if checkNil && dd.TryDecodeAsNil() {
  16246. if v != nil {
  16247. changed = true
  16248. }
  16249. return nil, changed
  16250. }
  16251. containerLen := dd.ReadMapStart()
  16252. if canChange && v == nil {
  16253. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  16254. v = make(map[float32]uint16, xlen)
  16255. changed = true
  16256. }
  16257. var mk float32
  16258. var mv uint16
  16259. if containerLen > 0 {
  16260. for j := 0; j < containerLen; j++ {
  16261. mk = float32(dd.DecodeFloat(true))
  16262. mv = uint16(dd.DecodeUint(16))
  16263. if v != nil {
  16264. v[mk] = mv
  16265. }
  16266. }
  16267. } else if containerLen < 0 {
  16268. for j := 0; !dd.CheckBreak(); j++ {
  16269. mk = float32(dd.DecodeFloat(true))
  16270. mv = uint16(dd.DecodeUint(16))
  16271. if v != nil {
  16272. v[mk] = mv
  16273. }
  16274. }
  16275. dd.ReadEnd()
  16276. }
  16277. return v, changed
  16278. }
  16279. func (f *decFnInfo) fastpathDecMapFloat32Uint32R(rv reflect.Value) {
  16280. if rv.CanAddr() {
  16281. vp := rv.Addr().Interface().(*map[float32]uint32)
  16282. v, changed := fastpathTV.DecMapFloat32Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  16283. if changed {
  16284. *vp = v
  16285. }
  16286. } else {
  16287. v := rv.Interface().(map[float32]uint32)
  16288. fastpathTV.DecMapFloat32Uint32V(v, fastpathCheckNilFalse, false, f.d)
  16289. }
  16290. }
  16291. func (f fastpathT) DecMapFloat32Uint32X(vp *map[float32]uint32, checkNil bool, d *Decoder) {
  16292. v, changed := f.DecMapFloat32Uint32V(*vp, checkNil, true, d)
  16293. if changed {
  16294. *vp = v
  16295. }
  16296. }
  16297. func (_ fastpathT) DecMapFloat32Uint32V(v map[float32]uint32, checkNil bool, canChange bool,
  16298. d *Decoder) (_ map[float32]uint32, changed bool) {
  16299. dd := d.d
  16300. if checkNil && dd.TryDecodeAsNil() {
  16301. if v != nil {
  16302. changed = true
  16303. }
  16304. return nil, changed
  16305. }
  16306. containerLen := dd.ReadMapStart()
  16307. if canChange && v == nil {
  16308. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  16309. v = make(map[float32]uint32, xlen)
  16310. changed = true
  16311. }
  16312. var mk float32
  16313. var mv uint32
  16314. if containerLen > 0 {
  16315. for j := 0; j < containerLen; j++ {
  16316. mk = float32(dd.DecodeFloat(true))
  16317. mv = uint32(dd.DecodeUint(32))
  16318. if v != nil {
  16319. v[mk] = mv
  16320. }
  16321. }
  16322. } else if containerLen < 0 {
  16323. for j := 0; !dd.CheckBreak(); j++ {
  16324. mk = float32(dd.DecodeFloat(true))
  16325. mv = uint32(dd.DecodeUint(32))
  16326. if v != nil {
  16327. v[mk] = mv
  16328. }
  16329. }
  16330. dd.ReadEnd()
  16331. }
  16332. return v, changed
  16333. }
  16334. func (f *decFnInfo) fastpathDecMapFloat32Uint64R(rv reflect.Value) {
  16335. if rv.CanAddr() {
  16336. vp := rv.Addr().Interface().(*map[float32]uint64)
  16337. v, changed := fastpathTV.DecMapFloat32Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  16338. if changed {
  16339. *vp = v
  16340. }
  16341. } else {
  16342. v := rv.Interface().(map[float32]uint64)
  16343. fastpathTV.DecMapFloat32Uint64V(v, fastpathCheckNilFalse, false, f.d)
  16344. }
  16345. }
  16346. func (f fastpathT) DecMapFloat32Uint64X(vp *map[float32]uint64, checkNil bool, d *Decoder) {
  16347. v, changed := f.DecMapFloat32Uint64V(*vp, checkNil, true, d)
  16348. if changed {
  16349. *vp = v
  16350. }
  16351. }
  16352. func (_ fastpathT) DecMapFloat32Uint64V(v map[float32]uint64, checkNil bool, canChange bool,
  16353. d *Decoder) (_ map[float32]uint64, changed bool) {
  16354. dd := d.d
  16355. if checkNil && dd.TryDecodeAsNil() {
  16356. if v != nil {
  16357. changed = true
  16358. }
  16359. return nil, changed
  16360. }
  16361. containerLen := dd.ReadMapStart()
  16362. if canChange && v == nil {
  16363. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  16364. v = make(map[float32]uint64, xlen)
  16365. changed = true
  16366. }
  16367. var mk float32
  16368. var mv uint64
  16369. if containerLen > 0 {
  16370. for j := 0; j < containerLen; j++ {
  16371. mk = float32(dd.DecodeFloat(true))
  16372. mv = dd.DecodeUint(64)
  16373. if v != nil {
  16374. v[mk] = mv
  16375. }
  16376. }
  16377. } else if containerLen < 0 {
  16378. for j := 0; !dd.CheckBreak(); j++ {
  16379. mk = float32(dd.DecodeFloat(true))
  16380. mv = dd.DecodeUint(64)
  16381. if v != nil {
  16382. v[mk] = mv
  16383. }
  16384. }
  16385. dd.ReadEnd()
  16386. }
  16387. return v, changed
  16388. }
  16389. func (f *decFnInfo) fastpathDecMapFloat32UintptrR(rv reflect.Value) {
  16390. if rv.CanAddr() {
  16391. vp := rv.Addr().Interface().(*map[float32]uintptr)
  16392. v, changed := fastpathTV.DecMapFloat32UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  16393. if changed {
  16394. *vp = v
  16395. }
  16396. } else {
  16397. v := rv.Interface().(map[float32]uintptr)
  16398. fastpathTV.DecMapFloat32UintptrV(v, fastpathCheckNilFalse, false, f.d)
  16399. }
  16400. }
  16401. func (f fastpathT) DecMapFloat32UintptrX(vp *map[float32]uintptr, checkNil bool, d *Decoder) {
  16402. v, changed := f.DecMapFloat32UintptrV(*vp, checkNil, true, d)
  16403. if changed {
  16404. *vp = v
  16405. }
  16406. }
  16407. func (_ fastpathT) DecMapFloat32UintptrV(v map[float32]uintptr, checkNil bool, canChange bool,
  16408. d *Decoder) (_ map[float32]uintptr, changed bool) {
  16409. dd := d.d
  16410. if checkNil && dd.TryDecodeAsNil() {
  16411. if v != nil {
  16412. changed = true
  16413. }
  16414. return nil, changed
  16415. }
  16416. containerLen := dd.ReadMapStart()
  16417. if canChange && v == nil {
  16418. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  16419. v = make(map[float32]uintptr, xlen)
  16420. changed = true
  16421. }
  16422. var mk float32
  16423. var mv uintptr
  16424. if containerLen > 0 {
  16425. for j := 0; j < containerLen; j++ {
  16426. mk = float32(dd.DecodeFloat(true))
  16427. mv = uintptr(dd.DecodeUint(uintBitsize))
  16428. if v != nil {
  16429. v[mk] = mv
  16430. }
  16431. }
  16432. } else if containerLen < 0 {
  16433. for j := 0; !dd.CheckBreak(); j++ {
  16434. mk = float32(dd.DecodeFloat(true))
  16435. mv = uintptr(dd.DecodeUint(uintBitsize))
  16436. if v != nil {
  16437. v[mk] = mv
  16438. }
  16439. }
  16440. dd.ReadEnd()
  16441. }
  16442. return v, changed
  16443. }
  16444. func (f *decFnInfo) fastpathDecMapFloat32IntR(rv reflect.Value) {
  16445. if rv.CanAddr() {
  16446. vp := rv.Addr().Interface().(*map[float32]int)
  16447. v, changed := fastpathTV.DecMapFloat32IntV(*vp, fastpathCheckNilFalse, true, f.d)
  16448. if changed {
  16449. *vp = v
  16450. }
  16451. } else {
  16452. v := rv.Interface().(map[float32]int)
  16453. fastpathTV.DecMapFloat32IntV(v, fastpathCheckNilFalse, false, f.d)
  16454. }
  16455. }
  16456. func (f fastpathT) DecMapFloat32IntX(vp *map[float32]int, checkNil bool, d *Decoder) {
  16457. v, changed := f.DecMapFloat32IntV(*vp, checkNil, true, d)
  16458. if changed {
  16459. *vp = v
  16460. }
  16461. }
  16462. func (_ fastpathT) DecMapFloat32IntV(v map[float32]int, checkNil bool, canChange bool,
  16463. d *Decoder) (_ map[float32]int, changed bool) {
  16464. dd := d.d
  16465. if checkNil && dd.TryDecodeAsNil() {
  16466. if v != nil {
  16467. changed = true
  16468. }
  16469. return nil, changed
  16470. }
  16471. containerLen := dd.ReadMapStart()
  16472. if canChange && v == nil {
  16473. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  16474. v = make(map[float32]int, xlen)
  16475. changed = true
  16476. }
  16477. var mk float32
  16478. var mv int
  16479. if containerLen > 0 {
  16480. for j := 0; j < containerLen; j++ {
  16481. mk = float32(dd.DecodeFloat(true))
  16482. mv = int(dd.DecodeInt(intBitsize))
  16483. if v != nil {
  16484. v[mk] = mv
  16485. }
  16486. }
  16487. } else if containerLen < 0 {
  16488. for j := 0; !dd.CheckBreak(); j++ {
  16489. mk = float32(dd.DecodeFloat(true))
  16490. mv = int(dd.DecodeInt(intBitsize))
  16491. if v != nil {
  16492. v[mk] = mv
  16493. }
  16494. }
  16495. dd.ReadEnd()
  16496. }
  16497. return v, changed
  16498. }
  16499. func (f *decFnInfo) fastpathDecMapFloat32Int8R(rv reflect.Value) {
  16500. if rv.CanAddr() {
  16501. vp := rv.Addr().Interface().(*map[float32]int8)
  16502. v, changed := fastpathTV.DecMapFloat32Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  16503. if changed {
  16504. *vp = v
  16505. }
  16506. } else {
  16507. v := rv.Interface().(map[float32]int8)
  16508. fastpathTV.DecMapFloat32Int8V(v, fastpathCheckNilFalse, false, f.d)
  16509. }
  16510. }
  16511. func (f fastpathT) DecMapFloat32Int8X(vp *map[float32]int8, checkNil bool, d *Decoder) {
  16512. v, changed := f.DecMapFloat32Int8V(*vp, checkNil, true, d)
  16513. if changed {
  16514. *vp = v
  16515. }
  16516. }
  16517. func (_ fastpathT) DecMapFloat32Int8V(v map[float32]int8, checkNil bool, canChange bool,
  16518. d *Decoder) (_ map[float32]int8, changed bool) {
  16519. dd := d.d
  16520. if checkNil && dd.TryDecodeAsNil() {
  16521. if v != nil {
  16522. changed = true
  16523. }
  16524. return nil, changed
  16525. }
  16526. containerLen := dd.ReadMapStart()
  16527. if canChange && v == nil {
  16528. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  16529. v = make(map[float32]int8, xlen)
  16530. changed = true
  16531. }
  16532. var mk float32
  16533. var mv int8
  16534. if containerLen > 0 {
  16535. for j := 0; j < containerLen; j++ {
  16536. mk = float32(dd.DecodeFloat(true))
  16537. mv = int8(dd.DecodeInt(8))
  16538. if v != nil {
  16539. v[mk] = mv
  16540. }
  16541. }
  16542. } else if containerLen < 0 {
  16543. for j := 0; !dd.CheckBreak(); j++ {
  16544. mk = float32(dd.DecodeFloat(true))
  16545. mv = int8(dd.DecodeInt(8))
  16546. if v != nil {
  16547. v[mk] = mv
  16548. }
  16549. }
  16550. dd.ReadEnd()
  16551. }
  16552. return v, changed
  16553. }
  16554. func (f *decFnInfo) fastpathDecMapFloat32Int16R(rv reflect.Value) {
  16555. if rv.CanAddr() {
  16556. vp := rv.Addr().Interface().(*map[float32]int16)
  16557. v, changed := fastpathTV.DecMapFloat32Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  16558. if changed {
  16559. *vp = v
  16560. }
  16561. } else {
  16562. v := rv.Interface().(map[float32]int16)
  16563. fastpathTV.DecMapFloat32Int16V(v, fastpathCheckNilFalse, false, f.d)
  16564. }
  16565. }
  16566. func (f fastpathT) DecMapFloat32Int16X(vp *map[float32]int16, checkNil bool, d *Decoder) {
  16567. v, changed := f.DecMapFloat32Int16V(*vp, checkNil, true, d)
  16568. if changed {
  16569. *vp = v
  16570. }
  16571. }
  16572. func (_ fastpathT) DecMapFloat32Int16V(v map[float32]int16, checkNil bool, canChange bool,
  16573. d *Decoder) (_ map[float32]int16, changed bool) {
  16574. dd := d.d
  16575. if checkNil && dd.TryDecodeAsNil() {
  16576. if v != nil {
  16577. changed = true
  16578. }
  16579. return nil, changed
  16580. }
  16581. containerLen := dd.ReadMapStart()
  16582. if canChange && v == nil {
  16583. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  16584. v = make(map[float32]int16, xlen)
  16585. changed = true
  16586. }
  16587. var mk float32
  16588. var mv int16
  16589. if containerLen > 0 {
  16590. for j := 0; j < containerLen; j++ {
  16591. mk = float32(dd.DecodeFloat(true))
  16592. mv = int16(dd.DecodeInt(16))
  16593. if v != nil {
  16594. v[mk] = mv
  16595. }
  16596. }
  16597. } else if containerLen < 0 {
  16598. for j := 0; !dd.CheckBreak(); j++ {
  16599. mk = float32(dd.DecodeFloat(true))
  16600. mv = int16(dd.DecodeInt(16))
  16601. if v != nil {
  16602. v[mk] = mv
  16603. }
  16604. }
  16605. dd.ReadEnd()
  16606. }
  16607. return v, changed
  16608. }
  16609. func (f *decFnInfo) fastpathDecMapFloat32Int32R(rv reflect.Value) {
  16610. if rv.CanAddr() {
  16611. vp := rv.Addr().Interface().(*map[float32]int32)
  16612. v, changed := fastpathTV.DecMapFloat32Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  16613. if changed {
  16614. *vp = v
  16615. }
  16616. } else {
  16617. v := rv.Interface().(map[float32]int32)
  16618. fastpathTV.DecMapFloat32Int32V(v, fastpathCheckNilFalse, false, f.d)
  16619. }
  16620. }
  16621. func (f fastpathT) DecMapFloat32Int32X(vp *map[float32]int32, checkNil bool, d *Decoder) {
  16622. v, changed := f.DecMapFloat32Int32V(*vp, checkNil, true, d)
  16623. if changed {
  16624. *vp = v
  16625. }
  16626. }
  16627. func (_ fastpathT) DecMapFloat32Int32V(v map[float32]int32, checkNil bool, canChange bool,
  16628. d *Decoder) (_ map[float32]int32, changed bool) {
  16629. dd := d.d
  16630. if checkNil && dd.TryDecodeAsNil() {
  16631. if v != nil {
  16632. changed = true
  16633. }
  16634. return nil, changed
  16635. }
  16636. containerLen := dd.ReadMapStart()
  16637. if canChange && v == nil {
  16638. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  16639. v = make(map[float32]int32, xlen)
  16640. changed = true
  16641. }
  16642. var mk float32
  16643. var mv int32
  16644. if containerLen > 0 {
  16645. for j := 0; j < containerLen; j++ {
  16646. mk = float32(dd.DecodeFloat(true))
  16647. mv = int32(dd.DecodeInt(32))
  16648. if v != nil {
  16649. v[mk] = mv
  16650. }
  16651. }
  16652. } else if containerLen < 0 {
  16653. for j := 0; !dd.CheckBreak(); j++ {
  16654. mk = float32(dd.DecodeFloat(true))
  16655. mv = int32(dd.DecodeInt(32))
  16656. if v != nil {
  16657. v[mk] = mv
  16658. }
  16659. }
  16660. dd.ReadEnd()
  16661. }
  16662. return v, changed
  16663. }
  16664. func (f *decFnInfo) fastpathDecMapFloat32Int64R(rv reflect.Value) {
  16665. if rv.CanAddr() {
  16666. vp := rv.Addr().Interface().(*map[float32]int64)
  16667. v, changed := fastpathTV.DecMapFloat32Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  16668. if changed {
  16669. *vp = v
  16670. }
  16671. } else {
  16672. v := rv.Interface().(map[float32]int64)
  16673. fastpathTV.DecMapFloat32Int64V(v, fastpathCheckNilFalse, false, f.d)
  16674. }
  16675. }
  16676. func (f fastpathT) DecMapFloat32Int64X(vp *map[float32]int64, checkNil bool, d *Decoder) {
  16677. v, changed := f.DecMapFloat32Int64V(*vp, checkNil, true, d)
  16678. if changed {
  16679. *vp = v
  16680. }
  16681. }
  16682. func (_ fastpathT) DecMapFloat32Int64V(v map[float32]int64, checkNil bool, canChange bool,
  16683. d *Decoder) (_ map[float32]int64, changed bool) {
  16684. dd := d.d
  16685. if checkNil && dd.TryDecodeAsNil() {
  16686. if v != nil {
  16687. changed = true
  16688. }
  16689. return nil, changed
  16690. }
  16691. containerLen := dd.ReadMapStart()
  16692. if canChange && v == nil {
  16693. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  16694. v = make(map[float32]int64, xlen)
  16695. changed = true
  16696. }
  16697. var mk float32
  16698. var mv int64
  16699. if containerLen > 0 {
  16700. for j := 0; j < containerLen; j++ {
  16701. mk = float32(dd.DecodeFloat(true))
  16702. mv = dd.DecodeInt(64)
  16703. if v != nil {
  16704. v[mk] = mv
  16705. }
  16706. }
  16707. } else if containerLen < 0 {
  16708. for j := 0; !dd.CheckBreak(); j++ {
  16709. mk = float32(dd.DecodeFloat(true))
  16710. mv = dd.DecodeInt(64)
  16711. if v != nil {
  16712. v[mk] = mv
  16713. }
  16714. }
  16715. dd.ReadEnd()
  16716. }
  16717. return v, changed
  16718. }
  16719. func (f *decFnInfo) fastpathDecMapFloat32Float32R(rv reflect.Value) {
  16720. if rv.CanAddr() {
  16721. vp := rv.Addr().Interface().(*map[float32]float32)
  16722. v, changed := fastpathTV.DecMapFloat32Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  16723. if changed {
  16724. *vp = v
  16725. }
  16726. } else {
  16727. v := rv.Interface().(map[float32]float32)
  16728. fastpathTV.DecMapFloat32Float32V(v, fastpathCheckNilFalse, false, f.d)
  16729. }
  16730. }
  16731. func (f fastpathT) DecMapFloat32Float32X(vp *map[float32]float32, checkNil bool, d *Decoder) {
  16732. v, changed := f.DecMapFloat32Float32V(*vp, checkNil, true, d)
  16733. if changed {
  16734. *vp = v
  16735. }
  16736. }
  16737. func (_ fastpathT) DecMapFloat32Float32V(v map[float32]float32, checkNil bool, canChange bool,
  16738. d *Decoder) (_ map[float32]float32, changed bool) {
  16739. dd := d.d
  16740. if checkNil && dd.TryDecodeAsNil() {
  16741. if v != nil {
  16742. changed = true
  16743. }
  16744. return nil, changed
  16745. }
  16746. containerLen := dd.ReadMapStart()
  16747. if canChange && v == nil {
  16748. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  16749. v = make(map[float32]float32, xlen)
  16750. changed = true
  16751. }
  16752. var mk float32
  16753. var mv float32
  16754. if containerLen > 0 {
  16755. for j := 0; j < containerLen; j++ {
  16756. mk = float32(dd.DecodeFloat(true))
  16757. mv = float32(dd.DecodeFloat(true))
  16758. if v != nil {
  16759. v[mk] = mv
  16760. }
  16761. }
  16762. } else if containerLen < 0 {
  16763. for j := 0; !dd.CheckBreak(); j++ {
  16764. mk = float32(dd.DecodeFloat(true))
  16765. mv = float32(dd.DecodeFloat(true))
  16766. if v != nil {
  16767. v[mk] = mv
  16768. }
  16769. }
  16770. dd.ReadEnd()
  16771. }
  16772. return v, changed
  16773. }
  16774. func (f *decFnInfo) fastpathDecMapFloat32Float64R(rv reflect.Value) {
  16775. if rv.CanAddr() {
  16776. vp := rv.Addr().Interface().(*map[float32]float64)
  16777. v, changed := fastpathTV.DecMapFloat32Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  16778. if changed {
  16779. *vp = v
  16780. }
  16781. } else {
  16782. v := rv.Interface().(map[float32]float64)
  16783. fastpathTV.DecMapFloat32Float64V(v, fastpathCheckNilFalse, false, f.d)
  16784. }
  16785. }
  16786. func (f fastpathT) DecMapFloat32Float64X(vp *map[float32]float64, checkNil bool, d *Decoder) {
  16787. v, changed := f.DecMapFloat32Float64V(*vp, checkNil, true, d)
  16788. if changed {
  16789. *vp = v
  16790. }
  16791. }
  16792. func (_ fastpathT) DecMapFloat32Float64V(v map[float32]float64, checkNil bool, canChange bool,
  16793. d *Decoder) (_ map[float32]float64, changed bool) {
  16794. dd := d.d
  16795. if checkNil && dd.TryDecodeAsNil() {
  16796. if v != nil {
  16797. changed = true
  16798. }
  16799. return nil, changed
  16800. }
  16801. containerLen := dd.ReadMapStart()
  16802. if canChange && v == nil {
  16803. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  16804. v = make(map[float32]float64, xlen)
  16805. changed = true
  16806. }
  16807. var mk float32
  16808. var mv float64
  16809. if containerLen > 0 {
  16810. for j := 0; j < containerLen; j++ {
  16811. mk = float32(dd.DecodeFloat(true))
  16812. mv = dd.DecodeFloat(false)
  16813. if v != nil {
  16814. v[mk] = mv
  16815. }
  16816. }
  16817. } else if containerLen < 0 {
  16818. for j := 0; !dd.CheckBreak(); j++ {
  16819. mk = float32(dd.DecodeFloat(true))
  16820. mv = dd.DecodeFloat(false)
  16821. if v != nil {
  16822. v[mk] = mv
  16823. }
  16824. }
  16825. dd.ReadEnd()
  16826. }
  16827. return v, changed
  16828. }
  16829. func (f *decFnInfo) fastpathDecMapFloat32BoolR(rv reflect.Value) {
  16830. if rv.CanAddr() {
  16831. vp := rv.Addr().Interface().(*map[float32]bool)
  16832. v, changed := fastpathTV.DecMapFloat32BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  16833. if changed {
  16834. *vp = v
  16835. }
  16836. } else {
  16837. v := rv.Interface().(map[float32]bool)
  16838. fastpathTV.DecMapFloat32BoolV(v, fastpathCheckNilFalse, false, f.d)
  16839. }
  16840. }
  16841. func (f fastpathT) DecMapFloat32BoolX(vp *map[float32]bool, checkNil bool, d *Decoder) {
  16842. v, changed := f.DecMapFloat32BoolV(*vp, checkNil, true, d)
  16843. if changed {
  16844. *vp = v
  16845. }
  16846. }
  16847. func (_ fastpathT) DecMapFloat32BoolV(v map[float32]bool, checkNil bool, canChange bool,
  16848. d *Decoder) (_ map[float32]bool, changed bool) {
  16849. dd := d.d
  16850. if checkNil && dd.TryDecodeAsNil() {
  16851. if v != nil {
  16852. changed = true
  16853. }
  16854. return nil, changed
  16855. }
  16856. containerLen := dd.ReadMapStart()
  16857. if canChange && v == nil {
  16858. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  16859. v = make(map[float32]bool, xlen)
  16860. changed = true
  16861. }
  16862. var mk float32
  16863. var mv bool
  16864. if containerLen > 0 {
  16865. for j := 0; j < containerLen; j++ {
  16866. mk = float32(dd.DecodeFloat(true))
  16867. mv = dd.DecodeBool()
  16868. if v != nil {
  16869. v[mk] = mv
  16870. }
  16871. }
  16872. } else if containerLen < 0 {
  16873. for j := 0; !dd.CheckBreak(); j++ {
  16874. mk = float32(dd.DecodeFloat(true))
  16875. mv = dd.DecodeBool()
  16876. if v != nil {
  16877. v[mk] = mv
  16878. }
  16879. }
  16880. dd.ReadEnd()
  16881. }
  16882. return v, changed
  16883. }
  16884. func (f *decFnInfo) fastpathDecMapFloat64IntfR(rv reflect.Value) {
  16885. if rv.CanAddr() {
  16886. vp := rv.Addr().Interface().(*map[float64]interface{})
  16887. v, changed := fastpathTV.DecMapFloat64IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  16888. if changed {
  16889. *vp = v
  16890. }
  16891. } else {
  16892. v := rv.Interface().(map[float64]interface{})
  16893. fastpathTV.DecMapFloat64IntfV(v, fastpathCheckNilFalse, false, f.d)
  16894. }
  16895. }
  16896. func (f fastpathT) DecMapFloat64IntfX(vp *map[float64]interface{}, checkNil bool, d *Decoder) {
  16897. v, changed := f.DecMapFloat64IntfV(*vp, checkNil, true, d)
  16898. if changed {
  16899. *vp = v
  16900. }
  16901. }
  16902. func (_ fastpathT) DecMapFloat64IntfV(v map[float64]interface{}, checkNil bool, canChange bool,
  16903. d *Decoder) (_ map[float64]interface{}, changed bool) {
  16904. dd := d.d
  16905. if checkNil && dd.TryDecodeAsNil() {
  16906. if v != nil {
  16907. changed = true
  16908. }
  16909. return nil, changed
  16910. }
  16911. containerLen := dd.ReadMapStart()
  16912. if canChange && v == nil {
  16913. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  16914. v = make(map[float64]interface{}, xlen)
  16915. changed = true
  16916. }
  16917. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  16918. var mk float64
  16919. var mv interface{}
  16920. if containerLen > 0 {
  16921. for j := 0; j < containerLen; j++ {
  16922. mk = dd.DecodeFloat(false)
  16923. if mapGet {
  16924. mv = v[mk]
  16925. } else {
  16926. mv = nil
  16927. }
  16928. d.decode(&mv)
  16929. if v != nil {
  16930. v[mk] = mv
  16931. }
  16932. }
  16933. } else if containerLen < 0 {
  16934. for j := 0; !dd.CheckBreak(); j++ {
  16935. mk = dd.DecodeFloat(false)
  16936. if mapGet {
  16937. mv = v[mk]
  16938. } else {
  16939. mv = nil
  16940. }
  16941. d.decode(&mv)
  16942. if v != nil {
  16943. v[mk] = mv
  16944. }
  16945. }
  16946. dd.ReadEnd()
  16947. }
  16948. return v, changed
  16949. }
  16950. func (f *decFnInfo) fastpathDecMapFloat64StringR(rv reflect.Value) {
  16951. if rv.CanAddr() {
  16952. vp := rv.Addr().Interface().(*map[float64]string)
  16953. v, changed := fastpathTV.DecMapFloat64StringV(*vp, fastpathCheckNilFalse, true, f.d)
  16954. if changed {
  16955. *vp = v
  16956. }
  16957. } else {
  16958. v := rv.Interface().(map[float64]string)
  16959. fastpathTV.DecMapFloat64StringV(v, fastpathCheckNilFalse, false, f.d)
  16960. }
  16961. }
  16962. func (f fastpathT) DecMapFloat64StringX(vp *map[float64]string, checkNil bool, d *Decoder) {
  16963. v, changed := f.DecMapFloat64StringV(*vp, checkNil, true, d)
  16964. if changed {
  16965. *vp = v
  16966. }
  16967. }
  16968. func (_ fastpathT) DecMapFloat64StringV(v map[float64]string, checkNil bool, canChange bool,
  16969. d *Decoder) (_ map[float64]string, changed bool) {
  16970. dd := d.d
  16971. if checkNil && dd.TryDecodeAsNil() {
  16972. if v != nil {
  16973. changed = true
  16974. }
  16975. return nil, changed
  16976. }
  16977. containerLen := dd.ReadMapStart()
  16978. if canChange && v == nil {
  16979. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  16980. v = make(map[float64]string, xlen)
  16981. changed = true
  16982. }
  16983. var mk float64
  16984. var mv string
  16985. if containerLen > 0 {
  16986. for j := 0; j < containerLen; j++ {
  16987. mk = dd.DecodeFloat(false)
  16988. mv = dd.DecodeString()
  16989. if v != nil {
  16990. v[mk] = mv
  16991. }
  16992. }
  16993. } else if containerLen < 0 {
  16994. for j := 0; !dd.CheckBreak(); j++ {
  16995. mk = dd.DecodeFloat(false)
  16996. mv = dd.DecodeString()
  16997. if v != nil {
  16998. v[mk] = mv
  16999. }
  17000. }
  17001. dd.ReadEnd()
  17002. }
  17003. return v, changed
  17004. }
  17005. func (f *decFnInfo) fastpathDecMapFloat64UintR(rv reflect.Value) {
  17006. if rv.CanAddr() {
  17007. vp := rv.Addr().Interface().(*map[float64]uint)
  17008. v, changed := fastpathTV.DecMapFloat64UintV(*vp, fastpathCheckNilFalse, true, f.d)
  17009. if changed {
  17010. *vp = v
  17011. }
  17012. } else {
  17013. v := rv.Interface().(map[float64]uint)
  17014. fastpathTV.DecMapFloat64UintV(v, fastpathCheckNilFalse, false, f.d)
  17015. }
  17016. }
  17017. func (f fastpathT) DecMapFloat64UintX(vp *map[float64]uint, checkNil bool, d *Decoder) {
  17018. v, changed := f.DecMapFloat64UintV(*vp, checkNil, true, d)
  17019. if changed {
  17020. *vp = v
  17021. }
  17022. }
  17023. func (_ fastpathT) DecMapFloat64UintV(v map[float64]uint, checkNil bool, canChange bool,
  17024. d *Decoder) (_ map[float64]uint, changed bool) {
  17025. dd := d.d
  17026. if checkNil && dd.TryDecodeAsNil() {
  17027. if v != nil {
  17028. changed = true
  17029. }
  17030. return nil, changed
  17031. }
  17032. containerLen := dd.ReadMapStart()
  17033. if canChange && v == nil {
  17034. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  17035. v = make(map[float64]uint, xlen)
  17036. changed = true
  17037. }
  17038. var mk float64
  17039. var mv uint
  17040. if containerLen > 0 {
  17041. for j := 0; j < containerLen; j++ {
  17042. mk = dd.DecodeFloat(false)
  17043. mv = uint(dd.DecodeUint(uintBitsize))
  17044. if v != nil {
  17045. v[mk] = mv
  17046. }
  17047. }
  17048. } else if containerLen < 0 {
  17049. for j := 0; !dd.CheckBreak(); j++ {
  17050. mk = dd.DecodeFloat(false)
  17051. mv = uint(dd.DecodeUint(uintBitsize))
  17052. if v != nil {
  17053. v[mk] = mv
  17054. }
  17055. }
  17056. dd.ReadEnd()
  17057. }
  17058. return v, changed
  17059. }
  17060. func (f *decFnInfo) fastpathDecMapFloat64Uint8R(rv reflect.Value) {
  17061. if rv.CanAddr() {
  17062. vp := rv.Addr().Interface().(*map[float64]uint8)
  17063. v, changed := fastpathTV.DecMapFloat64Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  17064. if changed {
  17065. *vp = v
  17066. }
  17067. } else {
  17068. v := rv.Interface().(map[float64]uint8)
  17069. fastpathTV.DecMapFloat64Uint8V(v, fastpathCheckNilFalse, false, f.d)
  17070. }
  17071. }
  17072. func (f fastpathT) DecMapFloat64Uint8X(vp *map[float64]uint8, checkNil bool, d *Decoder) {
  17073. v, changed := f.DecMapFloat64Uint8V(*vp, checkNil, true, d)
  17074. if changed {
  17075. *vp = v
  17076. }
  17077. }
  17078. func (_ fastpathT) DecMapFloat64Uint8V(v map[float64]uint8, checkNil bool, canChange bool,
  17079. d *Decoder) (_ map[float64]uint8, changed bool) {
  17080. dd := d.d
  17081. if checkNil && dd.TryDecodeAsNil() {
  17082. if v != nil {
  17083. changed = true
  17084. }
  17085. return nil, changed
  17086. }
  17087. containerLen := dd.ReadMapStart()
  17088. if canChange && v == nil {
  17089. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  17090. v = make(map[float64]uint8, xlen)
  17091. changed = true
  17092. }
  17093. var mk float64
  17094. var mv uint8
  17095. if containerLen > 0 {
  17096. for j := 0; j < containerLen; j++ {
  17097. mk = dd.DecodeFloat(false)
  17098. mv = uint8(dd.DecodeUint(8))
  17099. if v != nil {
  17100. v[mk] = mv
  17101. }
  17102. }
  17103. } else if containerLen < 0 {
  17104. for j := 0; !dd.CheckBreak(); j++ {
  17105. mk = dd.DecodeFloat(false)
  17106. mv = uint8(dd.DecodeUint(8))
  17107. if v != nil {
  17108. v[mk] = mv
  17109. }
  17110. }
  17111. dd.ReadEnd()
  17112. }
  17113. return v, changed
  17114. }
  17115. func (f *decFnInfo) fastpathDecMapFloat64Uint16R(rv reflect.Value) {
  17116. if rv.CanAddr() {
  17117. vp := rv.Addr().Interface().(*map[float64]uint16)
  17118. v, changed := fastpathTV.DecMapFloat64Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  17119. if changed {
  17120. *vp = v
  17121. }
  17122. } else {
  17123. v := rv.Interface().(map[float64]uint16)
  17124. fastpathTV.DecMapFloat64Uint16V(v, fastpathCheckNilFalse, false, f.d)
  17125. }
  17126. }
  17127. func (f fastpathT) DecMapFloat64Uint16X(vp *map[float64]uint16, checkNil bool, d *Decoder) {
  17128. v, changed := f.DecMapFloat64Uint16V(*vp, checkNil, true, d)
  17129. if changed {
  17130. *vp = v
  17131. }
  17132. }
  17133. func (_ fastpathT) DecMapFloat64Uint16V(v map[float64]uint16, checkNil bool, canChange bool,
  17134. d *Decoder) (_ map[float64]uint16, changed bool) {
  17135. dd := d.d
  17136. if checkNil && dd.TryDecodeAsNil() {
  17137. if v != nil {
  17138. changed = true
  17139. }
  17140. return nil, changed
  17141. }
  17142. containerLen := dd.ReadMapStart()
  17143. if canChange && v == nil {
  17144. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  17145. v = make(map[float64]uint16, xlen)
  17146. changed = true
  17147. }
  17148. var mk float64
  17149. var mv uint16
  17150. if containerLen > 0 {
  17151. for j := 0; j < containerLen; j++ {
  17152. mk = dd.DecodeFloat(false)
  17153. mv = uint16(dd.DecodeUint(16))
  17154. if v != nil {
  17155. v[mk] = mv
  17156. }
  17157. }
  17158. } else if containerLen < 0 {
  17159. for j := 0; !dd.CheckBreak(); j++ {
  17160. mk = dd.DecodeFloat(false)
  17161. mv = uint16(dd.DecodeUint(16))
  17162. if v != nil {
  17163. v[mk] = mv
  17164. }
  17165. }
  17166. dd.ReadEnd()
  17167. }
  17168. return v, changed
  17169. }
  17170. func (f *decFnInfo) fastpathDecMapFloat64Uint32R(rv reflect.Value) {
  17171. if rv.CanAddr() {
  17172. vp := rv.Addr().Interface().(*map[float64]uint32)
  17173. v, changed := fastpathTV.DecMapFloat64Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  17174. if changed {
  17175. *vp = v
  17176. }
  17177. } else {
  17178. v := rv.Interface().(map[float64]uint32)
  17179. fastpathTV.DecMapFloat64Uint32V(v, fastpathCheckNilFalse, false, f.d)
  17180. }
  17181. }
  17182. func (f fastpathT) DecMapFloat64Uint32X(vp *map[float64]uint32, checkNil bool, d *Decoder) {
  17183. v, changed := f.DecMapFloat64Uint32V(*vp, checkNil, true, d)
  17184. if changed {
  17185. *vp = v
  17186. }
  17187. }
  17188. func (_ fastpathT) DecMapFloat64Uint32V(v map[float64]uint32, checkNil bool, canChange bool,
  17189. d *Decoder) (_ map[float64]uint32, changed bool) {
  17190. dd := d.d
  17191. if checkNil && dd.TryDecodeAsNil() {
  17192. if v != nil {
  17193. changed = true
  17194. }
  17195. return nil, changed
  17196. }
  17197. containerLen := dd.ReadMapStart()
  17198. if canChange && v == nil {
  17199. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  17200. v = make(map[float64]uint32, xlen)
  17201. changed = true
  17202. }
  17203. var mk float64
  17204. var mv uint32
  17205. if containerLen > 0 {
  17206. for j := 0; j < containerLen; j++ {
  17207. mk = dd.DecodeFloat(false)
  17208. mv = uint32(dd.DecodeUint(32))
  17209. if v != nil {
  17210. v[mk] = mv
  17211. }
  17212. }
  17213. } else if containerLen < 0 {
  17214. for j := 0; !dd.CheckBreak(); j++ {
  17215. mk = dd.DecodeFloat(false)
  17216. mv = uint32(dd.DecodeUint(32))
  17217. if v != nil {
  17218. v[mk] = mv
  17219. }
  17220. }
  17221. dd.ReadEnd()
  17222. }
  17223. return v, changed
  17224. }
  17225. func (f *decFnInfo) fastpathDecMapFloat64Uint64R(rv reflect.Value) {
  17226. if rv.CanAddr() {
  17227. vp := rv.Addr().Interface().(*map[float64]uint64)
  17228. v, changed := fastpathTV.DecMapFloat64Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  17229. if changed {
  17230. *vp = v
  17231. }
  17232. } else {
  17233. v := rv.Interface().(map[float64]uint64)
  17234. fastpathTV.DecMapFloat64Uint64V(v, fastpathCheckNilFalse, false, f.d)
  17235. }
  17236. }
  17237. func (f fastpathT) DecMapFloat64Uint64X(vp *map[float64]uint64, checkNil bool, d *Decoder) {
  17238. v, changed := f.DecMapFloat64Uint64V(*vp, checkNil, true, d)
  17239. if changed {
  17240. *vp = v
  17241. }
  17242. }
  17243. func (_ fastpathT) DecMapFloat64Uint64V(v map[float64]uint64, checkNil bool, canChange bool,
  17244. d *Decoder) (_ map[float64]uint64, changed bool) {
  17245. dd := d.d
  17246. if checkNil && dd.TryDecodeAsNil() {
  17247. if v != nil {
  17248. changed = true
  17249. }
  17250. return nil, changed
  17251. }
  17252. containerLen := dd.ReadMapStart()
  17253. if canChange && v == nil {
  17254. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  17255. v = make(map[float64]uint64, xlen)
  17256. changed = true
  17257. }
  17258. var mk float64
  17259. var mv uint64
  17260. if containerLen > 0 {
  17261. for j := 0; j < containerLen; j++ {
  17262. mk = dd.DecodeFloat(false)
  17263. mv = dd.DecodeUint(64)
  17264. if v != nil {
  17265. v[mk] = mv
  17266. }
  17267. }
  17268. } else if containerLen < 0 {
  17269. for j := 0; !dd.CheckBreak(); j++ {
  17270. mk = dd.DecodeFloat(false)
  17271. mv = dd.DecodeUint(64)
  17272. if v != nil {
  17273. v[mk] = mv
  17274. }
  17275. }
  17276. dd.ReadEnd()
  17277. }
  17278. return v, changed
  17279. }
  17280. func (f *decFnInfo) fastpathDecMapFloat64UintptrR(rv reflect.Value) {
  17281. if rv.CanAddr() {
  17282. vp := rv.Addr().Interface().(*map[float64]uintptr)
  17283. v, changed := fastpathTV.DecMapFloat64UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  17284. if changed {
  17285. *vp = v
  17286. }
  17287. } else {
  17288. v := rv.Interface().(map[float64]uintptr)
  17289. fastpathTV.DecMapFloat64UintptrV(v, fastpathCheckNilFalse, false, f.d)
  17290. }
  17291. }
  17292. func (f fastpathT) DecMapFloat64UintptrX(vp *map[float64]uintptr, checkNil bool, d *Decoder) {
  17293. v, changed := f.DecMapFloat64UintptrV(*vp, checkNil, true, d)
  17294. if changed {
  17295. *vp = v
  17296. }
  17297. }
  17298. func (_ fastpathT) DecMapFloat64UintptrV(v map[float64]uintptr, checkNil bool, canChange bool,
  17299. d *Decoder) (_ map[float64]uintptr, changed bool) {
  17300. dd := d.d
  17301. if checkNil && dd.TryDecodeAsNil() {
  17302. if v != nil {
  17303. changed = true
  17304. }
  17305. return nil, changed
  17306. }
  17307. containerLen := dd.ReadMapStart()
  17308. if canChange && v == nil {
  17309. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  17310. v = make(map[float64]uintptr, xlen)
  17311. changed = true
  17312. }
  17313. var mk float64
  17314. var mv uintptr
  17315. if containerLen > 0 {
  17316. for j := 0; j < containerLen; j++ {
  17317. mk = dd.DecodeFloat(false)
  17318. mv = uintptr(dd.DecodeUint(uintBitsize))
  17319. if v != nil {
  17320. v[mk] = mv
  17321. }
  17322. }
  17323. } else if containerLen < 0 {
  17324. for j := 0; !dd.CheckBreak(); j++ {
  17325. mk = dd.DecodeFloat(false)
  17326. mv = uintptr(dd.DecodeUint(uintBitsize))
  17327. if v != nil {
  17328. v[mk] = mv
  17329. }
  17330. }
  17331. dd.ReadEnd()
  17332. }
  17333. return v, changed
  17334. }
  17335. func (f *decFnInfo) fastpathDecMapFloat64IntR(rv reflect.Value) {
  17336. if rv.CanAddr() {
  17337. vp := rv.Addr().Interface().(*map[float64]int)
  17338. v, changed := fastpathTV.DecMapFloat64IntV(*vp, fastpathCheckNilFalse, true, f.d)
  17339. if changed {
  17340. *vp = v
  17341. }
  17342. } else {
  17343. v := rv.Interface().(map[float64]int)
  17344. fastpathTV.DecMapFloat64IntV(v, fastpathCheckNilFalse, false, f.d)
  17345. }
  17346. }
  17347. func (f fastpathT) DecMapFloat64IntX(vp *map[float64]int, checkNil bool, d *Decoder) {
  17348. v, changed := f.DecMapFloat64IntV(*vp, checkNil, true, d)
  17349. if changed {
  17350. *vp = v
  17351. }
  17352. }
  17353. func (_ fastpathT) DecMapFloat64IntV(v map[float64]int, checkNil bool, canChange bool,
  17354. d *Decoder) (_ map[float64]int, changed bool) {
  17355. dd := d.d
  17356. if checkNil && dd.TryDecodeAsNil() {
  17357. if v != nil {
  17358. changed = true
  17359. }
  17360. return nil, changed
  17361. }
  17362. containerLen := dd.ReadMapStart()
  17363. if canChange && v == nil {
  17364. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  17365. v = make(map[float64]int, xlen)
  17366. changed = true
  17367. }
  17368. var mk float64
  17369. var mv int
  17370. if containerLen > 0 {
  17371. for j := 0; j < containerLen; j++ {
  17372. mk = dd.DecodeFloat(false)
  17373. mv = int(dd.DecodeInt(intBitsize))
  17374. if v != nil {
  17375. v[mk] = mv
  17376. }
  17377. }
  17378. } else if containerLen < 0 {
  17379. for j := 0; !dd.CheckBreak(); j++ {
  17380. mk = dd.DecodeFloat(false)
  17381. mv = int(dd.DecodeInt(intBitsize))
  17382. if v != nil {
  17383. v[mk] = mv
  17384. }
  17385. }
  17386. dd.ReadEnd()
  17387. }
  17388. return v, changed
  17389. }
  17390. func (f *decFnInfo) fastpathDecMapFloat64Int8R(rv reflect.Value) {
  17391. if rv.CanAddr() {
  17392. vp := rv.Addr().Interface().(*map[float64]int8)
  17393. v, changed := fastpathTV.DecMapFloat64Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  17394. if changed {
  17395. *vp = v
  17396. }
  17397. } else {
  17398. v := rv.Interface().(map[float64]int8)
  17399. fastpathTV.DecMapFloat64Int8V(v, fastpathCheckNilFalse, false, f.d)
  17400. }
  17401. }
  17402. func (f fastpathT) DecMapFloat64Int8X(vp *map[float64]int8, checkNil bool, d *Decoder) {
  17403. v, changed := f.DecMapFloat64Int8V(*vp, checkNil, true, d)
  17404. if changed {
  17405. *vp = v
  17406. }
  17407. }
  17408. func (_ fastpathT) DecMapFloat64Int8V(v map[float64]int8, checkNil bool, canChange bool,
  17409. d *Decoder) (_ map[float64]int8, changed bool) {
  17410. dd := d.d
  17411. if checkNil && dd.TryDecodeAsNil() {
  17412. if v != nil {
  17413. changed = true
  17414. }
  17415. return nil, changed
  17416. }
  17417. containerLen := dd.ReadMapStart()
  17418. if canChange && v == nil {
  17419. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  17420. v = make(map[float64]int8, xlen)
  17421. changed = true
  17422. }
  17423. var mk float64
  17424. var mv int8
  17425. if containerLen > 0 {
  17426. for j := 0; j < containerLen; j++ {
  17427. mk = dd.DecodeFloat(false)
  17428. mv = int8(dd.DecodeInt(8))
  17429. if v != nil {
  17430. v[mk] = mv
  17431. }
  17432. }
  17433. } else if containerLen < 0 {
  17434. for j := 0; !dd.CheckBreak(); j++ {
  17435. mk = dd.DecodeFloat(false)
  17436. mv = int8(dd.DecodeInt(8))
  17437. if v != nil {
  17438. v[mk] = mv
  17439. }
  17440. }
  17441. dd.ReadEnd()
  17442. }
  17443. return v, changed
  17444. }
  17445. func (f *decFnInfo) fastpathDecMapFloat64Int16R(rv reflect.Value) {
  17446. if rv.CanAddr() {
  17447. vp := rv.Addr().Interface().(*map[float64]int16)
  17448. v, changed := fastpathTV.DecMapFloat64Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  17449. if changed {
  17450. *vp = v
  17451. }
  17452. } else {
  17453. v := rv.Interface().(map[float64]int16)
  17454. fastpathTV.DecMapFloat64Int16V(v, fastpathCheckNilFalse, false, f.d)
  17455. }
  17456. }
  17457. func (f fastpathT) DecMapFloat64Int16X(vp *map[float64]int16, checkNil bool, d *Decoder) {
  17458. v, changed := f.DecMapFloat64Int16V(*vp, checkNil, true, d)
  17459. if changed {
  17460. *vp = v
  17461. }
  17462. }
  17463. func (_ fastpathT) DecMapFloat64Int16V(v map[float64]int16, checkNil bool, canChange bool,
  17464. d *Decoder) (_ map[float64]int16, changed bool) {
  17465. dd := d.d
  17466. if checkNil && dd.TryDecodeAsNil() {
  17467. if v != nil {
  17468. changed = true
  17469. }
  17470. return nil, changed
  17471. }
  17472. containerLen := dd.ReadMapStart()
  17473. if canChange && v == nil {
  17474. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  17475. v = make(map[float64]int16, xlen)
  17476. changed = true
  17477. }
  17478. var mk float64
  17479. var mv int16
  17480. if containerLen > 0 {
  17481. for j := 0; j < containerLen; j++ {
  17482. mk = dd.DecodeFloat(false)
  17483. mv = int16(dd.DecodeInt(16))
  17484. if v != nil {
  17485. v[mk] = mv
  17486. }
  17487. }
  17488. } else if containerLen < 0 {
  17489. for j := 0; !dd.CheckBreak(); j++ {
  17490. mk = dd.DecodeFloat(false)
  17491. mv = int16(dd.DecodeInt(16))
  17492. if v != nil {
  17493. v[mk] = mv
  17494. }
  17495. }
  17496. dd.ReadEnd()
  17497. }
  17498. return v, changed
  17499. }
  17500. func (f *decFnInfo) fastpathDecMapFloat64Int32R(rv reflect.Value) {
  17501. if rv.CanAddr() {
  17502. vp := rv.Addr().Interface().(*map[float64]int32)
  17503. v, changed := fastpathTV.DecMapFloat64Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  17504. if changed {
  17505. *vp = v
  17506. }
  17507. } else {
  17508. v := rv.Interface().(map[float64]int32)
  17509. fastpathTV.DecMapFloat64Int32V(v, fastpathCheckNilFalse, false, f.d)
  17510. }
  17511. }
  17512. func (f fastpathT) DecMapFloat64Int32X(vp *map[float64]int32, checkNil bool, d *Decoder) {
  17513. v, changed := f.DecMapFloat64Int32V(*vp, checkNil, true, d)
  17514. if changed {
  17515. *vp = v
  17516. }
  17517. }
  17518. func (_ fastpathT) DecMapFloat64Int32V(v map[float64]int32, checkNil bool, canChange bool,
  17519. d *Decoder) (_ map[float64]int32, changed bool) {
  17520. dd := d.d
  17521. if checkNil && dd.TryDecodeAsNil() {
  17522. if v != nil {
  17523. changed = true
  17524. }
  17525. return nil, changed
  17526. }
  17527. containerLen := dd.ReadMapStart()
  17528. if canChange && v == nil {
  17529. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  17530. v = make(map[float64]int32, xlen)
  17531. changed = true
  17532. }
  17533. var mk float64
  17534. var mv int32
  17535. if containerLen > 0 {
  17536. for j := 0; j < containerLen; j++ {
  17537. mk = dd.DecodeFloat(false)
  17538. mv = int32(dd.DecodeInt(32))
  17539. if v != nil {
  17540. v[mk] = mv
  17541. }
  17542. }
  17543. } else if containerLen < 0 {
  17544. for j := 0; !dd.CheckBreak(); j++ {
  17545. mk = dd.DecodeFloat(false)
  17546. mv = int32(dd.DecodeInt(32))
  17547. if v != nil {
  17548. v[mk] = mv
  17549. }
  17550. }
  17551. dd.ReadEnd()
  17552. }
  17553. return v, changed
  17554. }
  17555. func (f *decFnInfo) fastpathDecMapFloat64Int64R(rv reflect.Value) {
  17556. if rv.CanAddr() {
  17557. vp := rv.Addr().Interface().(*map[float64]int64)
  17558. v, changed := fastpathTV.DecMapFloat64Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  17559. if changed {
  17560. *vp = v
  17561. }
  17562. } else {
  17563. v := rv.Interface().(map[float64]int64)
  17564. fastpathTV.DecMapFloat64Int64V(v, fastpathCheckNilFalse, false, f.d)
  17565. }
  17566. }
  17567. func (f fastpathT) DecMapFloat64Int64X(vp *map[float64]int64, checkNil bool, d *Decoder) {
  17568. v, changed := f.DecMapFloat64Int64V(*vp, checkNil, true, d)
  17569. if changed {
  17570. *vp = v
  17571. }
  17572. }
  17573. func (_ fastpathT) DecMapFloat64Int64V(v map[float64]int64, checkNil bool, canChange bool,
  17574. d *Decoder) (_ map[float64]int64, changed bool) {
  17575. dd := d.d
  17576. if checkNil && dd.TryDecodeAsNil() {
  17577. if v != nil {
  17578. changed = true
  17579. }
  17580. return nil, changed
  17581. }
  17582. containerLen := dd.ReadMapStart()
  17583. if canChange && v == nil {
  17584. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  17585. v = make(map[float64]int64, xlen)
  17586. changed = true
  17587. }
  17588. var mk float64
  17589. var mv int64
  17590. if containerLen > 0 {
  17591. for j := 0; j < containerLen; j++ {
  17592. mk = dd.DecodeFloat(false)
  17593. mv = dd.DecodeInt(64)
  17594. if v != nil {
  17595. v[mk] = mv
  17596. }
  17597. }
  17598. } else if containerLen < 0 {
  17599. for j := 0; !dd.CheckBreak(); j++ {
  17600. mk = dd.DecodeFloat(false)
  17601. mv = dd.DecodeInt(64)
  17602. if v != nil {
  17603. v[mk] = mv
  17604. }
  17605. }
  17606. dd.ReadEnd()
  17607. }
  17608. return v, changed
  17609. }
  17610. func (f *decFnInfo) fastpathDecMapFloat64Float32R(rv reflect.Value) {
  17611. if rv.CanAddr() {
  17612. vp := rv.Addr().Interface().(*map[float64]float32)
  17613. v, changed := fastpathTV.DecMapFloat64Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  17614. if changed {
  17615. *vp = v
  17616. }
  17617. } else {
  17618. v := rv.Interface().(map[float64]float32)
  17619. fastpathTV.DecMapFloat64Float32V(v, fastpathCheckNilFalse, false, f.d)
  17620. }
  17621. }
  17622. func (f fastpathT) DecMapFloat64Float32X(vp *map[float64]float32, checkNil bool, d *Decoder) {
  17623. v, changed := f.DecMapFloat64Float32V(*vp, checkNil, true, d)
  17624. if changed {
  17625. *vp = v
  17626. }
  17627. }
  17628. func (_ fastpathT) DecMapFloat64Float32V(v map[float64]float32, checkNil bool, canChange bool,
  17629. d *Decoder) (_ map[float64]float32, changed bool) {
  17630. dd := d.d
  17631. if checkNil && dd.TryDecodeAsNil() {
  17632. if v != nil {
  17633. changed = true
  17634. }
  17635. return nil, changed
  17636. }
  17637. containerLen := dd.ReadMapStart()
  17638. if canChange && v == nil {
  17639. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  17640. v = make(map[float64]float32, xlen)
  17641. changed = true
  17642. }
  17643. var mk float64
  17644. var mv float32
  17645. if containerLen > 0 {
  17646. for j := 0; j < containerLen; j++ {
  17647. mk = dd.DecodeFloat(false)
  17648. mv = float32(dd.DecodeFloat(true))
  17649. if v != nil {
  17650. v[mk] = mv
  17651. }
  17652. }
  17653. } else if containerLen < 0 {
  17654. for j := 0; !dd.CheckBreak(); j++ {
  17655. mk = dd.DecodeFloat(false)
  17656. mv = float32(dd.DecodeFloat(true))
  17657. if v != nil {
  17658. v[mk] = mv
  17659. }
  17660. }
  17661. dd.ReadEnd()
  17662. }
  17663. return v, changed
  17664. }
  17665. func (f *decFnInfo) fastpathDecMapFloat64Float64R(rv reflect.Value) {
  17666. if rv.CanAddr() {
  17667. vp := rv.Addr().Interface().(*map[float64]float64)
  17668. v, changed := fastpathTV.DecMapFloat64Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  17669. if changed {
  17670. *vp = v
  17671. }
  17672. } else {
  17673. v := rv.Interface().(map[float64]float64)
  17674. fastpathTV.DecMapFloat64Float64V(v, fastpathCheckNilFalse, false, f.d)
  17675. }
  17676. }
  17677. func (f fastpathT) DecMapFloat64Float64X(vp *map[float64]float64, checkNil bool, d *Decoder) {
  17678. v, changed := f.DecMapFloat64Float64V(*vp, checkNil, true, d)
  17679. if changed {
  17680. *vp = v
  17681. }
  17682. }
  17683. func (_ fastpathT) DecMapFloat64Float64V(v map[float64]float64, checkNil bool, canChange bool,
  17684. d *Decoder) (_ map[float64]float64, changed bool) {
  17685. dd := d.d
  17686. if checkNil && dd.TryDecodeAsNil() {
  17687. if v != nil {
  17688. changed = true
  17689. }
  17690. return nil, changed
  17691. }
  17692. containerLen := dd.ReadMapStart()
  17693. if canChange && v == nil {
  17694. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  17695. v = make(map[float64]float64, xlen)
  17696. changed = true
  17697. }
  17698. var mk float64
  17699. var mv float64
  17700. if containerLen > 0 {
  17701. for j := 0; j < containerLen; j++ {
  17702. mk = dd.DecodeFloat(false)
  17703. mv = dd.DecodeFloat(false)
  17704. if v != nil {
  17705. v[mk] = mv
  17706. }
  17707. }
  17708. } else if containerLen < 0 {
  17709. for j := 0; !dd.CheckBreak(); j++ {
  17710. mk = dd.DecodeFloat(false)
  17711. mv = dd.DecodeFloat(false)
  17712. if v != nil {
  17713. v[mk] = mv
  17714. }
  17715. }
  17716. dd.ReadEnd()
  17717. }
  17718. return v, changed
  17719. }
  17720. func (f *decFnInfo) fastpathDecMapFloat64BoolR(rv reflect.Value) {
  17721. if rv.CanAddr() {
  17722. vp := rv.Addr().Interface().(*map[float64]bool)
  17723. v, changed := fastpathTV.DecMapFloat64BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  17724. if changed {
  17725. *vp = v
  17726. }
  17727. } else {
  17728. v := rv.Interface().(map[float64]bool)
  17729. fastpathTV.DecMapFloat64BoolV(v, fastpathCheckNilFalse, false, f.d)
  17730. }
  17731. }
  17732. func (f fastpathT) DecMapFloat64BoolX(vp *map[float64]bool, checkNil bool, d *Decoder) {
  17733. v, changed := f.DecMapFloat64BoolV(*vp, checkNil, true, d)
  17734. if changed {
  17735. *vp = v
  17736. }
  17737. }
  17738. func (_ fastpathT) DecMapFloat64BoolV(v map[float64]bool, checkNil bool, canChange bool,
  17739. d *Decoder) (_ map[float64]bool, changed bool) {
  17740. dd := d.d
  17741. if checkNil && dd.TryDecodeAsNil() {
  17742. if v != nil {
  17743. changed = true
  17744. }
  17745. return nil, changed
  17746. }
  17747. containerLen := dd.ReadMapStart()
  17748. if canChange && v == nil {
  17749. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  17750. v = make(map[float64]bool, xlen)
  17751. changed = true
  17752. }
  17753. var mk float64
  17754. var mv bool
  17755. if containerLen > 0 {
  17756. for j := 0; j < containerLen; j++ {
  17757. mk = dd.DecodeFloat(false)
  17758. mv = dd.DecodeBool()
  17759. if v != nil {
  17760. v[mk] = mv
  17761. }
  17762. }
  17763. } else if containerLen < 0 {
  17764. for j := 0; !dd.CheckBreak(); j++ {
  17765. mk = dd.DecodeFloat(false)
  17766. mv = dd.DecodeBool()
  17767. if v != nil {
  17768. v[mk] = mv
  17769. }
  17770. }
  17771. dd.ReadEnd()
  17772. }
  17773. return v, changed
  17774. }
  17775. func (f *decFnInfo) fastpathDecMapUintIntfR(rv reflect.Value) {
  17776. if rv.CanAddr() {
  17777. vp := rv.Addr().Interface().(*map[uint]interface{})
  17778. v, changed := fastpathTV.DecMapUintIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  17779. if changed {
  17780. *vp = v
  17781. }
  17782. } else {
  17783. v := rv.Interface().(map[uint]interface{})
  17784. fastpathTV.DecMapUintIntfV(v, fastpathCheckNilFalse, false, f.d)
  17785. }
  17786. }
  17787. func (f fastpathT) DecMapUintIntfX(vp *map[uint]interface{}, checkNil bool, d *Decoder) {
  17788. v, changed := f.DecMapUintIntfV(*vp, checkNil, true, d)
  17789. if changed {
  17790. *vp = v
  17791. }
  17792. }
  17793. func (_ fastpathT) DecMapUintIntfV(v map[uint]interface{}, checkNil bool, canChange bool,
  17794. d *Decoder) (_ map[uint]interface{}, changed bool) {
  17795. dd := d.d
  17796. if checkNil && dd.TryDecodeAsNil() {
  17797. if v != nil {
  17798. changed = true
  17799. }
  17800. return nil, changed
  17801. }
  17802. containerLen := dd.ReadMapStart()
  17803. if canChange && v == nil {
  17804. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  17805. v = make(map[uint]interface{}, xlen)
  17806. changed = true
  17807. }
  17808. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  17809. var mk uint
  17810. var mv interface{}
  17811. if containerLen > 0 {
  17812. for j := 0; j < containerLen; j++ {
  17813. mk = uint(dd.DecodeUint(uintBitsize))
  17814. if mapGet {
  17815. mv = v[mk]
  17816. } else {
  17817. mv = nil
  17818. }
  17819. d.decode(&mv)
  17820. if v != nil {
  17821. v[mk] = mv
  17822. }
  17823. }
  17824. } else if containerLen < 0 {
  17825. for j := 0; !dd.CheckBreak(); j++ {
  17826. mk = uint(dd.DecodeUint(uintBitsize))
  17827. if mapGet {
  17828. mv = v[mk]
  17829. } else {
  17830. mv = nil
  17831. }
  17832. d.decode(&mv)
  17833. if v != nil {
  17834. v[mk] = mv
  17835. }
  17836. }
  17837. dd.ReadEnd()
  17838. }
  17839. return v, changed
  17840. }
  17841. func (f *decFnInfo) fastpathDecMapUintStringR(rv reflect.Value) {
  17842. if rv.CanAddr() {
  17843. vp := rv.Addr().Interface().(*map[uint]string)
  17844. v, changed := fastpathTV.DecMapUintStringV(*vp, fastpathCheckNilFalse, true, f.d)
  17845. if changed {
  17846. *vp = v
  17847. }
  17848. } else {
  17849. v := rv.Interface().(map[uint]string)
  17850. fastpathTV.DecMapUintStringV(v, fastpathCheckNilFalse, false, f.d)
  17851. }
  17852. }
  17853. func (f fastpathT) DecMapUintStringX(vp *map[uint]string, checkNil bool, d *Decoder) {
  17854. v, changed := f.DecMapUintStringV(*vp, checkNil, true, d)
  17855. if changed {
  17856. *vp = v
  17857. }
  17858. }
  17859. func (_ fastpathT) DecMapUintStringV(v map[uint]string, checkNil bool, canChange bool,
  17860. d *Decoder) (_ map[uint]string, changed bool) {
  17861. dd := d.d
  17862. if checkNil && dd.TryDecodeAsNil() {
  17863. if v != nil {
  17864. changed = true
  17865. }
  17866. return nil, changed
  17867. }
  17868. containerLen := dd.ReadMapStart()
  17869. if canChange && v == nil {
  17870. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  17871. v = make(map[uint]string, xlen)
  17872. changed = true
  17873. }
  17874. var mk uint
  17875. var mv string
  17876. if containerLen > 0 {
  17877. for j := 0; j < containerLen; j++ {
  17878. mk = uint(dd.DecodeUint(uintBitsize))
  17879. mv = dd.DecodeString()
  17880. if v != nil {
  17881. v[mk] = mv
  17882. }
  17883. }
  17884. } else if containerLen < 0 {
  17885. for j := 0; !dd.CheckBreak(); j++ {
  17886. mk = uint(dd.DecodeUint(uintBitsize))
  17887. mv = dd.DecodeString()
  17888. if v != nil {
  17889. v[mk] = mv
  17890. }
  17891. }
  17892. dd.ReadEnd()
  17893. }
  17894. return v, changed
  17895. }
  17896. func (f *decFnInfo) fastpathDecMapUintUintR(rv reflect.Value) {
  17897. if rv.CanAddr() {
  17898. vp := rv.Addr().Interface().(*map[uint]uint)
  17899. v, changed := fastpathTV.DecMapUintUintV(*vp, fastpathCheckNilFalse, true, f.d)
  17900. if changed {
  17901. *vp = v
  17902. }
  17903. } else {
  17904. v := rv.Interface().(map[uint]uint)
  17905. fastpathTV.DecMapUintUintV(v, fastpathCheckNilFalse, false, f.d)
  17906. }
  17907. }
  17908. func (f fastpathT) DecMapUintUintX(vp *map[uint]uint, checkNil bool, d *Decoder) {
  17909. v, changed := f.DecMapUintUintV(*vp, checkNil, true, d)
  17910. if changed {
  17911. *vp = v
  17912. }
  17913. }
  17914. func (_ fastpathT) DecMapUintUintV(v map[uint]uint, checkNil bool, canChange bool,
  17915. d *Decoder) (_ map[uint]uint, changed bool) {
  17916. dd := d.d
  17917. if checkNil && dd.TryDecodeAsNil() {
  17918. if v != nil {
  17919. changed = true
  17920. }
  17921. return nil, changed
  17922. }
  17923. containerLen := dd.ReadMapStart()
  17924. if canChange && v == nil {
  17925. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  17926. v = make(map[uint]uint, xlen)
  17927. changed = true
  17928. }
  17929. var mk uint
  17930. var mv uint
  17931. if containerLen > 0 {
  17932. for j := 0; j < containerLen; j++ {
  17933. mk = uint(dd.DecodeUint(uintBitsize))
  17934. mv = uint(dd.DecodeUint(uintBitsize))
  17935. if v != nil {
  17936. v[mk] = mv
  17937. }
  17938. }
  17939. } else if containerLen < 0 {
  17940. for j := 0; !dd.CheckBreak(); j++ {
  17941. mk = uint(dd.DecodeUint(uintBitsize))
  17942. mv = uint(dd.DecodeUint(uintBitsize))
  17943. if v != nil {
  17944. v[mk] = mv
  17945. }
  17946. }
  17947. dd.ReadEnd()
  17948. }
  17949. return v, changed
  17950. }
  17951. func (f *decFnInfo) fastpathDecMapUintUint8R(rv reflect.Value) {
  17952. if rv.CanAddr() {
  17953. vp := rv.Addr().Interface().(*map[uint]uint8)
  17954. v, changed := fastpathTV.DecMapUintUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  17955. if changed {
  17956. *vp = v
  17957. }
  17958. } else {
  17959. v := rv.Interface().(map[uint]uint8)
  17960. fastpathTV.DecMapUintUint8V(v, fastpathCheckNilFalse, false, f.d)
  17961. }
  17962. }
  17963. func (f fastpathT) DecMapUintUint8X(vp *map[uint]uint8, checkNil bool, d *Decoder) {
  17964. v, changed := f.DecMapUintUint8V(*vp, checkNil, true, d)
  17965. if changed {
  17966. *vp = v
  17967. }
  17968. }
  17969. func (_ fastpathT) DecMapUintUint8V(v map[uint]uint8, checkNil bool, canChange bool,
  17970. d *Decoder) (_ map[uint]uint8, changed bool) {
  17971. dd := d.d
  17972. if checkNil && dd.TryDecodeAsNil() {
  17973. if v != nil {
  17974. changed = true
  17975. }
  17976. return nil, changed
  17977. }
  17978. containerLen := dd.ReadMapStart()
  17979. if canChange && v == nil {
  17980. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  17981. v = make(map[uint]uint8, xlen)
  17982. changed = true
  17983. }
  17984. var mk uint
  17985. var mv uint8
  17986. if containerLen > 0 {
  17987. for j := 0; j < containerLen; j++ {
  17988. mk = uint(dd.DecodeUint(uintBitsize))
  17989. mv = uint8(dd.DecodeUint(8))
  17990. if v != nil {
  17991. v[mk] = mv
  17992. }
  17993. }
  17994. } else if containerLen < 0 {
  17995. for j := 0; !dd.CheckBreak(); j++ {
  17996. mk = uint(dd.DecodeUint(uintBitsize))
  17997. mv = uint8(dd.DecodeUint(8))
  17998. if v != nil {
  17999. v[mk] = mv
  18000. }
  18001. }
  18002. dd.ReadEnd()
  18003. }
  18004. return v, changed
  18005. }
  18006. func (f *decFnInfo) fastpathDecMapUintUint16R(rv reflect.Value) {
  18007. if rv.CanAddr() {
  18008. vp := rv.Addr().Interface().(*map[uint]uint16)
  18009. v, changed := fastpathTV.DecMapUintUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  18010. if changed {
  18011. *vp = v
  18012. }
  18013. } else {
  18014. v := rv.Interface().(map[uint]uint16)
  18015. fastpathTV.DecMapUintUint16V(v, fastpathCheckNilFalse, false, f.d)
  18016. }
  18017. }
  18018. func (f fastpathT) DecMapUintUint16X(vp *map[uint]uint16, checkNil bool, d *Decoder) {
  18019. v, changed := f.DecMapUintUint16V(*vp, checkNil, true, d)
  18020. if changed {
  18021. *vp = v
  18022. }
  18023. }
  18024. func (_ fastpathT) DecMapUintUint16V(v map[uint]uint16, checkNil bool, canChange bool,
  18025. d *Decoder) (_ map[uint]uint16, changed bool) {
  18026. dd := d.d
  18027. if checkNil && dd.TryDecodeAsNil() {
  18028. if v != nil {
  18029. changed = true
  18030. }
  18031. return nil, changed
  18032. }
  18033. containerLen := dd.ReadMapStart()
  18034. if canChange && v == nil {
  18035. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  18036. v = make(map[uint]uint16, xlen)
  18037. changed = true
  18038. }
  18039. var mk uint
  18040. var mv uint16
  18041. if containerLen > 0 {
  18042. for j := 0; j < containerLen; j++ {
  18043. mk = uint(dd.DecodeUint(uintBitsize))
  18044. mv = uint16(dd.DecodeUint(16))
  18045. if v != nil {
  18046. v[mk] = mv
  18047. }
  18048. }
  18049. } else if containerLen < 0 {
  18050. for j := 0; !dd.CheckBreak(); j++ {
  18051. mk = uint(dd.DecodeUint(uintBitsize))
  18052. mv = uint16(dd.DecodeUint(16))
  18053. if v != nil {
  18054. v[mk] = mv
  18055. }
  18056. }
  18057. dd.ReadEnd()
  18058. }
  18059. return v, changed
  18060. }
  18061. func (f *decFnInfo) fastpathDecMapUintUint32R(rv reflect.Value) {
  18062. if rv.CanAddr() {
  18063. vp := rv.Addr().Interface().(*map[uint]uint32)
  18064. v, changed := fastpathTV.DecMapUintUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  18065. if changed {
  18066. *vp = v
  18067. }
  18068. } else {
  18069. v := rv.Interface().(map[uint]uint32)
  18070. fastpathTV.DecMapUintUint32V(v, fastpathCheckNilFalse, false, f.d)
  18071. }
  18072. }
  18073. func (f fastpathT) DecMapUintUint32X(vp *map[uint]uint32, checkNil bool, d *Decoder) {
  18074. v, changed := f.DecMapUintUint32V(*vp, checkNil, true, d)
  18075. if changed {
  18076. *vp = v
  18077. }
  18078. }
  18079. func (_ fastpathT) DecMapUintUint32V(v map[uint]uint32, checkNil bool, canChange bool,
  18080. d *Decoder) (_ map[uint]uint32, changed bool) {
  18081. dd := d.d
  18082. if checkNil && dd.TryDecodeAsNil() {
  18083. if v != nil {
  18084. changed = true
  18085. }
  18086. return nil, changed
  18087. }
  18088. containerLen := dd.ReadMapStart()
  18089. if canChange && v == nil {
  18090. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  18091. v = make(map[uint]uint32, xlen)
  18092. changed = true
  18093. }
  18094. var mk uint
  18095. var mv uint32
  18096. if containerLen > 0 {
  18097. for j := 0; j < containerLen; j++ {
  18098. mk = uint(dd.DecodeUint(uintBitsize))
  18099. mv = uint32(dd.DecodeUint(32))
  18100. if v != nil {
  18101. v[mk] = mv
  18102. }
  18103. }
  18104. } else if containerLen < 0 {
  18105. for j := 0; !dd.CheckBreak(); j++ {
  18106. mk = uint(dd.DecodeUint(uintBitsize))
  18107. mv = uint32(dd.DecodeUint(32))
  18108. if v != nil {
  18109. v[mk] = mv
  18110. }
  18111. }
  18112. dd.ReadEnd()
  18113. }
  18114. return v, changed
  18115. }
  18116. func (f *decFnInfo) fastpathDecMapUintUint64R(rv reflect.Value) {
  18117. if rv.CanAddr() {
  18118. vp := rv.Addr().Interface().(*map[uint]uint64)
  18119. v, changed := fastpathTV.DecMapUintUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  18120. if changed {
  18121. *vp = v
  18122. }
  18123. } else {
  18124. v := rv.Interface().(map[uint]uint64)
  18125. fastpathTV.DecMapUintUint64V(v, fastpathCheckNilFalse, false, f.d)
  18126. }
  18127. }
  18128. func (f fastpathT) DecMapUintUint64X(vp *map[uint]uint64, checkNil bool, d *Decoder) {
  18129. v, changed := f.DecMapUintUint64V(*vp, checkNil, true, d)
  18130. if changed {
  18131. *vp = v
  18132. }
  18133. }
  18134. func (_ fastpathT) DecMapUintUint64V(v map[uint]uint64, checkNil bool, canChange bool,
  18135. d *Decoder) (_ map[uint]uint64, changed bool) {
  18136. dd := d.d
  18137. if checkNil && dd.TryDecodeAsNil() {
  18138. if v != nil {
  18139. changed = true
  18140. }
  18141. return nil, changed
  18142. }
  18143. containerLen := dd.ReadMapStart()
  18144. if canChange && v == nil {
  18145. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  18146. v = make(map[uint]uint64, xlen)
  18147. changed = true
  18148. }
  18149. var mk uint
  18150. var mv uint64
  18151. if containerLen > 0 {
  18152. for j := 0; j < containerLen; j++ {
  18153. mk = uint(dd.DecodeUint(uintBitsize))
  18154. mv = dd.DecodeUint(64)
  18155. if v != nil {
  18156. v[mk] = mv
  18157. }
  18158. }
  18159. } else if containerLen < 0 {
  18160. for j := 0; !dd.CheckBreak(); j++ {
  18161. mk = uint(dd.DecodeUint(uintBitsize))
  18162. mv = dd.DecodeUint(64)
  18163. if v != nil {
  18164. v[mk] = mv
  18165. }
  18166. }
  18167. dd.ReadEnd()
  18168. }
  18169. return v, changed
  18170. }
  18171. func (f *decFnInfo) fastpathDecMapUintUintptrR(rv reflect.Value) {
  18172. if rv.CanAddr() {
  18173. vp := rv.Addr().Interface().(*map[uint]uintptr)
  18174. v, changed := fastpathTV.DecMapUintUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  18175. if changed {
  18176. *vp = v
  18177. }
  18178. } else {
  18179. v := rv.Interface().(map[uint]uintptr)
  18180. fastpathTV.DecMapUintUintptrV(v, fastpathCheckNilFalse, false, f.d)
  18181. }
  18182. }
  18183. func (f fastpathT) DecMapUintUintptrX(vp *map[uint]uintptr, checkNil bool, d *Decoder) {
  18184. v, changed := f.DecMapUintUintptrV(*vp, checkNil, true, d)
  18185. if changed {
  18186. *vp = v
  18187. }
  18188. }
  18189. func (_ fastpathT) DecMapUintUintptrV(v map[uint]uintptr, checkNil bool, canChange bool,
  18190. d *Decoder) (_ map[uint]uintptr, changed bool) {
  18191. dd := d.d
  18192. if checkNil && dd.TryDecodeAsNil() {
  18193. if v != nil {
  18194. changed = true
  18195. }
  18196. return nil, changed
  18197. }
  18198. containerLen := dd.ReadMapStart()
  18199. if canChange && v == nil {
  18200. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  18201. v = make(map[uint]uintptr, xlen)
  18202. changed = true
  18203. }
  18204. var mk uint
  18205. var mv uintptr
  18206. if containerLen > 0 {
  18207. for j := 0; j < containerLen; j++ {
  18208. mk = uint(dd.DecodeUint(uintBitsize))
  18209. mv = uintptr(dd.DecodeUint(uintBitsize))
  18210. if v != nil {
  18211. v[mk] = mv
  18212. }
  18213. }
  18214. } else if containerLen < 0 {
  18215. for j := 0; !dd.CheckBreak(); j++ {
  18216. mk = uint(dd.DecodeUint(uintBitsize))
  18217. mv = uintptr(dd.DecodeUint(uintBitsize))
  18218. if v != nil {
  18219. v[mk] = mv
  18220. }
  18221. }
  18222. dd.ReadEnd()
  18223. }
  18224. return v, changed
  18225. }
  18226. func (f *decFnInfo) fastpathDecMapUintIntR(rv reflect.Value) {
  18227. if rv.CanAddr() {
  18228. vp := rv.Addr().Interface().(*map[uint]int)
  18229. v, changed := fastpathTV.DecMapUintIntV(*vp, fastpathCheckNilFalse, true, f.d)
  18230. if changed {
  18231. *vp = v
  18232. }
  18233. } else {
  18234. v := rv.Interface().(map[uint]int)
  18235. fastpathTV.DecMapUintIntV(v, fastpathCheckNilFalse, false, f.d)
  18236. }
  18237. }
  18238. func (f fastpathT) DecMapUintIntX(vp *map[uint]int, checkNil bool, d *Decoder) {
  18239. v, changed := f.DecMapUintIntV(*vp, checkNil, true, d)
  18240. if changed {
  18241. *vp = v
  18242. }
  18243. }
  18244. func (_ fastpathT) DecMapUintIntV(v map[uint]int, checkNil bool, canChange bool,
  18245. d *Decoder) (_ map[uint]int, changed bool) {
  18246. dd := d.d
  18247. if checkNil && dd.TryDecodeAsNil() {
  18248. if v != nil {
  18249. changed = true
  18250. }
  18251. return nil, changed
  18252. }
  18253. containerLen := dd.ReadMapStart()
  18254. if canChange && v == nil {
  18255. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  18256. v = make(map[uint]int, xlen)
  18257. changed = true
  18258. }
  18259. var mk uint
  18260. var mv int
  18261. if containerLen > 0 {
  18262. for j := 0; j < containerLen; j++ {
  18263. mk = uint(dd.DecodeUint(uintBitsize))
  18264. mv = int(dd.DecodeInt(intBitsize))
  18265. if v != nil {
  18266. v[mk] = mv
  18267. }
  18268. }
  18269. } else if containerLen < 0 {
  18270. for j := 0; !dd.CheckBreak(); j++ {
  18271. mk = uint(dd.DecodeUint(uintBitsize))
  18272. mv = int(dd.DecodeInt(intBitsize))
  18273. if v != nil {
  18274. v[mk] = mv
  18275. }
  18276. }
  18277. dd.ReadEnd()
  18278. }
  18279. return v, changed
  18280. }
  18281. func (f *decFnInfo) fastpathDecMapUintInt8R(rv reflect.Value) {
  18282. if rv.CanAddr() {
  18283. vp := rv.Addr().Interface().(*map[uint]int8)
  18284. v, changed := fastpathTV.DecMapUintInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  18285. if changed {
  18286. *vp = v
  18287. }
  18288. } else {
  18289. v := rv.Interface().(map[uint]int8)
  18290. fastpathTV.DecMapUintInt8V(v, fastpathCheckNilFalse, false, f.d)
  18291. }
  18292. }
  18293. func (f fastpathT) DecMapUintInt8X(vp *map[uint]int8, checkNil bool, d *Decoder) {
  18294. v, changed := f.DecMapUintInt8V(*vp, checkNil, true, d)
  18295. if changed {
  18296. *vp = v
  18297. }
  18298. }
  18299. func (_ fastpathT) DecMapUintInt8V(v map[uint]int8, checkNil bool, canChange bool,
  18300. d *Decoder) (_ map[uint]int8, changed bool) {
  18301. dd := d.d
  18302. if checkNil && dd.TryDecodeAsNil() {
  18303. if v != nil {
  18304. changed = true
  18305. }
  18306. return nil, changed
  18307. }
  18308. containerLen := dd.ReadMapStart()
  18309. if canChange && v == nil {
  18310. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  18311. v = make(map[uint]int8, xlen)
  18312. changed = true
  18313. }
  18314. var mk uint
  18315. var mv int8
  18316. if containerLen > 0 {
  18317. for j := 0; j < containerLen; j++ {
  18318. mk = uint(dd.DecodeUint(uintBitsize))
  18319. mv = int8(dd.DecodeInt(8))
  18320. if v != nil {
  18321. v[mk] = mv
  18322. }
  18323. }
  18324. } else if containerLen < 0 {
  18325. for j := 0; !dd.CheckBreak(); j++ {
  18326. mk = uint(dd.DecodeUint(uintBitsize))
  18327. mv = int8(dd.DecodeInt(8))
  18328. if v != nil {
  18329. v[mk] = mv
  18330. }
  18331. }
  18332. dd.ReadEnd()
  18333. }
  18334. return v, changed
  18335. }
  18336. func (f *decFnInfo) fastpathDecMapUintInt16R(rv reflect.Value) {
  18337. if rv.CanAddr() {
  18338. vp := rv.Addr().Interface().(*map[uint]int16)
  18339. v, changed := fastpathTV.DecMapUintInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  18340. if changed {
  18341. *vp = v
  18342. }
  18343. } else {
  18344. v := rv.Interface().(map[uint]int16)
  18345. fastpathTV.DecMapUintInt16V(v, fastpathCheckNilFalse, false, f.d)
  18346. }
  18347. }
  18348. func (f fastpathT) DecMapUintInt16X(vp *map[uint]int16, checkNil bool, d *Decoder) {
  18349. v, changed := f.DecMapUintInt16V(*vp, checkNil, true, d)
  18350. if changed {
  18351. *vp = v
  18352. }
  18353. }
  18354. func (_ fastpathT) DecMapUintInt16V(v map[uint]int16, checkNil bool, canChange bool,
  18355. d *Decoder) (_ map[uint]int16, changed bool) {
  18356. dd := d.d
  18357. if checkNil && dd.TryDecodeAsNil() {
  18358. if v != nil {
  18359. changed = true
  18360. }
  18361. return nil, changed
  18362. }
  18363. containerLen := dd.ReadMapStart()
  18364. if canChange && v == nil {
  18365. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  18366. v = make(map[uint]int16, xlen)
  18367. changed = true
  18368. }
  18369. var mk uint
  18370. var mv int16
  18371. if containerLen > 0 {
  18372. for j := 0; j < containerLen; j++ {
  18373. mk = uint(dd.DecodeUint(uintBitsize))
  18374. mv = int16(dd.DecodeInt(16))
  18375. if v != nil {
  18376. v[mk] = mv
  18377. }
  18378. }
  18379. } else if containerLen < 0 {
  18380. for j := 0; !dd.CheckBreak(); j++ {
  18381. mk = uint(dd.DecodeUint(uintBitsize))
  18382. mv = int16(dd.DecodeInt(16))
  18383. if v != nil {
  18384. v[mk] = mv
  18385. }
  18386. }
  18387. dd.ReadEnd()
  18388. }
  18389. return v, changed
  18390. }
  18391. func (f *decFnInfo) fastpathDecMapUintInt32R(rv reflect.Value) {
  18392. if rv.CanAddr() {
  18393. vp := rv.Addr().Interface().(*map[uint]int32)
  18394. v, changed := fastpathTV.DecMapUintInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  18395. if changed {
  18396. *vp = v
  18397. }
  18398. } else {
  18399. v := rv.Interface().(map[uint]int32)
  18400. fastpathTV.DecMapUintInt32V(v, fastpathCheckNilFalse, false, f.d)
  18401. }
  18402. }
  18403. func (f fastpathT) DecMapUintInt32X(vp *map[uint]int32, checkNil bool, d *Decoder) {
  18404. v, changed := f.DecMapUintInt32V(*vp, checkNil, true, d)
  18405. if changed {
  18406. *vp = v
  18407. }
  18408. }
  18409. func (_ fastpathT) DecMapUintInt32V(v map[uint]int32, checkNil bool, canChange bool,
  18410. d *Decoder) (_ map[uint]int32, changed bool) {
  18411. dd := d.d
  18412. if checkNil && dd.TryDecodeAsNil() {
  18413. if v != nil {
  18414. changed = true
  18415. }
  18416. return nil, changed
  18417. }
  18418. containerLen := dd.ReadMapStart()
  18419. if canChange && v == nil {
  18420. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  18421. v = make(map[uint]int32, xlen)
  18422. changed = true
  18423. }
  18424. var mk uint
  18425. var mv int32
  18426. if containerLen > 0 {
  18427. for j := 0; j < containerLen; j++ {
  18428. mk = uint(dd.DecodeUint(uintBitsize))
  18429. mv = int32(dd.DecodeInt(32))
  18430. if v != nil {
  18431. v[mk] = mv
  18432. }
  18433. }
  18434. } else if containerLen < 0 {
  18435. for j := 0; !dd.CheckBreak(); j++ {
  18436. mk = uint(dd.DecodeUint(uintBitsize))
  18437. mv = int32(dd.DecodeInt(32))
  18438. if v != nil {
  18439. v[mk] = mv
  18440. }
  18441. }
  18442. dd.ReadEnd()
  18443. }
  18444. return v, changed
  18445. }
  18446. func (f *decFnInfo) fastpathDecMapUintInt64R(rv reflect.Value) {
  18447. if rv.CanAddr() {
  18448. vp := rv.Addr().Interface().(*map[uint]int64)
  18449. v, changed := fastpathTV.DecMapUintInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  18450. if changed {
  18451. *vp = v
  18452. }
  18453. } else {
  18454. v := rv.Interface().(map[uint]int64)
  18455. fastpathTV.DecMapUintInt64V(v, fastpathCheckNilFalse, false, f.d)
  18456. }
  18457. }
  18458. func (f fastpathT) DecMapUintInt64X(vp *map[uint]int64, checkNil bool, d *Decoder) {
  18459. v, changed := f.DecMapUintInt64V(*vp, checkNil, true, d)
  18460. if changed {
  18461. *vp = v
  18462. }
  18463. }
  18464. func (_ fastpathT) DecMapUintInt64V(v map[uint]int64, checkNil bool, canChange bool,
  18465. d *Decoder) (_ map[uint]int64, changed bool) {
  18466. dd := d.d
  18467. if checkNil && dd.TryDecodeAsNil() {
  18468. if v != nil {
  18469. changed = true
  18470. }
  18471. return nil, changed
  18472. }
  18473. containerLen := dd.ReadMapStart()
  18474. if canChange && v == nil {
  18475. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  18476. v = make(map[uint]int64, xlen)
  18477. changed = true
  18478. }
  18479. var mk uint
  18480. var mv int64
  18481. if containerLen > 0 {
  18482. for j := 0; j < containerLen; j++ {
  18483. mk = uint(dd.DecodeUint(uintBitsize))
  18484. mv = dd.DecodeInt(64)
  18485. if v != nil {
  18486. v[mk] = mv
  18487. }
  18488. }
  18489. } else if containerLen < 0 {
  18490. for j := 0; !dd.CheckBreak(); j++ {
  18491. mk = uint(dd.DecodeUint(uintBitsize))
  18492. mv = dd.DecodeInt(64)
  18493. if v != nil {
  18494. v[mk] = mv
  18495. }
  18496. }
  18497. dd.ReadEnd()
  18498. }
  18499. return v, changed
  18500. }
  18501. func (f *decFnInfo) fastpathDecMapUintFloat32R(rv reflect.Value) {
  18502. if rv.CanAddr() {
  18503. vp := rv.Addr().Interface().(*map[uint]float32)
  18504. v, changed := fastpathTV.DecMapUintFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  18505. if changed {
  18506. *vp = v
  18507. }
  18508. } else {
  18509. v := rv.Interface().(map[uint]float32)
  18510. fastpathTV.DecMapUintFloat32V(v, fastpathCheckNilFalse, false, f.d)
  18511. }
  18512. }
  18513. func (f fastpathT) DecMapUintFloat32X(vp *map[uint]float32, checkNil bool, d *Decoder) {
  18514. v, changed := f.DecMapUintFloat32V(*vp, checkNil, true, d)
  18515. if changed {
  18516. *vp = v
  18517. }
  18518. }
  18519. func (_ fastpathT) DecMapUintFloat32V(v map[uint]float32, checkNil bool, canChange bool,
  18520. d *Decoder) (_ map[uint]float32, changed bool) {
  18521. dd := d.d
  18522. if checkNil && dd.TryDecodeAsNil() {
  18523. if v != nil {
  18524. changed = true
  18525. }
  18526. return nil, changed
  18527. }
  18528. containerLen := dd.ReadMapStart()
  18529. if canChange && v == nil {
  18530. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  18531. v = make(map[uint]float32, xlen)
  18532. changed = true
  18533. }
  18534. var mk uint
  18535. var mv float32
  18536. if containerLen > 0 {
  18537. for j := 0; j < containerLen; j++ {
  18538. mk = uint(dd.DecodeUint(uintBitsize))
  18539. mv = float32(dd.DecodeFloat(true))
  18540. if v != nil {
  18541. v[mk] = mv
  18542. }
  18543. }
  18544. } else if containerLen < 0 {
  18545. for j := 0; !dd.CheckBreak(); j++ {
  18546. mk = uint(dd.DecodeUint(uintBitsize))
  18547. mv = float32(dd.DecodeFloat(true))
  18548. if v != nil {
  18549. v[mk] = mv
  18550. }
  18551. }
  18552. dd.ReadEnd()
  18553. }
  18554. return v, changed
  18555. }
  18556. func (f *decFnInfo) fastpathDecMapUintFloat64R(rv reflect.Value) {
  18557. if rv.CanAddr() {
  18558. vp := rv.Addr().Interface().(*map[uint]float64)
  18559. v, changed := fastpathTV.DecMapUintFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  18560. if changed {
  18561. *vp = v
  18562. }
  18563. } else {
  18564. v := rv.Interface().(map[uint]float64)
  18565. fastpathTV.DecMapUintFloat64V(v, fastpathCheckNilFalse, false, f.d)
  18566. }
  18567. }
  18568. func (f fastpathT) DecMapUintFloat64X(vp *map[uint]float64, checkNil bool, d *Decoder) {
  18569. v, changed := f.DecMapUintFloat64V(*vp, checkNil, true, d)
  18570. if changed {
  18571. *vp = v
  18572. }
  18573. }
  18574. func (_ fastpathT) DecMapUintFloat64V(v map[uint]float64, checkNil bool, canChange bool,
  18575. d *Decoder) (_ map[uint]float64, changed bool) {
  18576. dd := d.d
  18577. if checkNil && dd.TryDecodeAsNil() {
  18578. if v != nil {
  18579. changed = true
  18580. }
  18581. return nil, changed
  18582. }
  18583. containerLen := dd.ReadMapStart()
  18584. if canChange && v == nil {
  18585. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  18586. v = make(map[uint]float64, xlen)
  18587. changed = true
  18588. }
  18589. var mk uint
  18590. var mv float64
  18591. if containerLen > 0 {
  18592. for j := 0; j < containerLen; j++ {
  18593. mk = uint(dd.DecodeUint(uintBitsize))
  18594. mv = dd.DecodeFloat(false)
  18595. if v != nil {
  18596. v[mk] = mv
  18597. }
  18598. }
  18599. } else if containerLen < 0 {
  18600. for j := 0; !dd.CheckBreak(); j++ {
  18601. mk = uint(dd.DecodeUint(uintBitsize))
  18602. mv = dd.DecodeFloat(false)
  18603. if v != nil {
  18604. v[mk] = mv
  18605. }
  18606. }
  18607. dd.ReadEnd()
  18608. }
  18609. return v, changed
  18610. }
  18611. func (f *decFnInfo) fastpathDecMapUintBoolR(rv reflect.Value) {
  18612. if rv.CanAddr() {
  18613. vp := rv.Addr().Interface().(*map[uint]bool)
  18614. v, changed := fastpathTV.DecMapUintBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  18615. if changed {
  18616. *vp = v
  18617. }
  18618. } else {
  18619. v := rv.Interface().(map[uint]bool)
  18620. fastpathTV.DecMapUintBoolV(v, fastpathCheckNilFalse, false, f.d)
  18621. }
  18622. }
  18623. func (f fastpathT) DecMapUintBoolX(vp *map[uint]bool, checkNil bool, d *Decoder) {
  18624. v, changed := f.DecMapUintBoolV(*vp, checkNil, true, d)
  18625. if changed {
  18626. *vp = v
  18627. }
  18628. }
  18629. func (_ fastpathT) DecMapUintBoolV(v map[uint]bool, checkNil bool, canChange bool,
  18630. d *Decoder) (_ map[uint]bool, changed bool) {
  18631. dd := d.d
  18632. if checkNil && dd.TryDecodeAsNil() {
  18633. if v != nil {
  18634. changed = true
  18635. }
  18636. return nil, changed
  18637. }
  18638. containerLen := dd.ReadMapStart()
  18639. if canChange && v == nil {
  18640. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  18641. v = make(map[uint]bool, xlen)
  18642. changed = true
  18643. }
  18644. var mk uint
  18645. var mv bool
  18646. if containerLen > 0 {
  18647. for j := 0; j < containerLen; j++ {
  18648. mk = uint(dd.DecodeUint(uintBitsize))
  18649. mv = dd.DecodeBool()
  18650. if v != nil {
  18651. v[mk] = mv
  18652. }
  18653. }
  18654. } else if containerLen < 0 {
  18655. for j := 0; !dd.CheckBreak(); j++ {
  18656. mk = uint(dd.DecodeUint(uintBitsize))
  18657. mv = dd.DecodeBool()
  18658. if v != nil {
  18659. v[mk] = mv
  18660. }
  18661. }
  18662. dd.ReadEnd()
  18663. }
  18664. return v, changed
  18665. }
  18666. func (f *decFnInfo) fastpathDecMapUint8IntfR(rv reflect.Value) {
  18667. if rv.CanAddr() {
  18668. vp := rv.Addr().Interface().(*map[uint8]interface{})
  18669. v, changed := fastpathTV.DecMapUint8IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  18670. if changed {
  18671. *vp = v
  18672. }
  18673. } else {
  18674. v := rv.Interface().(map[uint8]interface{})
  18675. fastpathTV.DecMapUint8IntfV(v, fastpathCheckNilFalse, false, f.d)
  18676. }
  18677. }
  18678. func (f fastpathT) DecMapUint8IntfX(vp *map[uint8]interface{}, checkNil bool, d *Decoder) {
  18679. v, changed := f.DecMapUint8IntfV(*vp, checkNil, true, d)
  18680. if changed {
  18681. *vp = v
  18682. }
  18683. }
  18684. func (_ fastpathT) DecMapUint8IntfV(v map[uint8]interface{}, checkNil bool, canChange bool,
  18685. d *Decoder) (_ map[uint8]interface{}, changed bool) {
  18686. dd := d.d
  18687. if checkNil && dd.TryDecodeAsNil() {
  18688. if v != nil {
  18689. changed = true
  18690. }
  18691. return nil, changed
  18692. }
  18693. containerLen := dd.ReadMapStart()
  18694. if canChange && v == nil {
  18695. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  18696. v = make(map[uint8]interface{}, xlen)
  18697. changed = true
  18698. }
  18699. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  18700. var mk uint8
  18701. var mv interface{}
  18702. if containerLen > 0 {
  18703. for j := 0; j < containerLen; j++ {
  18704. mk = uint8(dd.DecodeUint(8))
  18705. if mapGet {
  18706. mv = v[mk]
  18707. } else {
  18708. mv = nil
  18709. }
  18710. d.decode(&mv)
  18711. if v != nil {
  18712. v[mk] = mv
  18713. }
  18714. }
  18715. } else if containerLen < 0 {
  18716. for j := 0; !dd.CheckBreak(); j++ {
  18717. mk = uint8(dd.DecodeUint(8))
  18718. if mapGet {
  18719. mv = v[mk]
  18720. } else {
  18721. mv = nil
  18722. }
  18723. d.decode(&mv)
  18724. if v != nil {
  18725. v[mk] = mv
  18726. }
  18727. }
  18728. dd.ReadEnd()
  18729. }
  18730. return v, changed
  18731. }
  18732. func (f *decFnInfo) fastpathDecMapUint8StringR(rv reflect.Value) {
  18733. if rv.CanAddr() {
  18734. vp := rv.Addr().Interface().(*map[uint8]string)
  18735. v, changed := fastpathTV.DecMapUint8StringV(*vp, fastpathCheckNilFalse, true, f.d)
  18736. if changed {
  18737. *vp = v
  18738. }
  18739. } else {
  18740. v := rv.Interface().(map[uint8]string)
  18741. fastpathTV.DecMapUint8StringV(v, fastpathCheckNilFalse, false, f.d)
  18742. }
  18743. }
  18744. func (f fastpathT) DecMapUint8StringX(vp *map[uint8]string, checkNil bool, d *Decoder) {
  18745. v, changed := f.DecMapUint8StringV(*vp, checkNil, true, d)
  18746. if changed {
  18747. *vp = v
  18748. }
  18749. }
  18750. func (_ fastpathT) DecMapUint8StringV(v map[uint8]string, checkNil bool, canChange bool,
  18751. d *Decoder) (_ map[uint8]string, changed bool) {
  18752. dd := d.d
  18753. if checkNil && dd.TryDecodeAsNil() {
  18754. if v != nil {
  18755. changed = true
  18756. }
  18757. return nil, changed
  18758. }
  18759. containerLen := dd.ReadMapStart()
  18760. if canChange && v == nil {
  18761. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  18762. v = make(map[uint8]string, xlen)
  18763. changed = true
  18764. }
  18765. var mk uint8
  18766. var mv string
  18767. if containerLen > 0 {
  18768. for j := 0; j < containerLen; j++ {
  18769. mk = uint8(dd.DecodeUint(8))
  18770. mv = dd.DecodeString()
  18771. if v != nil {
  18772. v[mk] = mv
  18773. }
  18774. }
  18775. } else if containerLen < 0 {
  18776. for j := 0; !dd.CheckBreak(); j++ {
  18777. mk = uint8(dd.DecodeUint(8))
  18778. mv = dd.DecodeString()
  18779. if v != nil {
  18780. v[mk] = mv
  18781. }
  18782. }
  18783. dd.ReadEnd()
  18784. }
  18785. return v, changed
  18786. }
  18787. func (f *decFnInfo) fastpathDecMapUint8UintR(rv reflect.Value) {
  18788. if rv.CanAddr() {
  18789. vp := rv.Addr().Interface().(*map[uint8]uint)
  18790. v, changed := fastpathTV.DecMapUint8UintV(*vp, fastpathCheckNilFalse, true, f.d)
  18791. if changed {
  18792. *vp = v
  18793. }
  18794. } else {
  18795. v := rv.Interface().(map[uint8]uint)
  18796. fastpathTV.DecMapUint8UintV(v, fastpathCheckNilFalse, false, f.d)
  18797. }
  18798. }
  18799. func (f fastpathT) DecMapUint8UintX(vp *map[uint8]uint, checkNil bool, d *Decoder) {
  18800. v, changed := f.DecMapUint8UintV(*vp, checkNil, true, d)
  18801. if changed {
  18802. *vp = v
  18803. }
  18804. }
  18805. func (_ fastpathT) DecMapUint8UintV(v map[uint8]uint, checkNil bool, canChange bool,
  18806. d *Decoder) (_ map[uint8]uint, changed bool) {
  18807. dd := d.d
  18808. if checkNil && dd.TryDecodeAsNil() {
  18809. if v != nil {
  18810. changed = true
  18811. }
  18812. return nil, changed
  18813. }
  18814. containerLen := dd.ReadMapStart()
  18815. if canChange && v == nil {
  18816. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  18817. v = make(map[uint8]uint, xlen)
  18818. changed = true
  18819. }
  18820. var mk uint8
  18821. var mv uint
  18822. if containerLen > 0 {
  18823. for j := 0; j < containerLen; j++ {
  18824. mk = uint8(dd.DecodeUint(8))
  18825. mv = uint(dd.DecodeUint(uintBitsize))
  18826. if v != nil {
  18827. v[mk] = mv
  18828. }
  18829. }
  18830. } else if containerLen < 0 {
  18831. for j := 0; !dd.CheckBreak(); j++ {
  18832. mk = uint8(dd.DecodeUint(8))
  18833. mv = uint(dd.DecodeUint(uintBitsize))
  18834. if v != nil {
  18835. v[mk] = mv
  18836. }
  18837. }
  18838. dd.ReadEnd()
  18839. }
  18840. return v, changed
  18841. }
  18842. func (f *decFnInfo) fastpathDecMapUint8Uint8R(rv reflect.Value) {
  18843. if rv.CanAddr() {
  18844. vp := rv.Addr().Interface().(*map[uint8]uint8)
  18845. v, changed := fastpathTV.DecMapUint8Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  18846. if changed {
  18847. *vp = v
  18848. }
  18849. } else {
  18850. v := rv.Interface().(map[uint8]uint8)
  18851. fastpathTV.DecMapUint8Uint8V(v, fastpathCheckNilFalse, false, f.d)
  18852. }
  18853. }
  18854. func (f fastpathT) DecMapUint8Uint8X(vp *map[uint8]uint8, checkNil bool, d *Decoder) {
  18855. v, changed := f.DecMapUint8Uint8V(*vp, checkNil, true, d)
  18856. if changed {
  18857. *vp = v
  18858. }
  18859. }
  18860. func (_ fastpathT) DecMapUint8Uint8V(v map[uint8]uint8, checkNil bool, canChange bool,
  18861. d *Decoder) (_ map[uint8]uint8, changed bool) {
  18862. dd := d.d
  18863. if checkNil && dd.TryDecodeAsNil() {
  18864. if v != nil {
  18865. changed = true
  18866. }
  18867. return nil, changed
  18868. }
  18869. containerLen := dd.ReadMapStart()
  18870. if canChange && v == nil {
  18871. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  18872. v = make(map[uint8]uint8, xlen)
  18873. changed = true
  18874. }
  18875. var mk uint8
  18876. var mv uint8
  18877. if containerLen > 0 {
  18878. for j := 0; j < containerLen; j++ {
  18879. mk = uint8(dd.DecodeUint(8))
  18880. mv = uint8(dd.DecodeUint(8))
  18881. if v != nil {
  18882. v[mk] = mv
  18883. }
  18884. }
  18885. } else if containerLen < 0 {
  18886. for j := 0; !dd.CheckBreak(); j++ {
  18887. mk = uint8(dd.DecodeUint(8))
  18888. mv = uint8(dd.DecodeUint(8))
  18889. if v != nil {
  18890. v[mk] = mv
  18891. }
  18892. }
  18893. dd.ReadEnd()
  18894. }
  18895. return v, changed
  18896. }
  18897. func (f *decFnInfo) fastpathDecMapUint8Uint16R(rv reflect.Value) {
  18898. if rv.CanAddr() {
  18899. vp := rv.Addr().Interface().(*map[uint8]uint16)
  18900. v, changed := fastpathTV.DecMapUint8Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  18901. if changed {
  18902. *vp = v
  18903. }
  18904. } else {
  18905. v := rv.Interface().(map[uint8]uint16)
  18906. fastpathTV.DecMapUint8Uint16V(v, fastpathCheckNilFalse, false, f.d)
  18907. }
  18908. }
  18909. func (f fastpathT) DecMapUint8Uint16X(vp *map[uint8]uint16, checkNil bool, d *Decoder) {
  18910. v, changed := f.DecMapUint8Uint16V(*vp, checkNil, true, d)
  18911. if changed {
  18912. *vp = v
  18913. }
  18914. }
  18915. func (_ fastpathT) DecMapUint8Uint16V(v map[uint8]uint16, checkNil bool, canChange bool,
  18916. d *Decoder) (_ map[uint8]uint16, changed bool) {
  18917. dd := d.d
  18918. if checkNil && dd.TryDecodeAsNil() {
  18919. if v != nil {
  18920. changed = true
  18921. }
  18922. return nil, changed
  18923. }
  18924. containerLen := dd.ReadMapStart()
  18925. if canChange && v == nil {
  18926. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  18927. v = make(map[uint8]uint16, xlen)
  18928. changed = true
  18929. }
  18930. var mk uint8
  18931. var mv uint16
  18932. if containerLen > 0 {
  18933. for j := 0; j < containerLen; j++ {
  18934. mk = uint8(dd.DecodeUint(8))
  18935. mv = uint16(dd.DecodeUint(16))
  18936. if v != nil {
  18937. v[mk] = mv
  18938. }
  18939. }
  18940. } else if containerLen < 0 {
  18941. for j := 0; !dd.CheckBreak(); j++ {
  18942. mk = uint8(dd.DecodeUint(8))
  18943. mv = uint16(dd.DecodeUint(16))
  18944. if v != nil {
  18945. v[mk] = mv
  18946. }
  18947. }
  18948. dd.ReadEnd()
  18949. }
  18950. return v, changed
  18951. }
  18952. func (f *decFnInfo) fastpathDecMapUint8Uint32R(rv reflect.Value) {
  18953. if rv.CanAddr() {
  18954. vp := rv.Addr().Interface().(*map[uint8]uint32)
  18955. v, changed := fastpathTV.DecMapUint8Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  18956. if changed {
  18957. *vp = v
  18958. }
  18959. } else {
  18960. v := rv.Interface().(map[uint8]uint32)
  18961. fastpathTV.DecMapUint8Uint32V(v, fastpathCheckNilFalse, false, f.d)
  18962. }
  18963. }
  18964. func (f fastpathT) DecMapUint8Uint32X(vp *map[uint8]uint32, checkNil bool, d *Decoder) {
  18965. v, changed := f.DecMapUint8Uint32V(*vp, checkNil, true, d)
  18966. if changed {
  18967. *vp = v
  18968. }
  18969. }
  18970. func (_ fastpathT) DecMapUint8Uint32V(v map[uint8]uint32, checkNil bool, canChange bool,
  18971. d *Decoder) (_ map[uint8]uint32, changed bool) {
  18972. dd := d.d
  18973. if checkNil && dd.TryDecodeAsNil() {
  18974. if v != nil {
  18975. changed = true
  18976. }
  18977. return nil, changed
  18978. }
  18979. containerLen := dd.ReadMapStart()
  18980. if canChange && v == nil {
  18981. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  18982. v = make(map[uint8]uint32, xlen)
  18983. changed = true
  18984. }
  18985. var mk uint8
  18986. var mv uint32
  18987. if containerLen > 0 {
  18988. for j := 0; j < containerLen; j++ {
  18989. mk = uint8(dd.DecodeUint(8))
  18990. mv = uint32(dd.DecodeUint(32))
  18991. if v != nil {
  18992. v[mk] = mv
  18993. }
  18994. }
  18995. } else if containerLen < 0 {
  18996. for j := 0; !dd.CheckBreak(); j++ {
  18997. mk = uint8(dd.DecodeUint(8))
  18998. mv = uint32(dd.DecodeUint(32))
  18999. if v != nil {
  19000. v[mk] = mv
  19001. }
  19002. }
  19003. dd.ReadEnd()
  19004. }
  19005. return v, changed
  19006. }
  19007. func (f *decFnInfo) fastpathDecMapUint8Uint64R(rv reflect.Value) {
  19008. if rv.CanAddr() {
  19009. vp := rv.Addr().Interface().(*map[uint8]uint64)
  19010. v, changed := fastpathTV.DecMapUint8Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  19011. if changed {
  19012. *vp = v
  19013. }
  19014. } else {
  19015. v := rv.Interface().(map[uint8]uint64)
  19016. fastpathTV.DecMapUint8Uint64V(v, fastpathCheckNilFalse, false, f.d)
  19017. }
  19018. }
  19019. func (f fastpathT) DecMapUint8Uint64X(vp *map[uint8]uint64, checkNil bool, d *Decoder) {
  19020. v, changed := f.DecMapUint8Uint64V(*vp, checkNil, true, d)
  19021. if changed {
  19022. *vp = v
  19023. }
  19024. }
  19025. func (_ fastpathT) DecMapUint8Uint64V(v map[uint8]uint64, checkNil bool, canChange bool,
  19026. d *Decoder) (_ map[uint8]uint64, changed bool) {
  19027. dd := d.d
  19028. if checkNil && dd.TryDecodeAsNil() {
  19029. if v != nil {
  19030. changed = true
  19031. }
  19032. return nil, changed
  19033. }
  19034. containerLen := dd.ReadMapStart()
  19035. if canChange && v == nil {
  19036. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  19037. v = make(map[uint8]uint64, xlen)
  19038. changed = true
  19039. }
  19040. var mk uint8
  19041. var mv uint64
  19042. if containerLen > 0 {
  19043. for j := 0; j < containerLen; j++ {
  19044. mk = uint8(dd.DecodeUint(8))
  19045. mv = dd.DecodeUint(64)
  19046. if v != nil {
  19047. v[mk] = mv
  19048. }
  19049. }
  19050. } else if containerLen < 0 {
  19051. for j := 0; !dd.CheckBreak(); j++ {
  19052. mk = uint8(dd.DecodeUint(8))
  19053. mv = dd.DecodeUint(64)
  19054. if v != nil {
  19055. v[mk] = mv
  19056. }
  19057. }
  19058. dd.ReadEnd()
  19059. }
  19060. return v, changed
  19061. }
  19062. func (f *decFnInfo) fastpathDecMapUint8UintptrR(rv reflect.Value) {
  19063. if rv.CanAddr() {
  19064. vp := rv.Addr().Interface().(*map[uint8]uintptr)
  19065. v, changed := fastpathTV.DecMapUint8UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  19066. if changed {
  19067. *vp = v
  19068. }
  19069. } else {
  19070. v := rv.Interface().(map[uint8]uintptr)
  19071. fastpathTV.DecMapUint8UintptrV(v, fastpathCheckNilFalse, false, f.d)
  19072. }
  19073. }
  19074. func (f fastpathT) DecMapUint8UintptrX(vp *map[uint8]uintptr, checkNil bool, d *Decoder) {
  19075. v, changed := f.DecMapUint8UintptrV(*vp, checkNil, true, d)
  19076. if changed {
  19077. *vp = v
  19078. }
  19079. }
  19080. func (_ fastpathT) DecMapUint8UintptrV(v map[uint8]uintptr, checkNil bool, canChange bool,
  19081. d *Decoder) (_ map[uint8]uintptr, changed bool) {
  19082. dd := d.d
  19083. if checkNil && dd.TryDecodeAsNil() {
  19084. if v != nil {
  19085. changed = true
  19086. }
  19087. return nil, changed
  19088. }
  19089. containerLen := dd.ReadMapStart()
  19090. if canChange && v == nil {
  19091. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  19092. v = make(map[uint8]uintptr, xlen)
  19093. changed = true
  19094. }
  19095. var mk uint8
  19096. var mv uintptr
  19097. if containerLen > 0 {
  19098. for j := 0; j < containerLen; j++ {
  19099. mk = uint8(dd.DecodeUint(8))
  19100. mv = uintptr(dd.DecodeUint(uintBitsize))
  19101. if v != nil {
  19102. v[mk] = mv
  19103. }
  19104. }
  19105. } else if containerLen < 0 {
  19106. for j := 0; !dd.CheckBreak(); j++ {
  19107. mk = uint8(dd.DecodeUint(8))
  19108. mv = uintptr(dd.DecodeUint(uintBitsize))
  19109. if v != nil {
  19110. v[mk] = mv
  19111. }
  19112. }
  19113. dd.ReadEnd()
  19114. }
  19115. return v, changed
  19116. }
  19117. func (f *decFnInfo) fastpathDecMapUint8IntR(rv reflect.Value) {
  19118. if rv.CanAddr() {
  19119. vp := rv.Addr().Interface().(*map[uint8]int)
  19120. v, changed := fastpathTV.DecMapUint8IntV(*vp, fastpathCheckNilFalse, true, f.d)
  19121. if changed {
  19122. *vp = v
  19123. }
  19124. } else {
  19125. v := rv.Interface().(map[uint8]int)
  19126. fastpathTV.DecMapUint8IntV(v, fastpathCheckNilFalse, false, f.d)
  19127. }
  19128. }
  19129. func (f fastpathT) DecMapUint8IntX(vp *map[uint8]int, checkNil bool, d *Decoder) {
  19130. v, changed := f.DecMapUint8IntV(*vp, checkNil, true, d)
  19131. if changed {
  19132. *vp = v
  19133. }
  19134. }
  19135. func (_ fastpathT) DecMapUint8IntV(v map[uint8]int, checkNil bool, canChange bool,
  19136. d *Decoder) (_ map[uint8]int, changed bool) {
  19137. dd := d.d
  19138. if checkNil && dd.TryDecodeAsNil() {
  19139. if v != nil {
  19140. changed = true
  19141. }
  19142. return nil, changed
  19143. }
  19144. containerLen := dd.ReadMapStart()
  19145. if canChange && v == nil {
  19146. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  19147. v = make(map[uint8]int, xlen)
  19148. changed = true
  19149. }
  19150. var mk uint8
  19151. var mv int
  19152. if containerLen > 0 {
  19153. for j := 0; j < containerLen; j++ {
  19154. mk = uint8(dd.DecodeUint(8))
  19155. mv = int(dd.DecodeInt(intBitsize))
  19156. if v != nil {
  19157. v[mk] = mv
  19158. }
  19159. }
  19160. } else if containerLen < 0 {
  19161. for j := 0; !dd.CheckBreak(); j++ {
  19162. mk = uint8(dd.DecodeUint(8))
  19163. mv = int(dd.DecodeInt(intBitsize))
  19164. if v != nil {
  19165. v[mk] = mv
  19166. }
  19167. }
  19168. dd.ReadEnd()
  19169. }
  19170. return v, changed
  19171. }
  19172. func (f *decFnInfo) fastpathDecMapUint8Int8R(rv reflect.Value) {
  19173. if rv.CanAddr() {
  19174. vp := rv.Addr().Interface().(*map[uint8]int8)
  19175. v, changed := fastpathTV.DecMapUint8Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  19176. if changed {
  19177. *vp = v
  19178. }
  19179. } else {
  19180. v := rv.Interface().(map[uint8]int8)
  19181. fastpathTV.DecMapUint8Int8V(v, fastpathCheckNilFalse, false, f.d)
  19182. }
  19183. }
  19184. func (f fastpathT) DecMapUint8Int8X(vp *map[uint8]int8, checkNil bool, d *Decoder) {
  19185. v, changed := f.DecMapUint8Int8V(*vp, checkNil, true, d)
  19186. if changed {
  19187. *vp = v
  19188. }
  19189. }
  19190. func (_ fastpathT) DecMapUint8Int8V(v map[uint8]int8, checkNil bool, canChange bool,
  19191. d *Decoder) (_ map[uint8]int8, changed bool) {
  19192. dd := d.d
  19193. if checkNil && dd.TryDecodeAsNil() {
  19194. if v != nil {
  19195. changed = true
  19196. }
  19197. return nil, changed
  19198. }
  19199. containerLen := dd.ReadMapStart()
  19200. if canChange && v == nil {
  19201. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  19202. v = make(map[uint8]int8, xlen)
  19203. changed = true
  19204. }
  19205. var mk uint8
  19206. var mv int8
  19207. if containerLen > 0 {
  19208. for j := 0; j < containerLen; j++ {
  19209. mk = uint8(dd.DecodeUint(8))
  19210. mv = int8(dd.DecodeInt(8))
  19211. if v != nil {
  19212. v[mk] = mv
  19213. }
  19214. }
  19215. } else if containerLen < 0 {
  19216. for j := 0; !dd.CheckBreak(); j++ {
  19217. mk = uint8(dd.DecodeUint(8))
  19218. mv = int8(dd.DecodeInt(8))
  19219. if v != nil {
  19220. v[mk] = mv
  19221. }
  19222. }
  19223. dd.ReadEnd()
  19224. }
  19225. return v, changed
  19226. }
  19227. func (f *decFnInfo) fastpathDecMapUint8Int16R(rv reflect.Value) {
  19228. if rv.CanAddr() {
  19229. vp := rv.Addr().Interface().(*map[uint8]int16)
  19230. v, changed := fastpathTV.DecMapUint8Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  19231. if changed {
  19232. *vp = v
  19233. }
  19234. } else {
  19235. v := rv.Interface().(map[uint8]int16)
  19236. fastpathTV.DecMapUint8Int16V(v, fastpathCheckNilFalse, false, f.d)
  19237. }
  19238. }
  19239. func (f fastpathT) DecMapUint8Int16X(vp *map[uint8]int16, checkNil bool, d *Decoder) {
  19240. v, changed := f.DecMapUint8Int16V(*vp, checkNil, true, d)
  19241. if changed {
  19242. *vp = v
  19243. }
  19244. }
  19245. func (_ fastpathT) DecMapUint8Int16V(v map[uint8]int16, checkNil bool, canChange bool,
  19246. d *Decoder) (_ map[uint8]int16, changed bool) {
  19247. dd := d.d
  19248. if checkNil && dd.TryDecodeAsNil() {
  19249. if v != nil {
  19250. changed = true
  19251. }
  19252. return nil, changed
  19253. }
  19254. containerLen := dd.ReadMapStart()
  19255. if canChange && v == nil {
  19256. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  19257. v = make(map[uint8]int16, xlen)
  19258. changed = true
  19259. }
  19260. var mk uint8
  19261. var mv int16
  19262. if containerLen > 0 {
  19263. for j := 0; j < containerLen; j++ {
  19264. mk = uint8(dd.DecodeUint(8))
  19265. mv = int16(dd.DecodeInt(16))
  19266. if v != nil {
  19267. v[mk] = mv
  19268. }
  19269. }
  19270. } else if containerLen < 0 {
  19271. for j := 0; !dd.CheckBreak(); j++ {
  19272. mk = uint8(dd.DecodeUint(8))
  19273. mv = int16(dd.DecodeInt(16))
  19274. if v != nil {
  19275. v[mk] = mv
  19276. }
  19277. }
  19278. dd.ReadEnd()
  19279. }
  19280. return v, changed
  19281. }
  19282. func (f *decFnInfo) fastpathDecMapUint8Int32R(rv reflect.Value) {
  19283. if rv.CanAddr() {
  19284. vp := rv.Addr().Interface().(*map[uint8]int32)
  19285. v, changed := fastpathTV.DecMapUint8Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  19286. if changed {
  19287. *vp = v
  19288. }
  19289. } else {
  19290. v := rv.Interface().(map[uint8]int32)
  19291. fastpathTV.DecMapUint8Int32V(v, fastpathCheckNilFalse, false, f.d)
  19292. }
  19293. }
  19294. func (f fastpathT) DecMapUint8Int32X(vp *map[uint8]int32, checkNil bool, d *Decoder) {
  19295. v, changed := f.DecMapUint8Int32V(*vp, checkNil, true, d)
  19296. if changed {
  19297. *vp = v
  19298. }
  19299. }
  19300. func (_ fastpathT) DecMapUint8Int32V(v map[uint8]int32, checkNil bool, canChange bool,
  19301. d *Decoder) (_ map[uint8]int32, changed bool) {
  19302. dd := d.d
  19303. if checkNil && dd.TryDecodeAsNil() {
  19304. if v != nil {
  19305. changed = true
  19306. }
  19307. return nil, changed
  19308. }
  19309. containerLen := dd.ReadMapStart()
  19310. if canChange && v == nil {
  19311. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  19312. v = make(map[uint8]int32, xlen)
  19313. changed = true
  19314. }
  19315. var mk uint8
  19316. var mv int32
  19317. if containerLen > 0 {
  19318. for j := 0; j < containerLen; j++ {
  19319. mk = uint8(dd.DecodeUint(8))
  19320. mv = int32(dd.DecodeInt(32))
  19321. if v != nil {
  19322. v[mk] = mv
  19323. }
  19324. }
  19325. } else if containerLen < 0 {
  19326. for j := 0; !dd.CheckBreak(); j++ {
  19327. mk = uint8(dd.DecodeUint(8))
  19328. mv = int32(dd.DecodeInt(32))
  19329. if v != nil {
  19330. v[mk] = mv
  19331. }
  19332. }
  19333. dd.ReadEnd()
  19334. }
  19335. return v, changed
  19336. }
  19337. func (f *decFnInfo) fastpathDecMapUint8Int64R(rv reflect.Value) {
  19338. if rv.CanAddr() {
  19339. vp := rv.Addr().Interface().(*map[uint8]int64)
  19340. v, changed := fastpathTV.DecMapUint8Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  19341. if changed {
  19342. *vp = v
  19343. }
  19344. } else {
  19345. v := rv.Interface().(map[uint8]int64)
  19346. fastpathTV.DecMapUint8Int64V(v, fastpathCheckNilFalse, false, f.d)
  19347. }
  19348. }
  19349. func (f fastpathT) DecMapUint8Int64X(vp *map[uint8]int64, checkNil bool, d *Decoder) {
  19350. v, changed := f.DecMapUint8Int64V(*vp, checkNil, true, d)
  19351. if changed {
  19352. *vp = v
  19353. }
  19354. }
  19355. func (_ fastpathT) DecMapUint8Int64V(v map[uint8]int64, checkNil bool, canChange bool,
  19356. d *Decoder) (_ map[uint8]int64, changed bool) {
  19357. dd := d.d
  19358. if checkNil && dd.TryDecodeAsNil() {
  19359. if v != nil {
  19360. changed = true
  19361. }
  19362. return nil, changed
  19363. }
  19364. containerLen := dd.ReadMapStart()
  19365. if canChange && v == nil {
  19366. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  19367. v = make(map[uint8]int64, xlen)
  19368. changed = true
  19369. }
  19370. var mk uint8
  19371. var mv int64
  19372. if containerLen > 0 {
  19373. for j := 0; j < containerLen; j++ {
  19374. mk = uint8(dd.DecodeUint(8))
  19375. mv = dd.DecodeInt(64)
  19376. if v != nil {
  19377. v[mk] = mv
  19378. }
  19379. }
  19380. } else if containerLen < 0 {
  19381. for j := 0; !dd.CheckBreak(); j++ {
  19382. mk = uint8(dd.DecodeUint(8))
  19383. mv = dd.DecodeInt(64)
  19384. if v != nil {
  19385. v[mk] = mv
  19386. }
  19387. }
  19388. dd.ReadEnd()
  19389. }
  19390. return v, changed
  19391. }
  19392. func (f *decFnInfo) fastpathDecMapUint8Float32R(rv reflect.Value) {
  19393. if rv.CanAddr() {
  19394. vp := rv.Addr().Interface().(*map[uint8]float32)
  19395. v, changed := fastpathTV.DecMapUint8Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  19396. if changed {
  19397. *vp = v
  19398. }
  19399. } else {
  19400. v := rv.Interface().(map[uint8]float32)
  19401. fastpathTV.DecMapUint8Float32V(v, fastpathCheckNilFalse, false, f.d)
  19402. }
  19403. }
  19404. func (f fastpathT) DecMapUint8Float32X(vp *map[uint8]float32, checkNil bool, d *Decoder) {
  19405. v, changed := f.DecMapUint8Float32V(*vp, checkNil, true, d)
  19406. if changed {
  19407. *vp = v
  19408. }
  19409. }
  19410. func (_ fastpathT) DecMapUint8Float32V(v map[uint8]float32, checkNil bool, canChange bool,
  19411. d *Decoder) (_ map[uint8]float32, changed bool) {
  19412. dd := d.d
  19413. if checkNil && dd.TryDecodeAsNil() {
  19414. if v != nil {
  19415. changed = true
  19416. }
  19417. return nil, changed
  19418. }
  19419. containerLen := dd.ReadMapStart()
  19420. if canChange && v == nil {
  19421. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  19422. v = make(map[uint8]float32, xlen)
  19423. changed = true
  19424. }
  19425. var mk uint8
  19426. var mv float32
  19427. if containerLen > 0 {
  19428. for j := 0; j < containerLen; j++ {
  19429. mk = uint8(dd.DecodeUint(8))
  19430. mv = float32(dd.DecodeFloat(true))
  19431. if v != nil {
  19432. v[mk] = mv
  19433. }
  19434. }
  19435. } else if containerLen < 0 {
  19436. for j := 0; !dd.CheckBreak(); j++ {
  19437. mk = uint8(dd.DecodeUint(8))
  19438. mv = float32(dd.DecodeFloat(true))
  19439. if v != nil {
  19440. v[mk] = mv
  19441. }
  19442. }
  19443. dd.ReadEnd()
  19444. }
  19445. return v, changed
  19446. }
  19447. func (f *decFnInfo) fastpathDecMapUint8Float64R(rv reflect.Value) {
  19448. if rv.CanAddr() {
  19449. vp := rv.Addr().Interface().(*map[uint8]float64)
  19450. v, changed := fastpathTV.DecMapUint8Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  19451. if changed {
  19452. *vp = v
  19453. }
  19454. } else {
  19455. v := rv.Interface().(map[uint8]float64)
  19456. fastpathTV.DecMapUint8Float64V(v, fastpathCheckNilFalse, false, f.d)
  19457. }
  19458. }
  19459. func (f fastpathT) DecMapUint8Float64X(vp *map[uint8]float64, checkNil bool, d *Decoder) {
  19460. v, changed := f.DecMapUint8Float64V(*vp, checkNil, true, d)
  19461. if changed {
  19462. *vp = v
  19463. }
  19464. }
  19465. func (_ fastpathT) DecMapUint8Float64V(v map[uint8]float64, checkNil bool, canChange bool,
  19466. d *Decoder) (_ map[uint8]float64, changed bool) {
  19467. dd := d.d
  19468. if checkNil && dd.TryDecodeAsNil() {
  19469. if v != nil {
  19470. changed = true
  19471. }
  19472. return nil, changed
  19473. }
  19474. containerLen := dd.ReadMapStart()
  19475. if canChange && v == nil {
  19476. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  19477. v = make(map[uint8]float64, xlen)
  19478. changed = true
  19479. }
  19480. var mk uint8
  19481. var mv float64
  19482. if containerLen > 0 {
  19483. for j := 0; j < containerLen; j++ {
  19484. mk = uint8(dd.DecodeUint(8))
  19485. mv = dd.DecodeFloat(false)
  19486. if v != nil {
  19487. v[mk] = mv
  19488. }
  19489. }
  19490. } else if containerLen < 0 {
  19491. for j := 0; !dd.CheckBreak(); j++ {
  19492. mk = uint8(dd.DecodeUint(8))
  19493. mv = dd.DecodeFloat(false)
  19494. if v != nil {
  19495. v[mk] = mv
  19496. }
  19497. }
  19498. dd.ReadEnd()
  19499. }
  19500. return v, changed
  19501. }
  19502. func (f *decFnInfo) fastpathDecMapUint8BoolR(rv reflect.Value) {
  19503. if rv.CanAddr() {
  19504. vp := rv.Addr().Interface().(*map[uint8]bool)
  19505. v, changed := fastpathTV.DecMapUint8BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  19506. if changed {
  19507. *vp = v
  19508. }
  19509. } else {
  19510. v := rv.Interface().(map[uint8]bool)
  19511. fastpathTV.DecMapUint8BoolV(v, fastpathCheckNilFalse, false, f.d)
  19512. }
  19513. }
  19514. func (f fastpathT) DecMapUint8BoolX(vp *map[uint8]bool, checkNil bool, d *Decoder) {
  19515. v, changed := f.DecMapUint8BoolV(*vp, checkNil, true, d)
  19516. if changed {
  19517. *vp = v
  19518. }
  19519. }
  19520. func (_ fastpathT) DecMapUint8BoolV(v map[uint8]bool, checkNil bool, canChange bool,
  19521. d *Decoder) (_ map[uint8]bool, changed bool) {
  19522. dd := d.d
  19523. if checkNil && dd.TryDecodeAsNil() {
  19524. if v != nil {
  19525. changed = true
  19526. }
  19527. return nil, changed
  19528. }
  19529. containerLen := dd.ReadMapStart()
  19530. if canChange && v == nil {
  19531. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  19532. v = make(map[uint8]bool, xlen)
  19533. changed = true
  19534. }
  19535. var mk uint8
  19536. var mv bool
  19537. if containerLen > 0 {
  19538. for j := 0; j < containerLen; j++ {
  19539. mk = uint8(dd.DecodeUint(8))
  19540. mv = dd.DecodeBool()
  19541. if v != nil {
  19542. v[mk] = mv
  19543. }
  19544. }
  19545. } else if containerLen < 0 {
  19546. for j := 0; !dd.CheckBreak(); j++ {
  19547. mk = uint8(dd.DecodeUint(8))
  19548. mv = dd.DecodeBool()
  19549. if v != nil {
  19550. v[mk] = mv
  19551. }
  19552. }
  19553. dd.ReadEnd()
  19554. }
  19555. return v, changed
  19556. }
  19557. func (f *decFnInfo) fastpathDecMapUint16IntfR(rv reflect.Value) {
  19558. if rv.CanAddr() {
  19559. vp := rv.Addr().Interface().(*map[uint16]interface{})
  19560. v, changed := fastpathTV.DecMapUint16IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  19561. if changed {
  19562. *vp = v
  19563. }
  19564. } else {
  19565. v := rv.Interface().(map[uint16]interface{})
  19566. fastpathTV.DecMapUint16IntfV(v, fastpathCheckNilFalse, false, f.d)
  19567. }
  19568. }
  19569. func (f fastpathT) DecMapUint16IntfX(vp *map[uint16]interface{}, checkNil bool, d *Decoder) {
  19570. v, changed := f.DecMapUint16IntfV(*vp, checkNil, true, d)
  19571. if changed {
  19572. *vp = v
  19573. }
  19574. }
  19575. func (_ fastpathT) DecMapUint16IntfV(v map[uint16]interface{}, checkNil bool, canChange bool,
  19576. d *Decoder) (_ map[uint16]interface{}, changed bool) {
  19577. dd := d.d
  19578. if checkNil && dd.TryDecodeAsNil() {
  19579. if v != nil {
  19580. changed = true
  19581. }
  19582. return nil, changed
  19583. }
  19584. containerLen := dd.ReadMapStart()
  19585. if canChange && v == nil {
  19586. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 18)
  19587. v = make(map[uint16]interface{}, xlen)
  19588. changed = true
  19589. }
  19590. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  19591. var mk uint16
  19592. var mv interface{}
  19593. if containerLen > 0 {
  19594. for j := 0; j < containerLen; j++ {
  19595. mk = uint16(dd.DecodeUint(16))
  19596. if mapGet {
  19597. mv = v[mk]
  19598. } else {
  19599. mv = nil
  19600. }
  19601. d.decode(&mv)
  19602. if v != nil {
  19603. v[mk] = mv
  19604. }
  19605. }
  19606. } else if containerLen < 0 {
  19607. for j := 0; !dd.CheckBreak(); j++ {
  19608. mk = uint16(dd.DecodeUint(16))
  19609. if mapGet {
  19610. mv = v[mk]
  19611. } else {
  19612. mv = nil
  19613. }
  19614. d.decode(&mv)
  19615. if v != nil {
  19616. v[mk] = mv
  19617. }
  19618. }
  19619. dd.ReadEnd()
  19620. }
  19621. return v, changed
  19622. }
  19623. func (f *decFnInfo) fastpathDecMapUint16StringR(rv reflect.Value) {
  19624. if rv.CanAddr() {
  19625. vp := rv.Addr().Interface().(*map[uint16]string)
  19626. v, changed := fastpathTV.DecMapUint16StringV(*vp, fastpathCheckNilFalse, true, f.d)
  19627. if changed {
  19628. *vp = v
  19629. }
  19630. } else {
  19631. v := rv.Interface().(map[uint16]string)
  19632. fastpathTV.DecMapUint16StringV(v, fastpathCheckNilFalse, false, f.d)
  19633. }
  19634. }
  19635. func (f fastpathT) DecMapUint16StringX(vp *map[uint16]string, checkNil bool, d *Decoder) {
  19636. v, changed := f.DecMapUint16StringV(*vp, checkNil, true, d)
  19637. if changed {
  19638. *vp = v
  19639. }
  19640. }
  19641. func (_ fastpathT) DecMapUint16StringV(v map[uint16]string, checkNil bool, canChange bool,
  19642. d *Decoder) (_ map[uint16]string, changed bool) {
  19643. dd := d.d
  19644. if checkNil && dd.TryDecodeAsNil() {
  19645. if v != nil {
  19646. changed = true
  19647. }
  19648. return nil, changed
  19649. }
  19650. containerLen := dd.ReadMapStart()
  19651. if canChange && v == nil {
  19652. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 18)
  19653. v = make(map[uint16]string, xlen)
  19654. changed = true
  19655. }
  19656. var mk uint16
  19657. var mv string
  19658. if containerLen > 0 {
  19659. for j := 0; j < containerLen; j++ {
  19660. mk = uint16(dd.DecodeUint(16))
  19661. mv = dd.DecodeString()
  19662. if v != nil {
  19663. v[mk] = mv
  19664. }
  19665. }
  19666. } else if containerLen < 0 {
  19667. for j := 0; !dd.CheckBreak(); j++ {
  19668. mk = uint16(dd.DecodeUint(16))
  19669. mv = dd.DecodeString()
  19670. if v != nil {
  19671. v[mk] = mv
  19672. }
  19673. }
  19674. dd.ReadEnd()
  19675. }
  19676. return v, changed
  19677. }
  19678. func (f *decFnInfo) fastpathDecMapUint16UintR(rv reflect.Value) {
  19679. if rv.CanAddr() {
  19680. vp := rv.Addr().Interface().(*map[uint16]uint)
  19681. v, changed := fastpathTV.DecMapUint16UintV(*vp, fastpathCheckNilFalse, true, f.d)
  19682. if changed {
  19683. *vp = v
  19684. }
  19685. } else {
  19686. v := rv.Interface().(map[uint16]uint)
  19687. fastpathTV.DecMapUint16UintV(v, fastpathCheckNilFalse, false, f.d)
  19688. }
  19689. }
  19690. func (f fastpathT) DecMapUint16UintX(vp *map[uint16]uint, checkNil bool, d *Decoder) {
  19691. v, changed := f.DecMapUint16UintV(*vp, checkNil, true, d)
  19692. if changed {
  19693. *vp = v
  19694. }
  19695. }
  19696. func (_ fastpathT) DecMapUint16UintV(v map[uint16]uint, checkNil bool, canChange bool,
  19697. d *Decoder) (_ map[uint16]uint, changed bool) {
  19698. dd := d.d
  19699. if checkNil && dd.TryDecodeAsNil() {
  19700. if v != nil {
  19701. changed = true
  19702. }
  19703. return nil, changed
  19704. }
  19705. containerLen := dd.ReadMapStart()
  19706. if canChange && v == nil {
  19707. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  19708. v = make(map[uint16]uint, xlen)
  19709. changed = true
  19710. }
  19711. var mk uint16
  19712. var mv uint
  19713. if containerLen > 0 {
  19714. for j := 0; j < containerLen; j++ {
  19715. mk = uint16(dd.DecodeUint(16))
  19716. mv = uint(dd.DecodeUint(uintBitsize))
  19717. if v != nil {
  19718. v[mk] = mv
  19719. }
  19720. }
  19721. } else if containerLen < 0 {
  19722. for j := 0; !dd.CheckBreak(); j++ {
  19723. mk = uint16(dd.DecodeUint(16))
  19724. mv = uint(dd.DecodeUint(uintBitsize))
  19725. if v != nil {
  19726. v[mk] = mv
  19727. }
  19728. }
  19729. dd.ReadEnd()
  19730. }
  19731. return v, changed
  19732. }
  19733. func (f *decFnInfo) fastpathDecMapUint16Uint8R(rv reflect.Value) {
  19734. if rv.CanAddr() {
  19735. vp := rv.Addr().Interface().(*map[uint16]uint8)
  19736. v, changed := fastpathTV.DecMapUint16Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  19737. if changed {
  19738. *vp = v
  19739. }
  19740. } else {
  19741. v := rv.Interface().(map[uint16]uint8)
  19742. fastpathTV.DecMapUint16Uint8V(v, fastpathCheckNilFalse, false, f.d)
  19743. }
  19744. }
  19745. func (f fastpathT) DecMapUint16Uint8X(vp *map[uint16]uint8, checkNil bool, d *Decoder) {
  19746. v, changed := f.DecMapUint16Uint8V(*vp, checkNil, true, d)
  19747. if changed {
  19748. *vp = v
  19749. }
  19750. }
  19751. func (_ fastpathT) DecMapUint16Uint8V(v map[uint16]uint8, checkNil bool, canChange bool,
  19752. d *Decoder) (_ map[uint16]uint8, changed bool) {
  19753. dd := d.d
  19754. if checkNil && dd.TryDecodeAsNil() {
  19755. if v != nil {
  19756. changed = true
  19757. }
  19758. return nil, changed
  19759. }
  19760. containerLen := dd.ReadMapStart()
  19761. if canChange && v == nil {
  19762. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  19763. v = make(map[uint16]uint8, xlen)
  19764. changed = true
  19765. }
  19766. var mk uint16
  19767. var mv uint8
  19768. if containerLen > 0 {
  19769. for j := 0; j < containerLen; j++ {
  19770. mk = uint16(dd.DecodeUint(16))
  19771. mv = uint8(dd.DecodeUint(8))
  19772. if v != nil {
  19773. v[mk] = mv
  19774. }
  19775. }
  19776. } else if containerLen < 0 {
  19777. for j := 0; !dd.CheckBreak(); j++ {
  19778. mk = uint16(dd.DecodeUint(16))
  19779. mv = uint8(dd.DecodeUint(8))
  19780. if v != nil {
  19781. v[mk] = mv
  19782. }
  19783. }
  19784. dd.ReadEnd()
  19785. }
  19786. return v, changed
  19787. }
  19788. func (f *decFnInfo) fastpathDecMapUint16Uint16R(rv reflect.Value) {
  19789. if rv.CanAddr() {
  19790. vp := rv.Addr().Interface().(*map[uint16]uint16)
  19791. v, changed := fastpathTV.DecMapUint16Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  19792. if changed {
  19793. *vp = v
  19794. }
  19795. } else {
  19796. v := rv.Interface().(map[uint16]uint16)
  19797. fastpathTV.DecMapUint16Uint16V(v, fastpathCheckNilFalse, false, f.d)
  19798. }
  19799. }
  19800. func (f fastpathT) DecMapUint16Uint16X(vp *map[uint16]uint16, checkNil bool, d *Decoder) {
  19801. v, changed := f.DecMapUint16Uint16V(*vp, checkNil, true, d)
  19802. if changed {
  19803. *vp = v
  19804. }
  19805. }
  19806. func (_ fastpathT) DecMapUint16Uint16V(v map[uint16]uint16, checkNil bool, canChange bool,
  19807. d *Decoder) (_ map[uint16]uint16, changed bool) {
  19808. dd := d.d
  19809. if checkNil && dd.TryDecodeAsNil() {
  19810. if v != nil {
  19811. changed = true
  19812. }
  19813. return nil, changed
  19814. }
  19815. containerLen := dd.ReadMapStart()
  19816. if canChange && v == nil {
  19817. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 4)
  19818. v = make(map[uint16]uint16, xlen)
  19819. changed = true
  19820. }
  19821. var mk uint16
  19822. var mv uint16
  19823. if containerLen > 0 {
  19824. for j := 0; j < containerLen; j++ {
  19825. mk = uint16(dd.DecodeUint(16))
  19826. mv = uint16(dd.DecodeUint(16))
  19827. if v != nil {
  19828. v[mk] = mv
  19829. }
  19830. }
  19831. } else if containerLen < 0 {
  19832. for j := 0; !dd.CheckBreak(); j++ {
  19833. mk = uint16(dd.DecodeUint(16))
  19834. mv = uint16(dd.DecodeUint(16))
  19835. if v != nil {
  19836. v[mk] = mv
  19837. }
  19838. }
  19839. dd.ReadEnd()
  19840. }
  19841. return v, changed
  19842. }
  19843. func (f *decFnInfo) fastpathDecMapUint16Uint32R(rv reflect.Value) {
  19844. if rv.CanAddr() {
  19845. vp := rv.Addr().Interface().(*map[uint16]uint32)
  19846. v, changed := fastpathTV.DecMapUint16Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  19847. if changed {
  19848. *vp = v
  19849. }
  19850. } else {
  19851. v := rv.Interface().(map[uint16]uint32)
  19852. fastpathTV.DecMapUint16Uint32V(v, fastpathCheckNilFalse, false, f.d)
  19853. }
  19854. }
  19855. func (f fastpathT) DecMapUint16Uint32X(vp *map[uint16]uint32, checkNil bool, d *Decoder) {
  19856. v, changed := f.DecMapUint16Uint32V(*vp, checkNil, true, d)
  19857. if changed {
  19858. *vp = v
  19859. }
  19860. }
  19861. func (_ fastpathT) DecMapUint16Uint32V(v map[uint16]uint32, checkNil bool, canChange bool,
  19862. d *Decoder) (_ map[uint16]uint32, changed bool) {
  19863. dd := d.d
  19864. if checkNil && dd.TryDecodeAsNil() {
  19865. if v != nil {
  19866. changed = true
  19867. }
  19868. return nil, changed
  19869. }
  19870. containerLen := dd.ReadMapStart()
  19871. if canChange && v == nil {
  19872. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  19873. v = make(map[uint16]uint32, xlen)
  19874. changed = true
  19875. }
  19876. var mk uint16
  19877. var mv uint32
  19878. if containerLen > 0 {
  19879. for j := 0; j < containerLen; j++ {
  19880. mk = uint16(dd.DecodeUint(16))
  19881. mv = uint32(dd.DecodeUint(32))
  19882. if v != nil {
  19883. v[mk] = mv
  19884. }
  19885. }
  19886. } else if containerLen < 0 {
  19887. for j := 0; !dd.CheckBreak(); j++ {
  19888. mk = uint16(dd.DecodeUint(16))
  19889. mv = uint32(dd.DecodeUint(32))
  19890. if v != nil {
  19891. v[mk] = mv
  19892. }
  19893. }
  19894. dd.ReadEnd()
  19895. }
  19896. return v, changed
  19897. }
  19898. func (f *decFnInfo) fastpathDecMapUint16Uint64R(rv reflect.Value) {
  19899. if rv.CanAddr() {
  19900. vp := rv.Addr().Interface().(*map[uint16]uint64)
  19901. v, changed := fastpathTV.DecMapUint16Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  19902. if changed {
  19903. *vp = v
  19904. }
  19905. } else {
  19906. v := rv.Interface().(map[uint16]uint64)
  19907. fastpathTV.DecMapUint16Uint64V(v, fastpathCheckNilFalse, false, f.d)
  19908. }
  19909. }
  19910. func (f fastpathT) DecMapUint16Uint64X(vp *map[uint16]uint64, checkNil bool, d *Decoder) {
  19911. v, changed := f.DecMapUint16Uint64V(*vp, checkNil, true, d)
  19912. if changed {
  19913. *vp = v
  19914. }
  19915. }
  19916. func (_ fastpathT) DecMapUint16Uint64V(v map[uint16]uint64, checkNil bool, canChange bool,
  19917. d *Decoder) (_ map[uint16]uint64, changed bool) {
  19918. dd := d.d
  19919. if checkNil && dd.TryDecodeAsNil() {
  19920. if v != nil {
  19921. changed = true
  19922. }
  19923. return nil, changed
  19924. }
  19925. containerLen := dd.ReadMapStart()
  19926. if canChange && v == nil {
  19927. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  19928. v = make(map[uint16]uint64, xlen)
  19929. changed = true
  19930. }
  19931. var mk uint16
  19932. var mv uint64
  19933. if containerLen > 0 {
  19934. for j := 0; j < containerLen; j++ {
  19935. mk = uint16(dd.DecodeUint(16))
  19936. mv = dd.DecodeUint(64)
  19937. if v != nil {
  19938. v[mk] = mv
  19939. }
  19940. }
  19941. } else if containerLen < 0 {
  19942. for j := 0; !dd.CheckBreak(); j++ {
  19943. mk = uint16(dd.DecodeUint(16))
  19944. mv = dd.DecodeUint(64)
  19945. if v != nil {
  19946. v[mk] = mv
  19947. }
  19948. }
  19949. dd.ReadEnd()
  19950. }
  19951. return v, changed
  19952. }
  19953. func (f *decFnInfo) fastpathDecMapUint16UintptrR(rv reflect.Value) {
  19954. if rv.CanAddr() {
  19955. vp := rv.Addr().Interface().(*map[uint16]uintptr)
  19956. v, changed := fastpathTV.DecMapUint16UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  19957. if changed {
  19958. *vp = v
  19959. }
  19960. } else {
  19961. v := rv.Interface().(map[uint16]uintptr)
  19962. fastpathTV.DecMapUint16UintptrV(v, fastpathCheckNilFalse, false, f.d)
  19963. }
  19964. }
  19965. func (f fastpathT) DecMapUint16UintptrX(vp *map[uint16]uintptr, checkNil bool, d *Decoder) {
  19966. v, changed := f.DecMapUint16UintptrV(*vp, checkNil, true, d)
  19967. if changed {
  19968. *vp = v
  19969. }
  19970. }
  19971. func (_ fastpathT) DecMapUint16UintptrV(v map[uint16]uintptr, checkNil bool, canChange bool,
  19972. d *Decoder) (_ map[uint16]uintptr, changed bool) {
  19973. dd := d.d
  19974. if checkNil && dd.TryDecodeAsNil() {
  19975. if v != nil {
  19976. changed = true
  19977. }
  19978. return nil, changed
  19979. }
  19980. containerLen := dd.ReadMapStart()
  19981. if canChange && v == nil {
  19982. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  19983. v = make(map[uint16]uintptr, xlen)
  19984. changed = true
  19985. }
  19986. var mk uint16
  19987. var mv uintptr
  19988. if containerLen > 0 {
  19989. for j := 0; j < containerLen; j++ {
  19990. mk = uint16(dd.DecodeUint(16))
  19991. mv = uintptr(dd.DecodeUint(uintBitsize))
  19992. if v != nil {
  19993. v[mk] = mv
  19994. }
  19995. }
  19996. } else if containerLen < 0 {
  19997. for j := 0; !dd.CheckBreak(); j++ {
  19998. mk = uint16(dd.DecodeUint(16))
  19999. mv = uintptr(dd.DecodeUint(uintBitsize))
  20000. if v != nil {
  20001. v[mk] = mv
  20002. }
  20003. }
  20004. dd.ReadEnd()
  20005. }
  20006. return v, changed
  20007. }
  20008. func (f *decFnInfo) fastpathDecMapUint16IntR(rv reflect.Value) {
  20009. if rv.CanAddr() {
  20010. vp := rv.Addr().Interface().(*map[uint16]int)
  20011. v, changed := fastpathTV.DecMapUint16IntV(*vp, fastpathCheckNilFalse, true, f.d)
  20012. if changed {
  20013. *vp = v
  20014. }
  20015. } else {
  20016. v := rv.Interface().(map[uint16]int)
  20017. fastpathTV.DecMapUint16IntV(v, fastpathCheckNilFalse, false, f.d)
  20018. }
  20019. }
  20020. func (f fastpathT) DecMapUint16IntX(vp *map[uint16]int, checkNil bool, d *Decoder) {
  20021. v, changed := f.DecMapUint16IntV(*vp, checkNil, true, d)
  20022. if changed {
  20023. *vp = v
  20024. }
  20025. }
  20026. func (_ fastpathT) DecMapUint16IntV(v map[uint16]int, checkNil bool, canChange bool,
  20027. d *Decoder) (_ map[uint16]int, changed bool) {
  20028. dd := d.d
  20029. if checkNil && dd.TryDecodeAsNil() {
  20030. if v != nil {
  20031. changed = true
  20032. }
  20033. return nil, changed
  20034. }
  20035. containerLen := dd.ReadMapStart()
  20036. if canChange && v == nil {
  20037. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  20038. v = make(map[uint16]int, xlen)
  20039. changed = true
  20040. }
  20041. var mk uint16
  20042. var mv int
  20043. if containerLen > 0 {
  20044. for j := 0; j < containerLen; j++ {
  20045. mk = uint16(dd.DecodeUint(16))
  20046. mv = int(dd.DecodeInt(intBitsize))
  20047. if v != nil {
  20048. v[mk] = mv
  20049. }
  20050. }
  20051. } else if containerLen < 0 {
  20052. for j := 0; !dd.CheckBreak(); j++ {
  20053. mk = uint16(dd.DecodeUint(16))
  20054. mv = int(dd.DecodeInt(intBitsize))
  20055. if v != nil {
  20056. v[mk] = mv
  20057. }
  20058. }
  20059. dd.ReadEnd()
  20060. }
  20061. return v, changed
  20062. }
  20063. func (f *decFnInfo) fastpathDecMapUint16Int8R(rv reflect.Value) {
  20064. if rv.CanAddr() {
  20065. vp := rv.Addr().Interface().(*map[uint16]int8)
  20066. v, changed := fastpathTV.DecMapUint16Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  20067. if changed {
  20068. *vp = v
  20069. }
  20070. } else {
  20071. v := rv.Interface().(map[uint16]int8)
  20072. fastpathTV.DecMapUint16Int8V(v, fastpathCheckNilFalse, false, f.d)
  20073. }
  20074. }
  20075. func (f fastpathT) DecMapUint16Int8X(vp *map[uint16]int8, checkNil bool, d *Decoder) {
  20076. v, changed := f.DecMapUint16Int8V(*vp, checkNil, true, d)
  20077. if changed {
  20078. *vp = v
  20079. }
  20080. }
  20081. func (_ fastpathT) DecMapUint16Int8V(v map[uint16]int8, checkNil bool, canChange bool,
  20082. d *Decoder) (_ map[uint16]int8, changed bool) {
  20083. dd := d.d
  20084. if checkNil && dd.TryDecodeAsNil() {
  20085. if v != nil {
  20086. changed = true
  20087. }
  20088. return nil, changed
  20089. }
  20090. containerLen := dd.ReadMapStart()
  20091. if canChange && v == nil {
  20092. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  20093. v = make(map[uint16]int8, xlen)
  20094. changed = true
  20095. }
  20096. var mk uint16
  20097. var mv int8
  20098. if containerLen > 0 {
  20099. for j := 0; j < containerLen; j++ {
  20100. mk = uint16(dd.DecodeUint(16))
  20101. mv = int8(dd.DecodeInt(8))
  20102. if v != nil {
  20103. v[mk] = mv
  20104. }
  20105. }
  20106. } else if containerLen < 0 {
  20107. for j := 0; !dd.CheckBreak(); j++ {
  20108. mk = uint16(dd.DecodeUint(16))
  20109. mv = int8(dd.DecodeInt(8))
  20110. if v != nil {
  20111. v[mk] = mv
  20112. }
  20113. }
  20114. dd.ReadEnd()
  20115. }
  20116. return v, changed
  20117. }
  20118. func (f *decFnInfo) fastpathDecMapUint16Int16R(rv reflect.Value) {
  20119. if rv.CanAddr() {
  20120. vp := rv.Addr().Interface().(*map[uint16]int16)
  20121. v, changed := fastpathTV.DecMapUint16Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  20122. if changed {
  20123. *vp = v
  20124. }
  20125. } else {
  20126. v := rv.Interface().(map[uint16]int16)
  20127. fastpathTV.DecMapUint16Int16V(v, fastpathCheckNilFalse, false, f.d)
  20128. }
  20129. }
  20130. func (f fastpathT) DecMapUint16Int16X(vp *map[uint16]int16, checkNil bool, d *Decoder) {
  20131. v, changed := f.DecMapUint16Int16V(*vp, checkNil, true, d)
  20132. if changed {
  20133. *vp = v
  20134. }
  20135. }
  20136. func (_ fastpathT) DecMapUint16Int16V(v map[uint16]int16, checkNil bool, canChange bool,
  20137. d *Decoder) (_ map[uint16]int16, changed bool) {
  20138. dd := d.d
  20139. if checkNil && dd.TryDecodeAsNil() {
  20140. if v != nil {
  20141. changed = true
  20142. }
  20143. return nil, changed
  20144. }
  20145. containerLen := dd.ReadMapStart()
  20146. if canChange && v == nil {
  20147. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 4)
  20148. v = make(map[uint16]int16, xlen)
  20149. changed = true
  20150. }
  20151. var mk uint16
  20152. var mv int16
  20153. if containerLen > 0 {
  20154. for j := 0; j < containerLen; j++ {
  20155. mk = uint16(dd.DecodeUint(16))
  20156. mv = int16(dd.DecodeInt(16))
  20157. if v != nil {
  20158. v[mk] = mv
  20159. }
  20160. }
  20161. } else if containerLen < 0 {
  20162. for j := 0; !dd.CheckBreak(); j++ {
  20163. mk = uint16(dd.DecodeUint(16))
  20164. mv = int16(dd.DecodeInt(16))
  20165. if v != nil {
  20166. v[mk] = mv
  20167. }
  20168. }
  20169. dd.ReadEnd()
  20170. }
  20171. return v, changed
  20172. }
  20173. func (f *decFnInfo) fastpathDecMapUint16Int32R(rv reflect.Value) {
  20174. if rv.CanAddr() {
  20175. vp := rv.Addr().Interface().(*map[uint16]int32)
  20176. v, changed := fastpathTV.DecMapUint16Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  20177. if changed {
  20178. *vp = v
  20179. }
  20180. } else {
  20181. v := rv.Interface().(map[uint16]int32)
  20182. fastpathTV.DecMapUint16Int32V(v, fastpathCheckNilFalse, false, f.d)
  20183. }
  20184. }
  20185. func (f fastpathT) DecMapUint16Int32X(vp *map[uint16]int32, checkNil bool, d *Decoder) {
  20186. v, changed := f.DecMapUint16Int32V(*vp, checkNil, true, d)
  20187. if changed {
  20188. *vp = v
  20189. }
  20190. }
  20191. func (_ fastpathT) DecMapUint16Int32V(v map[uint16]int32, checkNil bool, canChange bool,
  20192. d *Decoder) (_ map[uint16]int32, changed bool) {
  20193. dd := d.d
  20194. if checkNil && dd.TryDecodeAsNil() {
  20195. if v != nil {
  20196. changed = true
  20197. }
  20198. return nil, changed
  20199. }
  20200. containerLen := dd.ReadMapStart()
  20201. if canChange && v == nil {
  20202. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  20203. v = make(map[uint16]int32, xlen)
  20204. changed = true
  20205. }
  20206. var mk uint16
  20207. var mv int32
  20208. if containerLen > 0 {
  20209. for j := 0; j < containerLen; j++ {
  20210. mk = uint16(dd.DecodeUint(16))
  20211. mv = int32(dd.DecodeInt(32))
  20212. if v != nil {
  20213. v[mk] = mv
  20214. }
  20215. }
  20216. } else if containerLen < 0 {
  20217. for j := 0; !dd.CheckBreak(); j++ {
  20218. mk = uint16(dd.DecodeUint(16))
  20219. mv = int32(dd.DecodeInt(32))
  20220. if v != nil {
  20221. v[mk] = mv
  20222. }
  20223. }
  20224. dd.ReadEnd()
  20225. }
  20226. return v, changed
  20227. }
  20228. func (f *decFnInfo) fastpathDecMapUint16Int64R(rv reflect.Value) {
  20229. if rv.CanAddr() {
  20230. vp := rv.Addr().Interface().(*map[uint16]int64)
  20231. v, changed := fastpathTV.DecMapUint16Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  20232. if changed {
  20233. *vp = v
  20234. }
  20235. } else {
  20236. v := rv.Interface().(map[uint16]int64)
  20237. fastpathTV.DecMapUint16Int64V(v, fastpathCheckNilFalse, false, f.d)
  20238. }
  20239. }
  20240. func (f fastpathT) DecMapUint16Int64X(vp *map[uint16]int64, checkNil bool, d *Decoder) {
  20241. v, changed := f.DecMapUint16Int64V(*vp, checkNil, true, d)
  20242. if changed {
  20243. *vp = v
  20244. }
  20245. }
  20246. func (_ fastpathT) DecMapUint16Int64V(v map[uint16]int64, checkNil bool, canChange bool,
  20247. d *Decoder) (_ map[uint16]int64, changed bool) {
  20248. dd := d.d
  20249. if checkNil && dd.TryDecodeAsNil() {
  20250. if v != nil {
  20251. changed = true
  20252. }
  20253. return nil, changed
  20254. }
  20255. containerLen := dd.ReadMapStart()
  20256. if canChange && v == nil {
  20257. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  20258. v = make(map[uint16]int64, xlen)
  20259. changed = true
  20260. }
  20261. var mk uint16
  20262. var mv int64
  20263. if containerLen > 0 {
  20264. for j := 0; j < containerLen; j++ {
  20265. mk = uint16(dd.DecodeUint(16))
  20266. mv = dd.DecodeInt(64)
  20267. if v != nil {
  20268. v[mk] = mv
  20269. }
  20270. }
  20271. } else if containerLen < 0 {
  20272. for j := 0; !dd.CheckBreak(); j++ {
  20273. mk = uint16(dd.DecodeUint(16))
  20274. mv = dd.DecodeInt(64)
  20275. if v != nil {
  20276. v[mk] = mv
  20277. }
  20278. }
  20279. dd.ReadEnd()
  20280. }
  20281. return v, changed
  20282. }
  20283. func (f *decFnInfo) fastpathDecMapUint16Float32R(rv reflect.Value) {
  20284. if rv.CanAddr() {
  20285. vp := rv.Addr().Interface().(*map[uint16]float32)
  20286. v, changed := fastpathTV.DecMapUint16Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  20287. if changed {
  20288. *vp = v
  20289. }
  20290. } else {
  20291. v := rv.Interface().(map[uint16]float32)
  20292. fastpathTV.DecMapUint16Float32V(v, fastpathCheckNilFalse, false, f.d)
  20293. }
  20294. }
  20295. func (f fastpathT) DecMapUint16Float32X(vp *map[uint16]float32, checkNil bool, d *Decoder) {
  20296. v, changed := f.DecMapUint16Float32V(*vp, checkNil, true, d)
  20297. if changed {
  20298. *vp = v
  20299. }
  20300. }
  20301. func (_ fastpathT) DecMapUint16Float32V(v map[uint16]float32, checkNil bool, canChange bool,
  20302. d *Decoder) (_ map[uint16]float32, changed bool) {
  20303. dd := d.d
  20304. if checkNil && dd.TryDecodeAsNil() {
  20305. if v != nil {
  20306. changed = true
  20307. }
  20308. return nil, changed
  20309. }
  20310. containerLen := dd.ReadMapStart()
  20311. if canChange && v == nil {
  20312. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  20313. v = make(map[uint16]float32, xlen)
  20314. changed = true
  20315. }
  20316. var mk uint16
  20317. var mv float32
  20318. if containerLen > 0 {
  20319. for j := 0; j < containerLen; j++ {
  20320. mk = uint16(dd.DecodeUint(16))
  20321. mv = float32(dd.DecodeFloat(true))
  20322. if v != nil {
  20323. v[mk] = mv
  20324. }
  20325. }
  20326. } else if containerLen < 0 {
  20327. for j := 0; !dd.CheckBreak(); j++ {
  20328. mk = uint16(dd.DecodeUint(16))
  20329. mv = float32(dd.DecodeFloat(true))
  20330. if v != nil {
  20331. v[mk] = mv
  20332. }
  20333. }
  20334. dd.ReadEnd()
  20335. }
  20336. return v, changed
  20337. }
  20338. func (f *decFnInfo) fastpathDecMapUint16Float64R(rv reflect.Value) {
  20339. if rv.CanAddr() {
  20340. vp := rv.Addr().Interface().(*map[uint16]float64)
  20341. v, changed := fastpathTV.DecMapUint16Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  20342. if changed {
  20343. *vp = v
  20344. }
  20345. } else {
  20346. v := rv.Interface().(map[uint16]float64)
  20347. fastpathTV.DecMapUint16Float64V(v, fastpathCheckNilFalse, false, f.d)
  20348. }
  20349. }
  20350. func (f fastpathT) DecMapUint16Float64X(vp *map[uint16]float64, checkNil bool, d *Decoder) {
  20351. v, changed := f.DecMapUint16Float64V(*vp, checkNil, true, d)
  20352. if changed {
  20353. *vp = v
  20354. }
  20355. }
  20356. func (_ fastpathT) DecMapUint16Float64V(v map[uint16]float64, checkNil bool, canChange bool,
  20357. d *Decoder) (_ map[uint16]float64, changed bool) {
  20358. dd := d.d
  20359. if checkNil && dd.TryDecodeAsNil() {
  20360. if v != nil {
  20361. changed = true
  20362. }
  20363. return nil, changed
  20364. }
  20365. containerLen := dd.ReadMapStart()
  20366. if canChange && v == nil {
  20367. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  20368. v = make(map[uint16]float64, xlen)
  20369. changed = true
  20370. }
  20371. var mk uint16
  20372. var mv float64
  20373. if containerLen > 0 {
  20374. for j := 0; j < containerLen; j++ {
  20375. mk = uint16(dd.DecodeUint(16))
  20376. mv = dd.DecodeFloat(false)
  20377. if v != nil {
  20378. v[mk] = mv
  20379. }
  20380. }
  20381. } else if containerLen < 0 {
  20382. for j := 0; !dd.CheckBreak(); j++ {
  20383. mk = uint16(dd.DecodeUint(16))
  20384. mv = dd.DecodeFloat(false)
  20385. if v != nil {
  20386. v[mk] = mv
  20387. }
  20388. }
  20389. dd.ReadEnd()
  20390. }
  20391. return v, changed
  20392. }
  20393. func (f *decFnInfo) fastpathDecMapUint16BoolR(rv reflect.Value) {
  20394. if rv.CanAddr() {
  20395. vp := rv.Addr().Interface().(*map[uint16]bool)
  20396. v, changed := fastpathTV.DecMapUint16BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  20397. if changed {
  20398. *vp = v
  20399. }
  20400. } else {
  20401. v := rv.Interface().(map[uint16]bool)
  20402. fastpathTV.DecMapUint16BoolV(v, fastpathCheckNilFalse, false, f.d)
  20403. }
  20404. }
  20405. func (f fastpathT) DecMapUint16BoolX(vp *map[uint16]bool, checkNil bool, d *Decoder) {
  20406. v, changed := f.DecMapUint16BoolV(*vp, checkNil, true, d)
  20407. if changed {
  20408. *vp = v
  20409. }
  20410. }
  20411. func (_ fastpathT) DecMapUint16BoolV(v map[uint16]bool, checkNil bool, canChange bool,
  20412. d *Decoder) (_ map[uint16]bool, changed bool) {
  20413. dd := d.d
  20414. if checkNil && dd.TryDecodeAsNil() {
  20415. if v != nil {
  20416. changed = true
  20417. }
  20418. return nil, changed
  20419. }
  20420. containerLen := dd.ReadMapStart()
  20421. if canChange && v == nil {
  20422. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  20423. v = make(map[uint16]bool, xlen)
  20424. changed = true
  20425. }
  20426. var mk uint16
  20427. var mv bool
  20428. if containerLen > 0 {
  20429. for j := 0; j < containerLen; j++ {
  20430. mk = uint16(dd.DecodeUint(16))
  20431. mv = dd.DecodeBool()
  20432. if v != nil {
  20433. v[mk] = mv
  20434. }
  20435. }
  20436. } else if containerLen < 0 {
  20437. for j := 0; !dd.CheckBreak(); j++ {
  20438. mk = uint16(dd.DecodeUint(16))
  20439. mv = dd.DecodeBool()
  20440. if v != nil {
  20441. v[mk] = mv
  20442. }
  20443. }
  20444. dd.ReadEnd()
  20445. }
  20446. return v, changed
  20447. }
  20448. func (f *decFnInfo) fastpathDecMapUint32IntfR(rv reflect.Value) {
  20449. if rv.CanAddr() {
  20450. vp := rv.Addr().Interface().(*map[uint32]interface{})
  20451. v, changed := fastpathTV.DecMapUint32IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  20452. if changed {
  20453. *vp = v
  20454. }
  20455. } else {
  20456. v := rv.Interface().(map[uint32]interface{})
  20457. fastpathTV.DecMapUint32IntfV(v, fastpathCheckNilFalse, false, f.d)
  20458. }
  20459. }
  20460. func (f fastpathT) DecMapUint32IntfX(vp *map[uint32]interface{}, checkNil bool, d *Decoder) {
  20461. v, changed := f.DecMapUint32IntfV(*vp, checkNil, true, d)
  20462. if changed {
  20463. *vp = v
  20464. }
  20465. }
  20466. func (_ fastpathT) DecMapUint32IntfV(v map[uint32]interface{}, checkNil bool, canChange bool,
  20467. d *Decoder) (_ map[uint32]interface{}, changed bool) {
  20468. dd := d.d
  20469. if checkNil && dd.TryDecodeAsNil() {
  20470. if v != nil {
  20471. changed = true
  20472. }
  20473. return nil, changed
  20474. }
  20475. containerLen := dd.ReadMapStart()
  20476. if canChange && v == nil {
  20477. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  20478. v = make(map[uint32]interface{}, xlen)
  20479. changed = true
  20480. }
  20481. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  20482. var mk uint32
  20483. var mv interface{}
  20484. if containerLen > 0 {
  20485. for j := 0; j < containerLen; j++ {
  20486. mk = uint32(dd.DecodeUint(32))
  20487. if mapGet {
  20488. mv = v[mk]
  20489. } else {
  20490. mv = nil
  20491. }
  20492. d.decode(&mv)
  20493. if v != nil {
  20494. v[mk] = mv
  20495. }
  20496. }
  20497. } else if containerLen < 0 {
  20498. for j := 0; !dd.CheckBreak(); j++ {
  20499. mk = uint32(dd.DecodeUint(32))
  20500. if mapGet {
  20501. mv = v[mk]
  20502. } else {
  20503. mv = nil
  20504. }
  20505. d.decode(&mv)
  20506. if v != nil {
  20507. v[mk] = mv
  20508. }
  20509. }
  20510. dd.ReadEnd()
  20511. }
  20512. return v, changed
  20513. }
  20514. func (f *decFnInfo) fastpathDecMapUint32StringR(rv reflect.Value) {
  20515. if rv.CanAddr() {
  20516. vp := rv.Addr().Interface().(*map[uint32]string)
  20517. v, changed := fastpathTV.DecMapUint32StringV(*vp, fastpathCheckNilFalse, true, f.d)
  20518. if changed {
  20519. *vp = v
  20520. }
  20521. } else {
  20522. v := rv.Interface().(map[uint32]string)
  20523. fastpathTV.DecMapUint32StringV(v, fastpathCheckNilFalse, false, f.d)
  20524. }
  20525. }
  20526. func (f fastpathT) DecMapUint32StringX(vp *map[uint32]string, checkNil bool, d *Decoder) {
  20527. v, changed := f.DecMapUint32StringV(*vp, checkNil, true, d)
  20528. if changed {
  20529. *vp = v
  20530. }
  20531. }
  20532. func (_ fastpathT) DecMapUint32StringV(v map[uint32]string, checkNil bool, canChange bool,
  20533. d *Decoder) (_ map[uint32]string, changed bool) {
  20534. dd := d.d
  20535. if checkNil && dd.TryDecodeAsNil() {
  20536. if v != nil {
  20537. changed = true
  20538. }
  20539. return nil, changed
  20540. }
  20541. containerLen := dd.ReadMapStart()
  20542. if canChange && v == nil {
  20543. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  20544. v = make(map[uint32]string, xlen)
  20545. changed = true
  20546. }
  20547. var mk uint32
  20548. var mv string
  20549. if containerLen > 0 {
  20550. for j := 0; j < containerLen; j++ {
  20551. mk = uint32(dd.DecodeUint(32))
  20552. mv = dd.DecodeString()
  20553. if v != nil {
  20554. v[mk] = mv
  20555. }
  20556. }
  20557. } else if containerLen < 0 {
  20558. for j := 0; !dd.CheckBreak(); j++ {
  20559. mk = uint32(dd.DecodeUint(32))
  20560. mv = dd.DecodeString()
  20561. if v != nil {
  20562. v[mk] = mv
  20563. }
  20564. }
  20565. dd.ReadEnd()
  20566. }
  20567. return v, changed
  20568. }
  20569. func (f *decFnInfo) fastpathDecMapUint32UintR(rv reflect.Value) {
  20570. if rv.CanAddr() {
  20571. vp := rv.Addr().Interface().(*map[uint32]uint)
  20572. v, changed := fastpathTV.DecMapUint32UintV(*vp, fastpathCheckNilFalse, true, f.d)
  20573. if changed {
  20574. *vp = v
  20575. }
  20576. } else {
  20577. v := rv.Interface().(map[uint32]uint)
  20578. fastpathTV.DecMapUint32UintV(v, fastpathCheckNilFalse, false, f.d)
  20579. }
  20580. }
  20581. func (f fastpathT) DecMapUint32UintX(vp *map[uint32]uint, checkNil bool, d *Decoder) {
  20582. v, changed := f.DecMapUint32UintV(*vp, checkNil, true, d)
  20583. if changed {
  20584. *vp = v
  20585. }
  20586. }
  20587. func (_ fastpathT) DecMapUint32UintV(v map[uint32]uint, checkNil bool, canChange bool,
  20588. d *Decoder) (_ map[uint32]uint, changed bool) {
  20589. dd := d.d
  20590. if checkNil && dd.TryDecodeAsNil() {
  20591. if v != nil {
  20592. changed = true
  20593. }
  20594. return nil, changed
  20595. }
  20596. containerLen := dd.ReadMapStart()
  20597. if canChange && v == nil {
  20598. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  20599. v = make(map[uint32]uint, xlen)
  20600. changed = true
  20601. }
  20602. var mk uint32
  20603. var mv uint
  20604. if containerLen > 0 {
  20605. for j := 0; j < containerLen; j++ {
  20606. mk = uint32(dd.DecodeUint(32))
  20607. mv = uint(dd.DecodeUint(uintBitsize))
  20608. if v != nil {
  20609. v[mk] = mv
  20610. }
  20611. }
  20612. } else if containerLen < 0 {
  20613. for j := 0; !dd.CheckBreak(); j++ {
  20614. mk = uint32(dd.DecodeUint(32))
  20615. mv = uint(dd.DecodeUint(uintBitsize))
  20616. if v != nil {
  20617. v[mk] = mv
  20618. }
  20619. }
  20620. dd.ReadEnd()
  20621. }
  20622. return v, changed
  20623. }
  20624. func (f *decFnInfo) fastpathDecMapUint32Uint8R(rv reflect.Value) {
  20625. if rv.CanAddr() {
  20626. vp := rv.Addr().Interface().(*map[uint32]uint8)
  20627. v, changed := fastpathTV.DecMapUint32Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  20628. if changed {
  20629. *vp = v
  20630. }
  20631. } else {
  20632. v := rv.Interface().(map[uint32]uint8)
  20633. fastpathTV.DecMapUint32Uint8V(v, fastpathCheckNilFalse, false, f.d)
  20634. }
  20635. }
  20636. func (f fastpathT) DecMapUint32Uint8X(vp *map[uint32]uint8, checkNil bool, d *Decoder) {
  20637. v, changed := f.DecMapUint32Uint8V(*vp, checkNil, true, d)
  20638. if changed {
  20639. *vp = v
  20640. }
  20641. }
  20642. func (_ fastpathT) DecMapUint32Uint8V(v map[uint32]uint8, checkNil bool, canChange bool,
  20643. d *Decoder) (_ map[uint32]uint8, changed bool) {
  20644. dd := d.d
  20645. if checkNil && dd.TryDecodeAsNil() {
  20646. if v != nil {
  20647. changed = true
  20648. }
  20649. return nil, changed
  20650. }
  20651. containerLen := dd.ReadMapStart()
  20652. if canChange && v == nil {
  20653. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  20654. v = make(map[uint32]uint8, xlen)
  20655. changed = true
  20656. }
  20657. var mk uint32
  20658. var mv uint8
  20659. if containerLen > 0 {
  20660. for j := 0; j < containerLen; j++ {
  20661. mk = uint32(dd.DecodeUint(32))
  20662. mv = uint8(dd.DecodeUint(8))
  20663. if v != nil {
  20664. v[mk] = mv
  20665. }
  20666. }
  20667. } else if containerLen < 0 {
  20668. for j := 0; !dd.CheckBreak(); j++ {
  20669. mk = uint32(dd.DecodeUint(32))
  20670. mv = uint8(dd.DecodeUint(8))
  20671. if v != nil {
  20672. v[mk] = mv
  20673. }
  20674. }
  20675. dd.ReadEnd()
  20676. }
  20677. return v, changed
  20678. }
  20679. func (f *decFnInfo) fastpathDecMapUint32Uint16R(rv reflect.Value) {
  20680. if rv.CanAddr() {
  20681. vp := rv.Addr().Interface().(*map[uint32]uint16)
  20682. v, changed := fastpathTV.DecMapUint32Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  20683. if changed {
  20684. *vp = v
  20685. }
  20686. } else {
  20687. v := rv.Interface().(map[uint32]uint16)
  20688. fastpathTV.DecMapUint32Uint16V(v, fastpathCheckNilFalse, false, f.d)
  20689. }
  20690. }
  20691. func (f fastpathT) DecMapUint32Uint16X(vp *map[uint32]uint16, checkNil bool, d *Decoder) {
  20692. v, changed := f.DecMapUint32Uint16V(*vp, checkNil, true, d)
  20693. if changed {
  20694. *vp = v
  20695. }
  20696. }
  20697. func (_ fastpathT) DecMapUint32Uint16V(v map[uint32]uint16, checkNil bool, canChange bool,
  20698. d *Decoder) (_ map[uint32]uint16, changed bool) {
  20699. dd := d.d
  20700. if checkNil && dd.TryDecodeAsNil() {
  20701. if v != nil {
  20702. changed = true
  20703. }
  20704. return nil, changed
  20705. }
  20706. containerLen := dd.ReadMapStart()
  20707. if canChange && v == nil {
  20708. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  20709. v = make(map[uint32]uint16, xlen)
  20710. changed = true
  20711. }
  20712. var mk uint32
  20713. var mv uint16
  20714. if containerLen > 0 {
  20715. for j := 0; j < containerLen; j++ {
  20716. mk = uint32(dd.DecodeUint(32))
  20717. mv = uint16(dd.DecodeUint(16))
  20718. if v != nil {
  20719. v[mk] = mv
  20720. }
  20721. }
  20722. } else if containerLen < 0 {
  20723. for j := 0; !dd.CheckBreak(); j++ {
  20724. mk = uint32(dd.DecodeUint(32))
  20725. mv = uint16(dd.DecodeUint(16))
  20726. if v != nil {
  20727. v[mk] = mv
  20728. }
  20729. }
  20730. dd.ReadEnd()
  20731. }
  20732. return v, changed
  20733. }
  20734. func (f *decFnInfo) fastpathDecMapUint32Uint32R(rv reflect.Value) {
  20735. if rv.CanAddr() {
  20736. vp := rv.Addr().Interface().(*map[uint32]uint32)
  20737. v, changed := fastpathTV.DecMapUint32Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  20738. if changed {
  20739. *vp = v
  20740. }
  20741. } else {
  20742. v := rv.Interface().(map[uint32]uint32)
  20743. fastpathTV.DecMapUint32Uint32V(v, fastpathCheckNilFalse, false, f.d)
  20744. }
  20745. }
  20746. func (f fastpathT) DecMapUint32Uint32X(vp *map[uint32]uint32, checkNil bool, d *Decoder) {
  20747. v, changed := f.DecMapUint32Uint32V(*vp, checkNil, true, d)
  20748. if changed {
  20749. *vp = v
  20750. }
  20751. }
  20752. func (_ fastpathT) DecMapUint32Uint32V(v map[uint32]uint32, checkNil bool, canChange bool,
  20753. d *Decoder) (_ map[uint32]uint32, changed bool) {
  20754. dd := d.d
  20755. if checkNil && dd.TryDecodeAsNil() {
  20756. if v != nil {
  20757. changed = true
  20758. }
  20759. return nil, changed
  20760. }
  20761. containerLen := dd.ReadMapStart()
  20762. if canChange && v == nil {
  20763. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  20764. v = make(map[uint32]uint32, xlen)
  20765. changed = true
  20766. }
  20767. var mk uint32
  20768. var mv uint32
  20769. if containerLen > 0 {
  20770. for j := 0; j < containerLen; j++ {
  20771. mk = uint32(dd.DecodeUint(32))
  20772. mv = uint32(dd.DecodeUint(32))
  20773. if v != nil {
  20774. v[mk] = mv
  20775. }
  20776. }
  20777. } else if containerLen < 0 {
  20778. for j := 0; !dd.CheckBreak(); j++ {
  20779. mk = uint32(dd.DecodeUint(32))
  20780. mv = uint32(dd.DecodeUint(32))
  20781. if v != nil {
  20782. v[mk] = mv
  20783. }
  20784. }
  20785. dd.ReadEnd()
  20786. }
  20787. return v, changed
  20788. }
  20789. func (f *decFnInfo) fastpathDecMapUint32Uint64R(rv reflect.Value) {
  20790. if rv.CanAddr() {
  20791. vp := rv.Addr().Interface().(*map[uint32]uint64)
  20792. v, changed := fastpathTV.DecMapUint32Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  20793. if changed {
  20794. *vp = v
  20795. }
  20796. } else {
  20797. v := rv.Interface().(map[uint32]uint64)
  20798. fastpathTV.DecMapUint32Uint64V(v, fastpathCheckNilFalse, false, f.d)
  20799. }
  20800. }
  20801. func (f fastpathT) DecMapUint32Uint64X(vp *map[uint32]uint64, checkNil bool, d *Decoder) {
  20802. v, changed := f.DecMapUint32Uint64V(*vp, checkNil, true, d)
  20803. if changed {
  20804. *vp = v
  20805. }
  20806. }
  20807. func (_ fastpathT) DecMapUint32Uint64V(v map[uint32]uint64, checkNil bool, canChange bool,
  20808. d *Decoder) (_ map[uint32]uint64, changed bool) {
  20809. dd := d.d
  20810. if checkNil && dd.TryDecodeAsNil() {
  20811. if v != nil {
  20812. changed = true
  20813. }
  20814. return nil, changed
  20815. }
  20816. containerLen := dd.ReadMapStart()
  20817. if canChange && v == nil {
  20818. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  20819. v = make(map[uint32]uint64, xlen)
  20820. changed = true
  20821. }
  20822. var mk uint32
  20823. var mv uint64
  20824. if containerLen > 0 {
  20825. for j := 0; j < containerLen; j++ {
  20826. mk = uint32(dd.DecodeUint(32))
  20827. mv = dd.DecodeUint(64)
  20828. if v != nil {
  20829. v[mk] = mv
  20830. }
  20831. }
  20832. } else if containerLen < 0 {
  20833. for j := 0; !dd.CheckBreak(); j++ {
  20834. mk = uint32(dd.DecodeUint(32))
  20835. mv = dd.DecodeUint(64)
  20836. if v != nil {
  20837. v[mk] = mv
  20838. }
  20839. }
  20840. dd.ReadEnd()
  20841. }
  20842. return v, changed
  20843. }
  20844. func (f *decFnInfo) fastpathDecMapUint32UintptrR(rv reflect.Value) {
  20845. if rv.CanAddr() {
  20846. vp := rv.Addr().Interface().(*map[uint32]uintptr)
  20847. v, changed := fastpathTV.DecMapUint32UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  20848. if changed {
  20849. *vp = v
  20850. }
  20851. } else {
  20852. v := rv.Interface().(map[uint32]uintptr)
  20853. fastpathTV.DecMapUint32UintptrV(v, fastpathCheckNilFalse, false, f.d)
  20854. }
  20855. }
  20856. func (f fastpathT) DecMapUint32UintptrX(vp *map[uint32]uintptr, checkNil bool, d *Decoder) {
  20857. v, changed := f.DecMapUint32UintptrV(*vp, checkNil, true, d)
  20858. if changed {
  20859. *vp = v
  20860. }
  20861. }
  20862. func (_ fastpathT) DecMapUint32UintptrV(v map[uint32]uintptr, checkNil bool, canChange bool,
  20863. d *Decoder) (_ map[uint32]uintptr, changed bool) {
  20864. dd := d.d
  20865. if checkNil && dd.TryDecodeAsNil() {
  20866. if v != nil {
  20867. changed = true
  20868. }
  20869. return nil, changed
  20870. }
  20871. containerLen := dd.ReadMapStart()
  20872. if canChange && v == nil {
  20873. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  20874. v = make(map[uint32]uintptr, xlen)
  20875. changed = true
  20876. }
  20877. var mk uint32
  20878. var mv uintptr
  20879. if containerLen > 0 {
  20880. for j := 0; j < containerLen; j++ {
  20881. mk = uint32(dd.DecodeUint(32))
  20882. mv = uintptr(dd.DecodeUint(uintBitsize))
  20883. if v != nil {
  20884. v[mk] = mv
  20885. }
  20886. }
  20887. } else if containerLen < 0 {
  20888. for j := 0; !dd.CheckBreak(); j++ {
  20889. mk = uint32(dd.DecodeUint(32))
  20890. mv = uintptr(dd.DecodeUint(uintBitsize))
  20891. if v != nil {
  20892. v[mk] = mv
  20893. }
  20894. }
  20895. dd.ReadEnd()
  20896. }
  20897. return v, changed
  20898. }
  20899. func (f *decFnInfo) fastpathDecMapUint32IntR(rv reflect.Value) {
  20900. if rv.CanAddr() {
  20901. vp := rv.Addr().Interface().(*map[uint32]int)
  20902. v, changed := fastpathTV.DecMapUint32IntV(*vp, fastpathCheckNilFalse, true, f.d)
  20903. if changed {
  20904. *vp = v
  20905. }
  20906. } else {
  20907. v := rv.Interface().(map[uint32]int)
  20908. fastpathTV.DecMapUint32IntV(v, fastpathCheckNilFalse, false, f.d)
  20909. }
  20910. }
  20911. func (f fastpathT) DecMapUint32IntX(vp *map[uint32]int, checkNil bool, d *Decoder) {
  20912. v, changed := f.DecMapUint32IntV(*vp, checkNil, true, d)
  20913. if changed {
  20914. *vp = v
  20915. }
  20916. }
  20917. func (_ fastpathT) DecMapUint32IntV(v map[uint32]int, checkNil bool, canChange bool,
  20918. d *Decoder) (_ map[uint32]int, changed bool) {
  20919. dd := d.d
  20920. if checkNil && dd.TryDecodeAsNil() {
  20921. if v != nil {
  20922. changed = true
  20923. }
  20924. return nil, changed
  20925. }
  20926. containerLen := dd.ReadMapStart()
  20927. if canChange && v == nil {
  20928. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  20929. v = make(map[uint32]int, xlen)
  20930. changed = true
  20931. }
  20932. var mk uint32
  20933. var mv int
  20934. if containerLen > 0 {
  20935. for j := 0; j < containerLen; j++ {
  20936. mk = uint32(dd.DecodeUint(32))
  20937. mv = int(dd.DecodeInt(intBitsize))
  20938. if v != nil {
  20939. v[mk] = mv
  20940. }
  20941. }
  20942. } else if containerLen < 0 {
  20943. for j := 0; !dd.CheckBreak(); j++ {
  20944. mk = uint32(dd.DecodeUint(32))
  20945. mv = int(dd.DecodeInt(intBitsize))
  20946. if v != nil {
  20947. v[mk] = mv
  20948. }
  20949. }
  20950. dd.ReadEnd()
  20951. }
  20952. return v, changed
  20953. }
  20954. func (f *decFnInfo) fastpathDecMapUint32Int8R(rv reflect.Value) {
  20955. if rv.CanAddr() {
  20956. vp := rv.Addr().Interface().(*map[uint32]int8)
  20957. v, changed := fastpathTV.DecMapUint32Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  20958. if changed {
  20959. *vp = v
  20960. }
  20961. } else {
  20962. v := rv.Interface().(map[uint32]int8)
  20963. fastpathTV.DecMapUint32Int8V(v, fastpathCheckNilFalse, false, f.d)
  20964. }
  20965. }
  20966. func (f fastpathT) DecMapUint32Int8X(vp *map[uint32]int8, checkNil bool, d *Decoder) {
  20967. v, changed := f.DecMapUint32Int8V(*vp, checkNil, true, d)
  20968. if changed {
  20969. *vp = v
  20970. }
  20971. }
  20972. func (_ fastpathT) DecMapUint32Int8V(v map[uint32]int8, checkNil bool, canChange bool,
  20973. d *Decoder) (_ map[uint32]int8, changed bool) {
  20974. dd := d.d
  20975. if checkNil && dd.TryDecodeAsNil() {
  20976. if v != nil {
  20977. changed = true
  20978. }
  20979. return nil, changed
  20980. }
  20981. containerLen := dd.ReadMapStart()
  20982. if canChange && v == nil {
  20983. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  20984. v = make(map[uint32]int8, xlen)
  20985. changed = true
  20986. }
  20987. var mk uint32
  20988. var mv int8
  20989. if containerLen > 0 {
  20990. for j := 0; j < containerLen; j++ {
  20991. mk = uint32(dd.DecodeUint(32))
  20992. mv = int8(dd.DecodeInt(8))
  20993. if v != nil {
  20994. v[mk] = mv
  20995. }
  20996. }
  20997. } else if containerLen < 0 {
  20998. for j := 0; !dd.CheckBreak(); j++ {
  20999. mk = uint32(dd.DecodeUint(32))
  21000. mv = int8(dd.DecodeInt(8))
  21001. if v != nil {
  21002. v[mk] = mv
  21003. }
  21004. }
  21005. dd.ReadEnd()
  21006. }
  21007. return v, changed
  21008. }
  21009. func (f *decFnInfo) fastpathDecMapUint32Int16R(rv reflect.Value) {
  21010. if rv.CanAddr() {
  21011. vp := rv.Addr().Interface().(*map[uint32]int16)
  21012. v, changed := fastpathTV.DecMapUint32Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  21013. if changed {
  21014. *vp = v
  21015. }
  21016. } else {
  21017. v := rv.Interface().(map[uint32]int16)
  21018. fastpathTV.DecMapUint32Int16V(v, fastpathCheckNilFalse, false, f.d)
  21019. }
  21020. }
  21021. func (f fastpathT) DecMapUint32Int16X(vp *map[uint32]int16, checkNil bool, d *Decoder) {
  21022. v, changed := f.DecMapUint32Int16V(*vp, checkNil, true, d)
  21023. if changed {
  21024. *vp = v
  21025. }
  21026. }
  21027. func (_ fastpathT) DecMapUint32Int16V(v map[uint32]int16, checkNil bool, canChange bool,
  21028. d *Decoder) (_ map[uint32]int16, changed bool) {
  21029. dd := d.d
  21030. if checkNil && dd.TryDecodeAsNil() {
  21031. if v != nil {
  21032. changed = true
  21033. }
  21034. return nil, changed
  21035. }
  21036. containerLen := dd.ReadMapStart()
  21037. if canChange && v == nil {
  21038. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  21039. v = make(map[uint32]int16, xlen)
  21040. changed = true
  21041. }
  21042. var mk uint32
  21043. var mv int16
  21044. if containerLen > 0 {
  21045. for j := 0; j < containerLen; j++ {
  21046. mk = uint32(dd.DecodeUint(32))
  21047. mv = int16(dd.DecodeInt(16))
  21048. if v != nil {
  21049. v[mk] = mv
  21050. }
  21051. }
  21052. } else if containerLen < 0 {
  21053. for j := 0; !dd.CheckBreak(); j++ {
  21054. mk = uint32(dd.DecodeUint(32))
  21055. mv = int16(dd.DecodeInt(16))
  21056. if v != nil {
  21057. v[mk] = mv
  21058. }
  21059. }
  21060. dd.ReadEnd()
  21061. }
  21062. return v, changed
  21063. }
  21064. func (f *decFnInfo) fastpathDecMapUint32Int32R(rv reflect.Value) {
  21065. if rv.CanAddr() {
  21066. vp := rv.Addr().Interface().(*map[uint32]int32)
  21067. v, changed := fastpathTV.DecMapUint32Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  21068. if changed {
  21069. *vp = v
  21070. }
  21071. } else {
  21072. v := rv.Interface().(map[uint32]int32)
  21073. fastpathTV.DecMapUint32Int32V(v, fastpathCheckNilFalse, false, f.d)
  21074. }
  21075. }
  21076. func (f fastpathT) DecMapUint32Int32X(vp *map[uint32]int32, checkNil bool, d *Decoder) {
  21077. v, changed := f.DecMapUint32Int32V(*vp, checkNil, true, d)
  21078. if changed {
  21079. *vp = v
  21080. }
  21081. }
  21082. func (_ fastpathT) DecMapUint32Int32V(v map[uint32]int32, checkNil bool, canChange bool,
  21083. d *Decoder) (_ map[uint32]int32, changed bool) {
  21084. dd := d.d
  21085. if checkNil && dd.TryDecodeAsNil() {
  21086. if v != nil {
  21087. changed = true
  21088. }
  21089. return nil, changed
  21090. }
  21091. containerLen := dd.ReadMapStart()
  21092. if canChange && v == nil {
  21093. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  21094. v = make(map[uint32]int32, xlen)
  21095. changed = true
  21096. }
  21097. var mk uint32
  21098. var mv int32
  21099. if containerLen > 0 {
  21100. for j := 0; j < containerLen; j++ {
  21101. mk = uint32(dd.DecodeUint(32))
  21102. mv = int32(dd.DecodeInt(32))
  21103. if v != nil {
  21104. v[mk] = mv
  21105. }
  21106. }
  21107. } else if containerLen < 0 {
  21108. for j := 0; !dd.CheckBreak(); j++ {
  21109. mk = uint32(dd.DecodeUint(32))
  21110. mv = int32(dd.DecodeInt(32))
  21111. if v != nil {
  21112. v[mk] = mv
  21113. }
  21114. }
  21115. dd.ReadEnd()
  21116. }
  21117. return v, changed
  21118. }
  21119. func (f *decFnInfo) fastpathDecMapUint32Int64R(rv reflect.Value) {
  21120. if rv.CanAddr() {
  21121. vp := rv.Addr().Interface().(*map[uint32]int64)
  21122. v, changed := fastpathTV.DecMapUint32Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  21123. if changed {
  21124. *vp = v
  21125. }
  21126. } else {
  21127. v := rv.Interface().(map[uint32]int64)
  21128. fastpathTV.DecMapUint32Int64V(v, fastpathCheckNilFalse, false, f.d)
  21129. }
  21130. }
  21131. func (f fastpathT) DecMapUint32Int64X(vp *map[uint32]int64, checkNil bool, d *Decoder) {
  21132. v, changed := f.DecMapUint32Int64V(*vp, checkNil, true, d)
  21133. if changed {
  21134. *vp = v
  21135. }
  21136. }
  21137. func (_ fastpathT) DecMapUint32Int64V(v map[uint32]int64, checkNil bool, canChange bool,
  21138. d *Decoder) (_ map[uint32]int64, changed bool) {
  21139. dd := d.d
  21140. if checkNil && dd.TryDecodeAsNil() {
  21141. if v != nil {
  21142. changed = true
  21143. }
  21144. return nil, changed
  21145. }
  21146. containerLen := dd.ReadMapStart()
  21147. if canChange && v == nil {
  21148. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  21149. v = make(map[uint32]int64, xlen)
  21150. changed = true
  21151. }
  21152. var mk uint32
  21153. var mv int64
  21154. if containerLen > 0 {
  21155. for j := 0; j < containerLen; j++ {
  21156. mk = uint32(dd.DecodeUint(32))
  21157. mv = dd.DecodeInt(64)
  21158. if v != nil {
  21159. v[mk] = mv
  21160. }
  21161. }
  21162. } else if containerLen < 0 {
  21163. for j := 0; !dd.CheckBreak(); j++ {
  21164. mk = uint32(dd.DecodeUint(32))
  21165. mv = dd.DecodeInt(64)
  21166. if v != nil {
  21167. v[mk] = mv
  21168. }
  21169. }
  21170. dd.ReadEnd()
  21171. }
  21172. return v, changed
  21173. }
  21174. func (f *decFnInfo) fastpathDecMapUint32Float32R(rv reflect.Value) {
  21175. if rv.CanAddr() {
  21176. vp := rv.Addr().Interface().(*map[uint32]float32)
  21177. v, changed := fastpathTV.DecMapUint32Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  21178. if changed {
  21179. *vp = v
  21180. }
  21181. } else {
  21182. v := rv.Interface().(map[uint32]float32)
  21183. fastpathTV.DecMapUint32Float32V(v, fastpathCheckNilFalse, false, f.d)
  21184. }
  21185. }
  21186. func (f fastpathT) DecMapUint32Float32X(vp *map[uint32]float32, checkNil bool, d *Decoder) {
  21187. v, changed := f.DecMapUint32Float32V(*vp, checkNil, true, d)
  21188. if changed {
  21189. *vp = v
  21190. }
  21191. }
  21192. func (_ fastpathT) DecMapUint32Float32V(v map[uint32]float32, checkNil bool, canChange bool,
  21193. d *Decoder) (_ map[uint32]float32, changed bool) {
  21194. dd := d.d
  21195. if checkNil && dd.TryDecodeAsNil() {
  21196. if v != nil {
  21197. changed = true
  21198. }
  21199. return nil, changed
  21200. }
  21201. containerLen := dd.ReadMapStart()
  21202. if canChange && v == nil {
  21203. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  21204. v = make(map[uint32]float32, xlen)
  21205. changed = true
  21206. }
  21207. var mk uint32
  21208. var mv float32
  21209. if containerLen > 0 {
  21210. for j := 0; j < containerLen; j++ {
  21211. mk = uint32(dd.DecodeUint(32))
  21212. mv = float32(dd.DecodeFloat(true))
  21213. if v != nil {
  21214. v[mk] = mv
  21215. }
  21216. }
  21217. } else if containerLen < 0 {
  21218. for j := 0; !dd.CheckBreak(); j++ {
  21219. mk = uint32(dd.DecodeUint(32))
  21220. mv = float32(dd.DecodeFloat(true))
  21221. if v != nil {
  21222. v[mk] = mv
  21223. }
  21224. }
  21225. dd.ReadEnd()
  21226. }
  21227. return v, changed
  21228. }
  21229. func (f *decFnInfo) fastpathDecMapUint32Float64R(rv reflect.Value) {
  21230. if rv.CanAddr() {
  21231. vp := rv.Addr().Interface().(*map[uint32]float64)
  21232. v, changed := fastpathTV.DecMapUint32Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  21233. if changed {
  21234. *vp = v
  21235. }
  21236. } else {
  21237. v := rv.Interface().(map[uint32]float64)
  21238. fastpathTV.DecMapUint32Float64V(v, fastpathCheckNilFalse, false, f.d)
  21239. }
  21240. }
  21241. func (f fastpathT) DecMapUint32Float64X(vp *map[uint32]float64, checkNil bool, d *Decoder) {
  21242. v, changed := f.DecMapUint32Float64V(*vp, checkNil, true, d)
  21243. if changed {
  21244. *vp = v
  21245. }
  21246. }
  21247. func (_ fastpathT) DecMapUint32Float64V(v map[uint32]float64, checkNil bool, canChange bool,
  21248. d *Decoder) (_ map[uint32]float64, changed bool) {
  21249. dd := d.d
  21250. if checkNil && dd.TryDecodeAsNil() {
  21251. if v != nil {
  21252. changed = true
  21253. }
  21254. return nil, changed
  21255. }
  21256. containerLen := dd.ReadMapStart()
  21257. if canChange && v == nil {
  21258. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  21259. v = make(map[uint32]float64, xlen)
  21260. changed = true
  21261. }
  21262. var mk uint32
  21263. var mv float64
  21264. if containerLen > 0 {
  21265. for j := 0; j < containerLen; j++ {
  21266. mk = uint32(dd.DecodeUint(32))
  21267. mv = dd.DecodeFloat(false)
  21268. if v != nil {
  21269. v[mk] = mv
  21270. }
  21271. }
  21272. } else if containerLen < 0 {
  21273. for j := 0; !dd.CheckBreak(); j++ {
  21274. mk = uint32(dd.DecodeUint(32))
  21275. mv = dd.DecodeFloat(false)
  21276. if v != nil {
  21277. v[mk] = mv
  21278. }
  21279. }
  21280. dd.ReadEnd()
  21281. }
  21282. return v, changed
  21283. }
  21284. func (f *decFnInfo) fastpathDecMapUint32BoolR(rv reflect.Value) {
  21285. if rv.CanAddr() {
  21286. vp := rv.Addr().Interface().(*map[uint32]bool)
  21287. v, changed := fastpathTV.DecMapUint32BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  21288. if changed {
  21289. *vp = v
  21290. }
  21291. } else {
  21292. v := rv.Interface().(map[uint32]bool)
  21293. fastpathTV.DecMapUint32BoolV(v, fastpathCheckNilFalse, false, f.d)
  21294. }
  21295. }
  21296. func (f fastpathT) DecMapUint32BoolX(vp *map[uint32]bool, checkNil bool, d *Decoder) {
  21297. v, changed := f.DecMapUint32BoolV(*vp, checkNil, true, d)
  21298. if changed {
  21299. *vp = v
  21300. }
  21301. }
  21302. func (_ fastpathT) DecMapUint32BoolV(v map[uint32]bool, checkNil bool, canChange bool,
  21303. d *Decoder) (_ map[uint32]bool, changed bool) {
  21304. dd := d.d
  21305. if checkNil && dd.TryDecodeAsNil() {
  21306. if v != nil {
  21307. changed = true
  21308. }
  21309. return nil, changed
  21310. }
  21311. containerLen := dd.ReadMapStart()
  21312. if canChange && v == nil {
  21313. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  21314. v = make(map[uint32]bool, xlen)
  21315. changed = true
  21316. }
  21317. var mk uint32
  21318. var mv bool
  21319. if containerLen > 0 {
  21320. for j := 0; j < containerLen; j++ {
  21321. mk = uint32(dd.DecodeUint(32))
  21322. mv = dd.DecodeBool()
  21323. if v != nil {
  21324. v[mk] = mv
  21325. }
  21326. }
  21327. } else if containerLen < 0 {
  21328. for j := 0; !dd.CheckBreak(); j++ {
  21329. mk = uint32(dd.DecodeUint(32))
  21330. mv = dd.DecodeBool()
  21331. if v != nil {
  21332. v[mk] = mv
  21333. }
  21334. }
  21335. dd.ReadEnd()
  21336. }
  21337. return v, changed
  21338. }
  21339. func (f *decFnInfo) fastpathDecMapUint64IntfR(rv reflect.Value) {
  21340. if rv.CanAddr() {
  21341. vp := rv.Addr().Interface().(*map[uint64]interface{})
  21342. v, changed := fastpathTV.DecMapUint64IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  21343. if changed {
  21344. *vp = v
  21345. }
  21346. } else {
  21347. v := rv.Interface().(map[uint64]interface{})
  21348. fastpathTV.DecMapUint64IntfV(v, fastpathCheckNilFalse, false, f.d)
  21349. }
  21350. }
  21351. func (f fastpathT) DecMapUint64IntfX(vp *map[uint64]interface{}, checkNil bool, d *Decoder) {
  21352. v, changed := f.DecMapUint64IntfV(*vp, checkNil, true, d)
  21353. if changed {
  21354. *vp = v
  21355. }
  21356. }
  21357. func (_ fastpathT) DecMapUint64IntfV(v map[uint64]interface{}, checkNil bool, canChange bool,
  21358. d *Decoder) (_ map[uint64]interface{}, changed bool) {
  21359. dd := d.d
  21360. if checkNil && dd.TryDecodeAsNil() {
  21361. if v != nil {
  21362. changed = true
  21363. }
  21364. return nil, changed
  21365. }
  21366. containerLen := dd.ReadMapStart()
  21367. if canChange && v == nil {
  21368. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  21369. v = make(map[uint64]interface{}, xlen)
  21370. changed = true
  21371. }
  21372. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  21373. var mk uint64
  21374. var mv interface{}
  21375. if containerLen > 0 {
  21376. for j := 0; j < containerLen; j++ {
  21377. mk = dd.DecodeUint(64)
  21378. if mapGet {
  21379. mv = v[mk]
  21380. } else {
  21381. mv = nil
  21382. }
  21383. d.decode(&mv)
  21384. if v != nil {
  21385. v[mk] = mv
  21386. }
  21387. }
  21388. } else if containerLen < 0 {
  21389. for j := 0; !dd.CheckBreak(); j++ {
  21390. mk = dd.DecodeUint(64)
  21391. if mapGet {
  21392. mv = v[mk]
  21393. } else {
  21394. mv = nil
  21395. }
  21396. d.decode(&mv)
  21397. if v != nil {
  21398. v[mk] = mv
  21399. }
  21400. }
  21401. dd.ReadEnd()
  21402. }
  21403. return v, changed
  21404. }
  21405. func (f *decFnInfo) fastpathDecMapUint64StringR(rv reflect.Value) {
  21406. if rv.CanAddr() {
  21407. vp := rv.Addr().Interface().(*map[uint64]string)
  21408. v, changed := fastpathTV.DecMapUint64StringV(*vp, fastpathCheckNilFalse, true, f.d)
  21409. if changed {
  21410. *vp = v
  21411. }
  21412. } else {
  21413. v := rv.Interface().(map[uint64]string)
  21414. fastpathTV.DecMapUint64StringV(v, fastpathCheckNilFalse, false, f.d)
  21415. }
  21416. }
  21417. func (f fastpathT) DecMapUint64StringX(vp *map[uint64]string, checkNil bool, d *Decoder) {
  21418. v, changed := f.DecMapUint64StringV(*vp, checkNil, true, d)
  21419. if changed {
  21420. *vp = v
  21421. }
  21422. }
  21423. func (_ fastpathT) DecMapUint64StringV(v map[uint64]string, checkNil bool, canChange bool,
  21424. d *Decoder) (_ map[uint64]string, changed bool) {
  21425. dd := d.d
  21426. if checkNil && dd.TryDecodeAsNil() {
  21427. if v != nil {
  21428. changed = true
  21429. }
  21430. return nil, changed
  21431. }
  21432. containerLen := dd.ReadMapStart()
  21433. if canChange && v == nil {
  21434. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  21435. v = make(map[uint64]string, xlen)
  21436. changed = true
  21437. }
  21438. var mk uint64
  21439. var mv string
  21440. if containerLen > 0 {
  21441. for j := 0; j < containerLen; j++ {
  21442. mk = dd.DecodeUint(64)
  21443. mv = dd.DecodeString()
  21444. if v != nil {
  21445. v[mk] = mv
  21446. }
  21447. }
  21448. } else if containerLen < 0 {
  21449. for j := 0; !dd.CheckBreak(); j++ {
  21450. mk = dd.DecodeUint(64)
  21451. mv = dd.DecodeString()
  21452. if v != nil {
  21453. v[mk] = mv
  21454. }
  21455. }
  21456. dd.ReadEnd()
  21457. }
  21458. return v, changed
  21459. }
  21460. func (f *decFnInfo) fastpathDecMapUint64UintR(rv reflect.Value) {
  21461. if rv.CanAddr() {
  21462. vp := rv.Addr().Interface().(*map[uint64]uint)
  21463. v, changed := fastpathTV.DecMapUint64UintV(*vp, fastpathCheckNilFalse, true, f.d)
  21464. if changed {
  21465. *vp = v
  21466. }
  21467. } else {
  21468. v := rv.Interface().(map[uint64]uint)
  21469. fastpathTV.DecMapUint64UintV(v, fastpathCheckNilFalse, false, f.d)
  21470. }
  21471. }
  21472. func (f fastpathT) DecMapUint64UintX(vp *map[uint64]uint, checkNil bool, d *Decoder) {
  21473. v, changed := f.DecMapUint64UintV(*vp, checkNil, true, d)
  21474. if changed {
  21475. *vp = v
  21476. }
  21477. }
  21478. func (_ fastpathT) DecMapUint64UintV(v map[uint64]uint, checkNil bool, canChange bool,
  21479. d *Decoder) (_ map[uint64]uint, changed bool) {
  21480. dd := d.d
  21481. if checkNil && dd.TryDecodeAsNil() {
  21482. if v != nil {
  21483. changed = true
  21484. }
  21485. return nil, changed
  21486. }
  21487. containerLen := dd.ReadMapStart()
  21488. if canChange && v == nil {
  21489. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  21490. v = make(map[uint64]uint, xlen)
  21491. changed = true
  21492. }
  21493. var mk uint64
  21494. var mv uint
  21495. if containerLen > 0 {
  21496. for j := 0; j < containerLen; j++ {
  21497. mk = dd.DecodeUint(64)
  21498. mv = uint(dd.DecodeUint(uintBitsize))
  21499. if v != nil {
  21500. v[mk] = mv
  21501. }
  21502. }
  21503. } else if containerLen < 0 {
  21504. for j := 0; !dd.CheckBreak(); j++ {
  21505. mk = dd.DecodeUint(64)
  21506. mv = uint(dd.DecodeUint(uintBitsize))
  21507. if v != nil {
  21508. v[mk] = mv
  21509. }
  21510. }
  21511. dd.ReadEnd()
  21512. }
  21513. return v, changed
  21514. }
  21515. func (f *decFnInfo) fastpathDecMapUint64Uint8R(rv reflect.Value) {
  21516. if rv.CanAddr() {
  21517. vp := rv.Addr().Interface().(*map[uint64]uint8)
  21518. v, changed := fastpathTV.DecMapUint64Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  21519. if changed {
  21520. *vp = v
  21521. }
  21522. } else {
  21523. v := rv.Interface().(map[uint64]uint8)
  21524. fastpathTV.DecMapUint64Uint8V(v, fastpathCheckNilFalse, false, f.d)
  21525. }
  21526. }
  21527. func (f fastpathT) DecMapUint64Uint8X(vp *map[uint64]uint8, checkNil bool, d *Decoder) {
  21528. v, changed := f.DecMapUint64Uint8V(*vp, checkNil, true, d)
  21529. if changed {
  21530. *vp = v
  21531. }
  21532. }
  21533. func (_ fastpathT) DecMapUint64Uint8V(v map[uint64]uint8, checkNil bool, canChange bool,
  21534. d *Decoder) (_ map[uint64]uint8, changed bool) {
  21535. dd := d.d
  21536. if checkNil && dd.TryDecodeAsNil() {
  21537. if v != nil {
  21538. changed = true
  21539. }
  21540. return nil, changed
  21541. }
  21542. containerLen := dd.ReadMapStart()
  21543. if canChange && v == nil {
  21544. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  21545. v = make(map[uint64]uint8, xlen)
  21546. changed = true
  21547. }
  21548. var mk uint64
  21549. var mv uint8
  21550. if containerLen > 0 {
  21551. for j := 0; j < containerLen; j++ {
  21552. mk = dd.DecodeUint(64)
  21553. mv = uint8(dd.DecodeUint(8))
  21554. if v != nil {
  21555. v[mk] = mv
  21556. }
  21557. }
  21558. } else if containerLen < 0 {
  21559. for j := 0; !dd.CheckBreak(); j++ {
  21560. mk = dd.DecodeUint(64)
  21561. mv = uint8(dd.DecodeUint(8))
  21562. if v != nil {
  21563. v[mk] = mv
  21564. }
  21565. }
  21566. dd.ReadEnd()
  21567. }
  21568. return v, changed
  21569. }
  21570. func (f *decFnInfo) fastpathDecMapUint64Uint16R(rv reflect.Value) {
  21571. if rv.CanAddr() {
  21572. vp := rv.Addr().Interface().(*map[uint64]uint16)
  21573. v, changed := fastpathTV.DecMapUint64Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  21574. if changed {
  21575. *vp = v
  21576. }
  21577. } else {
  21578. v := rv.Interface().(map[uint64]uint16)
  21579. fastpathTV.DecMapUint64Uint16V(v, fastpathCheckNilFalse, false, f.d)
  21580. }
  21581. }
  21582. func (f fastpathT) DecMapUint64Uint16X(vp *map[uint64]uint16, checkNil bool, d *Decoder) {
  21583. v, changed := f.DecMapUint64Uint16V(*vp, checkNil, true, d)
  21584. if changed {
  21585. *vp = v
  21586. }
  21587. }
  21588. func (_ fastpathT) DecMapUint64Uint16V(v map[uint64]uint16, checkNil bool, canChange bool,
  21589. d *Decoder) (_ map[uint64]uint16, changed bool) {
  21590. dd := d.d
  21591. if checkNil && dd.TryDecodeAsNil() {
  21592. if v != nil {
  21593. changed = true
  21594. }
  21595. return nil, changed
  21596. }
  21597. containerLen := dd.ReadMapStart()
  21598. if canChange && v == nil {
  21599. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  21600. v = make(map[uint64]uint16, xlen)
  21601. changed = true
  21602. }
  21603. var mk uint64
  21604. var mv uint16
  21605. if containerLen > 0 {
  21606. for j := 0; j < containerLen; j++ {
  21607. mk = dd.DecodeUint(64)
  21608. mv = uint16(dd.DecodeUint(16))
  21609. if v != nil {
  21610. v[mk] = mv
  21611. }
  21612. }
  21613. } else if containerLen < 0 {
  21614. for j := 0; !dd.CheckBreak(); j++ {
  21615. mk = dd.DecodeUint(64)
  21616. mv = uint16(dd.DecodeUint(16))
  21617. if v != nil {
  21618. v[mk] = mv
  21619. }
  21620. }
  21621. dd.ReadEnd()
  21622. }
  21623. return v, changed
  21624. }
  21625. func (f *decFnInfo) fastpathDecMapUint64Uint32R(rv reflect.Value) {
  21626. if rv.CanAddr() {
  21627. vp := rv.Addr().Interface().(*map[uint64]uint32)
  21628. v, changed := fastpathTV.DecMapUint64Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  21629. if changed {
  21630. *vp = v
  21631. }
  21632. } else {
  21633. v := rv.Interface().(map[uint64]uint32)
  21634. fastpathTV.DecMapUint64Uint32V(v, fastpathCheckNilFalse, false, f.d)
  21635. }
  21636. }
  21637. func (f fastpathT) DecMapUint64Uint32X(vp *map[uint64]uint32, checkNil bool, d *Decoder) {
  21638. v, changed := f.DecMapUint64Uint32V(*vp, checkNil, true, d)
  21639. if changed {
  21640. *vp = v
  21641. }
  21642. }
  21643. func (_ fastpathT) DecMapUint64Uint32V(v map[uint64]uint32, checkNil bool, canChange bool,
  21644. d *Decoder) (_ map[uint64]uint32, changed bool) {
  21645. dd := d.d
  21646. if checkNil && dd.TryDecodeAsNil() {
  21647. if v != nil {
  21648. changed = true
  21649. }
  21650. return nil, changed
  21651. }
  21652. containerLen := dd.ReadMapStart()
  21653. if canChange && v == nil {
  21654. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  21655. v = make(map[uint64]uint32, xlen)
  21656. changed = true
  21657. }
  21658. var mk uint64
  21659. var mv uint32
  21660. if containerLen > 0 {
  21661. for j := 0; j < containerLen; j++ {
  21662. mk = dd.DecodeUint(64)
  21663. mv = uint32(dd.DecodeUint(32))
  21664. if v != nil {
  21665. v[mk] = mv
  21666. }
  21667. }
  21668. } else if containerLen < 0 {
  21669. for j := 0; !dd.CheckBreak(); j++ {
  21670. mk = dd.DecodeUint(64)
  21671. mv = uint32(dd.DecodeUint(32))
  21672. if v != nil {
  21673. v[mk] = mv
  21674. }
  21675. }
  21676. dd.ReadEnd()
  21677. }
  21678. return v, changed
  21679. }
  21680. func (f *decFnInfo) fastpathDecMapUint64Uint64R(rv reflect.Value) {
  21681. if rv.CanAddr() {
  21682. vp := rv.Addr().Interface().(*map[uint64]uint64)
  21683. v, changed := fastpathTV.DecMapUint64Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  21684. if changed {
  21685. *vp = v
  21686. }
  21687. } else {
  21688. v := rv.Interface().(map[uint64]uint64)
  21689. fastpathTV.DecMapUint64Uint64V(v, fastpathCheckNilFalse, false, f.d)
  21690. }
  21691. }
  21692. func (f fastpathT) DecMapUint64Uint64X(vp *map[uint64]uint64, checkNil bool, d *Decoder) {
  21693. v, changed := f.DecMapUint64Uint64V(*vp, checkNil, true, d)
  21694. if changed {
  21695. *vp = v
  21696. }
  21697. }
  21698. func (_ fastpathT) DecMapUint64Uint64V(v map[uint64]uint64, checkNil bool, canChange bool,
  21699. d *Decoder) (_ map[uint64]uint64, changed bool) {
  21700. dd := d.d
  21701. if checkNil && dd.TryDecodeAsNil() {
  21702. if v != nil {
  21703. changed = true
  21704. }
  21705. return nil, changed
  21706. }
  21707. containerLen := dd.ReadMapStart()
  21708. if canChange && v == nil {
  21709. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  21710. v = make(map[uint64]uint64, xlen)
  21711. changed = true
  21712. }
  21713. var mk uint64
  21714. var mv uint64
  21715. if containerLen > 0 {
  21716. for j := 0; j < containerLen; j++ {
  21717. mk = dd.DecodeUint(64)
  21718. mv = dd.DecodeUint(64)
  21719. if v != nil {
  21720. v[mk] = mv
  21721. }
  21722. }
  21723. } else if containerLen < 0 {
  21724. for j := 0; !dd.CheckBreak(); j++ {
  21725. mk = dd.DecodeUint(64)
  21726. mv = dd.DecodeUint(64)
  21727. if v != nil {
  21728. v[mk] = mv
  21729. }
  21730. }
  21731. dd.ReadEnd()
  21732. }
  21733. return v, changed
  21734. }
  21735. func (f *decFnInfo) fastpathDecMapUint64UintptrR(rv reflect.Value) {
  21736. if rv.CanAddr() {
  21737. vp := rv.Addr().Interface().(*map[uint64]uintptr)
  21738. v, changed := fastpathTV.DecMapUint64UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  21739. if changed {
  21740. *vp = v
  21741. }
  21742. } else {
  21743. v := rv.Interface().(map[uint64]uintptr)
  21744. fastpathTV.DecMapUint64UintptrV(v, fastpathCheckNilFalse, false, f.d)
  21745. }
  21746. }
  21747. func (f fastpathT) DecMapUint64UintptrX(vp *map[uint64]uintptr, checkNil bool, d *Decoder) {
  21748. v, changed := f.DecMapUint64UintptrV(*vp, checkNil, true, d)
  21749. if changed {
  21750. *vp = v
  21751. }
  21752. }
  21753. func (_ fastpathT) DecMapUint64UintptrV(v map[uint64]uintptr, checkNil bool, canChange bool,
  21754. d *Decoder) (_ map[uint64]uintptr, changed bool) {
  21755. dd := d.d
  21756. if checkNil && dd.TryDecodeAsNil() {
  21757. if v != nil {
  21758. changed = true
  21759. }
  21760. return nil, changed
  21761. }
  21762. containerLen := dd.ReadMapStart()
  21763. if canChange && v == nil {
  21764. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  21765. v = make(map[uint64]uintptr, xlen)
  21766. changed = true
  21767. }
  21768. var mk uint64
  21769. var mv uintptr
  21770. if containerLen > 0 {
  21771. for j := 0; j < containerLen; j++ {
  21772. mk = dd.DecodeUint(64)
  21773. mv = uintptr(dd.DecodeUint(uintBitsize))
  21774. if v != nil {
  21775. v[mk] = mv
  21776. }
  21777. }
  21778. } else if containerLen < 0 {
  21779. for j := 0; !dd.CheckBreak(); j++ {
  21780. mk = dd.DecodeUint(64)
  21781. mv = uintptr(dd.DecodeUint(uintBitsize))
  21782. if v != nil {
  21783. v[mk] = mv
  21784. }
  21785. }
  21786. dd.ReadEnd()
  21787. }
  21788. return v, changed
  21789. }
  21790. func (f *decFnInfo) fastpathDecMapUint64IntR(rv reflect.Value) {
  21791. if rv.CanAddr() {
  21792. vp := rv.Addr().Interface().(*map[uint64]int)
  21793. v, changed := fastpathTV.DecMapUint64IntV(*vp, fastpathCheckNilFalse, true, f.d)
  21794. if changed {
  21795. *vp = v
  21796. }
  21797. } else {
  21798. v := rv.Interface().(map[uint64]int)
  21799. fastpathTV.DecMapUint64IntV(v, fastpathCheckNilFalse, false, f.d)
  21800. }
  21801. }
  21802. func (f fastpathT) DecMapUint64IntX(vp *map[uint64]int, checkNil bool, d *Decoder) {
  21803. v, changed := f.DecMapUint64IntV(*vp, checkNil, true, d)
  21804. if changed {
  21805. *vp = v
  21806. }
  21807. }
  21808. func (_ fastpathT) DecMapUint64IntV(v map[uint64]int, checkNil bool, canChange bool,
  21809. d *Decoder) (_ map[uint64]int, changed bool) {
  21810. dd := d.d
  21811. if checkNil && dd.TryDecodeAsNil() {
  21812. if v != nil {
  21813. changed = true
  21814. }
  21815. return nil, changed
  21816. }
  21817. containerLen := dd.ReadMapStart()
  21818. if canChange && v == nil {
  21819. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  21820. v = make(map[uint64]int, xlen)
  21821. changed = true
  21822. }
  21823. var mk uint64
  21824. var mv int
  21825. if containerLen > 0 {
  21826. for j := 0; j < containerLen; j++ {
  21827. mk = dd.DecodeUint(64)
  21828. mv = int(dd.DecodeInt(intBitsize))
  21829. if v != nil {
  21830. v[mk] = mv
  21831. }
  21832. }
  21833. } else if containerLen < 0 {
  21834. for j := 0; !dd.CheckBreak(); j++ {
  21835. mk = dd.DecodeUint(64)
  21836. mv = int(dd.DecodeInt(intBitsize))
  21837. if v != nil {
  21838. v[mk] = mv
  21839. }
  21840. }
  21841. dd.ReadEnd()
  21842. }
  21843. return v, changed
  21844. }
  21845. func (f *decFnInfo) fastpathDecMapUint64Int8R(rv reflect.Value) {
  21846. if rv.CanAddr() {
  21847. vp := rv.Addr().Interface().(*map[uint64]int8)
  21848. v, changed := fastpathTV.DecMapUint64Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  21849. if changed {
  21850. *vp = v
  21851. }
  21852. } else {
  21853. v := rv.Interface().(map[uint64]int8)
  21854. fastpathTV.DecMapUint64Int8V(v, fastpathCheckNilFalse, false, f.d)
  21855. }
  21856. }
  21857. func (f fastpathT) DecMapUint64Int8X(vp *map[uint64]int8, checkNil bool, d *Decoder) {
  21858. v, changed := f.DecMapUint64Int8V(*vp, checkNil, true, d)
  21859. if changed {
  21860. *vp = v
  21861. }
  21862. }
  21863. func (_ fastpathT) DecMapUint64Int8V(v map[uint64]int8, checkNil bool, canChange bool,
  21864. d *Decoder) (_ map[uint64]int8, changed bool) {
  21865. dd := d.d
  21866. if checkNil && dd.TryDecodeAsNil() {
  21867. if v != nil {
  21868. changed = true
  21869. }
  21870. return nil, changed
  21871. }
  21872. containerLen := dd.ReadMapStart()
  21873. if canChange && v == nil {
  21874. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  21875. v = make(map[uint64]int8, xlen)
  21876. changed = true
  21877. }
  21878. var mk uint64
  21879. var mv int8
  21880. if containerLen > 0 {
  21881. for j := 0; j < containerLen; j++ {
  21882. mk = dd.DecodeUint(64)
  21883. mv = int8(dd.DecodeInt(8))
  21884. if v != nil {
  21885. v[mk] = mv
  21886. }
  21887. }
  21888. } else if containerLen < 0 {
  21889. for j := 0; !dd.CheckBreak(); j++ {
  21890. mk = dd.DecodeUint(64)
  21891. mv = int8(dd.DecodeInt(8))
  21892. if v != nil {
  21893. v[mk] = mv
  21894. }
  21895. }
  21896. dd.ReadEnd()
  21897. }
  21898. return v, changed
  21899. }
  21900. func (f *decFnInfo) fastpathDecMapUint64Int16R(rv reflect.Value) {
  21901. if rv.CanAddr() {
  21902. vp := rv.Addr().Interface().(*map[uint64]int16)
  21903. v, changed := fastpathTV.DecMapUint64Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  21904. if changed {
  21905. *vp = v
  21906. }
  21907. } else {
  21908. v := rv.Interface().(map[uint64]int16)
  21909. fastpathTV.DecMapUint64Int16V(v, fastpathCheckNilFalse, false, f.d)
  21910. }
  21911. }
  21912. func (f fastpathT) DecMapUint64Int16X(vp *map[uint64]int16, checkNil bool, d *Decoder) {
  21913. v, changed := f.DecMapUint64Int16V(*vp, checkNil, true, d)
  21914. if changed {
  21915. *vp = v
  21916. }
  21917. }
  21918. func (_ fastpathT) DecMapUint64Int16V(v map[uint64]int16, checkNil bool, canChange bool,
  21919. d *Decoder) (_ map[uint64]int16, changed bool) {
  21920. dd := d.d
  21921. if checkNil && dd.TryDecodeAsNil() {
  21922. if v != nil {
  21923. changed = true
  21924. }
  21925. return nil, changed
  21926. }
  21927. containerLen := dd.ReadMapStart()
  21928. if canChange && v == nil {
  21929. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  21930. v = make(map[uint64]int16, xlen)
  21931. changed = true
  21932. }
  21933. var mk uint64
  21934. var mv int16
  21935. if containerLen > 0 {
  21936. for j := 0; j < containerLen; j++ {
  21937. mk = dd.DecodeUint(64)
  21938. mv = int16(dd.DecodeInt(16))
  21939. if v != nil {
  21940. v[mk] = mv
  21941. }
  21942. }
  21943. } else if containerLen < 0 {
  21944. for j := 0; !dd.CheckBreak(); j++ {
  21945. mk = dd.DecodeUint(64)
  21946. mv = int16(dd.DecodeInt(16))
  21947. if v != nil {
  21948. v[mk] = mv
  21949. }
  21950. }
  21951. dd.ReadEnd()
  21952. }
  21953. return v, changed
  21954. }
  21955. func (f *decFnInfo) fastpathDecMapUint64Int32R(rv reflect.Value) {
  21956. if rv.CanAddr() {
  21957. vp := rv.Addr().Interface().(*map[uint64]int32)
  21958. v, changed := fastpathTV.DecMapUint64Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  21959. if changed {
  21960. *vp = v
  21961. }
  21962. } else {
  21963. v := rv.Interface().(map[uint64]int32)
  21964. fastpathTV.DecMapUint64Int32V(v, fastpathCheckNilFalse, false, f.d)
  21965. }
  21966. }
  21967. func (f fastpathT) DecMapUint64Int32X(vp *map[uint64]int32, checkNil bool, d *Decoder) {
  21968. v, changed := f.DecMapUint64Int32V(*vp, checkNil, true, d)
  21969. if changed {
  21970. *vp = v
  21971. }
  21972. }
  21973. func (_ fastpathT) DecMapUint64Int32V(v map[uint64]int32, checkNil bool, canChange bool,
  21974. d *Decoder) (_ map[uint64]int32, changed bool) {
  21975. dd := d.d
  21976. if checkNil && dd.TryDecodeAsNil() {
  21977. if v != nil {
  21978. changed = true
  21979. }
  21980. return nil, changed
  21981. }
  21982. containerLen := dd.ReadMapStart()
  21983. if canChange && v == nil {
  21984. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  21985. v = make(map[uint64]int32, xlen)
  21986. changed = true
  21987. }
  21988. var mk uint64
  21989. var mv int32
  21990. if containerLen > 0 {
  21991. for j := 0; j < containerLen; j++ {
  21992. mk = dd.DecodeUint(64)
  21993. mv = int32(dd.DecodeInt(32))
  21994. if v != nil {
  21995. v[mk] = mv
  21996. }
  21997. }
  21998. } else if containerLen < 0 {
  21999. for j := 0; !dd.CheckBreak(); j++ {
  22000. mk = dd.DecodeUint(64)
  22001. mv = int32(dd.DecodeInt(32))
  22002. if v != nil {
  22003. v[mk] = mv
  22004. }
  22005. }
  22006. dd.ReadEnd()
  22007. }
  22008. return v, changed
  22009. }
  22010. func (f *decFnInfo) fastpathDecMapUint64Int64R(rv reflect.Value) {
  22011. if rv.CanAddr() {
  22012. vp := rv.Addr().Interface().(*map[uint64]int64)
  22013. v, changed := fastpathTV.DecMapUint64Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  22014. if changed {
  22015. *vp = v
  22016. }
  22017. } else {
  22018. v := rv.Interface().(map[uint64]int64)
  22019. fastpathTV.DecMapUint64Int64V(v, fastpathCheckNilFalse, false, f.d)
  22020. }
  22021. }
  22022. func (f fastpathT) DecMapUint64Int64X(vp *map[uint64]int64, checkNil bool, d *Decoder) {
  22023. v, changed := f.DecMapUint64Int64V(*vp, checkNil, true, d)
  22024. if changed {
  22025. *vp = v
  22026. }
  22027. }
  22028. func (_ fastpathT) DecMapUint64Int64V(v map[uint64]int64, checkNil bool, canChange bool,
  22029. d *Decoder) (_ map[uint64]int64, changed bool) {
  22030. dd := d.d
  22031. if checkNil && dd.TryDecodeAsNil() {
  22032. if v != nil {
  22033. changed = true
  22034. }
  22035. return nil, changed
  22036. }
  22037. containerLen := dd.ReadMapStart()
  22038. if canChange && v == nil {
  22039. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22040. v = make(map[uint64]int64, xlen)
  22041. changed = true
  22042. }
  22043. var mk uint64
  22044. var mv int64
  22045. if containerLen > 0 {
  22046. for j := 0; j < containerLen; j++ {
  22047. mk = dd.DecodeUint(64)
  22048. mv = dd.DecodeInt(64)
  22049. if v != nil {
  22050. v[mk] = mv
  22051. }
  22052. }
  22053. } else if containerLen < 0 {
  22054. for j := 0; !dd.CheckBreak(); j++ {
  22055. mk = dd.DecodeUint(64)
  22056. mv = dd.DecodeInt(64)
  22057. if v != nil {
  22058. v[mk] = mv
  22059. }
  22060. }
  22061. dd.ReadEnd()
  22062. }
  22063. return v, changed
  22064. }
  22065. func (f *decFnInfo) fastpathDecMapUint64Float32R(rv reflect.Value) {
  22066. if rv.CanAddr() {
  22067. vp := rv.Addr().Interface().(*map[uint64]float32)
  22068. v, changed := fastpathTV.DecMapUint64Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  22069. if changed {
  22070. *vp = v
  22071. }
  22072. } else {
  22073. v := rv.Interface().(map[uint64]float32)
  22074. fastpathTV.DecMapUint64Float32V(v, fastpathCheckNilFalse, false, f.d)
  22075. }
  22076. }
  22077. func (f fastpathT) DecMapUint64Float32X(vp *map[uint64]float32, checkNil bool, d *Decoder) {
  22078. v, changed := f.DecMapUint64Float32V(*vp, checkNil, true, d)
  22079. if changed {
  22080. *vp = v
  22081. }
  22082. }
  22083. func (_ fastpathT) DecMapUint64Float32V(v map[uint64]float32, checkNil bool, canChange bool,
  22084. d *Decoder) (_ map[uint64]float32, changed bool) {
  22085. dd := d.d
  22086. if checkNil && dd.TryDecodeAsNil() {
  22087. if v != nil {
  22088. changed = true
  22089. }
  22090. return nil, changed
  22091. }
  22092. containerLen := dd.ReadMapStart()
  22093. if canChange && v == nil {
  22094. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  22095. v = make(map[uint64]float32, xlen)
  22096. changed = true
  22097. }
  22098. var mk uint64
  22099. var mv float32
  22100. if containerLen > 0 {
  22101. for j := 0; j < containerLen; j++ {
  22102. mk = dd.DecodeUint(64)
  22103. mv = float32(dd.DecodeFloat(true))
  22104. if v != nil {
  22105. v[mk] = mv
  22106. }
  22107. }
  22108. } else if containerLen < 0 {
  22109. for j := 0; !dd.CheckBreak(); j++ {
  22110. mk = dd.DecodeUint(64)
  22111. mv = float32(dd.DecodeFloat(true))
  22112. if v != nil {
  22113. v[mk] = mv
  22114. }
  22115. }
  22116. dd.ReadEnd()
  22117. }
  22118. return v, changed
  22119. }
  22120. func (f *decFnInfo) fastpathDecMapUint64Float64R(rv reflect.Value) {
  22121. if rv.CanAddr() {
  22122. vp := rv.Addr().Interface().(*map[uint64]float64)
  22123. v, changed := fastpathTV.DecMapUint64Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  22124. if changed {
  22125. *vp = v
  22126. }
  22127. } else {
  22128. v := rv.Interface().(map[uint64]float64)
  22129. fastpathTV.DecMapUint64Float64V(v, fastpathCheckNilFalse, false, f.d)
  22130. }
  22131. }
  22132. func (f fastpathT) DecMapUint64Float64X(vp *map[uint64]float64, checkNil bool, d *Decoder) {
  22133. v, changed := f.DecMapUint64Float64V(*vp, checkNil, true, d)
  22134. if changed {
  22135. *vp = v
  22136. }
  22137. }
  22138. func (_ fastpathT) DecMapUint64Float64V(v map[uint64]float64, checkNil bool, canChange bool,
  22139. d *Decoder) (_ map[uint64]float64, changed bool) {
  22140. dd := d.d
  22141. if checkNil && dd.TryDecodeAsNil() {
  22142. if v != nil {
  22143. changed = true
  22144. }
  22145. return nil, changed
  22146. }
  22147. containerLen := dd.ReadMapStart()
  22148. if canChange && v == nil {
  22149. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22150. v = make(map[uint64]float64, xlen)
  22151. changed = true
  22152. }
  22153. var mk uint64
  22154. var mv float64
  22155. if containerLen > 0 {
  22156. for j := 0; j < containerLen; j++ {
  22157. mk = dd.DecodeUint(64)
  22158. mv = dd.DecodeFloat(false)
  22159. if v != nil {
  22160. v[mk] = mv
  22161. }
  22162. }
  22163. } else if containerLen < 0 {
  22164. for j := 0; !dd.CheckBreak(); j++ {
  22165. mk = dd.DecodeUint(64)
  22166. mv = dd.DecodeFloat(false)
  22167. if v != nil {
  22168. v[mk] = mv
  22169. }
  22170. }
  22171. dd.ReadEnd()
  22172. }
  22173. return v, changed
  22174. }
  22175. func (f *decFnInfo) fastpathDecMapUint64BoolR(rv reflect.Value) {
  22176. if rv.CanAddr() {
  22177. vp := rv.Addr().Interface().(*map[uint64]bool)
  22178. v, changed := fastpathTV.DecMapUint64BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  22179. if changed {
  22180. *vp = v
  22181. }
  22182. } else {
  22183. v := rv.Interface().(map[uint64]bool)
  22184. fastpathTV.DecMapUint64BoolV(v, fastpathCheckNilFalse, false, f.d)
  22185. }
  22186. }
  22187. func (f fastpathT) DecMapUint64BoolX(vp *map[uint64]bool, checkNil bool, d *Decoder) {
  22188. v, changed := f.DecMapUint64BoolV(*vp, checkNil, true, d)
  22189. if changed {
  22190. *vp = v
  22191. }
  22192. }
  22193. func (_ fastpathT) DecMapUint64BoolV(v map[uint64]bool, checkNil bool, canChange bool,
  22194. d *Decoder) (_ map[uint64]bool, changed bool) {
  22195. dd := d.d
  22196. if checkNil && dd.TryDecodeAsNil() {
  22197. if v != nil {
  22198. changed = true
  22199. }
  22200. return nil, changed
  22201. }
  22202. containerLen := dd.ReadMapStart()
  22203. if canChange && v == nil {
  22204. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  22205. v = make(map[uint64]bool, xlen)
  22206. changed = true
  22207. }
  22208. var mk uint64
  22209. var mv bool
  22210. if containerLen > 0 {
  22211. for j := 0; j < containerLen; j++ {
  22212. mk = dd.DecodeUint(64)
  22213. mv = dd.DecodeBool()
  22214. if v != nil {
  22215. v[mk] = mv
  22216. }
  22217. }
  22218. } else if containerLen < 0 {
  22219. for j := 0; !dd.CheckBreak(); j++ {
  22220. mk = dd.DecodeUint(64)
  22221. mv = dd.DecodeBool()
  22222. if v != nil {
  22223. v[mk] = mv
  22224. }
  22225. }
  22226. dd.ReadEnd()
  22227. }
  22228. return v, changed
  22229. }
  22230. func (f *decFnInfo) fastpathDecMapUintptrIntfR(rv reflect.Value) {
  22231. if rv.CanAddr() {
  22232. vp := rv.Addr().Interface().(*map[uintptr]interface{})
  22233. v, changed := fastpathTV.DecMapUintptrIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  22234. if changed {
  22235. *vp = v
  22236. }
  22237. } else {
  22238. v := rv.Interface().(map[uintptr]interface{})
  22239. fastpathTV.DecMapUintptrIntfV(v, fastpathCheckNilFalse, false, f.d)
  22240. }
  22241. }
  22242. func (f fastpathT) DecMapUintptrIntfX(vp *map[uintptr]interface{}, checkNil bool, d *Decoder) {
  22243. v, changed := f.DecMapUintptrIntfV(*vp, checkNil, true, d)
  22244. if changed {
  22245. *vp = v
  22246. }
  22247. }
  22248. func (_ fastpathT) DecMapUintptrIntfV(v map[uintptr]interface{}, checkNil bool, canChange bool,
  22249. d *Decoder) (_ map[uintptr]interface{}, changed bool) {
  22250. dd := d.d
  22251. if checkNil && dd.TryDecodeAsNil() {
  22252. if v != nil {
  22253. changed = true
  22254. }
  22255. return nil, changed
  22256. }
  22257. containerLen := dd.ReadMapStart()
  22258. if canChange && v == nil {
  22259. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  22260. v = make(map[uintptr]interface{}, xlen)
  22261. changed = true
  22262. }
  22263. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  22264. var mk uintptr
  22265. var mv interface{}
  22266. if containerLen > 0 {
  22267. for j := 0; j < containerLen; j++ {
  22268. mk = uintptr(dd.DecodeUint(uintBitsize))
  22269. if mapGet {
  22270. mv = v[mk]
  22271. } else {
  22272. mv = nil
  22273. }
  22274. d.decode(&mv)
  22275. if v != nil {
  22276. v[mk] = mv
  22277. }
  22278. }
  22279. } else if containerLen < 0 {
  22280. for j := 0; !dd.CheckBreak(); j++ {
  22281. mk = uintptr(dd.DecodeUint(uintBitsize))
  22282. if mapGet {
  22283. mv = v[mk]
  22284. } else {
  22285. mv = nil
  22286. }
  22287. d.decode(&mv)
  22288. if v != nil {
  22289. v[mk] = mv
  22290. }
  22291. }
  22292. dd.ReadEnd()
  22293. }
  22294. return v, changed
  22295. }
  22296. func (f *decFnInfo) fastpathDecMapUintptrStringR(rv reflect.Value) {
  22297. if rv.CanAddr() {
  22298. vp := rv.Addr().Interface().(*map[uintptr]string)
  22299. v, changed := fastpathTV.DecMapUintptrStringV(*vp, fastpathCheckNilFalse, true, f.d)
  22300. if changed {
  22301. *vp = v
  22302. }
  22303. } else {
  22304. v := rv.Interface().(map[uintptr]string)
  22305. fastpathTV.DecMapUintptrStringV(v, fastpathCheckNilFalse, false, f.d)
  22306. }
  22307. }
  22308. func (f fastpathT) DecMapUintptrStringX(vp *map[uintptr]string, checkNil bool, d *Decoder) {
  22309. v, changed := f.DecMapUintptrStringV(*vp, checkNil, true, d)
  22310. if changed {
  22311. *vp = v
  22312. }
  22313. }
  22314. func (_ fastpathT) DecMapUintptrStringV(v map[uintptr]string, checkNil bool, canChange bool,
  22315. d *Decoder) (_ map[uintptr]string, changed bool) {
  22316. dd := d.d
  22317. if checkNil && dd.TryDecodeAsNil() {
  22318. if v != nil {
  22319. changed = true
  22320. }
  22321. return nil, changed
  22322. }
  22323. containerLen := dd.ReadMapStart()
  22324. if canChange && v == nil {
  22325. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  22326. v = make(map[uintptr]string, xlen)
  22327. changed = true
  22328. }
  22329. var mk uintptr
  22330. var mv string
  22331. if containerLen > 0 {
  22332. for j := 0; j < containerLen; j++ {
  22333. mk = uintptr(dd.DecodeUint(uintBitsize))
  22334. mv = dd.DecodeString()
  22335. if v != nil {
  22336. v[mk] = mv
  22337. }
  22338. }
  22339. } else if containerLen < 0 {
  22340. for j := 0; !dd.CheckBreak(); j++ {
  22341. mk = uintptr(dd.DecodeUint(uintBitsize))
  22342. mv = dd.DecodeString()
  22343. if v != nil {
  22344. v[mk] = mv
  22345. }
  22346. }
  22347. dd.ReadEnd()
  22348. }
  22349. return v, changed
  22350. }
  22351. func (f *decFnInfo) fastpathDecMapUintptrUintR(rv reflect.Value) {
  22352. if rv.CanAddr() {
  22353. vp := rv.Addr().Interface().(*map[uintptr]uint)
  22354. v, changed := fastpathTV.DecMapUintptrUintV(*vp, fastpathCheckNilFalse, true, f.d)
  22355. if changed {
  22356. *vp = v
  22357. }
  22358. } else {
  22359. v := rv.Interface().(map[uintptr]uint)
  22360. fastpathTV.DecMapUintptrUintV(v, fastpathCheckNilFalse, false, f.d)
  22361. }
  22362. }
  22363. func (f fastpathT) DecMapUintptrUintX(vp *map[uintptr]uint, checkNil bool, d *Decoder) {
  22364. v, changed := f.DecMapUintptrUintV(*vp, checkNil, true, d)
  22365. if changed {
  22366. *vp = v
  22367. }
  22368. }
  22369. func (_ fastpathT) DecMapUintptrUintV(v map[uintptr]uint, checkNil bool, canChange bool,
  22370. d *Decoder) (_ map[uintptr]uint, changed bool) {
  22371. dd := d.d
  22372. if checkNil && dd.TryDecodeAsNil() {
  22373. if v != nil {
  22374. changed = true
  22375. }
  22376. return nil, changed
  22377. }
  22378. containerLen := dd.ReadMapStart()
  22379. if canChange && v == nil {
  22380. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22381. v = make(map[uintptr]uint, xlen)
  22382. changed = true
  22383. }
  22384. var mk uintptr
  22385. var mv uint
  22386. if containerLen > 0 {
  22387. for j := 0; j < containerLen; j++ {
  22388. mk = uintptr(dd.DecodeUint(uintBitsize))
  22389. mv = uint(dd.DecodeUint(uintBitsize))
  22390. if v != nil {
  22391. v[mk] = mv
  22392. }
  22393. }
  22394. } else if containerLen < 0 {
  22395. for j := 0; !dd.CheckBreak(); j++ {
  22396. mk = uintptr(dd.DecodeUint(uintBitsize))
  22397. mv = uint(dd.DecodeUint(uintBitsize))
  22398. if v != nil {
  22399. v[mk] = mv
  22400. }
  22401. }
  22402. dd.ReadEnd()
  22403. }
  22404. return v, changed
  22405. }
  22406. func (f *decFnInfo) fastpathDecMapUintptrUint8R(rv reflect.Value) {
  22407. if rv.CanAddr() {
  22408. vp := rv.Addr().Interface().(*map[uintptr]uint8)
  22409. v, changed := fastpathTV.DecMapUintptrUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  22410. if changed {
  22411. *vp = v
  22412. }
  22413. } else {
  22414. v := rv.Interface().(map[uintptr]uint8)
  22415. fastpathTV.DecMapUintptrUint8V(v, fastpathCheckNilFalse, false, f.d)
  22416. }
  22417. }
  22418. func (f fastpathT) DecMapUintptrUint8X(vp *map[uintptr]uint8, checkNil bool, d *Decoder) {
  22419. v, changed := f.DecMapUintptrUint8V(*vp, checkNil, true, d)
  22420. if changed {
  22421. *vp = v
  22422. }
  22423. }
  22424. func (_ fastpathT) DecMapUintptrUint8V(v map[uintptr]uint8, checkNil bool, canChange bool,
  22425. d *Decoder) (_ map[uintptr]uint8, changed bool) {
  22426. dd := d.d
  22427. if checkNil && dd.TryDecodeAsNil() {
  22428. if v != nil {
  22429. changed = true
  22430. }
  22431. return nil, changed
  22432. }
  22433. containerLen := dd.ReadMapStart()
  22434. if canChange && v == nil {
  22435. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  22436. v = make(map[uintptr]uint8, xlen)
  22437. changed = true
  22438. }
  22439. var mk uintptr
  22440. var mv uint8
  22441. if containerLen > 0 {
  22442. for j := 0; j < containerLen; j++ {
  22443. mk = uintptr(dd.DecodeUint(uintBitsize))
  22444. mv = uint8(dd.DecodeUint(8))
  22445. if v != nil {
  22446. v[mk] = mv
  22447. }
  22448. }
  22449. } else if containerLen < 0 {
  22450. for j := 0; !dd.CheckBreak(); j++ {
  22451. mk = uintptr(dd.DecodeUint(uintBitsize))
  22452. mv = uint8(dd.DecodeUint(8))
  22453. if v != nil {
  22454. v[mk] = mv
  22455. }
  22456. }
  22457. dd.ReadEnd()
  22458. }
  22459. return v, changed
  22460. }
  22461. func (f *decFnInfo) fastpathDecMapUintptrUint16R(rv reflect.Value) {
  22462. if rv.CanAddr() {
  22463. vp := rv.Addr().Interface().(*map[uintptr]uint16)
  22464. v, changed := fastpathTV.DecMapUintptrUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  22465. if changed {
  22466. *vp = v
  22467. }
  22468. } else {
  22469. v := rv.Interface().(map[uintptr]uint16)
  22470. fastpathTV.DecMapUintptrUint16V(v, fastpathCheckNilFalse, false, f.d)
  22471. }
  22472. }
  22473. func (f fastpathT) DecMapUintptrUint16X(vp *map[uintptr]uint16, checkNil bool, d *Decoder) {
  22474. v, changed := f.DecMapUintptrUint16V(*vp, checkNil, true, d)
  22475. if changed {
  22476. *vp = v
  22477. }
  22478. }
  22479. func (_ fastpathT) DecMapUintptrUint16V(v map[uintptr]uint16, checkNil bool, canChange bool,
  22480. d *Decoder) (_ map[uintptr]uint16, changed bool) {
  22481. dd := d.d
  22482. if checkNil && dd.TryDecodeAsNil() {
  22483. if v != nil {
  22484. changed = true
  22485. }
  22486. return nil, changed
  22487. }
  22488. containerLen := dd.ReadMapStart()
  22489. if canChange && v == nil {
  22490. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  22491. v = make(map[uintptr]uint16, xlen)
  22492. changed = true
  22493. }
  22494. var mk uintptr
  22495. var mv uint16
  22496. if containerLen > 0 {
  22497. for j := 0; j < containerLen; j++ {
  22498. mk = uintptr(dd.DecodeUint(uintBitsize))
  22499. mv = uint16(dd.DecodeUint(16))
  22500. if v != nil {
  22501. v[mk] = mv
  22502. }
  22503. }
  22504. } else if containerLen < 0 {
  22505. for j := 0; !dd.CheckBreak(); j++ {
  22506. mk = uintptr(dd.DecodeUint(uintBitsize))
  22507. mv = uint16(dd.DecodeUint(16))
  22508. if v != nil {
  22509. v[mk] = mv
  22510. }
  22511. }
  22512. dd.ReadEnd()
  22513. }
  22514. return v, changed
  22515. }
  22516. func (f *decFnInfo) fastpathDecMapUintptrUint32R(rv reflect.Value) {
  22517. if rv.CanAddr() {
  22518. vp := rv.Addr().Interface().(*map[uintptr]uint32)
  22519. v, changed := fastpathTV.DecMapUintptrUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  22520. if changed {
  22521. *vp = v
  22522. }
  22523. } else {
  22524. v := rv.Interface().(map[uintptr]uint32)
  22525. fastpathTV.DecMapUintptrUint32V(v, fastpathCheckNilFalse, false, f.d)
  22526. }
  22527. }
  22528. func (f fastpathT) DecMapUintptrUint32X(vp *map[uintptr]uint32, checkNil bool, d *Decoder) {
  22529. v, changed := f.DecMapUintptrUint32V(*vp, checkNil, true, d)
  22530. if changed {
  22531. *vp = v
  22532. }
  22533. }
  22534. func (_ fastpathT) DecMapUintptrUint32V(v map[uintptr]uint32, checkNil bool, canChange bool,
  22535. d *Decoder) (_ map[uintptr]uint32, changed bool) {
  22536. dd := d.d
  22537. if checkNil && dd.TryDecodeAsNil() {
  22538. if v != nil {
  22539. changed = true
  22540. }
  22541. return nil, changed
  22542. }
  22543. containerLen := dd.ReadMapStart()
  22544. if canChange && v == nil {
  22545. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  22546. v = make(map[uintptr]uint32, xlen)
  22547. changed = true
  22548. }
  22549. var mk uintptr
  22550. var mv uint32
  22551. if containerLen > 0 {
  22552. for j := 0; j < containerLen; j++ {
  22553. mk = uintptr(dd.DecodeUint(uintBitsize))
  22554. mv = uint32(dd.DecodeUint(32))
  22555. if v != nil {
  22556. v[mk] = mv
  22557. }
  22558. }
  22559. } else if containerLen < 0 {
  22560. for j := 0; !dd.CheckBreak(); j++ {
  22561. mk = uintptr(dd.DecodeUint(uintBitsize))
  22562. mv = uint32(dd.DecodeUint(32))
  22563. if v != nil {
  22564. v[mk] = mv
  22565. }
  22566. }
  22567. dd.ReadEnd()
  22568. }
  22569. return v, changed
  22570. }
  22571. func (f *decFnInfo) fastpathDecMapUintptrUint64R(rv reflect.Value) {
  22572. if rv.CanAddr() {
  22573. vp := rv.Addr().Interface().(*map[uintptr]uint64)
  22574. v, changed := fastpathTV.DecMapUintptrUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  22575. if changed {
  22576. *vp = v
  22577. }
  22578. } else {
  22579. v := rv.Interface().(map[uintptr]uint64)
  22580. fastpathTV.DecMapUintptrUint64V(v, fastpathCheckNilFalse, false, f.d)
  22581. }
  22582. }
  22583. func (f fastpathT) DecMapUintptrUint64X(vp *map[uintptr]uint64, checkNil bool, d *Decoder) {
  22584. v, changed := f.DecMapUintptrUint64V(*vp, checkNil, true, d)
  22585. if changed {
  22586. *vp = v
  22587. }
  22588. }
  22589. func (_ fastpathT) DecMapUintptrUint64V(v map[uintptr]uint64, checkNil bool, canChange bool,
  22590. d *Decoder) (_ map[uintptr]uint64, changed bool) {
  22591. dd := d.d
  22592. if checkNil && dd.TryDecodeAsNil() {
  22593. if v != nil {
  22594. changed = true
  22595. }
  22596. return nil, changed
  22597. }
  22598. containerLen := dd.ReadMapStart()
  22599. if canChange && v == nil {
  22600. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22601. v = make(map[uintptr]uint64, xlen)
  22602. changed = true
  22603. }
  22604. var mk uintptr
  22605. var mv uint64
  22606. if containerLen > 0 {
  22607. for j := 0; j < containerLen; j++ {
  22608. mk = uintptr(dd.DecodeUint(uintBitsize))
  22609. mv = dd.DecodeUint(64)
  22610. if v != nil {
  22611. v[mk] = mv
  22612. }
  22613. }
  22614. } else if containerLen < 0 {
  22615. for j := 0; !dd.CheckBreak(); j++ {
  22616. mk = uintptr(dd.DecodeUint(uintBitsize))
  22617. mv = dd.DecodeUint(64)
  22618. if v != nil {
  22619. v[mk] = mv
  22620. }
  22621. }
  22622. dd.ReadEnd()
  22623. }
  22624. return v, changed
  22625. }
  22626. func (f *decFnInfo) fastpathDecMapUintptrUintptrR(rv reflect.Value) {
  22627. if rv.CanAddr() {
  22628. vp := rv.Addr().Interface().(*map[uintptr]uintptr)
  22629. v, changed := fastpathTV.DecMapUintptrUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  22630. if changed {
  22631. *vp = v
  22632. }
  22633. } else {
  22634. v := rv.Interface().(map[uintptr]uintptr)
  22635. fastpathTV.DecMapUintptrUintptrV(v, fastpathCheckNilFalse, false, f.d)
  22636. }
  22637. }
  22638. func (f fastpathT) DecMapUintptrUintptrX(vp *map[uintptr]uintptr, checkNil bool, d *Decoder) {
  22639. v, changed := f.DecMapUintptrUintptrV(*vp, checkNil, true, d)
  22640. if changed {
  22641. *vp = v
  22642. }
  22643. }
  22644. func (_ fastpathT) DecMapUintptrUintptrV(v map[uintptr]uintptr, checkNil bool, canChange bool,
  22645. d *Decoder) (_ map[uintptr]uintptr, changed bool) {
  22646. dd := d.d
  22647. if checkNil && dd.TryDecodeAsNil() {
  22648. if v != nil {
  22649. changed = true
  22650. }
  22651. return nil, changed
  22652. }
  22653. containerLen := dd.ReadMapStart()
  22654. if canChange && v == nil {
  22655. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22656. v = make(map[uintptr]uintptr, xlen)
  22657. changed = true
  22658. }
  22659. var mk uintptr
  22660. var mv uintptr
  22661. if containerLen > 0 {
  22662. for j := 0; j < containerLen; j++ {
  22663. mk = uintptr(dd.DecodeUint(uintBitsize))
  22664. mv = uintptr(dd.DecodeUint(uintBitsize))
  22665. if v != nil {
  22666. v[mk] = mv
  22667. }
  22668. }
  22669. } else if containerLen < 0 {
  22670. for j := 0; !dd.CheckBreak(); j++ {
  22671. mk = uintptr(dd.DecodeUint(uintBitsize))
  22672. mv = uintptr(dd.DecodeUint(uintBitsize))
  22673. if v != nil {
  22674. v[mk] = mv
  22675. }
  22676. }
  22677. dd.ReadEnd()
  22678. }
  22679. return v, changed
  22680. }
  22681. func (f *decFnInfo) fastpathDecMapUintptrIntR(rv reflect.Value) {
  22682. if rv.CanAddr() {
  22683. vp := rv.Addr().Interface().(*map[uintptr]int)
  22684. v, changed := fastpathTV.DecMapUintptrIntV(*vp, fastpathCheckNilFalse, true, f.d)
  22685. if changed {
  22686. *vp = v
  22687. }
  22688. } else {
  22689. v := rv.Interface().(map[uintptr]int)
  22690. fastpathTV.DecMapUintptrIntV(v, fastpathCheckNilFalse, false, f.d)
  22691. }
  22692. }
  22693. func (f fastpathT) DecMapUintptrIntX(vp *map[uintptr]int, checkNil bool, d *Decoder) {
  22694. v, changed := f.DecMapUintptrIntV(*vp, checkNil, true, d)
  22695. if changed {
  22696. *vp = v
  22697. }
  22698. }
  22699. func (_ fastpathT) DecMapUintptrIntV(v map[uintptr]int, checkNil bool, canChange bool,
  22700. d *Decoder) (_ map[uintptr]int, changed bool) {
  22701. dd := d.d
  22702. if checkNil && dd.TryDecodeAsNil() {
  22703. if v != nil {
  22704. changed = true
  22705. }
  22706. return nil, changed
  22707. }
  22708. containerLen := dd.ReadMapStart()
  22709. if canChange && v == nil {
  22710. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22711. v = make(map[uintptr]int, xlen)
  22712. changed = true
  22713. }
  22714. var mk uintptr
  22715. var mv int
  22716. if containerLen > 0 {
  22717. for j := 0; j < containerLen; j++ {
  22718. mk = uintptr(dd.DecodeUint(uintBitsize))
  22719. mv = int(dd.DecodeInt(intBitsize))
  22720. if v != nil {
  22721. v[mk] = mv
  22722. }
  22723. }
  22724. } else if containerLen < 0 {
  22725. for j := 0; !dd.CheckBreak(); j++ {
  22726. mk = uintptr(dd.DecodeUint(uintBitsize))
  22727. mv = int(dd.DecodeInt(intBitsize))
  22728. if v != nil {
  22729. v[mk] = mv
  22730. }
  22731. }
  22732. dd.ReadEnd()
  22733. }
  22734. return v, changed
  22735. }
  22736. func (f *decFnInfo) fastpathDecMapUintptrInt8R(rv reflect.Value) {
  22737. if rv.CanAddr() {
  22738. vp := rv.Addr().Interface().(*map[uintptr]int8)
  22739. v, changed := fastpathTV.DecMapUintptrInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  22740. if changed {
  22741. *vp = v
  22742. }
  22743. } else {
  22744. v := rv.Interface().(map[uintptr]int8)
  22745. fastpathTV.DecMapUintptrInt8V(v, fastpathCheckNilFalse, false, f.d)
  22746. }
  22747. }
  22748. func (f fastpathT) DecMapUintptrInt8X(vp *map[uintptr]int8, checkNil bool, d *Decoder) {
  22749. v, changed := f.DecMapUintptrInt8V(*vp, checkNil, true, d)
  22750. if changed {
  22751. *vp = v
  22752. }
  22753. }
  22754. func (_ fastpathT) DecMapUintptrInt8V(v map[uintptr]int8, checkNil bool, canChange bool,
  22755. d *Decoder) (_ map[uintptr]int8, changed bool) {
  22756. dd := d.d
  22757. if checkNil && dd.TryDecodeAsNil() {
  22758. if v != nil {
  22759. changed = true
  22760. }
  22761. return nil, changed
  22762. }
  22763. containerLen := dd.ReadMapStart()
  22764. if canChange && v == nil {
  22765. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  22766. v = make(map[uintptr]int8, xlen)
  22767. changed = true
  22768. }
  22769. var mk uintptr
  22770. var mv int8
  22771. if containerLen > 0 {
  22772. for j := 0; j < containerLen; j++ {
  22773. mk = uintptr(dd.DecodeUint(uintBitsize))
  22774. mv = int8(dd.DecodeInt(8))
  22775. if v != nil {
  22776. v[mk] = mv
  22777. }
  22778. }
  22779. } else if containerLen < 0 {
  22780. for j := 0; !dd.CheckBreak(); j++ {
  22781. mk = uintptr(dd.DecodeUint(uintBitsize))
  22782. mv = int8(dd.DecodeInt(8))
  22783. if v != nil {
  22784. v[mk] = mv
  22785. }
  22786. }
  22787. dd.ReadEnd()
  22788. }
  22789. return v, changed
  22790. }
  22791. func (f *decFnInfo) fastpathDecMapUintptrInt16R(rv reflect.Value) {
  22792. if rv.CanAddr() {
  22793. vp := rv.Addr().Interface().(*map[uintptr]int16)
  22794. v, changed := fastpathTV.DecMapUintptrInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  22795. if changed {
  22796. *vp = v
  22797. }
  22798. } else {
  22799. v := rv.Interface().(map[uintptr]int16)
  22800. fastpathTV.DecMapUintptrInt16V(v, fastpathCheckNilFalse, false, f.d)
  22801. }
  22802. }
  22803. func (f fastpathT) DecMapUintptrInt16X(vp *map[uintptr]int16, checkNil bool, d *Decoder) {
  22804. v, changed := f.DecMapUintptrInt16V(*vp, checkNil, true, d)
  22805. if changed {
  22806. *vp = v
  22807. }
  22808. }
  22809. func (_ fastpathT) DecMapUintptrInt16V(v map[uintptr]int16, checkNil bool, canChange bool,
  22810. d *Decoder) (_ map[uintptr]int16, changed bool) {
  22811. dd := d.d
  22812. if checkNil && dd.TryDecodeAsNil() {
  22813. if v != nil {
  22814. changed = true
  22815. }
  22816. return nil, changed
  22817. }
  22818. containerLen := dd.ReadMapStart()
  22819. if canChange && v == nil {
  22820. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  22821. v = make(map[uintptr]int16, xlen)
  22822. changed = true
  22823. }
  22824. var mk uintptr
  22825. var mv int16
  22826. if containerLen > 0 {
  22827. for j := 0; j < containerLen; j++ {
  22828. mk = uintptr(dd.DecodeUint(uintBitsize))
  22829. mv = int16(dd.DecodeInt(16))
  22830. if v != nil {
  22831. v[mk] = mv
  22832. }
  22833. }
  22834. } else if containerLen < 0 {
  22835. for j := 0; !dd.CheckBreak(); j++ {
  22836. mk = uintptr(dd.DecodeUint(uintBitsize))
  22837. mv = int16(dd.DecodeInt(16))
  22838. if v != nil {
  22839. v[mk] = mv
  22840. }
  22841. }
  22842. dd.ReadEnd()
  22843. }
  22844. return v, changed
  22845. }
  22846. func (f *decFnInfo) fastpathDecMapUintptrInt32R(rv reflect.Value) {
  22847. if rv.CanAddr() {
  22848. vp := rv.Addr().Interface().(*map[uintptr]int32)
  22849. v, changed := fastpathTV.DecMapUintptrInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  22850. if changed {
  22851. *vp = v
  22852. }
  22853. } else {
  22854. v := rv.Interface().(map[uintptr]int32)
  22855. fastpathTV.DecMapUintptrInt32V(v, fastpathCheckNilFalse, false, f.d)
  22856. }
  22857. }
  22858. func (f fastpathT) DecMapUintptrInt32X(vp *map[uintptr]int32, checkNil bool, d *Decoder) {
  22859. v, changed := f.DecMapUintptrInt32V(*vp, checkNil, true, d)
  22860. if changed {
  22861. *vp = v
  22862. }
  22863. }
  22864. func (_ fastpathT) DecMapUintptrInt32V(v map[uintptr]int32, checkNil bool, canChange bool,
  22865. d *Decoder) (_ map[uintptr]int32, changed bool) {
  22866. dd := d.d
  22867. if checkNil && dd.TryDecodeAsNil() {
  22868. if v != nil {
  22869. changed = true
  22870. }
  22871. return nil, changed
  22872. }
  22873. containerLen := dd.ReadMapStart()
  22874. if canChange && v == nil {
  22875. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  22876. v = make(map[uintptr]int32, xlen)
  22877. changed = true
  22878. }
  22879. var mk uintptr
  22880. var mv int32
  22881. if containerLen > 0 {
  22882. for j := 0; j < containerLen; j++ {
  22883. mk = uintptr(dd.DecodeUint(uintBitsize))
  22884. mv = int32(dd.DecodeInt(32))
  22885. if v != nil {
  22886. v[mk] = mv
  22887. }
  22888. }
  22889. } else if containerLen < 0 {
  22890. for j := 0; !dd.CheckBreak(); j++ {
  22891. mk = uintptr(dd.DecodeUint(uintBitsize))
  22892. mv = int32(dd.DecodeInt(32))
  22893. if v != nil {
  22894. v[mk] = mv
  22895. }
  22896. }
  22897. dd.ReadEnd()
  22898. }
  22899. return v, changed
  22900. }
  22901. func (f *decFnInfo) fastpathDecMapUintptrInt64R(rv reflect.Value) {
  22902. if rv.CanAddr() {
  22903. vp := rv.Addr().Interface().(*map[uintptr]int64)
  22904. v, changed := fastpathTV.DecMapUintptrInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  22905. if changed {
  22906. *vp = v
  22907. }
  22908. } else {
  22909. v := rv.Interface().(map[uintptr]int64)
  22910. fastpathTV.DecMapUintptrInt64V(v, fastpathCheckNilFalse, false, f.d)
  22911. }
  22912. }
  22913. func (f fastpathT) DecMapUintptrInt64X(vp *map[uintptr]int64, checkNil bool, d *Decoder) {
  22914. v, changed := f.DecMapUintptrInt64V(*vp, checkNil, true, d)
  22915. if changed {
  22916. *vp = v
  22917. }
  22918. }
  22919. func (_ fastpathT) DecMapUintptrInt64V(v map[uintptr]int64, checkNil bool, canChange bool,
  22920. d *Decoder) (_ map[uintptr]int64, changed bool) {
  22921. dd := d.d
  22922. if checkNil && dd.TryDecodeAsNil() {
  22923. if v != nil {
  22924. changed = true
  22925. }
  22926. return nil, changed
  22927. }
  22928. containerLen := dd.ReadMapStart()
  22929. if canChange && v == nil {
  22930. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22931. v = make(map[uintptr]int64, xlen)
  22932. changed = true
  22933. }
  22934. var mk uintptr
  22935. var mv int64
  22936. if containerLen > 0 {
  22937. for j := 0; j < containerLen; j++ {
  22938. mk = uintptr(dd.DecodeUint(uintBitsize))
  22939. mv = dd.DecodeInt(64)
  22940. if v != nil {
  22941. v[mk] = mv
  22942. }
  22943. }
  22944. } else if containerLen < 0 {
  22945. for j := 0; !dd.CheckBreak(); j++ {
  22946. mk = uintptr(dd.DecodeUint(uintBitsize))
  22947. mv = dd.DecodeInt(64)
  22948. if v != nil {
  22949. v[mk] = mv
  22950. }
  22951. }
  22952. dd.ReadEnd()
  22953. }
  22954. return v, changed
  22955. }
  22956. func (f *decFnInfo) fastpathDecMapUintptrFloat32R(rv reflect.Value) {
  22957. if rv.CanAddr() {
  22958. vp := rv.Addr().Interface().(*map[uintptr]float32)
  22959. v, changed := fastpathTV.DecMapUintptrFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  22960. if changed {
  22961. *vp = v
  22962. }
  22963. } else {
  22964. v := rv.Interface().(map[uintptr]float32)
  22965. fastpathTV.DecMapUintptrFloat32V(v, fastpathCheckNilFalse, false, f.d)
  22966. }
  22967. }
  22968. func (f fastpathT) DecMapUintptrFloat32X(vp *map[uintptr]float32, checkNil bool, d *Decoder) {
  22969. v, changed := f.DecMapUintptrFloat32V(*vp, checkNil, true, d)
  22970. if changed {
  22971. *vp = v
  22972. }
  22973. }
  22974. func (_ fastpathT) DecMapUintptrFloat32V(v map[uintptr]float32, checkNil bool, canChange bool,
  22975. d *Decoder) (_ map[uintptr]float32, changed bool) {
  22976. dd := d.d
  22977. if checkNil && dd.TryDecodeAsNil() {
  22978. if v != nil {
  22979. changed = true
  22980. }
  22981. return nil, changed
  22982. }
  22983. containerLen := dd.ReadMapStart()
  22984. if canChange && v == nil {
  22985. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  22986. v = make(map[uintptr]float32, xlen)
  22987. changed = true
  22988. }
  22989. var mk uintptr
  22990. var mv float32
  22991. if containerLen > 0 {
  22992. for j := 0; j < containerLen; j++ {
  22993. mk = uintptr(dd.DecodeUint(uintBitsize))
  22994. mv = float32(dd.DecodeFloat(true))
  22995. if v != nil {
  22996. v[mk] = mv
  22997. }
  22998. }
  22999. } else if containerLen < 0 {
  23000. for j := 0; !dd.CheckBreak(); j++ {
  23001. mk = uintptr(dd.DecodeUint(uintBitsize))
  23002. mv = float32(dd.DecodeFloat(true))
  23003. if v != nil {
  23004. v[mk] = mv
  23005. }
  23006. }
  23007. dd.ReadEnd()
  23008. }
  23009. return v, changed
  23010. }
  23011. func (f *decFnInfo) fastpathDecMapUintptrFloat64R(rv reflect.Value) {
  23012. if rv.CanAddr() {
  23013. vp := rv.Addr().Interface().(*map[uintptr]float64)
  23014. v, changed := fastpathTV.DecMapUintptrFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  23015. if changed {
  23016. *vp = v
  23017. }
  23018. } else {
  23019. v := rv.Interface().(map[uintptr]float64)
  23020. fastpathTV.DecMapUintptrFloat64V(v, fastpathCheckNilFalse, false, f.d)
  23021. }
  23022. }
  23023. func (f fastpathT) DecMapUintptrFloat64X(vp *map[uintptr]float64, checkNil bool, d *Decoder) {
  23024. v, changed := f.DecMapUintptrFloat64V(*vp, checkNil, true, d)
  23025. if changed {
  23026. *vp = v
  23027. }
  23028. }
  23029. func (_ fastpathT) DecMapUintptrFloat64V(v map[uintptr]float64, checkNil bool, canChange bool,
  23030. d *Decoder) (_ map[uintptr]float64, changed bool) {
  23031. dd := d.d
  23032. if checkNil && dd.TryDecodeAsNil() {
  23033. if v != nil {
  23034. changed = true
  23035. }
  23036. return nil, changed
  23037. }
  23038. containerLen := dd.ReadMapStart()
  23039. if canChange && v == nil {
  23040. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23041. v = make(map[uintptr]float64, xlen)
  23042. changed = true
  23043. }
  23044. var mk uintptr
  23045. var mv float64
  23046. if containerLen > 0 {
  23047. for j := 0; j < containerLen; j++ {
  23048. mk = uintptr(dd.DecodeUint(uintBitsize))
  23049. mv = dd.DecodeFloat(false)
  23050. if v != nil {
  23051. v[mk] = mv
  23052. }
  23053. }
  23054. } else if containerLen < 0 {
  23055. for j := 0; !dd.CheckBreak(); j++ {
  23056. mk = uintptr(dd.DecodeUint(uintBitsize))
  23057. mv = dd.DecodeFloat(false)
  23058. if v != nil {
  23059. v[mk] = mv
  23060. }
  23061. }
  23062. dd.ReadEnd()
  23063. }
  23064. return v, changed
  23065. }
  23066. func (f *decFnInfo) fastpathDecMapUintptrBoolR(rv reflect.Value) {
  23067. if rv.CanAddr() {
  23068. vp := rv.Addr().Interface().(*map[uintptr]bool)
  23069. v, changed := fastpathTV.DecMapUintptrBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  23070. if changed {
  23071. *vp = v
  23072. }
  23073. } else {
  23074. v := rv.Interface().(map[uintptr]bool)
  23075. fastpathTV.DecMapUintptrBoolV(v, fastpathCheckNilFalse, false, f.d)
  23076. }
  23077. }
  23078. func (f fastpathT) DecMapUintptrBoolX(vp *map[uintptr]bool, checkNil bool, d *Decoder) {
  23079. v, changed := f.DecMapUintptrBoolV(*vp, checkNil, true, d)
  23080. if changed {
  23081. *vp = v
  23082. }
  23083. }
  23084. func (_ fastpathT) DecMapUintptrBoolV(v map[uintptr]bool, checkNil bool, canChange bool,
  23085. d *Decoder) (_ map[uintptr]bool, changed bool) {
  23086. dd := d.d
  23087. if checkNil && dd.TryDecodeAsNil() {
  23088. if v != nil {
  23089. changed = true
  23090. }
  23091. return nil, changed
  23092. }
  23093. containerLen := dd.ReadMapStart()
  23094. if canChange && v == nil {
  23095. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23096. v = make(map[uintptr]bool, xlen)
  23097. changed = true
  23098. }
  23099. var mk uintptr
  23100. var mv bool
  23101. if containerLen > 0 {
  23102. for j := 0; j < containerLen; j++ {
  23103. mk = uintptr(dd.DecodeUint(uintBitsize))
  23104. mv = dd.DecodeBool()
  23105. if v != nil {
  23106. v[mk] = mv
  23107. }
  23108. }
  23109. } else if containerLen < 0 {
  23110. for j := 0; !dd.CheckBreak(); j++ {
  23111. mk = uintptr(dd.DecodeUint(uintBitsize))
  23112. mv = dd.DecodeBool()
  23113. if v != nil {
  23114. v[mk] = mv
  23115. }
  23116. }
  23117. dd.ReadEnd()
  23118. }
  23119. return v, changed
  23120. }
  23121. func (f *decFnInfo) fastpathDecMapIntIntfR(rv reflect.Value) {
  23122. if rv.CanAddr() {
  23123. vp := rv.Addr().Interface().(*map[int]interface{})
  23124. v, changed := fastpathTV.DecMapIntIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  23125. if changed {
  23126. *vp = v
  23127. }
  23128. } else {
  23129. v := rv.Interface().(map[int]interface{})
  23130. fastpathTV.DecMapIntIntfV(v, fastpathCheckNilFalse, false, f.d)
  23131. }
  23132. }
  23133. func (f fastpathT) DecMapIntIntfX(vp *map[int]interface{}, checkNil bool, d *Decoder) {
  23134. v, changed := f.DecMapIntIntfV(*vp, checkNil, true, d)
  23135. if changed {
  23136. *vp = v
  23137. }
  23138. }
  23139. func (_ fastpathT) DecMapIntIntfV(v map[int]interface{}, checkNil bool, canChange bool,
  23140. d *Decoder) (_ map[int]interface{}, changed bool) {
  23141. dd := d.d
  23142. if checkNil && dd.TryDecodeAsNil() {
  23143. if v != nil {
  23144. changed = true
  23145. }
  23146. return nil, changed
  23147. }
  23148. containerLen := dd.ReadMapStart()
  23149. if canChange && v == nil {
  23150. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  23151. v = make(map[int]interface{}, xlen)
  23152. changed = true
  23153. }
  23154. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  23155. var mk int
  23156. var mv interface{}
  23157. if containerLen > 0 {
  23158. for j := 0; j < containerLen; j++ {
  23159. mk = int(dd.DecodeInt(intBitsize))
  23160. if mapGet {
  23161. mv = v[mk]
  23162. } else {
  23163. mv = nil
  23164. }
  23165. d.decode(&mv)
  23166. if v != nil {
  23167. v[mk] = mv
  23168. }
  23169. }
  23170. } else if containerLen < 0 {
  23171. for j := 0; !dd.CheckBreak(); j++ {
  23172. mk = int(dd.DecodeInt(intBitsize))
  23173. if mapGet {
  23174. mv = v[mk]
  23175. } else {
  23176. mv = nil
  23177. }
  23178. d.decode(&mv)
  23179. if v != nil {
  23180. v[mk] = mv
  23181. }
  23182. }
  23183. dd.ReadEnd()
  23184. }
  23185. return v, changed
  23186. }
  23187. func (f *decFnInfo) fastpathDecMapIntStringR(rv reflect.Value) {
  23188. if rv.CanAddr() {
  23189. vp := rv.Addr().Interface().(*map[int]string)
  23190. v, changed := fastpathTV.DecMapIntStringV(*vp, fastpathCheckNilFalse, true, f.d)
  23191. if changed {
  23192. *vp = v
  23193. }
  23194. } else {
  23195. v := rv.Interface().(map[int]string)
  23196. fastpathTV.DecMapIntStringV(v, fastpathCheckNilFalse, false, f.d)
  23197. }
  23198. }
  23199. func (f fastpathT) DecMapIntStringX(vp *map[int]string, checkNil bool, d *Decoder) {
  23200. v, changed := f.DecMapIntStringV(*vp, checkNil, true, d)
  23201. if changed {
  23202. *vp = v
  23203. }
  23204. }
  23205. func (_ fastpathT) DecMapIntStringV(v map[int]string, checkNil bool, canChange bool,
  23206. d *Decoder) (_ map[int]string, changed bool) {
  23207. dd := d.d
  23208. if checkNil && dd.TryDecodeAsNil() {
  23209. if v != nil {
  23210. changed = true
  23211. }
  23212. return nil, changed
  23213. }
  23214. containerLen := dd.ReadMapStart()
  23215. if canChange && v == nil {
  23216. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  23217. v = make(map[int]string, xlen)
  23218. changed = true
  23219. }
  23220. var mk int
  23221. var mv string
  23222. if containerLen > 0 {
  23223. for j := 0; j < containerLen; j++ {
  23224. mk = int(dd.DecodeInt(intBitsize))
  23225. mv = dd.DecodeString()
  23226. if v != nil {
  23227. v[mk] = mv
  23228. }
  23229. }
  23230. } else if containerLen < 0 {
  23231. for j := 0; !dd.CheckBreak(); j++ {
  23232. mk = int(dd.DecodeInt(intBitsize))
  23233. mv = dd.DecodeString()
  23234. if v != nil {
  23235. v[mk] = mv
  23236. }
  23237. }
  23238. dd.ReadEnd()
  23239. }
  23240. return v, changed
  23241. }
  23242. func (f *decFnInfo) fastpathDecMapIntUintR(rv reflect.Value) {
  23243. if rv.CanAddr() {
  23244. vp := rv.Addr().Interface().(*map[int]uint)
  23245. v, changed := fastpathTV.DecMapIntUintV(*vp, fastpathCheckNilFalse, true, f.d)
  23246. if changed {
  23247. *vp = v
  23248. }
  23249. } else {
  23250. v := rv.Interface().(map[int]uint)
  23251. fastpathTV.DecMapIntUintV(v, fastpathCheckNilFalse, false, f.d)
  23252. }
  23253. }
  23254. func (f fastpathT) DecMapIntUintX(vp *map[int]uint, checkNil bool, d *Decoder) {
  23255. v, changed := f.DecMapIntUintV(*vp, checkNil, true, d)
  23256. if changed {
  23257. *vp = v
  23258. }
  23259. }
  23260. func (_ fastpathT) DecMapIntUintV(v map[int]uint, checkNil bool, canChange bool,
  23261. d *Decoder) (_ map[int]uint, changed bool) {
  23262. dd := d.d
  23263. if checkNil && dd.TryDecodeAsNil() {
  23264. if v != nil {
  23265. changed = true
  23266. }
  23267. return nil, changed
  23268. }
  23269. containerLen := dd.ReadMapStart()
  23270. if canChange && v == nil {
  23271. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23272. v = make(map[int]uint, xlen)
  23273. changed = true
  23274. }
  23275. var mk int
  23276. var mv uint
  23277. if containerLen > 0 {
  23278. for j := 0; j < containerLen; j++ {
  23279. mk = int(dd.DecodeInt(intBitsize))
  23280. mv = uint(dd.DecodeUint(uintBitsize))
  23281. if v != nil {
  23282. v[mk] = mv
  23283. }
  23284. }
  23285. } else if containerLen < 0 {
  23286. for j := 0; !dd.CheckBreak(); j++ {
  23287. mk = int(dd.DecodeInt(intBitsize))
  23288. mv = uint(dd.DecodeUint(uintBitsize))
  23289. if v != nil {
  23290. v[mk] = mv
  23291. }
  23292. }
  23293. dd.ReadEnd()
  23294. }
  23295. return v, changed
  23296. }
  23297. func (f *decFnInfo) fastpathDecMapIntUint8R(rv reflect.Value) {
  23298. if rv.CanAddr() {
  23299. vp := rv.Addr().Interface().(*map[int]uint8)
  23300. v, changed := fastpathTV.DecMapIntUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  23301. if changed {
  23302. *vp = v
  23303. }
  23304. } else {
  23305. v := rv.Interface().(map[int]uint8)
  23306. fastpathTV.DecMapIntUint8V(v, fastpathCheckNilFalse, false, f.d)
  23307. }
  23308. }
  23309. func (f fastpathT) DecMapIntUint8X(vp *map[int]uint8, checkNil bool, d *Decoder) {
  23310. v, changed := f.DecMapIntUint8V(*vp, checkNil, true, d)
  23311. if changed {
  23312. *vp = v
  23313. }
  23314. }
  23315. func (_ fastpathT) DecMapIntUint8V(v map[int]uint8, checkNil bool, canChange bool,
  23316. d *Decoder) (_ map[int]uint8, changed bool) {
  23317. dd := d.d
  23318. if checkNil && dd.TryDecodeAsNil() {
  23319. if v != nil {
  23320. changed = true
  23321. }
  23322. return nil, changed
  23323. }
  23324. containerLen := dd.ReadMapStart()
  23325. if canChange && v == nil {
  23326. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23327. v = make(map[int]uint8, xlen)
  23328. changed = true
  23329. }
  23330. var mk int
  23331. var mv uint8
  23332. if containerLen > 0 {
  23333. for j := 0; j < containerLen; j++ {
  23334. mk = int(dd.DecodeInt(intBitsize))
  23335. mv = uint8(dd.DecodeUint(8))
  23336. if v != nil {
  23337. v[mk] = mv
  23338. }
  23339. }
  23340. } else if containerLen < 0 {
  23341. for j := 0; !dd.CheckBreak(); j++ {
  23342. mk = int(dd.DecodeInt(intBitsize))
  23343. mv = uint8(dd.DecodeUint(8))
  23344. if v != nil {
  23345. v[mk] = mv
  23346. }
  23347. }
  23348. dd.ReadEnd()
  23349. }
  23350. return v, changed
  23351. }
  23352. func (f *decFnInfo) fastpathDecMapIntUint16R(rv reflect.Value) {
  23353. if rv.CanAddr() {
  23354. vp := rv.Addr().Interface().(*map[int]uint16)
  23355. v, changed := fastpathTV.DecMapIntUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  23356. if changed {
  23357. *vp = v
  23358. }
  23359. } else {
  23360. v := rv.Interface().(map[int]uint16)
  23361. fastpathTV.DecMapIntUint16V(v, fastpathCheckNilFalse, false, f.d)
  23362. }
  23363. }
  23364. func (f fastpathT) DecMapIntUint16X(vp *map[int]uint16, checkNil bool, d *Decoder) {
  23365. v, changed := f.DecMapIntUint16V(*vp, checkNil, true, d)
  23366. if changed {
  23367. *vp = v
  23368. }
  23369. }
  23370. func (_ fastpathT) DecMapIntUint16V(v map[int]uint16, checkNil bool, canChange bool,
  23371. d *Decoder) (_ map[int]uint16, changed bool) {
  23372. dd := d.d
  23373. if checkNil && dd.TryDecodeAsNil() {
  23374. if v != nil {
  23375. changed = true
  23376. }
  23377. return nil, changed
  23378. }
  23379. containerLen := dd.ReadMapStart()
  23380. if canChange && v == nil {
  23381. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  23382. v = make(map[int]uint16, xlen)
  23383. changed = true
  23384. }
  23385. var mk int
  23386. var mv uint16
  23387. if containerLen > 0 {
  23388. for j := 0; j < containerLen; j++ {
  23389. mk = int(dd.DecodeInt(intBitsize))
  23390. mv = uint16(dd.DecodeUint(16))
  23391. if v != nil {
  23392. v[mk] = mv
  23393. }
  23394. }
  23395. } else if containerLen < 0 {
  23396. for j := 0; !dd.CheckBreak(); j++ {
  23397. mk = int(dd.DecodeInt(intBitsize))
  23398. mv = uint16(dd.DecodeUint(16))
  23399. if v != nil {
  23400. v[mk] = mv
  23401. }
  23402. }
  23403. dd.ReadEnd()
  23404. }
  23405. return v, changed
  23406. }
  23407. func (f *decFnInfo) fastpathDecMapIntUint32R(rv reflect.Value) {
  23408. if rv.CanAddr() {
  23409. vp := rv.Addr().Interface().(*map[int]uint32)
  23410. v, changed := fastpathTV.DecMapIntUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  23411. if changed {
  23412. *vp = v
  23413. }
  23414. } else {
  23415. v := rv.Interface().(map[int]uint32)
  23416. fastpathTV.DecMapIntUint32V(v, fastpathCheckNilFalse, false, f.d)
  23417. }
  23418. }
  23419. func (f fastpathT) DecMapIntUint32X(vp *map[int]uint32, checkNil bool, d *Decoder) {
  23420. v, changed := f.DecMapIntUint32V(*vp, checkNil, true, d)
  23421. if changed {
  23422. *vp = v
  23423. }
  23424. }
  23425. func (_ fastpathT) DecMapIntUint32V(v map[int]uint32, checkNil bool, canChange bool,
  23426. d *Decoder) (_ map[int]uint32, changed bool) {
  23427. dd := d.d
  23428. if checkNil && dd.TryDecodeAsNil() {
  23429. if v != nil {
  23430. changed = true
  23431. }
  23432. return nil, changed
  23433. }
  23434. containerLen := dd.ReadMapStart()
  23435. if canChange && v == nil {
  23436. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  23437. v = make(map[int]uint32, xlen)
  23438. changed = true
  23439. }
  23440. var mk int
  23441. var mv uint32
  23442. if containerLen > 0 {
  23443. for j := 0; j < containerLen; j++ {
  23444. mk = int(dd.DecodeInt(intBitsize))
  23445. mv = uint32(dd.DecodeUint(32))
  23446. if v != nil {
  23447. v[mk] = mv
  23448. }
  23449. }
  23450. } else if containerLen < 0 {
  23451. for j := 0; !dd.CheckBreak(); j++ {
  23452. mk = int(dd.DecodeInt(intBitsize))
  23453. mv = uint32(dd.DecodeUint(32))
  23454. if v != nil {
  23455. v[mk] = mv
  23456. }
  23457. }
  23458. dd.ReadEnd()
  23459. }
  23460. return v, changed
  23461. }
  23462. func (f *decFnInfo) fastpathDecMapIntUint64R(rv reflect.Value) {
  23463. if rv.CanAddr() {
  23464. vp := rv.Addr().Interface().(*map[int]uint64)
  23465. v, changed := fastpathTV.DecMapIntUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  23466. if changed {
  23467. *vp = v
  23468. }
  23469. } else {
  23470. v := rv.Interface().(map[int]uint64)
  23471. fastpathTV.DecMapIntUint64V(v, fastpathCheckNilFalse, false, f.d)
  23472. }
  23473. }
  23474. func (f fastpathT) DecMapIntUint64X(vp *map[int]uint64, checkNil bool, d *Decoder) {
  23475. v, changed := f.DecMapIntUint64V(*vp, checkNil, true, d)
  23476. if changed {
  23477. *vp = v
  23478. }
  23479. }
  23480. func (_ fastpathT) DecMapIntUint64V(v map[int]uint64, checkNil bool, canChange bool,
  23481. d *Decoder) (_ map[int]uint64, changed bool) {
  23482. dd := d.d
  23483. if checkNil && dd.TryDecodeAsNil() {
  23484. if v != nil {
  23485. changed = true
  23486. }
  23487. return nil, changed
  23488. }
  23489. containerLen := dd.ReadMapStart()
  23490. if canChange && v == nil {
  23491. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23492. v = make(map[int]uint64, xlen)
  23493. changed = true
  23494. }
  23495. var mk int
  23496. var mv uint64
  23497. if containerLen > 0 {
  23498. for j := 0; j < containerLen; j++ {
  23499. mk = int(dd.DecodeInt(intBitsize))
  23500. mv = dd.DecodeUint(64)
  23501. if v != nil {
  23502. v[mk] = mv
  23503. }
  23504. }
  23505. } else if containerLen < 0 {
  23506. for j := 0; !dd.CheckBreak(); j++ {
  23507. mk = int(dd.DecodeInt(intBitsize))
  23508. mv = dd.DecodeUint(64)
  23509. if v != nil {
  23510. v[mk] = mv
  23511. }
  23512. }
  23513. dd.ReadEnd()
  23514. }
  23515. return v, changed
  23516. }
  23517. func (f *decFnInfo) fastpathDecMapIntUintptrR(rv reflect.Value) {
  23518. if rv.CanAddr() {
  23519. vp := rv.Addr().Interface().(*map[int]uintptr)
  23520. v, changed := fastpathTV.DecMapIntUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  23521. if changed {
  23522. *vp = v
  23523. }
  23524. } else {
  23525. v := rv.Interface().(map[int]uintptr)
  23526. fastpathTV.DecMapIntUintptrV(v, fastpathCheckNilFalse, false, f.d)
  23527. }
  23528. }
  23529. func (f fastpathT) DecMapIntUintptrX(vp *map[int]uintptr, checkNil bool, d *Decoder) {
  23530. v, changed := f.DecMapIntUintptrV(*vp, checkNil, true, d)
  23531. if changed {
  23532. *vp = v
  23533. }
  23534. }
  23535. func (_ fastpathT) DecMapIntUintptrV(v map[int]uintptr, checkNil bool, canChange bool,
  23536. d *Decoder) (_ map[int]uintptr, changed bool) {
  23537. dd := d.d
  23538. if checkNil && dd.TryDecodeAsNil() {
  23539. if v != nil {
  23540. changed = true
  23541. }
  23542. return nil, changed
  23543. }
  23544. containerLen := dd.ReadMapStart()
  23545. if canChange && v == nil {
  23546. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23547. v = make(map[int]uintptr, xlen)
  23548. changed = true
  23549. }
  23550. var mk int
  23551. var mv uintptr
  23552. if containerLen > 0 {
  23553. for j := 0; j < containerLen; j++ {
  23554. mk = int(dd.DecodeInt(intBitsize))
  23555. mv = uintptr(dd.DecodeUint(uintBitsize))
  23556. if v != nil {
  23557. v[mk] = mv
  23558. }
  23559. }
  23560. } else if containerLen < 0 {
  23561. for j := 0; !dd.CheckBreak(); j++ {
  23562. mk = int(dd.DecodeInt(intBitsize))
  23563. mv = uintptr(dd.DecodeUint(uintBitsize))
  23564. if v != nil {
  23565. v[mk] = mv
  23566. }
  23567. }
  23568. dd.ReadEnd()
  23569. }
  23570. return v, changed
  23571. }
  23572. func (f *decFnInfo) fastpathDecMapIntIntR(rv reflect.Value) {
  23573. if rv.CanAddr() {
  23574. vp := rv.Addr().Interface().(*map[int]int)
  23575. v, changed := fastpathTV.DecMapIntIntV(*vp, fastpathCheckNilFalse, true, f.d)
  23576. if changed {
  23577. *vp = v
  23578. }
  23579. } else {
  23580. v := rv.Interface().(map[int]int)
  23581. fastpathTV.DecMapIntIntV(v, fastpathCheckNilFalse, false, f.d)
  23582. }
  23583. }
  23584. func (f fastpathT) DecMapIntIntX(vp *map[int]int, checkNil bool, d *Decoder) {
  23585. v, changed := f.DecMapIntIntV(*vp, checkNil, true, d)
  23586. if changed {
  23587. *vp = v
  23588. }
  23589. }
  23590. func (_ fastpathT) DecMapIntIntV(v map[int]int, checkNil bool, canChange bool,
  23591. d *Decoder) (_ map[int]int, changed bool) {
  23592. dd := d.d
  23593. if checkNil && dd.TryDecodeAsNil() {
  23594. if v != nil {
  23595. changed = true
  23596. }
  23597. return nil, changed
  23598. }
  23599. containerLen := dd.ReadMapStart()
  23600. if canChange && v == nil {
  23601. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23602. v = make(map[int]int, xlen)
  23603. changed = true
  23604. }
  23605. var mk int
  23606. var mv int
  23607. if containerLen > 0 {
  23608. for j := 0; j < containerLen; j++ {
  23609. mk = int(dd.DecodeInt(intBitsize))
  23610. mv = int(dd.DecodeInt(intBitsize))
  23611. if v != nil {
  23612. v[mk] = mv
  23613. }
  23614. }
  23615. } else if containerLen < 0 {
  23616. for j := 0; !dd.CheckBreak(); j++ {
  23617. mk = int(dd.DecodeInt(intBitsize))
  23618. mv = int(dd.DecodeInt(intBitsize))
  23619. if v != nil {
  23620. v[mk] = mv
  23621. }
  23622. }
  23623. dd.ReadEnd()
  23624. }
  23625. return v, changed
  23626. }
  23627. func (f *decFnInfo) fastpathDecMapIntInt8R(rv reflect.Value) {
  23628. if rv.CanAddr() {
  23629. vp := rv.Addr().Interface().(*map[int]int8)
  23630. v, changed := fastpathTV.DecMapIntInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  23631. if changed {
  23632. *vp = v
  23633. }
  23634. } else {
  23635. v := rv.Interface().(map[int]int8)
  23636. fastpathTV.DecMapIntInt8V(v, fastpathCheckNilFalse, false, f.d)
  23637. }
  23638. }
  23639. func (f fastpathT) DecMapIntInt8X(vp *map[int]int8, checkNil bool, d *Decoder) {
  23640. v, changed := f.DecMapIntInt8V(*vp, checkNil, true, d)
  23641. if changed {
  23642. *vp = v
  23643. }
  23644. }
  23645. func (_ fastpathT) DecMapIntInt8V(v map[int]int8, checkNil bool, canChange bool,
  23646. d *Decoder) (_ map[int]int8, changed bool) {
  23647. dd := d.d
  23648. if checkNil && dd.TryDecodeAsNil() {
  23649. if v != nil {
  23650. changed = true
  23651. }
  23652. return nil, changed
  23653. }
  23654. containerLen := dd.ReadMapStart()
  23655. if canChange && v == nil {
  23656. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23657. v = make(map[int]int8, xlen)
  23658. changed = true
  23659. }
  23660. var mk int
  23661. var mv int8
  23662. if containerLen > 0 {
  23663. for j := 0; j < containerLen; j++ {
  23664. mk = int(dd.DecodeInt(intBitsize))
  23665. mv = int8(dd.DecodeInt(8))
  23666. if v != nil {
  23667. v[mk] = mv
  23668. }
  23669. }
  23670. } else if containerLen < 0 {
  23671. for j := 0; !dd.CheckBreak(); j++ {
  23672. mk = int(dd.DecodeInt(intBitsize))
  23673. mv = int8(dd.DecodeInt(8))
  23674. if v != nil {
  23675. v[mk] = mv
  23676. }
  23677. }
  23678. dd.ReadEnd()
  23679. }
  23680. return v, changed
  23681. }
  23682. func (f *decFnInfo) fastpathDecMapIntInt16R(rv reflect.Value) {
  23683. if rv.CanAddr() {
  23684. vp := rv.Addr().Interface().(*map[int]int16)
  23685. v, changed := fastpathTV.DecMapIntInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  23686. if changed {
  23687. *vp = v
  23688. }
  23689. } else {
  23690. v := rv.Interface().(map[int]int16)
  23691. fastpathTV.DecMapIntInt16V(v, fastpathCheckNilFalse, false, f.d)
  23692. }
  23693. }
  23694. func (f fastpathT) DecMapIntInt16X(vp *map[int]int16, checkNil bool, d *Decoder) {
  23695. v, changed := f.DecMapIntInt16V(*vp, checkNil, true, d)
  23696. if changed {
  23697. *vp = v
  23698. }
  23699. }
  23700. func (_ fastpathT) DecMapIntInt16V(v map[int]int16, checkNil bool, canChange bool,
  23701. d *Decoder) (_ map[int]int16, changed bool) {
  23702. dd := d.d
  23703. if checkNil && dd.TryDecodeAsNil() {
  23704. if v != nil {
  23705. changed = true
  23706. }
  23707. return nil, changed
  23708. }
  23709. containerLen := dd.ReadMapStart()
  23710. if canChange && v == nil {
  23711. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  23712. v = make(map[int]int16, xlen)
  23713. changed = true
  23714. }
  23715. var mk int
  23716. var mv int16
  23717. if containerLen > 0 {
  23718. for j := 0; j < containerLen; j++ {
  23719. mk = int(dd.DecodeInt(intBitsize))
  23720. mv = int16(dd.DecodeInt(16))
  23721. if v != nil {
  23722. v[mk] = mv
  23723. }
  23724. }
  23725. } else if containerLen < 0 {
  23726. for j := 0; !dd.CheckBreak(); j++ {
  23727. mk = int(dd.DecodeInt(intBitsize))
  23728. mv = int16(dd.DecodeInt(16))
  23729. if v != nil {
  23730. v[mk] = mv
  23731. }
  23732. }
  23733. dd.ReadEnd()
  23734. }
  23735. return v, changed
  23736. }
  23737. func (f *decFnInfo) fastpathDecMapIntInt32R(rv reflect.Value) {
  23738. if rv.CanAddr() {
  23739. vp := rv.Addr().Interface().(*map[int]int32)
  23740. v, changed := fastpathTV.DecMapIntInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  23741. if changed {
  23742. *vp = v
  23743. }
  23744. } else {
  23745. v := rv.Interface().(map[int]int32)
  23746. fastpathTV.DecMapIntInt32V(v, fastpathCheckNilFalse, false, f.d)
  23747. }
  23748. }
  23749. func (f fastpathT) DecMapIntInt32X(vp *map[int]int32, checkNil bool, d *Decoder) {
  23750. v, changed := f.DecMapIntInt32V(*vp, checkNil, true, d)
  23751. if changed {
  23752. *vp = v
  23753. }
  23754. }
  23755. func (_ fastpathT) DecMapIntInt32V(v map[int]int32, checkNil bool, canChange bool,
  23756. d *Decoder) (_ map[int]int32, changed bool) {
  23757. dd := d.d
  23758. if checkNil && dd.TryDecodeAsNil() {
  23759. if v != nil {
  23760. changed = true
  23761. }
  23762. return nil, changed
  23763. }
  23764. containerLen := dd.ReadMapStart()
  23765. if canChange && v == nil {
  23766. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  23767. v = make(map[int]int32, xlen)
  23768. changed = true
  23769. }
  23770. var mk int
  23771. var mv int32
  23772. if containerLen > 0 {
  23773. for j := 0; j < containerLen; j++ {
  23774. mk = int(dd.DecodeInt(intBitsize))
  23775. mv = int32(dd.DecodeInt(32))
  23776. if v != nil {
  23777. v[mk] = mv
  23778. }
  23779. }
  23780. } else if containerLen < 0 {
  23781. for j := 0; !dd.CheckBreak(); j++ {
  23782. mk = int(dd.DecodeInt(intBitsize))
  23783. mv = int32(dd.DecodeInt(32))
  23784. if v != nil {
  23785. v[mk] = mv
  23786. }
  23787. }
  23788. dd.ReadEnd()
  23789. }
  23790. return v, changed
  23791. }
  23792. func (f *decFnInfo) fastpathDecMapIntInt64R(rv reflect.Value) {
  23793. if rv.CanAddr() {
  23794. vp := rv.Addr().Interface().(*map[int]int64)
  23795. v, changed := fastpathTV.DecMapIntInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  23796. if changed {
  23797. *vp = v
  23798. }
  23799. } else {
  23800. v := rv.Interface().(map[int]int64)
  23801. fastpathTV.DecMapIntInt64V(v, fastpathCheckNilFalse, false, f.d)
  23802. }
  23803. }
  23804. func (f fastpathT) DecMapIntInt64X(vp *map[int]int64, checkNil bool, d *Decoder) {
  23805. v, changed := f.DecMapIntInt64V(*vp, checkNil, true, d)
  23806. if changed {
  23807. *vp = v
  23808. }
  23809. }
  23810. func (_ fastpathT) DecMapIntInt64V(v map[int]int64, checkNil bool, canChange bool,
  23811. d *Decoder) (_ map[int]int64, changed bool) {
  23812. dd := d.d
  23813. if checkNil && dd.TryDecodeAsNil() {
  23814. if v != nil {
  23815. changed = true
  23816. }
  23817. return nil, changed
  23818. }
  23819. containerLen := dd.ReadMapStart()
  23820. if canChange && v == nil {
  23821. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23822. v = make(map[int]int64, xlen)
  23823. changed = true
  23824. }
  23825. var mk int
  23826. var mv int64
  23827. if containerLen > 0 {
  23828. for j := 0; j < containerLen; j++ {
  23829. mk = int(dd.DecodeInt(intBitsize))
  23830. mv = dd.DecodeInt(64)
  23831. if v != nil {
  23832. v[mk] = mv
  23833. }
  23834. }
  23835. } else if containerLen < 0 {
  23836. for j := 0; !dd.CheckBreak(); j++ {
  23837. mk = int(dd.DecodeInt(intBitsize))
  23838. mv = dd.DecodeInt(64)
  23839. if v != nil {
  23840. v[mk] = mv
  23841. }
  23842. }
  23843. dd.ReadEnd()
  23844. }
  23845. return v, changed
  23846. }
  23847. func (f *decFnInfo) fastpathDecMapIntFloat32R(rv reflect.Value) {
  23848. if rv.CanAddr() {
  23849. vp := rv.Addr().Interface().(*map[int]float32)
  23850. v, changed := fastpathTV.DecMapIntFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  23851. if changed {
  23852. *vp = v
  23853. }
  23854. } else {
  23855. v := rv.Interface().(map[int]float32)
  23856. fastpathTV.DecMapIntFloat32V(v, fastpathCheckNilFalse, false, f.d)
  23857. }
  23858. }
  23859. func (f fastpathT) DecMapIntFloat32X(vp *map[int]float32, checkNil bool, d *Decoder) {
  23860. v, changed := f.DecMapIntFloat32V(*vp, checkNil, true, d)
  23861. if changed {
  23862. *vp = v
  23863. }
  23864. }
  23865. func (_ fastpathT) DecMapIntFloat32V(v map[int]float32, checkNil bool, canChange bool,
  23866. d *Decoder) (_ map[int]float32, changed bool) {
  23867. dd := d.d
  23868. if checkNil && dd.TryDecodeAsNil() {
  23869. if v != nil {
  23870. changed = true
  23871. }
  23872. return nil, changed
  23873. }
  23874. containerLen := dd.ReadMapStart()
  23875. if canChange && v == nil {
  23876. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  23877. v = make(map[int]float32, xlen)
  23878. changed = true
  23879. }
  23880. var mk int
  23881. var mv float32
  23882. if containerLen > 0 {
  23883. for j := 0; j < containerLen; j++ {
  23884. mk = int(dd.DecodeInt(intBitsize))
  23885. mv = float32(dd.DecodeFloat(true))
  23886. if v != nil {
  23887. v[mk] = mv
  23888. }
  23889. }
  23890. } else if containerLen < 0 {
  23891. for j := 0; !dd.CheckBreak(); j++ {
  23892. mk = int(dd.DecodeInt(intBitsize))
  23893. mv = float32(dd.DecodeFloat(true))
  23894. if v != nil {
  23895. v[mk] = mv
  23896. }
  23897. }
  23898. dd.ReadEnd()
  23899. }
  23900. return v, changed
  23901. }
  23902. func (f *decFnInfo) fastpathDecMapIntFloat64R(rv reflect.Value) {
  23903. if rv.CanAddr() {
  23904. vp := rv.Addr().Interface().(*map[int]float64)
  23905. v, changed := fastpathTV.DecMapIntFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  23906. if changed {
  23907. *vp = v
  23908. }
  23909. } else {
  23910. v := rv.Interface().(map[int]float64)
  23911. fastpathTV.DecMapIntFloat64V(v, fastpathCheckNilFalse, false, f.d)
  23912. }
  23913. }
  23914. func (f fastpathT) DecMapIntFloat64X(vp *map[int]float64, checkNil bool, d *Decoder) {
  23915. v, changed := f.DecMapIntFloat64V(*vp, checkNil, true, d)
  23916. if changed {
  23917. *vp = v
  23918. }
  23919. }
  23920. func (_ fastpathT) DecMapIntFloat64V(v map[int]float64, checkNil bool, canChange bool,
  23921. d *Decoder) (_ map[int]float64, changed bool) {
  23922. dd := d.d
  23923. if checkNil && dd.TryDecodeAsNil() {
  23924. if v != nil {
  23925. changed = true
  23926. }
  23927. return nil, changed
  23928. }
  23929. containerLen := dd.ReadMapStart()
  23930. if canChange && v == nil {
  23931. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23932. v = make(map[int]float64, xlen)
  23933. changed = true
  23934. }
  23935. var mk int
  23936. var mv float64
  23937. if containerLen > 0 {
  23938. for j := 0; j < containerLen; j++ {
  23939. mk = int(dd.DecodeInt(intBitsize))
  23940. mv = dd.DecodeFloat(false)
  23941. if v != nil {
  23942. v[mk] = mv
  23943. }
  23944. }
  23945. } else if containerLen < 0 {
  23946. for j := 0; !dd.CheckBreak(); j++ {
  23947. mk = int(dd.DecodeInt(intBitsize))
  23948. mv = dd.DecodeFloat(false)
  23949. if v != nil {
  23950. v[mk] = mv
  23951. }
  23952. }
  23953. dd.ReadEnd()
  23954. }
  23955. return v, changed
  23956. }
  23957. func (f *decFnInfo) fastpathDecMapIntBoolR(rv reflect.Value) {
  23958. if rv.CanAddr() {
  23959. vp := rv.Addr().Interface().(*map[int]bool)
  23960. v, changed := fastpathTV.DecMapIntBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  23961. if changed {
  23962. *vp = v
  23963. }
  23964. } else {
  23965. v := rv.Interface().(map[int]bool)
  23966. fastpathTV.DecMapIntBoolV(v, fastpathCheckNilFalse, false, f.d)
  23967. }
  23968. }
  23969. func (f fastpathT) DecMapIntBoolX(vp *map[int]bool, checkNil bool, d *Decoder) {
  23970. v, changed := f.DecMapIntBoolV(*vp, checkNil, true, d)
  23971. if changed {
  23972. *vp = v
  23973. }
  23974. }
  23975. func (_ fastpathT) DecMapIntBoolV(v map[int]bool, checkNil bool, canChange bool,
  23976. d *Decoder) (_ map[int]bool, changed bool) {
  23977. dd := d.d
  23978. if checkNil && dd.TryDecodeAsNil() {
  23979. if v != nil {
  23980. changed = true
  23981. }
  23982. return nil, changed
  23983. }
  23984. containerLen := dd.ReadMapStart()
  23985. if canChange && v == nil {
  23986. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23987. v = make(map[int]bool, xlen)
  23988. changed = true
  23989. }
  23990. var mk int
  23991. var mv bool
  23992. if containerLen > 0 {
  23993. for j := 0; j < containerLen; j++ {
  23994. mk = int(dd.DecodeInt(intBitsize))
  23995. mv = dd.DecodeBool()
  23996. if v != nil {
  23997. v[mk] = mv
  23998. }
  23999. }
  24000. } else if containerLen < 0 {
  24001. for j := 0; !dd.CheckBreak(); j++ {
  24002. mk = int(dd.DecodeInt(intBitsize))
  24003. mv = dd.DecodeBool()
  24004. if v != nil {
  24005. v[mk] = mv
  24006. }
  24007. }
  24008. dd.ReadEnd()
  24009. }
  24010. return v, changed
  24011. }
  24012. func (f *decFnInfo) fastpathDecMapInt8IntfR(rv reflect.Value) {
  24013. if rv.CanAddr() {
  24014. vp := rv.Addr().Interface().(*map[int8]interface{})
  24015. v, changed := fastpathTV.DecMapInt8IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  24016. if changed {
  24017. *vp = v
  24018. }
  24019. } else {
  24020. v := rv.Interface().(map[int8]interface{})
  24021. fastpathTV.DecMapInt8IntfV(v, fastpathCheckNilFalse, false, f.d)
  24022. }
  24023. }
  24024. func (f fastpathT) DecMapInt8IntfX(vp *map[int8]interface{}, checkNil bool, d *Decoder) {
  24025. v, changed := f.DecMapInt8IntfV(*vp, checkNil, true, d)
  24026. if changed {
  24027. *vp = v
  24028. }
  24029. }
  24030. func (_ fastpathT) DecMapInt8IntfV(v map[int8]interface{}, checkNil bool, canChange bool,
  24031. d *Decoder) (_ map[int8]interface{}, changed bool) {
  24032. dd := d.d
  24033. if checkNil && dd.TryDecodeAsNil() {
  24034. if v != nil {
  24035. changed = true
  24036. }
  24037. return nil, changed
  24038. }
  24039. containerLen := dd.ReadMapStart()
  24040. if canChange && v == nil {
  24041. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  24042. v = make(map[int8]interface{}, xlen)
  24043. changed = true
  24044. }
  24045. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  24046. var mk int8
  24047. var mv interface{}
  24048. if containerLen > 0 {
  24049. for j := 0; j < containerLen; j++ {
  24050. mk = int8(dd.DecodeInt(8))
  24051. if mapGet {
  24052. mv = v[mk]
  24053. } else {
  24054. mv = nil
  24055. }
  24056. d.decode(&mv)
  24057. if v != nil {
  24058. v[mk] = mv
  24059. }
  24060. }
  24061. } else if containerLen < 0 {
  24062. for j := 0; !dd.CheckBreak(); j++ {
  24063. mk = int8(dd.DecodeInt(8))
  24064. if mapGet {
  24065. mv = v[mk]
  24066. } else {
  24067. mv = nil
  24068. }
  24069. d.decode(&mv)
  24070. if v != nil {
  24071. v[mk] = mv
  24072. }
  24073. }
  24074. dd.ReadEnd()
  24075. }
  24076. return v, changed
  24077. }
  24078. func (f *decFnInfo) fastpathDecMapInt8StringR(rv reflect.Value) {
  24079. if rv.CanAddr() {
  24080. vp := rv.Addr().Interface().(*map[int8]string)
  24081. v, changed := fastpathTV.DecMapInt8StringV(*vp, fastpathCheckNilFalse, true, f.d)
  24082. if changed {
  24083. *vp = v
  24084. }
  24085. } else {
  24086. v := rv.Interface().(map[int8]string)
  24087. fastpathTV.DecMapInt8StringV(v, fastpathCheckNilFalse, false, f.d)
  24088. }
  24089. }
  24090. func (f fastpathT) DecMapInt8StringX(vp *map[int8]string, checkNil bool, d *Decoder) {
  24091. v, changed := f.DecMapInt8StringV(*vp, checkNil, true, d)
  24092. if changed {
  24093. *vp = v
  24094. }
  24095. }
  24096. func (_ fastpathT) DecMapInt8StringV(v map[int8]string, checkNil bool, canChange bool,
  24097. d *Decoder) (_ map[int8]string, changed bool) {
  24098. dd := d.d
  24099. if checkNil && dd.TryDecodeAsNil() {
  24100. if v != nil {
  24101. changed = true
  24102. }
  24103. return nil, changed
  24104. }
  24105. containerLen := dd.ReadMapStart()
  24106. if canChange && v == nil {
  24107. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  24108. v = make(map[int8]string, xlen)
  24109. changed = true
  24110. }
  24111. var mk int8
  24112. var mv string
  24113. if containerLen > 0 {
  24114. for j := 0; j < containerLen; j++ {
  24115. mk = int8(dd.DecodeInt(8))
  24116. mv = dd.DecodeString()
  24117. if v != nil {
  24118. v[mk] = mv
  24119. }
  24120. }
  24121. } else if containerLen < 0 {
  24122. for j := 0; !dd.CheckBreak(); j++ {
  24123. mk = int8(dd.DecodeInt(8))
  24124. mv = dd.DecodeString()
  24125. if v != nil {
  24126. v[mk] = mv
  24127. }
  24128. }
  24129. dd.ReadEnd()
  24130. }
  24131. return v, changed
  24132. }
  24133. func (f *decFnInfo) fastpathDecMapInt8UintR(rv reflect.Value) {
  24134. if rv.CanAddr() {
  24135. vp := rv.Addr().Interface().(*map[int8]uint)
  24136. v, changed := fastpathTV.DecMapInt8UintV(*vp, fastpathCheckNilFalse, true, f.d)
  24137. if changed {
  24138. *vp = v
  24139. }
  24140. } else {
  24141. v := rv.Interface().(map[int8]uint)
  24142. fastpathTV.DecMapInt8UintV(v, fastpathCheckNilFalse, false, f.d)
  24143. }
  24144. }
  24145. func (f fastpathT) DecMapInt8UintX(vp *map[int8]uint, checkNil bool, d *Decoder) {
  24146. v, changed := f.DecMapInt8UintV(*vp, checkNil, true, d)
  24147. if changed {
  24148. *vp = v
  24149. }
  24150. }
  24151. func (_ fastpathT) DecMapInt8UintV(v map[int8]uint, checkNil bool, canChange bool,
  24152. d *Decoder) (_ map[int8]uint, changed bool) {
  24153. dd := d.d
  24154. if checkNil && dd.TryDecodeAsNil() {
  24155. if v != nil {
  24156. changed = true
  24157. }
  24158. return nil, changed
  24159. }
  24160. containerLen := dd.ReadMapStart()
  24161. if canChange && v == nil {
  24162. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  24163. v = make(map[int8]uint, xlen)
  24164. changed = true
  24165. }
  24166. var mk int8
  24167. var mv uint
  24168. if containerLen > 0 {
  24169. for j := 0; j < containerLen; j++ {
  24170. mk = int8(dd.DecodeInt(8))
  24171. mv = uint(dd.DecodeUint(uintBitsize))
  24172. if v != nil {
  24173. v[mk] = mv
  24174. }
  24175. }
  24176. } else if containerLen < 0 {
  24177. for j := 0; !dd.CheckBreak(); j++ {
  24178. mk = int8(dd.DecodeInt(8))
  24179. mv = uint(dd.DecodeUint(uintBitsize))
  24180. if v != nil {
  24181. v[mk] = mv
  24182. }
  24183. }
  24184. dd.ReadEnd()
  24185. }
  24186. return v, changed
  24187. }
  24188. func (f *decFnInfo) fastpathDecMapInt8Uint8R(rv reflect.Value) {
  24189. if rv.CanAddr() {
  24190. vp := rv.Addr().Interface().(*map[int8]uint8)
  24191. v, changed := fastpathTV.DecMapInt8Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  24192. if changed {
  24193. *vp = v
  24194. }
  24195. } else {
  24196. v := rv.Interface().(map[int8]uint8)
  24197. fastpathTV.DecMapInt8Uint8V(v, fastpathCheckNilFalse, false, f.d)
  24198. }
  24199. }
  24200. func (f fastpathT) DecMapInt8Uint8X(vp *map[int8]uint8, checkNil bool, d *Decoder) {
  24201. v, changed := f.DecMapInt8Uint8V(*vp, checkNil, true, d)
  24202. if changed {
  24203. *vp = v
  24204. }
  24205. }
  24206. func (_ fastpathT) DecMapInt8Uint8V(v map[int8]uint8, checkNil bool, canChange bool,
  24207. d *Decoder) (_ map[int8]uint8, changed bool) {
  24208. dd := d.d
  24209. if checkNil && dd.TryDecodeAsNil() {
  24210. if v != nil {
  24211. changed = true
  24212. }
  24213. return nil, changed
  24214. }
  24215. containerLen := dd.ReadMapStart()
  24216. if canChange && v == nil {
  24217. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  24218. v = make(map[int8]uint8, xlen)
  24219. changed = true
  24220. }
  24221. var mk int8
  24222. var mv uint8
  24223. if containerLen > 0 {
  24224. for j := 0; j < containerLen; j++ {
  24225. mk = int8(dd.DecodeInt(8))
  24226. mv = uint8(dd.DecodeUint(8))
  24227. if v != nil {
  24228. v[mk] = mv
  24229. }
  24230. }
  24231. } else if containerLen < 0 {
  24232. for j := 0; !dd.CheckBreak(); j++ {
  24233. mk = int8(dd.DecodeInt(8))
  24234. mv = uint8(dd.DecodeUint(8))
  24235. if v != nil {
  24236. v[mk] = mv
  24237. }
  24238. }
  24239. dd.ReadEnd()
  24240. }
  24241. return v, changed
  24242. }
  24243. func (f *decFnInfo) fastpathDecMapInt8Uint16R(rv reflect.Value) {
  24244. if rv.CanAddr() {
  24245. vp := rv.Addr().Interface().(*map[int8]uint16)
  24246. v, changed := fastpathTV.DecMapInt8Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  24247. if changed {
  24248. *vp = v
  24249. }
  24250. } else {
  24251. v := rv.Interface().(map[int8]uint16)
  24252. fastpathTV.DecMapInt8Uint16V(v, fastpathCheckNilFalse, false, f.d)
  24253. }
  24254. }
  24255. func (f fastpathT) DecMapInt8Uint16X(vp *map[int8]uint16, checkNil bool, d *Decoder) {
  24256. v, changed := f.DecMapInt8Uint16V(*vp, checkNil, true, d)
  24257. if changed {
  24258. *vp = v
  24259. }
  24260. }
  24261. func (_ fastpathT) DecMapInt8Uint16V(v map[int8]uint16, checkNil bool, canChange bool,
  24262. d *Decoder) (_ map[int8]uint16, changed bool) {
  24263. dd := d.d
  24264. if checkNil && dd.TryDecodeAsNil() {
  24265. if v != nil {
  24266. changed = true
  24267. }
  24268. return nil, changed
  24269. }
  24270. containerLen := dd.ReadMapStart()
  24271. if canChange && v == nil {
  24272. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  24273. v = make(map[int8]uint16, xlen)
  24274. changed = true
  24275. }
  24276. var mk int8
  24277. var mv uint16
  24278. if containerLen > 0 {
  24279. for j := 0; j < containerLen; j++ {
  24280. mk = int8(dd.DecodeInt(8))
  24281. mv = uint16(dd.DecodeUint(16))
  24282. if v != nil {
  24283. v[mk] = mv
  24284. }
  24285. }
  24286. } else if containerLen < 0 {
  24287. for j := 0; !dd.CheckBreak(); j++ {
  24288. mk = int8(dd.DecodeInt(8))
  24289. mv = uint16(dd.DecodeUint(16))
  24290. if v != nil {
  24291. v[mk] = mv
  24292. }
  24293. }
  24294. dd.ReadEnd()
  24295. }
  24296. return v, changed
  24297. }
  24298. func (f *decFnInfo) fastpathDecMapInt8Uint32R(rv reflect.Value) {
  24299. if rv.CanAddr() {
  24300. vp := rv.Addr().Interface().(*map[int8]uint32)
  24301. v, changed := fastpathTV.DecMapInt8Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  24302. if changed {
  24303. *vp = v
  24304. }
  24305. } else {
  24306. v := rv.Interface().(map[int8]uint32)
  24307. fastpathTV.DecMapInt8Uint32V(v, fastpathCheckNilFalse, false, f.d)
  24308. }
  24309. }
  24310. func (f fastpathT) DecMapInt8Uint32X(vp *map[int8]uint32, checkNil bool, d *Decoder) {
  24311. v, changed := f.DecMapInt8Uint32V(*vp, checkNil, true, d)
  24312. if changed {
  24313. *vp = v
  24314. }
  24315. }
  24316. func (_ fastpathT) DecMapInt8Uint32V(v map[int8]uint32, checkNil bool, canChange bool,
  24317. d *Decoder) (_ map[int8]uint32, changed bool) {
  24318. dd := d.d
  24319. if checkNil && dd.TryDecodeAsNil() {
  24320. if v != nil {
  24321. changed = true
  24322. }
  24323. return nil, changed
  24324. }
  24325. containerLen := dd.ReadMapStart()
  24326. if canChange && v == nil {
  24327. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  24328. v = make(map[int8]uint32, xlen)
  24329. changed = true
  24330. }
  24331. var mk int8
  24332. var mv uint32
  24333. if containerLen > 0 {
  24334. for j := 0; j < containerLen; j++ {
  24335. mk = int8(dd.DecodeInt(8))
  24336. mv = uint32(dd.DecodeUint(32))
  24337. if v != nil {
  24338. v[mk] = mv
  24339. }
  24340. }
  24341. } else if containerLen < 0 {
  24342. for j := 0; !dd.CheckBreak(); j++ {
  24343. mk = int8(dd.DecodeInt(8))
  24344. mv = uint32(dd.DecodeUint(32))
  24345. if v != nil {
  24346. v[mk] = mv
  24347. }
  24348. }
  24349. dd.ReadEnd()
  24350. }
  24351. return v, changed
  24352. }
  24353. func (f *decFnInfo) fastpathDecMapInt8Uint64R(rv reflect.Value) {
  24354. if rv.CanAddr() {
  24355. vp := rv.Addr().Interface().(*map[int8]uint64)
  24356. v, changed := fastpathTV.DecMapInt8Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  24357. if changed {
  24358. *vp = v
  24359. }
  24360. } else {
  24361. v := rv.Interface().(map[int8]uint64)
  24362. fastpathTV.DecMapInt8Uint64V(v, fastpathCheckNilFalse, false, f.d)
  24363. }
  24364. }
  24365. func (f fastpathT) DecMapInt8Uint64X(vp *map[int8]uint64, checkNil bool, d *Decoder) {
  24366. v, changed := f.DecMapInt8Uint64V(*vp, checkNil, true, d)
  24367. if changed {
  24368. *vp = v
  24369. }
  24370. }
  24371. func (_ fastpathT) DecMapInt8Uint64V(v map[int8]uint64, checkNil bool, canChange bool,
  24372. d *Decoder) (_ map[int8]uint64, changed bool) {
  24373. dd := d.d
  24374. if checkNil && dd.TryDecodeAsNil() {
  24375. if v != nil {
  24376. changed = true
  24377. }
  24378. return nil, changed
  24379. }
  24380. containerLen := dd.ReadMapStart()
  24381. if canChange && v == nil {
  24382. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  24383. v = make(map[int8]uint64, xlen)
  24384. changed = true
  24385. }
  24386. var mk int8
  24387. var mv uint64
  24388. if containerLen > 0 {
  24389. for j := 0; j < containerLen; j++ {
  24390. mk = int8(dd.DecodeInt(8))
  24391. mv = dd.DecodeUint(64)
  24392. if v != nil {
  24393. v[mk] = mv
  24394. }
  24395. }
  24396. } else if containerLen < 0 {
  24397. for j := 0; !dd.CheckBreak(); j++ {
  24398. mk = int8(dd.DecodeInt(8))
  24399. mv = dd.DecodeUint(64)
  24400. if v != nil {
  24401. v[mk] = mv
  24402. }
  24403. }
  24404. dd.ReadEnd()
  24405. }
  24406. return v, changed
  24407. }
  24408. func (f *decFnInfo) fastpathDecMapInt8UintptrR(rv reflect.Value) {
  24409. if rv.CanAddr() {
  24410. vp := rv.Addr().Interface().(*map[int8]uintptr)
  24411. v, changed := fastpathTV.DecMapInt8UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  24412. if changed {
  24413. *vp = v
  24414. }
  24415. } else {
  24416. v := rv.Interface().(map[int8]uintptr)
  24417. fastpathTV.DecMapInt8UintptrV(v, fastpathCheckNilFalse, false, f.d)
  24418. }
  24419. }
  24420. func (f fastpathT) DecMapInt8UintptrX(vp *map[int8]uintptr, checkNil bool, d *Decoder) {
  24421. v, changed := f.DecMapInt8UintptrV(*vp, checkNil, true, d)
  24422. if changed {
  24423. *vp = v
  24424. }
  24425. }
  24426. func (_ fastpathT) DecMapInt8UintptrV(v map[int8]uintptr, checkNil bool, canChange bool,
  24427. d *Decoder) (_ map[int8]uintptr, changed bool) {
  24428. dd := d.d
  24429. if checkNil && dd.TryDecodeAsNil() {
  24430. if v != nil {
  24431. changed = true
  24432. }
  24433. return nil, changed
  24434. }
  24435. containerLen := dd.ReadMapStart()
  24436. if canChange && v == nil {
  24437. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  24438. v = make(map[int8]uintptr, xlen)
  24439. changed = true
  24440. }
  24441. var mk int8
  24442. var mv uintptr
  24443. if containerLen > 0 {
  24444. for j := 0; j < containerLen; j++ {
  24445. mk = int8(dd.DecodeInt(8))
  24446. mv = uintptr(dd.DecodeUint(uintBitsize))
  24447. if v != nil {
  24448. v[mk] = mv
  24449. }
  24450. }
  24451. } else if containerLen < 0 {
  24452. for j := 0; !dd.CheckBreak(); j++ {
  24453. mk = int8(dd.DecodeInt(8))
  24454. mv = uintptr(dd.DecodeUint(uintBitsize))
  24455. if v != nil {
  24456. v[mk] = mv
  24457. }
  24458. }
  24459. dd.ReadEnd()
  24460. }
  24461. return v, changed
  24462. }
  24463. func (f *decFnInfo) fastpathDecMapInt8IntR(rv reflect.Value) {
  24464. if rv.CanAddr() {
  24465. vp := rv.Addr().Interface().(*map[int8]int)
  24466. v, changed := fastpathTV.DecMapInt8IntV(*vp, fastpathCheckNilFalse, true, f.d)
  24467. if changed {
  24468. *vp = v
  24469. }
  24470. } else {
  24471. v := rv.Interface().(map[int8]int)
  24472. fastpathTV.DecMapInt8IntV(v, fastpathCheckNilFalse, false, f.d)
  24473. }
  24474. }
  24475. func (f fastpathT) DecMapInt8IntX(vp *map[int8]int, checkNil bool, d *Decoder) {
  24476. v, changed := f.DecMapInt8IntV(*vp, checkNil, true, d)
  24477. if changed {
  24478. *vp = v
  24479. }
  24480. }
  24481. func (_ fastpathT) DecMapInt8IntV(v map[int8]int, checkNil bool, canChange bool,
  24482. d *Decoder) (_ map[int8]int, changed bool) {
  24483. dd := d.d
  24484. if checkNil && dd.TryDecodeAsNil() {
  24485. if v != nil {
  24486. changed = true
  24487. }
  24488. return nil, changed
  24489. }
  24490. containerLen := dd.ReadMapStart()
  24491. if canChange && v == nil {
  24492. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  24493. v = make(map[int8]int, xlen)
  24494. changed = true
  24495. }
  24496. var mk int8
  24497. var mv int
  24498. if containerLen > 0 {
  24499. for j := 0; j < containerLen; j++ {
  24500. mk = int8(dd.DecodeInt(8))
  24501. mv = int(dd.DecodeInt(intBitsize))
  24502. if v != nil {
  24503. v[mk] = mv
  24504. }
  24505. }
  24506. } else if containerLen < 0 {
  24507. for j := 0; !dd.CheckBreak(); j++ {
  24508. mk = int8(dd.DecodeInt(8))
  24509. mv = int(dd.DecodeInt(intBitsize))
  24510. if v != nil {
  24511. v[mk] = mv
  24512. }
  24513. }
  24514. dd.ReadEnd()
  24515. }
  24516. return v, changed
  24517. }
  24518. func (f *decFnInfo) fastpathDecMapInt8Int8R(rv reflect.Value) {
  24519. if rv.CanAddr() {
  24520. vp := rv.Addr().Interface().(*map[int8]int8)
  24521. v, changed := fastpathTV.DecMapInt8Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  24522. if changed {
  24523. *vp = v
  24524. }
  24525. } else {
  24526. v := rv.Interface().(map[int8]int8)
  24527. fastpathTV.DecMapInt8Int8V(v, fastpathCheckNilFalse, false, f.d)
  24528. }
  24529. }
  24530. func (f fastpathT) DecMapInt8Int8X(vp *map[int8]int8, checkNil bool, d *Decoder) {
  24531. v, changed := f.DecMapInt8Int8V(*vp, checkNil, true, d)
  24532. if changed {
  24533. *vp = v
  24534. }
  24535. }
  24536. func (_ fastpathT) DecMapInt8Int8V(v map[int8]int8, checkNil bool, canChange bool,
  24537. d *Decoder) (_ map[int8]int8, changed bool) {
  24538. dd := d.d
  24539. if checkNil && dd.TryDecodeAsNil() {
  24540. if v != nil {
  24541. changed = true
  24542. }
  24543. return nil, changed
  24544. }
  24545. containerLen := dd.ReadMapStart()
  24546. if canChange && v == nil {
  24547. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  24548. v = make(map[int8]int8, xlen)
  24549. changed = true
  24550. }
  24551. var mk int8
  24552. var mv int8
  24553. if containerLen > 0 {
  24554. for j := 0; j < containerLen; j++ {
  24555. mk = int8(dd.DecodeInt(8))
  24556. mv = int8(dd.DecodeInt(8))
  24557. if v != nil {
  24558. v[mk] = mv
  24559. }
  24560. }
  24561. } else if containerLen < 0 {
  24562. for j := 0; !dd.CheckBreak(); j++ {
  24563. mk = int8(dd.DecodeInt(8))
  24564. mv = int8(dd.DecodeInt(8))
  24565. if v != nil {
  24566. v[mk] = mv
  24567. }
  24568. }
  24569. dd.ReadEnd()
  24570. }
  24571. return v, changed
  24572. }
  24573. func (f *decFnInfo) fastpathDecMapInt8Int16R(rv reflect.Value) {
  24574. if rv.CanAddr() {
  24575. vp := rv.Addr().Interface().(*map[int8]int16)
  24576. v, changed := fastpathTV.DecMapInt8Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  24577. if changed {
  24578. *vp = v
  24579. }
  24580. } else {
  24581. v := rv.Interface().(map[int8]int16)
  24582. fastpathTV.DecMapInt8Int16V(v, fastpathCheckNilFalse, false, f.d)
  24583. }
  24584. }
  24585. func (f fastpathT) DecMapInt8Int16X(vp *map[int8]int16, checkNil bool, d *Decoder) {
  24586. v, changed := f.DecMapInt8Int16V(*vp, checkNil, true, d)
  24587. if changed {
  24588. *vp = v
  24589. }
  24590. }
  24591. func (_ fastpathT) DecMapInt8Int16V(v map[int8]int16, checkNil bool, canChange bool,
  24592. d *Decoder) (_ map[int8]int16, changed bool) {
  24593. dd := d.d
  24594. if checkNil && dd.TryDecodeAsNil() {
  24595. if v != nil {
  24596. changed = true
  24597. }
  24598. return nil, changed
  24599. }
  24600. containerLen := dd.ReadMapStart()
  24601. if canChange && v == nil {
  24602. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  24603. v = make(map[int8]int16, xlen)
  24604. changed = true
  24605. }
  24606. var mk int8
  24607. var mv int16
  24608. if containerLen > 0 {
  24609. for j := 0; j < containerLen; j++ {
  24610. mk = int8(dd.DecodeInt(8))
  24611. mv = int16(dd.DecodeInt(16))
  24612. if v != nil {
  24613. v[mk] = mv
  24614. }
  24615. }
  24616. } else if containerLen < 0 {
  24617. for j := 0; !dd.CheckBreak(); j++ {
  24618. mk = int8(dd.DecodeInt(8))
  24619. mv = int16(dd.DecodeInt(16))
  24620. if v != nil {
  24621. v[mk] = mv
  24622. }
  24623. }
  24624. dd.ReadEnd()
  24625. }
  24626. return v, changed
  24627. }
  24628. func (f *decFnInfo) fastpathDecMapInt8Int32R(rv reflect.Value) {
  24629. if rv.CanAddr() {
  24630. vp := rv.Addr().Interface().(*map[int8]int32)
  24631. v, changed := fastpathTV.DecMapInt8Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  24632. if changed {
  24633. *vp = v
  24634. }
  24635. } else {
  24636. v := rv.Interface().(map[int8]int32)
  24637. fastpathTV.DecMapInt8Int32V(v, fastpathCheckNilFalse, false, f.d)
  24638. }
  24639. }
  24640. func (f fastpathT) DecMapInt8Int32X(vp *map[int8]int32, checkNil bool, d *Decoder) {
  24641. v, changed := f.DecMapInt8Int32V(*vp, checkNil, true, d)
  24642. if changed {
  24643. *vp = v
  24644. }
  24645. }
  24646. func (_ fastpathT) DecMapInt8Int32V(v map[int8]int32, checkNil bool, canChange bool,
  24647. d *Decoder) (_ map[int8]int32, changed bool) {
  24648. dd := d.d
  24649. if checkNil && dd.TryDecodeAsNil() {
  24650. if v != nil {
  24651. changed = true
  24652. }
  24653. return nil, changed
  24654. }
  24655. containerLen := dd.ReadMapStart()
  24656. if canChange && v == nil {
  24657. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  24658. v = make(map[int8]int32, xlen)
  24659. changed = true
  24660. }
  24661. var mk int8
  24662. var mv int32
  24663. if containerLen > 0 {
  24664. for j := 0; j < containerLen; j++ {
  24665. mk = int8(dd.DecodeInt(8))
  24666. mv = int32(dd.DecodeInt(32))
  24667. if v != nil {
  24668. v[mk] = mv
  24669. }
  24670. }
  24671. } else if containerLen < 0 {
  24672. for j := 0; !dd.CheckBreak(); j++ {
  24673. mk = int8(dd.DecodeInt(8))
  24674. mv = int32(dd.DecodeInt(32))
  24675. if v != nil {
  24676. v[mk] = mv
  24677. }
  24678. }
  24679. dd.ReadEnd()
  24680. }
  24681. return v, changed
  24682. }
  24683. func (f *decFnInfo) fastpathDecMapInt8Int64R(rv reflect.Value) {
  24684. if rv.CanAddr() {
  24685. vp := rv.Addr().Interface().(*map[int8]int64)
  24686. v, changed := fastpathTV.DecMapInt8Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  24687. if changed {
  24688. *vp = v
  24689. }
  24690. } else {
  24691. v := rv.Interface().(map[int8]int64)
  24692. fastpathTV.DecMapInt8Int64V(v, fastpathCheckNilFalse, false, f.d)
  24693. }
  24694. }
  24695. func (f fastpathT) DecMapInt8Int64X(vp *map[int8]int64, checkNil bool, d *Decoder) {
  24696. v, changed := f.DecMapInt8Int64V(*vp, checkNil, true, d)
  24697. if changed {
  24698. *vp = v
  24699. }
  24700. }
  24701. func (_ fastpathT) DecMapInt8Int64V(v map[int8]int64, checkNil bool, canChange bool,
  24702. d *Decoder) (_ map[int8]int64, changed bool) {
  24703. dd := d.d
  24704. if checkNil && dd.TryDecodeAsNil() {
  24705. if v != nil {
  24706. changed = true
  24707. }
  24708. return nil, changed
  24709. }
  24710. containerLen := dd.ReadMapStart()
  24711. if canChange && v == nil {
  24712. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  24713. v = make(map[int8]int64, xlen)
  24714. changed = true
  24715. }
  24716. var mk int8
  24717. var mv int64
  24718. if containerLen > 0 {
  24719. for j := 0; j < containerLen; j++ {
  24720. mk = int8(dd.DecodeInt(8))
  24721. mv = dd.DecodeInt(64)
  24722. if v != nil {
  24723. v[mk] = mv
  24724. }
  24725. }
  24726. } else if containerLen < 0 {
  24727. for j := 0; !dd.CheckBreak(); j++ {
  24728. mk = int8(dd.DecodeInt(8))
  24729. mv = dd.DecodeInt(64)
  24730. if v != nil {
  24731. v[mk] = mv
  24732. }
  24733. }
  24734. dd.ReadEnd()
  24735. }
  24736. return v, changed
  24737. }
  24738. func (f *decFnInfo) fastpathDecMapInt8Float32R(rv reflect.Value) {
  24739. if rv.CanAddr() {
  24740. vp := rv.Addr().Interface().(*map[int8]float32)
  24741. v, changed := fastpathTV.DecMapInt8Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  24742. if changed {
  24743. *vp = v
  24744. }
  24745. } else {
  24746. v := rv.Interface().(map[int8]float32)
  24747. fastpathTV.DecMapInt8Float32V(v, fastpathCheckNilFalse, false, f.d)
  24748. }
  24749. }
  24750. func (f fastpathT) DecMapInt8Float32X(vp *map[int8]float32, checkNil bool, d *Decoder) {
  24751. v, changed := f.DecMapInt8Float32V(*vp, checkNil, true, d)
  24752. if changed {
  24753. *vp = v
  24754. }
  24755. }
  24756. func (_ fastpathT) DecMapInt8Float32V(v map[int8]float32, checkNil bool, canChange bool,
  24757. d *Decoder) (_ map[int8]float32, changed bool) {
  24758. dd := d.d
  24759. if checkNil && dd.TryDecodeAsNil() {
  24760. if v != nil {
  24761. changed = true
  24762. }
  24763. return nil, changed
  24764. }
  24765. containerLen := dd.ReadMapStart()
  24766. if canChange && v == nil {
  24767. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  24768. v = make(map[int8]float32, xlen)
  24769. changed = true
  24770. }
  24771. var mk int8
  24772. var mv float32
  24773. if containerLen > 0 {
  24774. for j := 0; j < containerLen; j++ {
  24775. mk = int8(dd.DecodeInt(8))
  24776. mv = float32(dd.DecodeFloat(true))
  24777. if v != nil {
  24778. v[mk] = mv
  24779. }
  24780. }
  24781. } else if containerLen < 0 {
  24782. for j := 0; !dd.CheckBreak(); j++ {
  24783. mk = int8(dd.DecodeInt(8))
  24784. mv = float32(dd.DecodeFloat(true))
  24785. if v != nil {
  24786. v[mk] = mv
  24787. }
  24788. }
  24789. dd.ReadEnd()
  24790. }
  24791. return v, changed
  24792. }
  24793. func (f *decFnInfo) fastpathDecMapInt8Float64R(rv reflect.Value) {
  24794. if rv.CanAddr() {
  24795. vp := rv.Addr().Interface().(*map[int8]float64)
  24796. v, changed := fastpathTV.DecMapInt8Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  24797. if changed {
  24798. *vp = v
  24799. }
  24800. } else {
  24801. v := rv.Interface().(map[int8]float64)
  24802. fastpathTV.DecMapInt8Float64V(v, fastpathCheckNilFalse, false, f.d)
  24803. }
  24804. }
  24805. func (f fastpathT) DecMapInt8Float64X(vp *map[int8]float64, checkNil bool, d *Decoder) {
  24806. v, changed := f.DecMapInt8Float64V(*vp, checkNil, true, d)
  24807. if changed {
  24808. *vp = v
  24809. }
  24810. }
  24811. func (_ fastpathT) DecMapInt8Float64V(v map[int8]float64, checkNil bool, canChange bool,
  24812. d *Decoder) (_ map[int8]float64, changed bool) {
  24813. dd := d.d
  24814. if checkNil && dd.TryDecodeAsNil() {
  24815. if v != nil {
  24816. changed = true
  24817. }
  24818. return nil, changed
  24819. }
  24820. containerLen := dd.ReadMapStart()
  24821. if canChange && v == nil {
  24822. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  24823. v = make(map[int8]float64, xlen)
  24824. changed = true
  24825. }
  24826. var mk int8
  24827. var mv float64
  24828. if containerLen > 0 {
  24829. for j := 0; j < containerLen; j++ {
  24830. mk = int8(dd.DecodeInt(8))
  24831. mv = dd.DecodeFloat(false)
  24832. if v != nil {
  24833. v[mk] = mv
  24834. }
  24835. }
  24836. } else if containerLen < 0 {
  24837. for j := 0; !dd.CheckBreak(); j++ {
  24838. mk = int8(dd.DecodeInt(8))
  24839. mv = dd.DecodeFloat(false)
  24840. if v != nil {
  24841. v[mk] = mv
  24842. }
  24843. }
  24844. dd.ReadEnd()
  24845. }
  24846. return v, changed
  24847. }
  24848. func (f *decFnInfo) fastpathDecMapInt8BoolR(rv reflect.Value) {
  24849. if rv.CanAddr() {
  24850. vp := rv.Addr().Interface().(*map[int8]bool)
  24851. v, changed := fastpathTV.DecMapInt8BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  24852. if changed {
  24853. *vp = v
  24854. }
  24855. } else {
  24856. v := rv.Interface().(map[int8]bool)
  24857. fastpathTV.DecMapInt8BoolV(v, fastpathCheckNilFalse, false, f.d)
  24858. }
  24859. }
  24860. func (f fastpathT) DecMapInt8BoolX(vp *map[int8]bool, checkNil bool, d *Decoder) {
  24861. v, changed := f.DecMapInt8BoolV(*vp, checkNil, true, d)
  24862. if changed {
  24863. *vp = v
  24864. }
  24865. }
  24866. func (_ fastpathT) DecMapInt8BoolV(v map[int8]bool, checkNil bool, canChange bool,
  24867. d *Decoder) (_ map[int8]bool, changed bool) {
  24868. dd := d.d
  24869. if checkNil && dd.TryDecodeAsNil() {
  24870. if v != nil {
  24871. changed = true
  24872. }
  24873. return nil, changed
  24874. }
  24875. containerLen := dd.ReadMapStart()
  24876. if canChange && v == nil {
  24877. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  24878. v = make(map[int8]bool, xlen)
  24879. changed = true
  24880. }
  24881. var mk int8
  24882. var mv bool
  24883. if containerLen > 0 {
  24884. for j := 0; j < containerLen; j++ {
  24885. mk = int8(dd.DecodeInt(8))
  24886. mv = dd.DecodeBool()
  24887. if v != nil {
  24888. v[mk] = mv
  24889. }
  24890. }
  24891. } else if containerLen < 0 {
  24892. for j := 0; !dd.CheckBreak(); j++ {
  24893. mk = int8(dd.DecodeInt(8))
  24894. mv = dd.DecodeBool()
  24895. if v != nil {
  24896. v[mk] = mv
  24897. }
  24898. }
  24899. dd.ReadEnd()
  24900. }
  24901. return v, changed
  24902. }
  24903. func (f *decFnInfo) fastpathDecMapInt16IntfR(rv reflect.Value) {
  24904. if rv.CanAddr() {
  24905. vp := rv.Addr().Interface().(*map[int16]interface{})
  24906. v, changed := fastpathTV.DecMapInt16IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  24907. if changed {
  24908. *vp = v
  24909. }
  24910. } else {
  24911. v := rv.Interface().(map[int16]interface{})
  24912. fastpathTV.DecMapInt16IntfV(v, fastpathCheckNilFalse, false, f.d)
  24913. }
  24914. }
  24915. func (f fastpathT) DecMapInt16IntfX(vp *map[int16]interface{}, checkNil bool, d *Decoder) {
  24916. v, changed := f.DecMapInt16IntfV(*vp, checkNil, true, d)
  24917. if changed {
  24918. *vp = v
  24919. }
  24920. }
  24921. func (_ fastpathT) DecMapInt16IntfV(v map[int16]interface{}, checkNil bool, canChange bool,
  24922. d *Decoder) (_ map[int16]interface{}, changed bool) {
  24923. dd := d.d
  24924. if checkNil && dd.TryDecodeAsNil() {
  24925. if v != nil {
  24926. changed = true
  24927. }
  24928. return nil, changed
  24929. }
  24930. containerLen := dd.ReadMapStart()
  24931. if canChange && v == nil {
  24932. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 18)
  24933. v = make(map[int16]interface{}, xlen)
  24934. changed = true
  24935. }
  24936. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  24937. var mk int16
  24938. var mv interface{}
  24939. if containerLen > 0 {
  24940. for j := 0; j < containerLen; j++ {
  24941. mk = int16(dd.DecodeInt(16))
  24942. if mapGet {
  24943. mv = v[mk]
  24944. } else {
  24945. mv = nil
  24946. }
  24947. d.decode(&mv)
  24948. if v != nil {
  24949. v[mk] = mv
  24950. }
  24951. }
  24952. } else if containerLen < 0 {
  24953. for j := 0; !dd.CheckBreak(); j++ {
  24954. mk = int16(dd.DecodeInt(16))
  24955. if mapGet {
  24956. mv = v[mk]
  24957. } else {
  24958. mv = nil
  24959. }
  24960. d.decode(&mv)
  24961. if v != nil {
  24962. v[mk] = mv
  24963. }
  24964. }
  24965. dd.ReadEnd()
  24966. }
  24967. return v, changed
  24968. }
  24969. func (f *decFnInfo) fastpathDecMapInt16StringR(rv reflect.Value) {
  24970. if rv.CanAddr() {
  24971. vp := rv.Addr().Interface().(*map[int16]string)
  24972. v, changed := fastpathTV.DecMapInt16StringV(*vp, fastpathCheckNilFalse, true, f.d)
  24973. if changed {
  24974. *vp = v
  24975. }
  24976. } else {
  24977. v := rv.Interface().(map[int16]string)
  24978. fastpathTV.DecMapInt16StringV(v, fastpathCheckNilFalse, false, f.d)
  24979. }
  24980. }
  24981. func (f fastpathT) DecMapInt16StringX(vp *map[int16]string, checkNil bool, d *Decoder) {
  24982. v, changed := f.DecMapInt16StringV(*vp, checkNil, true, d)
  24983. if changed {
  24984. *vp = v
  24985. }
  24986. }
  24987. func (_ fastpathT) DecMapInt16StringV(v map[int16]string, checkNil bool, canChange bool,
  24988. d *Decoder) (_ map[int16]string, changed bool) {
  24989. dd := d.d
  24990. if checkNil && dd.TryDecodeAsNil() {
  24991. if v != nil {
  24992. changed = true
  24993. }
  24994. return nil, changed
  24995. }
  24996. containerLen := dd.ReadMapStart()
  24997. if canChange && v == nil {
  24998. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 18)
  24999. v = make(map[int16]string, xlen)
  25000. changed = true
  25001. }
  25002. var mk int16
  25003. var mv string
  25004. if containerLen > 0 {
  25005. for j := 0; j < containerLen; j++ {
  25006. mk = int16(dd.DecodeInt(16))
  25007. mv = dd.DecodeString()
  25008. if v != nil {
  25009. v[mk] = mv
  25010. }
  25011. }
  25012. } else if containerLen < 0 {
  25013. for j := 0; !dd.CheckBreak(); j++ {
  25014. mk = int16(dd.DecodeInt(16))
  25015. mv = dd.DecodeString()
  25016. if v != nil {
  25017. v[mk] = mv
  25018. }
  25019. }
  25020. dd.ReadEnd()
  25021. }
  25022. return v, changed
  25023. }
  25024. func (f *decFnInfo) fastpathDecMapInt16UintR(rv reflect.Value) {
  25025. if rv.CanAddr() {
  25026. vp := rv.Addr().Interface().(*map[int16]uint)
  25027. v, changed := fastpathTV.DecMapInt16UintV(*vp, fastpathCheckNilFalse, true, f.d)
  25028. if changed {
  25029. *vp = v
  25030. }
  25031. } else {
  25032. v := rv.Interface().(map[int16]uint)
  25033. fastpathTV.DecMapInt16UintV(v, fastpathCheckNilFalse, false, f.d)
  25034. }
  25035. }
  25036. func (f fastpathT) DecMapInt16UintX(vp *map[int16]uint, checkNil bool, d *Decoder) {
  25037. v, changed := f.DecMapInt16UintV(*vp, checkNil, true, d)
  25038. if changed {
  25039. *vp = v
  25040. }
  25041. }
  25042. func (_ fastpathT) DecMapInt16UintV(v map[int16]uint, checkNil bool, canChange bool,
  25043. d *Decoder) (_ map[int16]uint, changed bool) {
  25044. dd := d.d
  25045. if checkNil && dd.TryDecodeAsNil() {
  25046. if v != nil {
  25047. changed = true
  25048. }
  25049. return nil, changed
  25050. }
  25051. containerLen := dd.ReadMapStart()
  25052. if canChange && v == nil {
  25053. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  25054. v = make(map[int16]uint, xlen)
  25055. changed = true
  25056. }
  25057. var mk int16
  25058. var mv uint
  25059. if containerLen > 0 {
  25060. for j := 0; j < containerLen; j++ {
  25061. mk = int16(dd.DecodeInt(16))
  25062. mv = uint(dd.DecodeUint(uintBitsize))
  25063. if v != nil {
  25064. v[mk] = mv
  25065. }
  25066. }
  25067. } else if containerLen < 0 {
  25068. for j := 0; !dd.CheckBreak(); j++ {
  25069. mk = int16(dd.DecodeInt(16))
  25070. mv = uint(dd.DecodeUint(uintBitsize))
  25071. if v != nil {
  25072. v[mk] = mv
  25073. }
  25074. }
  25075. dd.ReadEnd()
  25076. }
  25077. return v, changed
  25078. }
  25079. func (f *decFnInfo) fastpathDecMapInt16Uint8R(rv reflect.Value) {
  25080. if rv.CanAddr() {
  25081. vp := rv.Addr().Interface().(*map[int16]uint8)
  25082. v, changed := fastpathTV.DecMapInt16Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  25083. if changed {
  25084. *vp = v
  25085. }
  25086. } else {
  25087. v := rv.Interface().(map[int16]uint8)
  25088. fastpathTV.DecMapInt16Uint8V(v, fastpathCheckNilFalse, false, f.d)
  25089. }
  25090. }
  25091. func (f fastpathT) DecMapInt16Uint8X(vp *map[int16]uint8, checkNil bool, d *Decoder) {
  25092. v, changed := f.DecMapInt16Uint8V(*vp, checkNil, true, d)
  25093. if changed {
  25094. *vp = v
  25095. }
  25096. }
  25097. func (_ fastpathT) DecMapInt16Uint8V(v map[int16]uint8, checkNil bool, canChange bool,
  25098. d *Decoder) (_ map[int16]uint8, changed bool) {
  25099. dd := d.d
  25100. if checkNil && dd.TryDecodeAsNil() {
  25101. if v != nil {
  25102. changed = true
  25103. }
  25104. return nil, changed
  25105. }
  25106. containerLen := dd.ReadMapStart()
  25107. if canChange && v == nil {
  25108. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  25109. v = make(map[int16]uint8, xlen)
  25110. changed = true
  25111. }
  25112. var mk int16
  25113. var mv uint8
  25114. if containerLen > 0 {
  25115. for j := 0; j < containerLen; j++ {
  25116. mk = int16(dd.DecodeInt(16))
  25117. mv = uint8(dd.DecodeUint(8))
  25118. if v != nil {
  25119. v[mk] = mv
  25120. }
  25121. }
  25122. } else if containerLen < 0 {
  25123. for j := 0; !dd.CheckBreak(); j++ {
  25124. mk = int16(dd.DecodeInt(16))
  25125. mv = uint8(dd.DecodeUint(8))
  25126. if v != nil {
  25127. v[mk] = mv
  25128. }
  25129. }
  25130. dd.ReadEnd()
  25131. }
  25132. return v, changed
  25133. }
  25134. func (f *decFnInfo) fastpathDecMapInt16Uint16R(rv reflect.Value) {
  25135. if rv.CanAddr() {
  25136. vp := rv.Addr().Interface().(*map[int16]uint16)
  25137. v, changed := fastpathTV.DecMapInt16Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  25138. if changed {
  25139. *vp = v
  25140. }
  25141. } else {
  25142. v := rv.Interface().(map[int16]uint16)
  25143. fastpathTV.DecMapInt16Uint16V(v, fastpathCheckNilFalse, false, f.d)
  25144. }
  25145. }
  25146. func (f fastpathT) DecMapInt16Uint16X(vp *map[int16]uint16, checkNil bool, d *Decoder) {
  25147. v, changed := f.DecMapInt16Uint16V(*vp, checkNil, true, d)
  25148. if changed {
  25149. *vp = v
  25150. }
  25151. }
  25152. func (_ fastpathT) DecMapInt16Uint16V(v map[int16]uint16, checkNil bool, canChange bool,
  25153. d *Decoder) (_ map[int16]uint16, changed bool) {
  25154. dd := d.d
  25155. if checkNil && dd.TryDecodeAsNil() {
  25156. if v != nil {
  25157. changed = true
  25158. }
  25159. return nil, changed
  25160. }
  25161. containerLen := dd.ReadMapStart()
  25162. if canChange && v == nil {
  25163. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 4)
  25164. v = make(map[int16]uint16, xlen)
  25165. changed = true
  25166. }
  25167. var mk int16
  25168. var mv uint16
  25169. if containerLen > 0 {
  25170. for j := 0; j < containerLen; j++ {
  25171. mk = int16(dd.DecodeInt(16))
  25172. mv = uint16(dd.DecodeUint(16))
  25173. if v != nil {
  25174. v[mk] = mv
  25175. }
  25176. }
  25177. } else if containerLen < 0 {
  25178. for j := 0; !dd.CheckBreak(); j++ {
  25179. mk = int16(dd.DecodeInt(16))
  25180. mv = uint16(dd.DecodeUint(16))
  25181. if v != nil {
  25182. v[mk] = mv
  25183. }
  25184. }
  25185. dd.ReadEnd()
  25186. }
  25187. return v, changed
  25188. }
  25189. func (f *decFnInfo) fastpathDecMapInt16Uint32R(rv reflect.Value) {
  25190. if rv.CanAddr() {
  25191. vp := rv.Addr().Interface().(*map[int16]uint32)
  25192. v, changed := fastpathTV.DecMapInt16Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  25193. if changed {
  25194. *vp = v
  25195. }
  25196. } else {
  25197. v := rv.Interface().(map[int16]uint32)
  25198. fastpathTV.DecMapInt16Uint32V(v, fastpathCheckNilFalse, false, f.d)
  25199. }
  25200. }
  25201. func (f fastpathT) DecMapInt16Uint32X(vp *map[int16]uint32, checkNil bool, d *Decoder) {
  25202. v, changed := f.DecMapInt16Uint32V(*vp, checkNil, true, d)
  25203. if changed {
  25204. *vp = v
  25205. }
  25206. }
  25207. func (_ fastpathT) DecMapInt16Uint32V(v map[int16]uint32, checkNil bool, canChange bool,
  25208. d *Decoder) (_ map[int16]uint32, changed bool) {
  25209. dd := d.d
  25210. if checkNil && dd.TryDecodeAsNil() {
  25211. if v != nil {
  25212. changed = true
  25213. }
  25214. return nil, changed
  25215. }
  25216. containerLen := dd.ReadMapStart()
  25217. if canChange && v == nil {
  25218. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  25219. v = make(map[int16]uint32, xlen)
  25220. changed = true
  25221. }
  25222. var mk int16
  25223. var mv uint32
  25224. if containerLen > 0 {
  25225. for j := 0; j < containerLen; j++ {
  25226. mk = int16(dd.DecodeInt(16))
  25227. mv = uint32(dd.DecodeUint(32))
  25228. if v != nil {
  25229. v[mk] = mv
  25230. }
  25231. }
  25232. } else if containerLen < 0 {
  25233. for j := 0; !dd.CheckBreak(); j++ {
  25234. mk = int16(dd.DecodeInt(16))
  25235. mv = uint32(dd.DecodeUint(32))
  25236. if v != nil {
  25237. v[mk] = mv
  25238. }
  25239. }
  25240. dd.ReadEnd()
  25241. }
  25242. return v, changed
  25243. }
  25244. func (f *decFnInfo) fastpathDecMapInt16Uint64R(rv reflect.Value) {
  25245. if rv.CanAddr() {
  25246. vp := rv.Addr().Interface().(*map[int16]uint64)
  25247. v, changed := fastpathTV.DecMapInt16Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  25248. if changed {
  25249. *vp = v
  25250. }
  25251. } else {
  25252. v := rv.Interface().(map[int16]uint64)
  25253. fastpathTV.DecMapInt16Uint64V(v, fastpathCheckNilFalse, false, f.d)
  25254. }
  25255. }
  25256. func (f fastpathT) DecMapInt16Uint64X(vp *map[int16]uint64, checkNil bool, d *Decoder) {
  25257. v, changed := f.DecMapInt16Uint64V(*vp, checkNil, true, d)
  25258. if changed {
  25259. *vp = v
  25260. }
  25261. }
  25262. func (_ fastpathT) DecMapInt16Uint64V(v map[int16]uint64, checkNil bool, canChange bool,
  25263. d *Decoder) (_ map[int16]uint64, changed bool) {
  25264. dd := d.d
  25265. if checkNil && dd.TryDecodeAsNil() {
  25266. if v != nil {
  25267. changed = true
  25268. }
  25269. return nil, changed
  25270. }
  25271. containerLen := dd.ReadMapStart()
  25272. if canChange && v == nil {
  25273. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  25274. v = make(map[int16]uint64, xlen)
  25275. changed = true
  25276. }
  25277. var mk int16
  25278. var mv uint64
  25279. if containerLen > 0 {
  25280. for j := 0; j < containerLen; j++ {
  25281. mk = int16(dd.DecodeInt(16))
  25282. mv = dd.DecodeUint(64)
  25283. if v != nil {
  25284. v[mk] = mv
  25285. }
  25286. }
  25287. } else if containerLen < 0 {
  25288. for j := 0; !dd.CheckBreak(); j++ {
  25289. mk = int16(dd.DecodeInt(16))
  25290. mv = dd.DecodeUint(64)
  25291. if v != nil {
  25292. v[mk] = mv
  25293. }
  25294. }
  25295. dd.ReadEnd()
  25296. }
  25297. return v, changed
  25298. }
  25299. func (f *decFnInfo) fastpathDecMapInt16UintptrR(rv reflect.Value) {
  25300. if rv.CanAddr() {
  25301. vp := rv.Addr().Interface().(*map[int16]uintptr)
  25302. v, changed := fastpathTV.DecMapInt16UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  25303. if changed {
  25304. *vp = v
  25305. }
  25306. } else {
  25307. v := rv.Interface().(map[int16]uintptr)
  25308. fastpathTV.DecMapInt16UintptrV(v, fastpathCheckNilFalse, false, f.d)
  25309. }
  25310. }
  25311. func (f fastpathT) DecMapInt16UintptrX(vp *map[int16]uintptr, checkNil bool, d *Decoder) {
  25312. v, changed := f.DecMapInt16UintptrV(*vp, checkNil, true, d)
  25313. if changed {
  25314. *vp = v
  25315. }
  25316. }
  25317. func (_ fastpathT) DecMapInt16UintptrV(v map[int16]uintptr, checkNil bool, canChange bool,
  25318. d *Decoder) (_ map[int16]uintptr, changed bool) {
  25319. dd := d.d
  25320. if checkNil && dd.TryDecodeAsNil() {
  25321. if v != nil {
  25322. changed = true
  25323. }
  25324. return nil, changed
  25325. }
  25326. containerLen := dd.ReadMapStart()
  25327. if canChange && v == nil {
  25328. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  25329. v = make(map[int16]uintptr, xlen)
  25330. changed = true
  25331. }
  25332. var mk int16
  25333. var mv uintptr
  25334. if containerLen > 0 {
  25335. for j := 0; j < containerLen; j++ {
  25336. mk = int16(dd.DecodeInt(16))
  25337. mv = uintptr(dd.DecodeUint(uintBitsize))
  25338. if v != nil {
  25339. v[mk] = mv
  25340. }
  25341. }
  25342. } else if containerLen < 0 {
  25343. for j := 0; !dd.CheckBreak(); j++ {
  25344. mk = int16(dd.DecodeInt(16))
  25345. mv = uintptr(dd.DecodeUint(uintBitsize))
  25346. if v != nil {
  25347. v[mk] = mv
  25348. }
  25349. }
  25350. dd.ReadEnd()
  25351. }
  25352. return v, changed
  25353. }
  25354. func (f *decFnInfo) fastpathDecMapInt16IntR(rv reflect.Value) {
  25355. if rv.CanAddr() {
  25356. vp := rv.Addr().Interface().(*map[int16]int)
  25357. v, changed := fastpathTV.DecMapInt16IntV(*vp, fastpathCheckNilFalse, true, f.d)
  25358. if changed {
  25359. *vp = v
  25360. }
  25361. } else {
  25362. v := rv.Interface().(map[int16]int)
  25363. fastpathTV.DecMapInt16IntV(v, fastpathCheckNilFalse, false, f.d)
  25364. }
  25365. }
  25366. func (f fastpathT) DecMapInt16IntX(vp *map[int16]int, checkNil bool, d *Decoder) {
  25367. v, changed := f.DecMapInt16IntV(*vp, checkNil, true, d)
  25368. if changed {
  25369. *vp = v
  25370. }
  25371. }
  25372. func (_ fastpathT) DecMapInt16IntV(v map[int16]int, checkNil bool, canChange bool,
  25373. d *Decoder) (_ map[int16]int, changed bool) {
  25374. dd := d.d
  25375. if checkNil && dd.TryDecodeAsNil() {
  25376. if v != nil {
  25377. changed = true
  25378. }
  25379. return nil, changed
  25380. }
  25381. containerLen := dd.ReadMapStart()
  25382. if canChange && v == nil {
  25383. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  25384. v = make(map[int16]int, xlen)
  25385. changed = true
  25386. }
  25387. var mk int16
  25388. var mv int
  25389. if containerLen > 0 {
  25390. for j := 0; j < containerLen; j++ {
  25391. mk = int16(dd.DecodeInt(16))
  25392. mv = int(dd.DecodeInt(intBitsize))
  25393. if v != nil {
  25394. v[mk] = mv
  25395. }
  25396. }
  25397. } else if containerLen < 0 {
  25398. for j := 0; !dd.CheckBreak(); j++ {
  25399. mk = int16(dd.DecodeInt(16))
  25400. mv = int(dd.DecodeInt(intBitsize))
  25401. if v != nil {
  25402. v[mk] = mv
  25403. }
  25404. }
  25405. dd.ReadEnd()
  25406. }
  25407. return v, changed
  25408. }
  25409. func (f *decFnInfo) fastpathDecMapInt16Int8R(rv reflect.Value) {
  25410. if rv.CanAddr() {
  25411. vp := rv.Addr().Interface().(*map[int16]int8)
  25412. v, changed := fastpathTV.DecMapInt16Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  25413. if changed {
  25414. *vp = v
  25415. }
  25416. } else {
  25417. v := rv.Interface().(map[int16]int8)
  25418. fastpathTV.DecMapInt16Int8V(v, fastpathCheckNilFalse, false, f.d)
  25419. }
  25420. }
  25421. func (f fastpathT) DecMapInt16Int8X(vp *map[int16]int8, checkNil bool, d *Decoder) {
  25422. v, changed := f.DecMapInt16Int8V(*vp, checkNil, true, d)
  25423. if changed {
  25424. *vp = v
  25425. }
  25426. }
  25427. func (_ fastpathT) DecMapInt16Int8V(v map[int16]int8, checkNil bool, canChange bool,
  25428. d *Decoder) (_ map[int16]int8, changed bool) {
  25429. dd := d.d
  25430. if checkNil && dd.TryDecodeAsNil() {
  25431. if v != nil {
  25432. changed = true
  25433. }
  25434. return nil, changed
  25435. }
  25436. containerLen := dd.ReadMapStart()
  25437. if canChange && v == nil {
  25438. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  25439. v = make(map[int16]int8, xlen)
  25440. changed = true
  25441. }
  25442. var mk int16
  25443. var mv int8
  25444. if containerLen > 0 {
  25445. for j := 0; j < containerLen; j++ {
  25446. mk = int16(dd.DecodeInt(16))
  25447. mv = int8(dd.DecodeInt(8))
  25448. if v != nil {
  25449. v[mk] = mv
  25450. }
  25451. }
  25452. } else if containerLen < 0 {
  25453. for j := 0; !dd.CheckBreak(); j++ {
  25454. mk = int16(dd.DecodeInt(16))
  25455. mv = int8(dd.DecodeInt(8))
  25456. if v != nil {
  25457. v[mk] = mv
  25458. }
  25459. }
  25460. dd.ReadEnd()
  25461. }
  25462. return v, changed
  25463. }
  25464. func (f *decFnInfo) fastpathDecMapInt16Int16R(rv reflect.Value) {
  25465. if rv.CanAddr() {
  25466. vp := rv.Addr().Interface().(*map[int16]int16)
  25467. v, changed := fastpathTV.DecMapInt16Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  25468. if changed {
  25469. *vp = v
  25470. }
  25471. } else {
  25472. v := rv.Interface().(map[int16]int16)
  25473. fastpathTV.DecMapInt16Int16V(v, fastpathCheckNilFalse, false, f.d)
  25474. }
  25475. }
  25476. func (f fastpathT) DecMapInt16Int16X(vp *map[int16]int16, checkNil bool, d *Decoder) {
  25477. v, changed := f.DecMapInt16Int16V(*vp, checkNil, true, d)
  25478. if changed {
  25479. *vp = v
  25480. }
  25481. }
  25482. func (_ fastpathT) DecMapInt16Int16V(v map[int16]int16, checkNil bool, canChange bool,
  25483. d *Decoder) (_ map[int16]int16, changed bool) {
  25484. dd := d.d
  25485. if checkNil && dd.TryDecodeAsNil() {
  25486. if v != nil {
  25487. changed = true
  25488. }
  25489. return nil, changed
  25490. }
  25491. containerLen := dd.ReadMapStart()
  25492. if canChange && v == nil {
  25493. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 4)
  25494. v = make(map[int16]int16, xlen)
  25495. changed = true
  25496. }
  25497. var mk int16
  25498. var mv int16
  25499. if containerLen > 0 {
  25500. for j := 0; j < containerLen; j++ {
  25501. mk = int16(dd.DecodeInt(16))
  25502. mv = int16(dd.DecodeInt(16))
  25503. if v != nil {
  25504. v[mk] = mv
  25505. }
  25506. }
  25507. } else if containerLen < 0 {
  25508. for j := 0; !dd.CheckBreak(); j++ {
  25509. mk = int16(dd.DecodeInt(16))
  25510. mv = int16(dd.DecodeInt(16))
  25511. if v != nil {
  25512. v[mk] = mv
  25513. }
  25514. }
  25515. dd.ReadEnd()
  25516. }
  25517. return v, changed
  25518. }
  25519. func (f *decFnInfo) fastpathDecMapInt16Int32R(rv reflect.Value) {
  25520. if rv.CanAddr() {
  25521. vp := rv.Addr().Interface().(*map[int16]int32)
  25522. v, changed := fastpathTV.DecMapInt16Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  25523. if changed {
  25524. *vp = v
  25525. }
  25526. } else {
  25527. v := rv.Interface().(map[int16]int32)
  25528. fastpathTV.DecMapInt16Int32V(v, fastpathCheckNilFalse, false, f.d)
  25529. }
  25530. }
  25531. func (f fastpathT) DecMapInt16Int32X(vp *map[int16]int32, checkNil bool, d *Decoder) {
  25532. v, changed := f.DecMapInt16Int32V(*vp, checkNil, true, d)
  25533. if changed {
  25534. *vp = v
  25535. }
  25536. }
  25537. func (_ fastpathT) DecMapInt16Int32V(v map[int16]int32, checkNil bool, canChange bool,
  25538. d *Decoder) (_ map[int16]int32, changed bool) {
  25539. dd := d.d
  25540. if checkNil && dd.TryDecodeAsNil() {
  25541. if v != nil {
  25542. changed = true
  25543. }
  25544. return nil, changed
  25545. }
  25546. containerLen := dd.ReadMapStart()
  25547. if canChange && v == nil {
  25548. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  25549. v = make(map[int16]int32, xlen)
  25550. changed = true
  25551. }
  25552. var mk int16
  25553. var mv int32
  25554. if containerLen > 0 {
  25555. for j := 0; j < containerLen; j++ {
  25556. mk = int16(dd.DecodeInt(16))
  25557. mv = int32(dd.DecodeInt(32))
  25558. if v != nil {
  25559. v[mk] = mv
  25560. }
  25561. }
  25562. } else if containerLen < 0 {
  25563. for j := 0; !dd.CheckBreak(); j++ {
  25564. mk = int16(dd.DecodeInt(16))
  25565. mv = int32(dd.DecodeInt(32))
  25566. if v != nil {
  25567. v[mk] = mv
  25568. }
  25569. }
  25570. dd.ReadEnd()
  25571. }
  25572. return v, changed
  25573. }
  25574. func (f *decFnInfo) fastpathDecMapInt16Int64R(rv reflect.Value) {
  25575. if rv.CanAddr() {
  25576. vp := rv.Addr().Interface().(*map[int16]int64)
  25577. v, changed := fastpathTV.DecMapInt16Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  25578. if changed {
  25579. *vp = v
  25580. }
  25581. } else {
  25582. v := rv.Interface().(map[int16]int64)
  25583. fastpathTV.DecMapInt16Int64V(v, fastpathCheckNilFalse, false, f.d)
  25584. }
  25585. }
  25586. func (f fastpathT) DecMapInt16Int64X(vp *map[int16]int64, checkNil bool, d *Decoder) {
  25587. v, changed := f.DecMapInt16Int64V(*vp, checkNil, true, d)
  25588. if changed {
  25589. *vp = v
  25590. }
  25591. }
  25592. func (_ fastpathT) DecMapInt16Int64V(v map[int16]int64, checkNil bool, canChange bool,
  25593. d *Decoder) (_ map[int16]int64, changed bool) {
  25594. dd := d.d
  25595. if checkNil && dd.TryDecodeAsNil() {
  25596. if v != nil {
  25597. changed = true
  25598. }
  25599. return nil, changed
  25600. }
  25601. containerLen := dd.ReadMapStart()
  25602. if canChange && v == nil {
  25603. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  25604. v = make(map[int16]int64, xlen)
  25605. changed = true
  25606. }
  25607. var mk int16
  25608. var mv int64
  25609. if containerLen > 0 {
  25610. for j := 0; j < containerLen; j++ {
  25611. mk = int16(dd.DecodeInt(16))
  25612. mv = dd.DecodeInt(64)
  25613. if v != nil {
  25614. v[mk] = mv
  25615. }
  25616. }
  25617. } else if containerLen < 0 {
  25618. for j := 0; !dd.CheckBreak(); j++ {
  25619. mk = int16(dd.DecodeInt(16))
  25620. mv = dd.DecodeInt(64)
  25621. if v != nil {
  25622. v[mk] = mv
  25623. }
  25624. }
  25625. dd.ReadEnd()
  25626. }
  25627. return v, changed
  25628. }
  25629. func (f *decFnInfo) fastpathDecMapInt16Float32R(rv reflect.Value) {
  25630. if rv.CanAddr() {
  25631. vp := rv.Addr().Interface().(*map[int16]float32)
  25632. v, changed := fastpathTV.DecMapInt16Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  25633. if changed {
  25634. *vp = v
  25635. }
  25636. } else {
  25637. v := rv.Interface().(map[int16]float32)
  25638. fastpathTV.DecMapInt16Float32V(v, fastpathCheckNilFalse, false, f.d)
  25639. }
  25640. }
  25641. func (f fastpathT) DecMapInt16Float32X(vp *map[int16]float32, checkNil bool, d *Decoder) {
  25642. v, changed := f.DecMapInt16Float32V(*vp, checkNil, true, d)
  25643. if changed {
  25644. *vp = v
  25645. }
  25646. }
  25647. func (_ fastpathT) DecMapInt16Float32V(v map[int16]float32, checkNil bool, canChange bool,
  25648. d *Decoder) (_ map[int16]float32, changed bool) {
  25649. dd := d.d
  25650. if checkNil && dd.TryDecodeAsNil() {
  25651. if v != nil {
  25652. changed = true
  25653. }
  25654. return nil, changed
  25655. }
  25656. containerLen := dd.ReadMapStart()
  25657. if canChange && v == nil {
  25658. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  25659. v = make(map[int16]float32, xlen)
  25660. changed = true
  25661. }
  25662. var mk int16
  25663. var mv float32
  25664. if containerLen > 0 {
  25665. for j := 0; j < containerLen; j++ {
  25666. mk = int16(dd.DecodeInt(16))
  25667. mv = float32(dd.DecodeFloat(true))
  25668. if v != nil {
  25669. v[mk] = mv
  25670. }
  25671. }
  25672. } else if containerLen < 0 {
  25673. for j := 0; !dd.CheckBreak(); j++ {
  25674. mk = int16(dd.DecodeInt(16))
  25675. mv = float32(dd.DecodeFloat(true))
  25676. if v != nil {
  25677. v[mk] = mv
  25678. }
  25679. }
  25680. dd.ReadEnd()
  25681. }
  25682. return v, changed
  25683. }
  25684. func (f *decFnInfo) fastpathDecMapInt16Float64R(rv reflect.Value) {
  25685. if rv.CanAddr() {
  25686. vp := rv.Addr().Interface().(*map[int16]float64)
  25687. v, changed := fastpathTV.DecMapInt16Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  25688. if changed {
  25689. *vp = v
  25690. }
  25691. } else {
  25692. v := rv.Interface().(map[int16]float64)
  25693. fastpathTV.DecMapInt16Float64V(v, fastpathCheckNilFalse, false, f.d)
  25694. }
  25695. }
  25696. func (f fastpathT) DecMapInt16Float64X(vp *map[int16]float64, checkNil bool, d *Decoder) {
  25697. v, changed := f.DecMapInt16Float64V(*vp, checkNil, true, d)
  25698. if changed {
  25699. *vp = v
  25700. }
  25701. }
  25702. func (_ fastpathT) DecMapInt16Float64V(v map[int16]float64, checkNil bool, canChange bool,
  25703. d *Decoder) (_ map[int16]float64, changed bool) {
  25704. dd := d.d
  25705. if checkNil && dd.TryDecodeAsNil() {
  25706. if v != nil {
  25707. changed = true
  25708. }
  25709. return nil, changed
  25710. }
  25711. containerLen := dd.ReadMapStart()
  25712. if canChange && v == nil {
  25713. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  25714. v = make(map[int16]float64, xlen)
  25715. changed = true
  25716. }
  25717. var mk int16
  25718. var mv float64
  25719. if containerLen > 0 {
  25720. for j := 0; j < containerLen; j++ {
  25721. mk = int16(dd.DecodeInt(16))
  25722. mv = dd.DecodeFloat(false)
  25723. if v != nil {
  25724. v[mk] = mv
  25725. }
  25726. }
  25727. } else if containerLen < 0 {
  25728. for j := 0; !dd.CheckBreak(); j++ {
  25729. mk = int16(dd.DecodeInt(16))
  25730. mv = dd.DecodeFloat(false)
  25731. if v != nil {
  25732. v[mk] = mv
  25733. }
  25734. }
  25735. dd.ReadEnd()
  25736. }
  25737. return v, changed
  25738. }
  25739. func (f *decFnInfo) fastpathDecMapInt16BoolR(rv reflect.Value) {
  25740. if rv.CanAddr() {
  25741. vp := rv.Addr().Interface().(*map[int16]bool)
  25742. v, changed := fastpathTV.DecMapInt16BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  25743. if changed {
  25744. *vp = v
  25745. }
  25746. } else {
  25747. v := rv.Interface().(map[int16]bool)
  25748. fastpathTV.DecMapInt16BoolV(v, fastpathCheckNilFalse, false, f.d)
  25749. }
  25750. }
  25751. func (f fastpathT) DecMapInt16BoolX(vp *map[int16]bool, checkNil bool, d *Decoder) {
  25752. v, changed := f.DecMapInt16BoolV(*vp, checkNil, true, d)
  25753. if changed {
  25754. *vp = v
  25755. }
  25756. }
  25757. func (_ fastpathT) DecMapInt16BoolV(v map[int16]bool, checkNil bool, canChange bool,
  25758. d *Decoder) (_ map[int16]bool, changed bool) {
  25759. dd := d.d
  25760. if checkNil && dd.TryDecodeAsNil() {
  25761. if v != nil {
  25762. changed = true
  25763. }
  25764. return nil, changed
  25765. }
  25766. containerLen := dd.ReadMapStart()
  25767. if canChange && v == nil {
  25768. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  25769. v = make(map[int16]bool, xlen)
  25770. changed = true
  25771. }
  25772. var mk int16
  25773. var mv bool
  25774. if containerLen > 0 {
  25775. for j := 0; j < containerLen; j++ {
  25776. mk = int16(dd.DecodeInt(16))
  25777. mv = dd.DecodeBool()
  25778. if v != nil {
  25779. v[mk] = mv
  25780. }
  25781. }
  25782. } else if containerLen < 0 {
  25783. for j := 0; !dd.CheckBreak(); j++ {
  25784. mk = int16(dd.DecodeInt(16))
  25785. mv = dd.DecodeBool()
  25786. if v != nil {
  25787. v[mk] = mv
  25788. }
  25789. }
  25790. dd.ReadEnd()
  25791. }
  25792. return v, changed
  25793. }
  25794. func (f *decFnInfo) fastpathDecMapInt32IntfR(rv reflect.Value) {
  25795. if rv.CanAddr() {
  25796. vp := rv.Addr().Interface().(*map[int32]interface{})
  25797. v, changed := fastpathTV.DecMapInt32IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  25798. if changed {
  25799. *vp = v
  25800. }
  25801. } else {
  25802. v := rv.Interface().(map[int32]interface{})
  25803. fastpathTV.DecMapInt32IntfV(v, fastpathCheckNilFalse, false, f.d)
  25804. }
  25805. }
  25806. func (f fastpathT) DecMapInt32IntfX(vp *map[int32]interface{}, checkNil bool, d *Decoder) {
  25807. v, changed := f.DecMapInt32IntfV(*vp, checkNil, true, d)
  25808. if changed {
  25809. *vp = v
  25810. }
  25811. }
  25812. func (_ fastpathT) DecMapInt32IntfV(v map[int32]interface{}, checkNil bool, canChange bool,
  25813. d *Decoder) (_ map[int32]interface{}, changed bool) {
  25814. dd := d.d
  25815. if checkNil && dd.TryDecodeAsNil() {
  25816. if v != nil {
  25817. changed = true
  25818. }
  25819. return nil, changed
  25820. }
  25821. containerLen := dd.ReadMapStart()
  25822. if canChange && v == nil {
  25823. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  25824. v = make(map[int32]interface{}, xlen)
  25825. changed = true
  25826. }
  25827. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  25828. var mk int32
  25829. var mv interface{}
  25830. if containerLen > 0 {
  25831. for j := 0; j < containerLen; j++ {
  25832. mk = int32(dd.DecodeInt(32))
  25833. if mapGet {
  25834. mv = v[mk]
  25835. } else {
  25836. mv = nil
  25837. }
  25838. d.decode(&mv)
  25839. if v != nil {
  25840. v[mk] = mv
  25841. }
  25842. }
  25843. } else if containerLen < 0 {
  25844. for j := 0; !dd.CheckBreak(); j++ {
  25845. mk = int32(dd.DecodeInt(32))
  25846. if mapGet {
  25847. mv = v[mk]
  25848. } else {
  25849. mv = nil
  25850. }
  25851. d.decode(&mv)
  25852. if v != nil {
  25853. v[mk] = mv
  25854. }
  25855. }
  25856. dd.ReadEnd()
  25857. }
  25858. return v, changed
  25859. }
  25860. func (f *decFnInfo) fastpathDecMapInt32StringR(rv reflect.Value) {
  25861. if rv.CanAddr() {
  25862. vp := rv.Addr().Interface().(*map[int32]string)
  25863. v, changed := fastpathTV.DecMapInt32StringV(*vp, fastpathCheckNilFalse, true, f.d)
  25864. if changed {
  25865. *vp = v
  25866. }
  25867. } else {
  25868. v := rv.Interface().(map[int32]string)
  25869. fastpathTV.DecMapInt32StringV(v, fastpathCheckNilFalse, false, f.d)
  25870. }
  25871. }
  25872. func (f fastpathT) DecMapInt32StringX(vp *map[int32]string, checkNil bool, d *Decoder) {
  25873. v, changed := f.DecMapInt32StringV(*vp, checkNil, true, d)
  25874. if changed {
  25875. *vp = v
  25876. }
  25877. }
  25878. func (_ fastpathT) DecMapInt32StringV(v map[int32]string, checkNil bool, canChange bool,
  25879. d *Decoder) (_ map[int32]string, changed bool) {
  25880. dd := d.d
  25881. if checkNil && dd.TryDecodeAsNil() {
  25882. if v != nil {
  25883. changed = true
  25884. }
  25885. return nil, changed
  25886. }
  25887. containerLen := dd.ReadMapStart()
  25888. if canChange && v == nil {
  25889. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 20)
  25890. v = make(map[int32]string, xlen)
  25891. changed = true
  25892. }
  25893. var mk int32
  25894. var mv string
  25895. if containerLen > 0 {
  25896. for j := 0; j < containerLen; j++ {
  25897. mk = int32(dd.DecodeInt(32))
  25898. mv = dd.DecodeString()
  25899. if v != nil {
  25900. v[mk] = mv
  25901. }
  25902. }
  25903. } else if containerLen < 0 {
  25904. for j := 0; !dd.CheckBreak(); j++ {
  25905. mk = int32(dd.DecodeInt(32))
  25906. mv = dd.DecodeString()
  25907. if v != nil {
  25908. v[mk] = mv
  25909. }
  25910. }
  25911. dd.ReadEnd()
  25912. }
  25913. return v, changed
  25914. }
  25915. func (f *decFnInfo) fastpathDecMapInt32UintR(rv reflect.Value) {
  25916. if rv.CanAddr() {
  25917. vp := rv.Addr().Interface().(*map[int32]uint)
  25918. v, changed := fastpathTV.DecMapInt32UintV(*vp, fastpathCheckNilFalse, true, f.d)
  25919. if changed {
  25920. *vp = v
  25921. }
  25922. } else {
  25923. v := rv.Interface().(map[int32]uint)
  25924. fastpathTV.DecMapInt32UintV(v, fastpathCheckNilFalse, false, f.d)
  25925. }
  25926. }
  25927. func (f fastpathT) DecMapInt32UintX(vp *map[int32]uint, checkNil bool, d *Decoder) {
  25928. v, changed := f.DecMapInt32UintV(*vp, checkNil, true, d)
  25929. if changed {
  25930. *vp = v
  25931. }
  25932. }
  25933. func (_ fastpathT) DecMapInt32UintV(v map[int32]uint, checkNil bool, canChange bool,
  25934. d *Decoder) (_ map[int32]uint, changed bool) {
  25935. dd := d.d
  25936. if checkNil && dd.TryDecodeAsNil() {
  25937. if v != nil {
  25938. changed = true
  25939. }
  25940. return nil, changed
  25941. }
  25942. containerLen := dd.ReadMapStart()
  25943. if canChange && v == nil {
  25944. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  25945. v = make(map[int32]uint, xlen)
  25946. changed = true
  25947. }
  25948. var mk int32
  25949. var mv uint
  25950. if containerLen > 0 {
  25951. for j := 0; j < containerLen; j++ {
  25952. mk = int32(dd.DecodeInt(32))
  25953. mv = uint(dd.DecodeUint(uintBitsize))
  25954. if v != nil {
  25955. v[mk] = mv
  25956. }
  25957. }
  25958. } else if containerLen < 0 {
  25959. for j := 0; !dd.CheckBreak(); j++ {
  25960. mk = int32(dd.DecodeInt(32))
  25961. mv = uint(dd.DecodeUint(uintBitsize))
  25962. if v != nil {
  25963. v[mk] = mv
  25964. }
  25965. }
  25966. dd.ReadEnd()
  25967. }
  25968. return v, changed
  25969. }
  25970. func (f *decFnInfo) fastpathDecMapInt32Uint8R(rv reflect.Value) {
  25971. if rv.CanAddr() {
  25972. vp := rv.Addr().Interface().(*map[int32]uint8)
  25973. v, changed := fastpathTV.DecMapInt32Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  25974. if changed {
  25975. *vp = v
  25976. }
  25977. } else {
  25978. v := rv.Interface().(map[int32]uint8)
  25979. fastpathTV.DecMapInt32Uint8V(v, fastpathCheckNilFalse, false, f.d)
  25980. }
  25981. }
  25982. func (f fastpathT) DecMapInt32Uint8X(vp *map[int32]uint8, checkNil bool, d *Decoder) {
  25983. v, changed := f.DecMapInt32Uint8V(*vp, checkNil, true, d)
  25984. if changed {
  25985. *vp = v
  25986. }
  25987. }
  25988. func (_ fastpathT) DecMapInt32Uint8V(v map[int32]uint8, checkNil bool, canChange bool,
  25989. d *Decoder) (_ map[int32]uint8, changed bool) {
  25990. dd := d.d
  25991. if checkNil && dd.TryDecodeAsNil() {
  25992. if v != nil {
  25993. changed = true
  25994. }
  25995. return nil, changed
  25996. }
  25997. containerLen := dd.ReadMapStart()
  25998. if canChange && v == nil {
  25999. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  26000. v = make(map[int32]uint8, xlen)
  26001. changed = true
  26002. }
  26003. var mk int32
  26004. var mv uint8
  26005. if containerLen > 0 {
  26006. for j := 0; j < containerLen; j++ {
  26007. mk = int32(dd.DecodeInt(32))
  26008. mv = uint8(dd.DecodeUint(8))
  26009. if v != nil {
  26010. v[mk] = mv
  26011. }
  26012. }
  26013. } else if containerLen < 0 {
  26014. for j := 0; !dd.CheckBreak(); j++ {
  26015. mk = int32(dd.DecodeInt(32))
  26016. mv = uint8(dd.DecodeUint(8))
  26017. if v != nil {
  26018. v[mk] = mv
  26019. }
  26020. }
  26021. dd.ReadEnd()
  26022. }
  26023. return v, changed
  26024. }
  26025. func (f *decFnInfo) fastpathDecMapInt32Uint16R(rv reflect.Value) {
  26026. if rv.CanAddr() {
  26027. vp := rv.Addr().Interface().(*map[int32]uint16)
  26028. v, changed := fastpathTV.DecMapInt32Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  26029. if changed {
  26030. *vp = v
  26031. }
  26032. } else {
  26033. v := rv.Interface().(map[int32]uint16)
  26034. fastpathTV.DecMapInt32Uint16V(v, fastpathCheckNilFalse, false, f.d)
  26035. }
  26036. }
  26037. func (f fastpathT) DecMapInt32Uint16X(vp *map[int32]uint16, checkNil bool, d *Decoder) {
  26038. v, changed := f.DecMapInt32Uint16V(*vp, checkNil, true, d)
  26039. if changed {
  26040. *vp = v
  26041. }
  26042. }
  26043. func (_ fastpathT) DecMapInt32Uint16V(v map[int32]uint16, checkNil bool, canChange bool,
  26044. d *Decoder) (_ map[int32]uint16, changed bool) {
  26045. dd := d.d
  26046. if checkNil && dd.TryDecodeAsNil() {
  26047. if v != nil {
  26048. changed = true
  26049. }
  26050. return nil, changed
  26051. }
  26052. containerLen := dd.ReadMapStart()
  26053. if canChange && v == nil {
  26054. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  26055. v = make(map[int32]uint16, xlen)
  26056. changed = true
  26057. }
  26058. var mk int32
  26059. var mv uint16
  26060. if containerLen > 0 {
  26061. for j := 0; j < containerLen; j++ {
  26062. mk = int32(dd.DecodeInt(32))
  26063. mv = uint16(dd.DecodeUint(16))
  26064. if v != nil {
  26065. v[mk] = mv
  26066. }
  26067. }
  26068. } else if containerLen < 0 {
  26069. for j := 0; !dd.CheckBreak(); j++ {
  26070. mk = int32(dd.DecodeInt(32))
  26071. mv = uint16(dd.DecodeUint(16))
  26072. if v != nil {
  26073. v[mk] = mv
  26074. }
  26075. }
  26076. dd.ReadEnd()
  26077. }
  26078. return v, changed
  26079. }
  26080. func (f *decFnInfo) fastpathDecMapInt32Uint32R(rv reflect.Value) {
  26081. if rv.CanAddr() {
  26082. vp := rv.Addr().Interface().(*map[int32]uint32)
  26083. v, changed := fastpathTV.DecMapInt32Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  26084. if changed {
  26085. *vp = v
  26086. }
  26087. } else {
  26088. v := rv.Interface().(map[int32]uint32)
  26089. fastpathTV.DecMapInt32Uint32V(v, fastpathCheckNilFalse, false, f.d)
  26090. }
  26091. }
  26092. func (f fastpathT) DecMapInt32Uint32X(vp *map[int32]uint32, checkNil bool, d *Decoder) {
  26093. v, changed := f.DecMapInt32Uint32V(*vp, checkNil, true, d)
  26094. if changed {
  26095. *vp = v
  26096. }
  26097. }
  26098. func (_ fastpathT) DecMapInt32Uint32V(v map[int32]uint32, checkNil bool, canChange bool,
  26099. d *Decoder) (_ map[int32]uint32, changed bool) {
  26100. dd := d.d
  26101. if checkNil && dd.TryDecodeAsNil() {
  26102. if v != nil {
  26103. changed = true
  26104. }
  26105. return nil, changed
  26106. }
  26107. containerLen := dd.ReadMapStart()
  26108. if canChange && v == nil {
  26109. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  26110. v = make(map[int32]uint32, xlen)
  26111. changed = true
  26112. }
  26113. var mk int32
  26114. var mv uint32
  26115. if containerLen > 0 {
  26116. for j := 0; j < containerLen; j++ {
  26117. mk = int32(dd.DecodeInt(32))
  26118. mv = uint32(dd.DecodeUint(32))
  26119. if v != nil {
  26120. v[mk] = mv
  26121. }
  26122. }
  26123. } else if containerLen < 0 {
  26124. for j := 0; !dd.CheckBreak(); j++ {
  26125. mk = int32(dd.DecodeInt(32))
  26126. mv = uint32(dd.DecodeUint(32))
  26127. if v != nil {
  26128. v[mk] = mv
  26129. }
  26130. }
  26131. dd.ReadEnd()
  26132. }
  26133. return v, changed
  26134. }
  26135. func (f *decFnInfo) fastpathDecMapInt32Uint64R(rv reflect.Value) {
  26136. if rv.CanAddr() {
  26137. vp := rv.Addr().Interface().(*map[int32]uint64)
  26138. v, changed := fastpathTV.DecMapInt32Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  26139. if changed {
  26140. *vp = v
  26141. }
  26142. } else {
  26143. v := rv.Interface().(map[int32]uint64)
  26144. fastpathTV.DecMapInt32Uint64V(v, fastpathCheckNilFalse, false, f.d)
  26145. }
  26146. }
  26147. func (f fastpathT) DecMapInt32Uint64X(vp *map[int32]uint64, checkNil bool, d *Decoder) {
  26148. v, changed := f.DecMapInt32Uint64V(*vp, checkNil, true, d)
  26149. if changed {
  26150. *vp = v
  26151. }
  26152. }
  26153. func (_ fastpathT) DecMapInt32Uint64V(v map[int32]uint64, checkNil bool, canChange bool,
  26154. d *Decoder) (_ map[int32]uint64, changed bool) {
  26155. dd := d.d
  26156. if checkNil && dd.TryDecodeAsNil() {
  26157. if v != nil {
  26158. changed = true
  26159. }
  26160. return nil, changed
  26161. }
  26162. containerLen := dd.ReadMapStart()
  26163. if canChange && v == nil {
  26164. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  26165. v = make(map[int32]uint64, xlen)
  26166. changed = true
  26167. }
  26168. var mk int32
  26169. var mv uint64
  26170. if containerLen > 0 {
  26171. for j := 0; j < containerLen; j++ {
  26172. mk = int32(dd.DecodeInt(32))
  26173. mv = dd.DecodeUint(64)
  26174. if v != nil {
  26175. v[mk] = mv
  26176. }
  26177. }
  26178. } else if containerLen < 0 {
  26179. for j := 0; !dd.CheckBreak(); j++ {
  26180. mk = int32(dd.DecodeInt(32))
  26181. mv = dd.DecodeUint(64)
  26182. if v != nil {
  26183. v[mk] = mv
  26184. }
  26185. }
  26186. dd.ReadEnd()
  26187. }
  26188. return v, changed
  26189. }
  26190. func (f *decFnInfo) fastpathDecMapInt32UintptrR(rv reflect.Value) {
  26191. if rv.CanAddr() {
  26192. vp := rv.Addr().Interface().(*map[int32]uintptr)
  26193. v, changed := fastpathTV.DecMapInt32UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  26194. if changed {
  26195. *vp = v
  26196. }
  26197. } else {
  26198. v := rv.Interface().(map[int32]uintptr)
  26199. fastpathTV.DecMapInt32UintptrV(v, fastpathCheckNilFalse, false, f.d)
  26200. }
  26201. }
  26202. func (f fastpathT) DecMapInt32UintptrX(vp *map[int32]uintptr, checkNil bool, d *Decoder) {
  26203. v, changed := f.DecMapInt32UintptrV(*vp, checkNil, true, d)
  26204. if changed {
  26205. *vp = v
  26206. }
  26207. }
  26208. func (_ fastpathT) DecMapInt32UintptrV(v map[int32]uintptr, checkNil bool, canChange bool,
  26209. d *Decoder) (_ map[int32]uintptr, changed bool) {
  26210. dd := d.d
  26211. if checkNil && dd.TryDecodeAsNil() {
  26212. if v != nil {
  26213. changed = true
  26214. }
  26215. return nil, changed
  26216. }
  26217. containerLen := dd.ReadMapStart()
  26218. if canChange && v == nil {
  26219. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  26220. v = make(map[int32]uintptr, xlen)
  26221. changed = true
  26222. }
  26223. var mk int32
  26224. var mv uintptr
  26225. if containerLen > 0 {
  26226. for j := 0; j < containerLen; j++ {
  26227. mk = int32(dd.DecodeInt(32))
  26228. mv = uintptr(dd.DecodeUint(uintBitsize))
  26229. if v != nil {
  26230. v[mk] = mv
  26231. }
  26232. }
  26233. } else if containerLen < 0 {
  26234. for j := 0; !dd.CheckBreak(); j++ {
  26235. mk = int32(dd.DecodeInt(32))
  26236. mv = uintptr(dd.DecodeUint(uintBitsize))
  26237. if v != nil {
  26238. v[mk] = mv
  26239. }
  26240. }
  26241. dd.ReadEnd()
  26242. }
  26243. return v, changed
  26244. }
  26245. func (f *decFnInfo) fastpathDecMapInt32IntR(rv reflect.Value) {
  26246. if rv.CanAddr() {
  26247. vp := rv.Addr().Interface().(*map[int32]int)
  26248. v, changed := fastpathTV.DecMapInt32IntV(*vp, fastpathCheckNilFalse, true, f.d)
  26249. if changed {
  26250. *vp = v
  26251. }
  26252. } else {
  26253. v := rv.Interface().(map[int32]int)
  26254. fastpathTV.DecMapInt32IntV(v, fastpathCheckNilFalse, false, f.d)
  26255. }
  26256. }
  26257. func (f fastpathT) DecMapInt32IntX(vp *map[int32]int, checkNil bool, d *Decoder) {
  26258. v, changed := f.DecMapInt32IntV(*vp, checkNil, true, d)
  26259. if changed {
  26260. *vp = v
  26261. }
  26262. }
  26263. func (_ fastpathT) DecMapInt32IntV(v map[int32]int, checkNil bool, canChange bool,
  26264. d *Decoder) (_ map[int32]int, changed bool) {
  26265. dd := d.d
  26266. if checkNil && dd.TryDecodeAsNil() {
  26267. if v != nil {
  26268. changed = true
  26269. }
  26270. return nil, changed
  26271. }
  26272. containerLen := dd.ReadMapStart()
  26273. if canChange && v == nil {
  26274. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  26275. v = make(map[int32]int, xlen)
  26276. changed = true
  26277. }
  26278. var mk int32
  26279. var mv int
  26280. if containerLen > 0 {
  26281. for j := 0; j < containerLen; j++ {
  26282. mk = int32(dd.DecodeInt(32))
  26283. mv = int(dd.DecodeInt(intBitsize))
  26284. if v != nil {
  26285. v[mk] = mv
  26286. }
  26287. }
  26288. } else if containerLen < 0 {
  26289. for j := 0; !dd.CheckBreak(); j++ {
  26290. mk = int32(dd.DecodeInt(32))
  26291. mv = int(dd.DecodeInt(intBitsize))
  26292. if v != nil {
  26293. v[mk] = mv
  26294. }
  26295. }
  26296. dd.ReadEnd()
  26297. }
  26298. return v, changed
  26299. }
  26300. func (f *decFnInfo) fastpathDecMapInt32Int8R(rv reflect.Value) {
  26301. if rv.CanAddr() {
  26302. vp := rv.Addr().Interface().(*map[int32]int8)
  26303. v, changed := fastpathTV.DecMapInt32Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  26304. if changed {
  26305. *vp = v
  26306. }
  26307. } else {
  26308. v := rv.Interface().(map[int32]int8)
  26309. fastpathTV.DecMapInt32Int8V(v, fastpathCheckNilFalse, false, f.d)
  26310. }
  26311. }
  26312. func (f fastpathT) DecMapInt32Int8X(vp *map[int32]int8, checkNil bool, d *Decoder) {
  26313. v, changed := f.DecMapInt32Int8V(*vp, checkNil, true, d)
  26314. if changed {
  26315. *vp = v
  26316. }
  26317. }
  26318. func (_ fastpathT) DecMapInt32Int8V(v map[int32]int8, checkNil bool, canChange bool,
  26319. d *Decoder) (_ map[int32]int8, changed bool) {
  26320. dd := d.d
  26321. if checkNil && dd.TryDecodeAsNil() {
  26322. if v != nil {
  26323. changed = true
  26324. }
  26325. return nil, changed
  26326. }
  26327. containerLen := dd.ReadMapStart()
  26328. if canChange && v == nil {
  26329. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  26330. v = make(map[int32]int8, xlen)
  26331. changed = true
  26332. }
  26333. var mk int32
  26334. var mv int8
  26335. if containerLen > 0 {
  26336. for j := 0; j < containerLen; j++ {
  26337. mk = int32(dd.DecodeInt(32))
  26338. mv = int8(dd.DecodeInt(8))
  26339. if v != nil {
  26340. v[mk] = mv
  26341. }
  26342. }
  26343. } else if containerLen < 0 {
  26344. for j := 0; !dd.CheckBreak(); j++ {
  26345. mk = int32(dd.DecodeInt(32))
  26346. mv = int8(dd.DecodeInt(8))
  26347. if v != nil {
  26348. v[mk] = mv
  26349. }
  26350. }
  26351. dd.ReadEnd()
  26352. }
  26353. return v, changed
  26354. }
  26355. func (f *decFnInfo) fastpathDecMapInt32Int16R(rv reflect.Value) {
  26356. if rv.CanAddr() {
  26357. vp := rv.Addr().Interface().(*map[int32]int16)
  26358. v, changed := fastpathTV.DecMapInt32Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  26359. if changed {
  26360. *vp = v
  26361. }
  26362. } else {
  26363. v := rv.Interface().(map[int32]int16)
  26364. fastpathTV.DecMapInt32Int16V(v, fastpathCheckNilFalse, false, f.d)
  26365. }
  26366. }
  26367. func (f fastpathT) DecMapInt32Int16X(vp *map[int32]int16, checkNil bool, d *Decoder) {
  26368. v, changed := f.DecMapInt32Int16V(*vp, checkNil, true, d)
  26369. if changed {
  26370. *vp = v
  26371. }
  26372. }
  26373. func (_ fastpathT) DecMapInt32Int16V(v map[int32]int16, checkNil bool, canChange bool,
  26374. d *Decoder) (_ map[int32]int16, changed bool) {
  26375. dd := d.d
  26376. if checkNil && dd.TryDecodeAsNil() {
  26377. if v != nil {
  26378. changed = true
  26379. }
  26380. return nil, changed
  26381. }
  26382. containerLen := dd.ReadMapStart()
  26383. if canChange && v == nil {
  26384. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 6)
  26385. v = make(map[int32]int16, xlen)
  26386. changed = true
  26387. }
  26388. var mk int32
  26389. var mv int16
  26390. if containerLen > 0 {
  26391. for j := 0; j < containerLen; j++ {
  26392. mk = int32(dd.DecodeInt(32))
  26393. mv = int16(dd.DecodeInt(16))
  26394. if v != nil {
  26395. v[mk] = mv
  26396. }
  26397. }
  26398. } else if containerLen < 0 {
  26399. for j := 0; !dd.CheckBreak(); j++ {
  26400. mk = int32(dd.DecodeInt(32))
  26401. mv = int16(dd.DecodeInt(16))
  26402. if v != nil {
  26403. v[mk] = mv
  26404. }
  26405. }
  26406. dd.ReadEnd()
  26407. }
  26408. return v, changed
  26409. }
  26410. func (f *decFnInfo) fastpathDecMapInt32Int32R(rv reflect.Value) {
  26411. if rv.CanAddr() {
  26412. vp := rv.Addr().Interface().(*map[int32]int32)
  26413. v, changed := fastpathTV.DecMapInt32Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  26414. if changed {
  26415. *vp = v
  26416. }
  26417. } else {
  26418. v := rv.Interface().(map[int32]int32)
  26419. fastpathTV.DecMapInt32Int32V(v, fastpathCheckNilFalse, false, f.d)
  26420. }
  26421. }
  26422. func (f fastpathT) DecMapInt32Int32X(vp *map[int32]int32, checkNil bool, d *Decoder) {
  26423. v, changed := f.DecMapInt32Int32V(*vp, checkNil, true, d)
  26424. if changed {
  26425. *vp = v
  26426. }
  26427. }
  26428. func (_ fastpathT) DecMapInt32Int32V(v map[int32]int32, checkNil bool, canChange bool,
  26429. d *Decoder) (_ map[int32]int32, changed bool) {
  26430. dd := d.d
  26431. if checkNil && dd.TryDecodeAsNil() {
  26432. if v != nil {
  26433. changed = true
  26434. }
  26435. return nil, changed
  26436. }
  26437. containerLen := dd.ReadMapStart()
  26438. if canChange && v == nil {
  26439. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  26440. v = make(map[int32]int32, xlen)
  26441. changed = true
  26442. }
  26443. var mk int32
  26444. var mv int32
  26445. if containerLen > 0 {
  26446. for j := 0; j < containerLen; j++ {
  26447. mk = int32(dd.DecodeInt(32))
  26448. mv = int32(dd.DecodeInt(32))
  26449. if v != nil {
  26450. v[mk] = mv
  26451. }
  26452. }
  26453. } else if containerLen < 0 {
  26454. for j := 0; !dd.CheckBreak(); j++ {
  26455. mk = int32(dd.DecodeInt(32))
  26456. mv = int32(dd.DecodeInt(32))
  26457. if v != nil {
  26458. v[mk] = mv
  26459. }
  26460. }
  26461. dd.ReadEnd()
  26462. }
  26463. return v, changed
  26464. }
  26465. func (f *decFnInfo) fastpathDecMapInt32Int64R(rv reflect.Value) {
  26466. if rv.CanAddr() {
  26467. vp := rv.Addr().Interface().(*map[int32]int64)
  26468. v, changed := fastpathTV.DecMapInt32Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  26469. if changed {
  26470. *vp = v
  26471. }
  26472. } else {
  26473. v := rv.Interface().(map[int32]int64)
  26474. fastpathTV.DecMapInt32Int64V(v, fastpathCheckNilFalse, false, f.d)
  26475. }
  26476. }
  26477. func (f fastpathT) DecMapInt32Int64X(vp *map[int32]int64, checkNil bool, d *Decoder) {
  26478. v, changed := f.DecMapInt32Int64V(*vp, checkNil, true, d)
  26479. if changed {
  26480. *vp = v
  26481. }
  26482. }
  26483. func (_ fastpathT) DecMapInt32Int64V(v map[int32]int64, checkNil bool, canChange bool,
  26484. d *Decoder) (_ map[int32]int64, changed bool) {
  26485. dd := d.d
  26486. if checkNil && dd.TryDecodeAsNil() {
  26487. if v != nil {
  26488. changed = true
  26489. }
  26490. return nil, changed
  26491. }
  26492. containerLen := dd.ReadMapStart()
  26493. if canChange && v == nil {
  26494. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  26495. v = make(map[int32]int64, xlen)
  26496. changed = true
  26497. }
  26498. var mk int32
  26499. var mv int64
  26500. if containerLen > 0 {
  26501. for j := 0; j < containerLen; j++ {
  26502. mk = int32(dd.DecodeInt(32))
  26503. mv = dd.DecodeInt(64)
  26504. if v != nil {
  26505. v[mk] = mv
  26506. }
  26507. }
  26508. } else if containerLen < 0 {
  26509. for j := 0; !dd.CheckBreak(); j++ {
  26510. mk = int32(dd.DecodeInt(32))
  26511. mv = dd.DecodeInt(64)
  26512. if v != nil {
  26513. v[mk] = mv
  26514. }
  26515. }
  26516. dd.ReadEnd()
  26517. }
  26518. return v, changed
  26519. }
  26520. func (f *decFnInfo) fastpathDecMapInt32Float32R(rv reflect.Value) {
  26521. if rv.CanAddr() {
  26522. vp := rv.Addr().Interface().(*map[int32]float32)
  26523. v, changed := fastpathTV.DecMapInt32Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  26524. if changed {
  26525. *vp = v
  26526. }
  26527. } else {
  26528. v := rv.Interface().(map[int32]float32)
  26529. fastpathTV.DecMapInt32Float32V(v, fastpathCheckNilFalse, false, f.d)
  26530. }
  26531. }
  26532. func (f fastpathT) DecMapInt32Float32X(vp *map[int32]float32, checkNil bool, d *Decoder) {
  26533. v, changed := f.DecMapInt32Float32V(*vp, checkNil, true, d)
  26534. if changed {
  26535. *vp = v
  26536. }
  26537. }
  26538. func (_ fastpathT) DecMapInt32Float32V(v map[int32]float32, checkNil bool, canChange bool,
  26539. d *Decoder) (_ map[int32]float32, changed bool) {
  26540. dd := d.d
  26541. if checkNil && dd.TryDecodeAsNil() {
  26542. if v != nil {
  26543. changed = true
  26544. }
  26545. return nil, changed
  26546. }
  26547. containerLen := dd.ReadMapStart()
  26548. if canChange && v == nil {
  26549. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 8)
  26550. v = make(map[int32]float32, xlen)
  26551. changed = true
  26552. }
  26553. var mk int32
  26554. var mv float32
  26555. if containerLen > 0 {
  26556. for j := 0; j < containerLen; j++ {
  26557. mk = int32(dd.DecodeInt(32))
  26558. mv = float32(dd.DecodeFloat(true))
  26559. if v != nil {
  26560. v[mk] = mv
  26561. }
  26562. }
  26563. } else if containerLen < 0 {
  26564. for j := 0; !dd.CheckBreak(); j++ {
  26565. mk = int32(dd.DecodeInt(32))
  26566. mv = float32(dd.DecodeFloat(true))
  26567. if v != nil {
  26568. v[mk] = mv
  26569. }
  26570. }
  26571. dd.ReadEnd()
  26572. }
  26573. return v, changed
  26574. }
  26575. func (f *decFnInfo) fastpathDecMapInt32Float64R(rv reflect.Value) {
  26576. if rv.CanAddr() {
  26577. vp := rv.Addr().Interface().(*map[int32]float64)
  26578. v, changed := fastpathTV.DecMapInt32Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  26579. if changed {
  26580. *vp = v
  26581. }
  26582. } else {
  26583. v := rv.Interface().(map[int32]float64)
  26584. fastpathTV.DecMapInt32Float64V(v, fastpathCheckNilFalse, false, f.d)
  26585. }
  26586. }
  26587. func (f fastpathT) DecMapInt32Float64X(vp *map[int32]float64, checkNil bool, d *Decoder) {
  26588. v, changed := f.DecMapInt32Float64V(*vp, checkNil, true, d)
  26589. if changed {
  26590. *vp = v
  26591. }
  26592. }
  26593. func (_ fastpathT) DecMapInt32Float64V(v map[int32]float64, checkNil bool, canChange bool,
  26594. d *Decoder) (_ map[int32]float64, changed bool) {
  26595. dd := d.d
  26596. if checkNil && dd.TryDecodeAsNil() {
  26597. if v != nil {
  26598. changed = true
  26599. }
  26600. return nil, changed
  26601. }
  26602. containerLen := dd.ReadMapStart()
  26603. if canChange && v == nil {
  26604. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  26605. v = make(map[int32]float64, xlen)
  26606. changed = true
  26607. }
  26608. var mk int32
  26609. var mv float64
  26610. if containerLen > 0 {
  26611. for j := 0; j < containerLen; j++ {
  26612. mk = int32(dd.DecodeInt(32))
  26613. mv = dd.DecodeFloat(false)
  26614. if v != nil {
  26615. v[mk] = mv
  26616. }
  26617. }
  26618. } else if containerLen < 0 {
  26619. for j := 0; !dd.CheckBreak(); j++ {
  26620. mk = int32(dd.DecodeInt(32))
  26621. mv = dd.DecodeFloat(false)
  26622. if v != nil {
  26623. v[mk] = mv
  26624. }
  26625. }
  26626. dd.ReadEnd()
  26627. }
  26628. return v, changed
  26629. }
  26630. func (f *decFnInfo) fastpathDecMapInt32BoolR(rv reflect.Value) {
  26631. if rv.CanAddr() {
  26632. vp := rv.Addr().Interface().(*map[int32]bool)
  26633. v, changed := fastpathTV.DecMapInt32BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  26634. if changed {
  26635. *vp = v
  26636. }
  26637. } else {
  26638. v := rv.Interface().(map[int32]bool)
  26639. fastpathTV.DecMapInt32BoolV(v, fastpathCheckNilFalse, false, f.d)
  26640. }
  26641. }
  26642. func (f fastpathT) DecMapInt32BoolX(vp *map[int32]bool, checkNil bool, d *Decoder) {
  26643. v, changed := f.DecMapInt32BoolV(*vp, checkNil, true, d)
  26644. if changed {
  26645. *vp = v
  26646. }
  26647. }
  26648. func (_ fastpathT) DecMapInt32BoolV(v map[int32]bool, checkNil bool, canChange bool,
  26649. d *Decoder) (_ map[int32]bool, changed bool) {
  26650. dd := d.d
  26651. if checkNil && dd.TryDecodeAsNil() {
  26652. if v != nil {
  26653. changed = true
  26654. }
  26655. return nil, changed
  26656. }
  26657. containerLen := dd.ReadMapStart()
  26658. if canChange && v == nil {
  26659. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  26660. v = make(map[int32]bool, xlen)
  26661. changed = true
  26662. }
  26663. var mk int32
  26664. var mv bool
  26665. if containerLen > 0 {
  26666. for j := 0; j < containerLen; j++ {
  26667. mk = int32(dd.DecodeInt(32))
  26668. mv = dd.DecodeBool()
  26669. if v != nil {
  26670. v[mk] = mv
  26671. }
  26672. }
  26673. } else if containerLen < 0 {
  26674. for j := 0; !dd.CheckBreak(); j++ {
  26675. mk = int32(dd.DecodeInt(32))
  26676. mv = dd.DecodeBool()
  26677. if v != nil {
  26678. v[mk] = mv
  26679. }
  26680. }
  26681. dd.ReadEnd()
  26682. }
  26683. return v, changed
  26684. }
  26685. func (f *decFnInfo) fastpathDecMapInt64IntfR(rv reflect.Value) {
  26686. if rv.CanAddr() {
  26687. vp := rv.Addr().Interface().(*map[int64]interface{})
  26688. v, changed := fastpathTV.DecMapInt64IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  26689. if changed {
  26690. *vp = v
  26691. }
  26692. } else {
  26693. v := rv.Interface().(map[int64]interface{})
  26694. fastpathTV.DecMapInt64IntfV(v, fastpathCheckNilFalse, false, f.d)
  26695. }
  26696. }
  26697. func (f fastpathT) DecMapInt64IntfX(vp *map[int64]interface{}, checkNil bool, d *Decoder) {
  26698. v, changed := f.DecMapInt64IntfV(*vp, checkNil, true, d)
  26699. if changed {
  26700. *vp = v
  26701. }
  26702. }
  26703. func (_ fastpathT) DecMapInt64IntfV(v map[int64]interface{}, checkNil bool, canChange bool,
  26704. d *Decoder) (_ map[int64]interface{}, changed bool) {
  26705. dd := d.d
  26706. if checkNil && dd.TryDecodeAsNil() {
  26707. if v != nil {
  26708. changed = true
  26709. }
  26710. return nil, changed
  26711. }
  26712. containerLen := dd.ReadMapStart()
  26713. if canChange && v == nil {
  26714. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  26715. v = make(map[int64]interface{}, xlen)
  26716. changed = true
  26717. }
  26718. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  26719. var mk int64
  26720. var mv interface{}
  26721. if containerLen > 0 {
  26722. for j := 0; j < containerLen; j++ {
  26723. mk = dd.DecodeInt(64)
  26724. if mapGet {
  26725. mv = v[mk]
  26726. } else {
  26727. mv = nil
  26728. }
  26729. d.decode(&mv)
  26730. if v != nil {
  26731. v[mk] = mv
  26732. }
  26733. }
  26734. } else if containerLen < 0 {
  26735. for j := 0; !dd.CheckBreak(); j++ {
  26736. mk = dd.DecodeInt(64)
  26737. if mapGet {
  26738. mv = v[mk]
  26739. } else {
  26740. mv = nil
  26741. }
  26742. d.decode(&mv)
  26743. if v != nil {
  26744. v[mk] = mv
  26745. }
  26746. }
  26747. dd.ReadEnd()
  26748. }
  26749. return v, changed
  26750. }
  26751. func (f *decFnInfo) fastpathDecMapInt64StringR(rv reflect.Value) {
  26752. if rv.CanAddr() {
  26753. vp := rv.Addr().Interface().(*map[int64]string)
  26754. v, changed := fastpathTV.DecMapInt64StringV(*vp, fastpathCheckNilFalse, true, f.d)
  26755. if changed {
  26756. *vp = v
  26757. }
  26758. } else {
  26759. v := rv.Interface().(map[int64]string)
  26760. fastpathTV.DecMapInt64StringV(v, fastpathCheckNilFalse, false, f.d)
  26761. }
  26762. }
  26763. func (f fastpathT) DecMapInt64StringX(vp *map[int64]string, checkNil bool, d *Decoder) {
  26764. v, changed := f.DecMapInt64StringV(*vp, checkNil, true, d)
  26765. if changed {
  26766. *vp = v
  26767. }
  26768. }
  26769. func (_ fastpathT) DecMapInt64StringV(v map[int64]string, checkNil bool, canChange bool,
  26770. d *Decoder) (_ map[int64]string, changed bool) {
  26771. dd := d.d
  26772. if checkNil && dd.TryDecodeAsNil() {
  26773. if v != nil {
  26774. changed = true
  26775. }
  26776. return nil, changed
  26777. }
  26778. containerLen := dd.ReadMapStart()
  26779. if canChange && v == nil {
  26780. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 24)
  26781. v = make(map[int64]string, xlen)
  26782. changed = true
  26783. }
  26784. var mk int64
  26785. var mv string
  26786. if containerLen > 0 {
  26787. for j := 0; j < containerLen; j++ {
  26788. mk = dd.DecodeInt(64)
  26789. mv = dd.DecodeString()
  26790. if v != nil {
  26791. v[mk] = mv
  26792. }
  26793. }
  26794. } else if containerLen < 0 {
  26795. for j := 0; !dd.CheckBreak(); j++ {
  26796. mk = dd.DecodeInt(64)
  26797. mv = dd.DecodeString()
  26798. if v != nil {
  26799. v[mk] = mv
  26800. }
  26801. }
  26802. dd.ReadEnd()
  26803. }
  26804. return v, changed
  26805. }
  26806. func (f *decFnInfo) fastpathDecMapInt64UintR(rv reflect.Value) {
  26807. if rv.CanAddr() {
  26808. vp := rv.Addr().Interface().(*map[int64]uint)
  26809. v, changed := fastpathTV.DecMapInt64UintV(*vp, fastpathCheckNilFalse, true, f.d)
  26810. if changed {
  26811. *vp = v
  26812. }
  26813. } else {
  26814. v := rv.Interface().(map[int64]uint)
  26815. fastpathTV.DecMapInt64UintV(v, fastpathCheckNilFalse, false, f.d)
  26816. }
  26817. }
  26818. func (f fastpathT) DecMapInt64UintX(vp *map[int64]uint, checkNil bool, d *Decoder) {
  26819. v, changed := f.DecMapInt64UintV(*vp, checkNil, true, d)
  26820. if changed {
  26821. *vp = v
  26822. }
  26823. }
  26824. func (_ fastpathT) DecMapInt64UintV(v map[int64]uint, checkNil bool, canChange bool,
  26825. d *Decoder) (_ map[int64]uint, changed bool) {
  26826. dd := d.d
  26827. if checkNil && dd.TryDecodeAsNil() {
  26828. if v != nil {
  26829. changed = true
  26830. }
  26831. return nil, changed
  26832. }
  26833. containerLen := dd.ReadMapStart()
  26834. if canChange && v == nil {
  26835. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  26836. v = make(map[int64]uint, xlen)
  26837. changed = true
  26838. }
  26839. var mk int64
  26840. var mv uint
  26841. if containerLen > 0 {
  26842. for j := 0; j < containerLen; j++ {
  26843. mk = dd.DecodeInt(64)
  26844. mv = uint(dd.DecodeUint(uintBitsize))
  26845. if v != nil {
  26846. v[mk] = mv
  26847. }
  26848. }
  26849. } else if containerLen < 0 {
  26850. for j := 0; !dd.CheckBreak(); j++ {
  26851. mk = dd.DecodeInt(64)
  26852. mv = uint(dd.DecodeUint(uintBitsize))
  26853. if v != nil {
  26854. v[mk] = mv
  26855. }
  26856. }
  26857. dd.ReadEnd()
  26858. }
  26859. return v, changed
  26860. }
  26861. func (f *decFnInfo) fastpathDecMapInt64Uint8R(rv reflect.Value) {
  26862. if rv.CanAddr() {
  26863. vp := rv.Addr().Interface().(*map[int64]uint8)
  26864. v, changed := fastpathTV.DecMapInt64Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  26865. if changed {
  26866. *vp = v
  26867. }
  26868. } else {
  26869. v := rv.Interface().(map[int64]uint8)
  26870. fastpathTV.DecMapInt64Uint8V(v, fastpathCheckNilFalse, false, f.d)
  26871. }
  26872. }
  26873. func (f fastpathT) DecMapInt64Uint8X(vp *map[int64]uint8, checkNil bool, d *Decoder) {
  26874. v, changed := f.DecMapInt64Uint8V(*vp, checkNil, true, d)
  26875. if changed {
  26876. *vp = v
  26877. }
  26878. }
  26879. func (_ fastpathT) DecMapInt64Uint8V(v map[int64]uint8, checkNil bool, canChange bool,
  26880. d *Decoder) (_ map[int64]uint8, changed bool) {
  26881. dd := d.d
  26882. if checkNil && dd.TryDecodeAsNil() {
  26883. if v != nil {
  26884. changed = true
  26885. }
  26886. return nil, changed
  26887. }
  26888. containerLen := dd.ReadMapStart()
  26889. if canChange && v == nil {
  26890. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  26891. v = make(map[int64]uint8, xlen)
  26892. changed = true
  26893. }
  26894. var mk int64
  26895. var mv uint8
  26896. if containerLen > 0 {
  26897. for j := 0; j < containerLen; j++ {
  26898. mk = dd.DecodeInt(64)
  26899. mv = uint8(dd.DecodeUint(8))
  26900. if v != nil {
  26901. v[mk] = mv
  26902. }
  26903. }
  26904. } else if containerLen < 0 {
  26905. for j := 0; !dd.CheckBreak(); j++ {
  26906. mk = dd.DecodeInt(64)
  26907. mv = uint8(dd.DecodeUint(8))
  26908. if v != nil {
  26909. v[mk] = mv
  26910. }
  26911. }
  26912. dd.ReadEnd()
  26913. }
  26914. return v, changed
  26915. }
  26916. func (f *decFnInfo) fastpathDecMapInt64Uint16R(rv reflect.Value) {
  26917. if rv.CanAddr() {
  26918. vp := rv.Addr().Interface().(*map[int64]uint16)
  26919. v, changed := fastpathTV.DecMapInt64Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  26920. if changed {
  26921. *vp = v
  26922. }
  26923. } else {
  26924. v := rv.Interface().(map[int64]uint16)
  26925. fastpathTV.DecMapInt64Uint16V(v, fastpathCheckNilFalse, false, f.d)
  26926. }
  26927. }
  26928. func (f fastpathT) DecMapInt64Uint16X(vp *map[int64]uint16, checkNil bool, d *Decoder) {
  26929. v, changed := f.DecMapInt64Uint16V(*vp, checkNil, true, d)
  26930. if changed {
  26931. *vp = v
  26932. }
  26933. }
  26934. func (_ fastpathT) DecMapInt64Uint16V(v map[int64]uint16, checkNil bool, canChange bool,
  26935. d *Decoder) (_ map[int64]uint16, changed bool) {
  26936. dd := d.d
  26937. if checkNil && dd.TryDecodeAsNil() {
  26938. if v != nil {
  26939. changed = true
  26940. }
  26941. return nil, changed
  26942. }
  26943. containerLen := dd.ReadMapStart()
  26944. if canChange && v == nil {
  26945. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  26946. v = make(map[int64]uint16, xlen)
  26947. changed = true
  26948. }
  26949. var mk int64
  26950. var mv uint16
  26951. if containerLen > 0 {
  26952. for j := 0; j < containerLen; j++ {
  26953. mk = dd.DecodeInt(64)
  26954. mv = uint16(dd.DecodeUint(16))
  26955. if v != nil {
  26956. v[mk] = mv
  26957. }
  26958. }
  26959. } else if containerLen < 0 {
  26960. for j := 0; !dd.CheckBreak(); j++ {
  26961. mk = dd.DecodeInt(64)
  26962. mv = uint16(dd.DecodeUint(16))
  26963. if v != nil {
  26964. v[mk] = mv
  26965. }
  26966. }
  26967. dd.ReadEnd()
  26968. }
  26969. return v, changed
  26970. }
  26971. func (f *decFnInfo) fastpathDecMapInt64Uint32R(rv reflect.Value) {
  26972. if rv.CanAddr() {
  26973. vp := rv.Addr().Interface().(*map[int64]uint32)
  26974. v, changed := fastpathTV.DecMapInt64Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  26975. if changed {
  26976. *vp = v
  26977. }
  26978. } else {
  26979. v := rv.Interface().(map[int64]uint32)
  26980. fastpathTV.DecMapInt64Uint32V(v, fastpathCheckNilFalse, false, f.d)
  26981. }
  26982. }
  26983. func (f fastpathT) DecMapInt64Uint32X(vp *map[int64]uint32, checkNil bool, d *Decoder) {
  26984. v, changed := f.DecMapInt64Uint32V(*vp, checkNil, true, d)
  26985. if changed {
  26986. *vp = v
  26987. }
  26988. }
  26989. func (_ fastpathT) DecMapInt64Uint32V(v map[int64]uint32, checkNil bool, canChange bool,
  26990. d *Decoder) (_ map[int64]uint32, changed bool) {
  26991. dd := d.d
  26992. if checkNil && dd.TryDecodeAsNil() {
  26993. if v != nil {
  26994. changed = true
  26995. }
  26996. return nil, changed
  26997. }
  26998. containerLen := dd.ReadMapStart()
  26999. if canChange && v == nil {
  27000. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  27001. v = make(map[int64]uint32, xlen)
  27002. changed = true
  27003. }
  27004. var mk int64
  27005. var mv uint32
  27006. if containerLen > 0 {
  27007. for j := 0; j < containerLen; j++ {
  27008. mk = dd.DecodeInt(64)
  27009. mv = uint32(dd.DecodeUint(32))
  27010. if v != nil {
  27011. v[mk] = mv
  27012. }
  27013. }
  27014. } else if containerLen < 0 {
  27015. for j := 0; !dd.CheckBreak(); j++ {
  27016. mk = dd.DecodeInt(64)
  27017. mv = uint32(dd.DecodeUint(32))
  27018. if v != nil {
  27019. v[mk] = mv
  27020. }
  27021. }
  27022. dd.ReadEnd()
  27023. }
  27024. return v, changed
  27025. }
  27026. func (f *decFnInfo) fastpathDecMapInt64Uint64R(rv reflect.Value) {
  27027. if rv.CanAddr() {
  27028. vp := rv.Addr().Interface().(*map[int64]uint64)
  27029. v, changed := fastpathTV.DecMapInt64Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  27030. if changed {
  27031. *vp = v
  27032. }
  27033. } else {
  27034. v := rv.Interface().(map[int64]uint64)
  27035. fastpathTV.DecMapInt64Uint64V(v, fastpathCheckNilFalse, false, f.d)
  27036. }
  27037. }
  27038. func (f fastpathT) DecMapInt64Uint64X(vp *map[int64]uint64, checkNil bool, d *Decoder) {
  27039. v, changed := f.DecMapInt64Uint64V(*vp, checkNil, true, d)
  27040. if changed {
  27041. *vp = v
  27042. }
  27043. }
  27044. func (_ fastpathT) DecMapInt64Uint64V(v map[int64]uint64, checkNil bool, canChange bool,
  27045. d *Decoder) (_ map[int64]uint64, changed bool) {
  27046. dd := d.d
  27047. if checkNil && dd.TryDecodeAsNil() {
  27048. if v != nil {
  27049. changed = true
  27050. }
  27051. return nil, changed
  27052. }
  27053. containerLen := dd.ReadMapStart()
  27054. if canChange && v == nil {
  27055. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27056. v = make(map[int64]uint64, xlen)
  27057. changed = true
  27058. }
  27059. var mk int64
  27060. var mv uint64
  27061. if containerLen > 0 {
  27062. for j := 0; j < containerLen; j++ {
  27063. mk = dd.DecodeInt(64)
  27064. mv = dd.DecodeUint(64)
  27065. if v != nil {
  27066. v[mk] = mv
  27067. }
  27068. }
  27069. } else if containerLen < 0 {
  27070. for j := 0; !dd.CheckBreak(); j++ {
  27071. mk = dd.DecodeInt(64)
  27072. mv = dd.DecodeUint(64)
  27073. if v != nil {
  27074. v[mk] = mv
  27075. }
  27076. }
  27077. dd.ReadEnd()
  27078. }
  27079. return v, changed
  27080. }
  27081. func (f *decFnInfo) fastpathDecMapInt64UintptrR(rv reflect.Value) {
  27082. if rv.CanAddr() {
  27083. vp := rv.Addr().Interface().(*map[int64]uintptr)
  27084. v, changed := fastpathTV.DecMapInt64UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  27085. if changed {
  27086. *vp = v
  27087. }
  27088. } else {
  27089. v := rv.Interface().(map[int64]uintptr)
  27090. fastpathTV.DecMapInt64UintptrV(v, fastpathCheckNilFalse, false, f.d)
  27091. }
  27092. }
  27093. func (f fastpathT) DecMapInt64UintptrX(vp *map[int64]uintptr, checkNil bool, d *Decoder) {
  27094. v, changed := f.DecMapInt64UintptrV(*vp, checkNil, true, d)
  27095. if changed {
  27096. *vp = v
  27097. }
  27098. }
  27099. func (_ fastpathT) DecMapInt64UintptrV(v map[int64]uintptr, checkNil bool, canChange bool,
  27100. d *Decoder) (_ map[int64]uintptr, changed bool) {
  27101. dd := d.d
  27102. if checkNil && dd.TryDecodeAsNil() {
  27103. if v != nil {
  27104. changed = true
  27105. }
  27106. return nil, changed
  27107. }
  27108. containerLen := dd.ReadMapStart()
  27109. if canChange && v == nil {
  27110. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27111. v = make(map[int64]uintptr, xlen)
  27112. changed = true
  27113. }
  27114. var mk int64
  27115. var mv uintptr
  27116. if containerLen > 0 {
  27117. for j := 0; j < containerLen; j++ {
  27118. mk = dd.DecodeInt(64)
  27119. mv = uintptr(dd.DecodeUint(uintBitsize))
  27120. if v != nil {
  27121. v[mk] = mv
  27122. }
  27123. }
  27124. } else if containerLen < 0 {
  27125. for j := 0; !dd.CheckBreak(); j++ {
  27126. mk = dd.DecodeInt(64)
  27127. mv = uintptr(dd.DecodeUint(uintBitsize))
  27128. if v != nil {
  27129. v[mk] = mv
  27130. }
  27131. }
  27132. dd.ReadEnd()
  27133. }
  27134. return v, changed
  27135. }
  27136. func (f *decFnInfo) fastpathDecMapInt64IntR(rv reflect.Value) {
  27137. if rv.CanAddr() {
  27138. vp := rv.Addr().Interface().(*map[int64]int)
  27139. v, changed := fastpathTV.DecMapInt64IntV(*vp, fastpathCheckNilFalse, true, f.d)
  27140. if changed {
  27141. *vp = v
  27142. }
  27143. } else {
  27144. v := rv.Interface().(map[int64]int)
  27145. fastpathTV.DecMapInt64IntV(v, fastpathCheckNilFalse, false, f.d)
  27146. }
  27147. }
  27148. func (f fastpathT) DecMapInt64IntX(vp *map[int64]int, checkNil bool, d *Decoder) {
  27149. v, changed := f.DecMapInt64IntV(*vp, checkNil, true, d)
  27150. if changed {
  27151. *vp = v
  27152. }
  27153. }
  27154. func (_ fastpathT) DecMapInt64IntV(v map[int64]int, checkNil bool, canChange bool,
  27155. d *Decoder) (_ map[int64]int, changed bool) {
  27156. dd := d.d
  27157. if checkNil && dd.TryDecodeAsNil() {
  27158. if v != nil {
  27159. changed = true
  27160. }
  27161. return nil, changed
  27162. }
  27163. containerLen := dd.ReadMapStart()
  27164. if canChange && v == nil {
  27165. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27166. v = make(map[int64]int, xlen)
  27167. changed = true
  27168. }
  27169. var mk int64
  27170. var mv int
  27171. if containerLen > 0 {
  27172. for j := 0; j < containerLen; j++ {
  27173. mk = dd.DecodeInt(64)
  27174. mv = int(dd.DecodeInt(intBitsize))
  27175. if v != nil {
  27176. v[mk] = mv
  27177. }
  27178. }
  27179. } else if containerLen < 0 {
  27180. for j := 0; !dd.CheckBreak(); j++ {
  27181. mk = dd.DecodeInt(64)
  27182. mv = int(dd.DecodeInt(intBitsize))
  27183. if v != nil {
  27184. v[mk] = mv
  27185. }
  27186. }
  27187. dd.ReadEnd()
  27188. }
  27189. return v, changed
  27190. }
  27191. func (f *decFnInfo) fastpathDecMapInt64Int8R(rv reflect.Value) {
  27192. if rv.CanAddr() {
  27193. vp := rv.Addr().Interface().(*map[int64]int8)
  27194. v, changed := fastpathTV.DecMapInt64Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  27195. if changed {
  27196. *vp = v
  27197. }
  27198. } else {
  27199. v := rv.Interface().(map[int64]int8)
  27200. fastpathTV.DecMapInt64Int8V(v, fastpathCheckNilFalse, false, f.d)
  27201. }
  27202. }
  27203. func (f fastpathT) DecMapInt64Int8X(vp *map[int64]int8, checkNil bool, d *Decoder) {
  27204. v, changed := f.DecMapInt64Int8V(*vp, checkNil, true, d)
  27205. if changed {
  27206. *vp = v
  27207. }
  27208. }
  27209. func (_ fastpathT) DecMapInt64Int8V(v map[int64]int8, checkNil bool, canChange bool,
  27210. d *Decoder) (_ map[int64]int8, changed bool) {
  27211. dd := d.d
  27212. if checkNil && dd.TryDecodeAsNil() {
  27213. if v != nil {
  27214. changed = true
  27215. }
  27216. return nil, changed
  27217. }
  27218. containerLen := dd.ReadMapStart()
  27219. if canChange && v == nil {
  27220. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  27221. v = make(map[int64]int8, xlen)
  27222. changed = true
  27223. }
  27224. var mk int64
  27225. var mv int8
  27226. if containerLen > 0 {
  27227. for j := 0; j < containerLen; j++ {
  27228. mk = dd.DecodeInt(64)
  27229. mv = int8(dd.DecodeInt(8))
  27230. if v != nil {
  27231. v[mk] = mv
  27232. }
  27233. }
  27234. } else if containerLen < 0 {
  27235. for j := 0; !dd.CheckBreak(); j++ {
  27236. mk = dd.DecodeInt(64)
  27237. mv = int8(dd.DecodeInt(8))
  27238. if v != nil {
  27239. v[mk] = mv
  27240. }
  27241. }
  27242. dd.ReadEnd()
  27243. }
  27244. return v, changed
  27245. }
  27246. func (f *decFnInfo) fastpathDecMapInt64Int16R(rv reflect.Value) {
  27247. if rv.CanAddr() {
  27248. vp := rv.Addr().Interface().(*map[int64]int16)
  27249. v, changed := fastpathTV.DecMapInt64Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  27250. if changed {
  27251. *vp = v
  27252. }
  27253. } else {
  27254. v := rv.Interface().(map[int64]int16)
  27255. fastpathTV.DecMapInt64Int16V(v, fastpathCheckNilFalse, false, f.d)
  27256. }
  27257. }
  27258. func (f fastpathT) DecMapInt64Int16X(vp *map[int64]int16, checkNil bool, d *Decoder) {
  27259. v, changed := f.DecMapInt64Int16V(*vp, checkNil, true, d)
  27260. if changed {
  27261. *vp = v
  27262. }
  27263. }
  27264. func (_ fastpathT) DecMapInt64Int16V(v map[int64]int16, checkNil bool, canChange bool,
  27265. d *Decoder) (_ map[int64]int16, changed bool) {
  27266. dd := d.d
  27267. if checkNil && dd.TryDecodeAsNil() {
  27268. if v != nil {
  27269. changed = true
  27270. }
  27271. return nil, changed
  27272. }
  27273. containerLen := dd.ReadMapStart()
  27274. if canChange && v == nil {
  27275. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 10)
  27276. v = make(map[int64]int16, xlen)
  27277. changed = true
  27278. }
  27279. var mk int64
  27280. var mv int16
  27281. if containerLen > 0 {
  27282. for j := 0; j < containerLen; j++ {
  27283. mk = dd.DecodeInt(64)
  27284. mv = int16(dd.DecodeInt(16))
  27285. if v != nil {
  27286. v[mk] = mv
  27287. }
  27288. }
  27289. } else if containerLen < 0 {
  27290. for j := 0; !dd.CheckBreak(); j++ {
  27291. mk = dd.DecodeInt(64)
  27292. mv = int16(dd.DecodeInt(16))
  27293. if v != nil {
  27294. v[mk] = mv
  27295. }
  27296. }
  27297. dd.ReadEnd()
  27298. }
  27299. return v, changed
  27300. }
  27301. func (f *decFnInfo) fastpathDecMapInt64Int32R(rv reflect.Value) {
  27302. if rv.CanAddr() {
  27303. vp := rv.Addr().Interface().(*map[int64]int32)
  27304. v, changed := fastpathTV.DecMapInt64Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  27305. if changed {
  27306. *vp = v
  27307. }
  27308. } else {
  27309. v := rv.Interface().(map[int64]int32)
  27310. fastpathTV.DecMapInt64Int32V(v, fastpathCheckNilFalse, false, f.d)
  27311. }
  27312. }
  27313. func (f fastpathT) DecMapInt64Int32X(vp *map[int64]int32, checkNil bool, d *Decoder) {
  27314. v, changed := f.DecMapInt64Int32V(*vp, checkNil, true, d)
  27315. if changed {
  27316. *vp = v
  27317. }
  27318. }
  27319. func (_ fastpathT) DecMapInt64Int32V(v map[int64]int32, checkNil bool, canChange bool,
  27320. d *Decoder) (_ map[int64]int32, changed bool) {
  27321. dd := d.d
  27322. if checkNil && dd.TryDecodeAsNil() {
  27323. if v != nil {
  27324. changed = true
  27325. }
  27326. return nil, changed
  27327. }
  27328. containerLen := dd.ReadMapStart()
  27329. if canChange && v == nil {
  27330. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  27331. v = make(map[int64]int32, xlen)
  27332. changed = true
  27333. }
  27334. var mk int64
  27335. var mv int32
  27336. if containerLen > 0 {
  27337. for j := 0; j < containerLen; j++ {
  27338. mk = dd.DecodeInt(64)
  27339. mv = int32(dd.DecodeInt(32))
  27340. if v != nil {
  27341. v[mk] = mv
  27342. }
  27343. }
  27344. } else if containerLen < 0 {
  27345. for j := 0; !dd.CheckBreak(); j++ {
  27346. mk = dd.DecodeInt(64)
  27347. mv = int32(dd.DecodeInt(32))
  27348. if v != nil {
  27349. v[mk] = mv
  27350. }
  27351. }
  27352. dd.ReadEnd()
  27353. }
  27354. return v, changed
  27355. }
  27356. func (f *decFnInfo) fastpathDecMapInt64Int64R(rv reflect.Value) {
  27357. if rv.CanAddr() {
  27358. vp := rv.Addr().Interface().(*map[int64]int64)
  27359. v, changed := fastpathTV.DecMapInt64Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  27360. if changed {
  27361. *vp = v
  27362. }
  27363. } else {
  27364. v := rv.Interface().(map[int64]int64)
  27365. fastpathTV.DecMapInt64Int64V(v, fastpathCheckNilFalse, false, f.d)
  27366. }
  27367. }
  27368. func (f fastpathT) DecMapInt64Int64X(vp *map[int64]int64, checkNil bool, d *Decoder) {
  27369. v, changed := f.DecMapInt64Int64V(*vp, checkNil, true, d)
  27370. if changed {
  27371. *vp = v
  27372. }
  27373. }
  27374. func (_ fastpathT) DecMapInt64Int64V(v map[int64]int64, checkNil bool, canChange bool,
  27375. d *Decoder) (_ map[int64]int64, changed bool) {
  27376. dd := d.d
  27377. if checkNil && dd.TryDecodeAsNil() {
  27378. if v != nil {
  27379. changed = true
  27380. }
  27381. return nil, changed
  27382. }
  27383. containerLen := dd.ReadMapStart()
  27384. if canChange && v == nil {
  27385. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27386. v = make(map[int64]int64, xlen)
  27387. changed = true
  27388. }
  27389. var mk int64
  27390. var mv int64
  27391. if containerLen > 0 {
  27392. for j := 0; j < containerLen; j++ {
  27393. mk = dd.DecodeInt(64)
  27394. mv = dd.DecodeInt(64)
  27395. if v != nil {
  27396. v[mk] = mv
  27397. }
  27398. }
  27399. } else if containerLen < 0 {
  27400. for j := 0; !dd.CheckBreak(); j++ {
  27401. mk = dd.DecodeInt(64)
  27402. mv = dd.DecodeInt(64)
  27403. if v != nil {
  27404. v[mk] = mv
  27405. }
  27406. }
  27407. dd.ReadEnd()
  27408. }
  27409. return v, changed
  27410. }
  27411. func (f *decFnInfo) fastpathDecMapInt64Float32R(rv reflect.Value) {
  27412. if rv.CanAddr() {
  27413. vp := rv.Addr().Interface().(*map[int64]float32)
  27414. v, changed := fastpathTV.DecMapInt64Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  27415. if changed {
  27416. *vp = v
  27417. }
  27418. } else {
  27419. v := rv.Interface().(map[int64]float32)
  27420. fastpathTV.DecMapInt64Float32V(v, fastpathCheckNilFalse, false, f.d)
  27421. }
  27422. }
  27423. func (f fastpathT) DecMapInt64Float32X(vp *map[int64]float32, checkNil bool, d *Decoder) {
  27424. v, changed := f.DecMapInt64Float32V(*vp, checkNil, true, d)
  27425. if changed {
  27426. *vp = v
  27427. }
  27428. }
  27429. func (_ fastpathT) DecMapInt64Float32V(v map[int64]float32, checkNil bool, canChange bool,
  27430. d *Decoder) (_ map[int64]float32, changed bool) {
  27431. dd := d.d
  27432. if checkNil && dd.TryDecodeAsNil() {
  27433. if v != nil {
  27434. changed = true
  27435. }
  27436. return nil, changed
  27437. }
  27438. containerLen := dd.ReadMapStart()
  27439. if canChange && v == nil {
  27440. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 12)
  27441. v = make(map[int64]float32, xlen)
  27442. changed = true
  27443. }
  27444. var mk int64
  27445. var mv float32
  27446. if containerLen > 0 {
  27447. for j := 0; j < containerLen; j++ {
  27448. mk = dd.DecodeInt(64)
  27449. mv = float32(dd.DecodeFloat(true))
  27450. if v != nil {
  27451. v[mk] = mv
  27452. }
  27453. }
  27454. } else if containerLen < 0 {
  27455. for j := 0; !dd.CheckBreak(); j++ {
  27456. mk = dd.DecodeInt(64)
  27457. mv = float32(dd.DecodeFloat(true))
  27458. if v != nil {
  27459. v[mk] = mv
  27460. }
  27461. }
  27462. dd.ReadEnd()
  27463. }
  27464. return v, changed
  27465. }
  27466. func (f *decFnInfo) fastpathDecMapInt64Float64R(rv reflect.Value) {
  27467. if rv.CanAddr() {
  27468. vp := rv.Addr().Interface().(*map[int64]float64)
  27469. v, changed := fastpathTV.DecMapInt64Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  27470. if changed {
  27471. *vp = v
  27472. }
  27473. } else {
  27474. v := rv.Interface().(map[int64]float64)
  27475. fastpathTV.DecMapInt64Float64V(v, fastpathCheckNilFalse, false, f.d)
  27476. }
  27477. }
  27478. func (f fastpathT) DecMapInt64Float64X(vp *map[int64]float64, checkNil bool, d *Decoder) {
  27479. v, changed := f.DecMapInt64Float64V(*vp, checkNil, true, d)
  27480. if changed {
  27481. *vp = v
  27482. }
  27483. }
  27484. func (_ fastpathT) DecMapInt64Float64V(v map[int64]float64, checkNil bool, canChange bool,
  27485. d *Decoder) (_ map[int64]float64, changed bool) {
  27486. dd := d.d
  27487. if checkNil && dd.TryDecodeAsNil() {
  27488. if v != nil {
  27489. changed = true
  27490. }
  27491. return nil, changed
  27492. }
  27493. containerLen := dd.ReadMapStart()
  27494. if canChange && v == nil {
  27495. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27496. v = make(map[int64]float64, xlen)
  27497. changed = true
  27498. }
  27499. var mk int64
  27500. var mv float64
  27501. if containerLen > 0 {
  27502. for j := 0; j < containerLen; j++ {
  27503. mk = dd.DecodeInt(64)
  27504. mv = dd.DecodeFloat(false)
  27505. if v != nil {
  27506. v[mk] = mv
  27507. }
  27508. }
  27509. } else if containerLen < 0 {
  27510. for j := 0; !dd.CheckBreak(); j++ {
  27511. mk = dd.DecodeInt(64)
  27512. mv = dd.DecodeFloat(false)
  27513. if v != nil {
  27514. v[mk] = mv
  27515. }
  27516. }
  27517. dd.ReadEnd()
  27518. }
  27519. return v, changed
  27520. }
  27521. func (f *decFnInfo) fastpathDecMapInt64BoolR(rv reflect.Value) {
  27522. if rv.CanAddr() {
  27523. vp := rv.Addr().Interface().(*map[int64]bool)
  27524. v, changed := fastpathTV.DecMapInt64BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  27525. if changed {
  27526. *vp = v
  27527. }
  27528. } else {
  27529. v := rv.Interface().(map[int64]bool)
  27530. fastpathTV.DecMapInt64BoolV(v, fastpathCheckNilFalse, false, f.d)
  27531. }
  27532. }
  27533. func (f fastpathT) DecMapInt64BoolX(vp *map[int64]bool, checkNil bool, d *Decoder) {
  27534. v, changed := f.DecMapInt64BoolV(*vp, checkNil, true, d)
  27535. if changed {
  27536. *vp = v
  27537. }
  27538. }
  27539. func (_ fastpathT) DecMapInt64BoolV(v map[int64]bool, checkNil bool, canChange bool,
  27540. d *Decoder) (_ map[int64]bool, changed bool) {
  27541. dd := d.d
  27542. if checkNil && dd.TryDecodeAsNil() {
  27543. if v != nil {
  27544. changed = true
  27545. }
  27546. return nil, changed
  27547. }
  27548. containerLen := dd.ReadMapStart()
  27549. if canChange && v == nil {
  27550. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  27551. v = make(map[int64]bool, xlen)
  27552. changed = true
  27553. }
  27554. var mk int64
  27555. var mv bool
  27556. if containerLen > 0 {
  27557. for j := 0; j < containerLen; j++ {
  27558. mk = dd.DecodeInt(64)
  27559. mv = dd.DecodeBool()
  27560. if v != nil {
  27561. v[mk] = mv
  27562. }
  27563. }
  27564. } else if containerLen < 0 {
  27565. for j := 0; !dd.CheckBreak(); j++ {
  27566. mk = dd.DecodeInt(64)
  27567. mv = dd.DecodeBool()
  27568. if v != nil {
  27569. v[mk] = mv
  27570. }
  27571. }
  27572. dd.ReadEnd()
  27573. }
  27574. return v, changed
  27575. }
  27576. func (f *decFnInfo) fastpathDecMapBoolIntfR(rv reflect.Value) {
  27577. if rv.CanAddr() {
  27578. vp := rv.Addr().Interface().(*map[bool]interface{})
  27579. v, changed := fastpathTV.DecMapBoolIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  27580. if changed {
  27581. *vp = v
  27582. }
  27583. } else {
  27584. v := rv.Interface().(map[bool]interface{})
  27585. fastpathTV.DecMapBoolIntfV(v, fastpathCheckNilFalse, false, f.d)
  27586. }
  27587. }
  27588. func (f fastpathT) DecMapBoolIntfX(vp *map[bool]interface{}, checkNil bool, d *Decoder) {
  27589. v, changed := f.DecMapBoolIntfV(*vp, checkNil, true, d)
  27590. if changed {
  27591. *vp = v
  27592. }
  27593. }
  27594. func (_ fastpathT) DecMapBoolIntfV(v map[bool]interface{}, checkNil bool, canChange bool,
  27595. d *Decoder) (_ map[bool]interface{}, changed bool) {
  27596. dd := d.d
  27597. if checkNil && dd.TryDecodeAsNil() {
  27598. if v != nil {
  27599. changed = true
  27600. }
  27601. return nil, changed
  27602. }
  27603. containerLen := dd.ReadMapStart()
  27604. if canChange && v == nil {
  27605. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  27606. v = make(map[bool]interface{}, xlen)
  27607. changed = true
  27608. }
  27609. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  27610. var mk bool
  27611. var mv interface{}
  27612. if containerLen > 0 {
  27613. for j := 0; j < containerLen; j++ {
  27614. mk = dd.DecodeBool()
  27615. if mapGet {
  27616. mv = v[mk]
  27617. } else {
  27618. mv = nil
  27619. }
  27620. d.decode(&mv)
  27621. if v != nil {
  27622. v[mk] = mv
  27623. }
  27624. }
  27625. } else if containerLen < 0 {
  27626. for j := 0; !dd.CheckBreak(); j++ {
  27627. mk = dd.DecodeBool()
  27628. if mapGet {
  27629. mv = v[mk]
  27630. } else {
  27631. mv = nil
  27632. }
  27633. d.decode(&mv)
  27634. if v != nil {
  27635. v[mk] = mv
  27636. }
  27637. }
  27638. dd.ReadEnd()
  27639. }
  27640. return v, changed
  27641. }
  27642. func (f *decFnInfo) fastpathDecMapBoolStringR(rv reflect.Value) {
  27643. if rv.CanAddr() {
  27644. vp := rv.Addr().Interface().(*map[bool]string)
  27645. v, changed := fastpathTV.DecMapBoolStringV(*vp, fastpathCheckNilFalse, true, f.d)
  27646. if changed {
  27647. *vp = v
  27648. }
  27649. } else {
  27650. v := rv.Interface().(map[bool]string)
  27651. fastpathTV.DecMapBoolStringV(v, fastpathCheckNilFalse, false, f.d)
  27652. }
  27653. }
  27654. func (f fastpathT) DecMapBoolStringX(vp *map[bool]string, checkNil bool, d *Decoder) {
  27655. v, changed := f.DecMapBoolStringV(*vp, checkNil, true, d)
  27656. if changed {
  27657. *vp = v
  27658. }
  27659. }
  27660. func (_ fastpathT) DecMapBoolStringV(v map[bool]string, checkNil bool, canChange bool,
  27661. d *Decoder) (_ map[bool]string, changed bool) {
  27662. dd := d.d
  27663. if checkNil && dd.TryDecodeAsNil() {
  27664. if v != nil {
  27665. changed = true
  27666. }
  27667. return nil, changed
  27668. }
  27669. containerLen := dd.ReadMapStart()
  27670. if canChange && v == nil {
  27671. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 17)
  27672. v = make(map[bool]string, xlen)
  27673. changed = true
  27674. }
  27675. var mk bool
  27676. var mv string
  27677. if containerLen > 0 {
  27678. for j := 0; j < containerLen; j++ {
  27679. mk = dd.DecodeBool()
  27680. mv = dd.DecodeString()
  27681. if v != nil {
  27682. v[mk] = mv
  27683. }
  27684. }
  27685. } else if containerLen < 0 {
  27686. for j := 0; !dd.CheckBreak(); j++ {
  27687. mk = dd.DecodeBool()
  27688. mv = dd.DecodeString()
  27689. if v != nil {
  27690. v[mk] = mv
  27691. }
  27692. }
  27693. dd.ReadEnd()
  27694. }
  27695. return v, changed
  27696. }
  27697. func (f *decFnInfo) fastpathDecMapBoolUintR(rv reflect.Value) {
  27698. if rv.CanAddr() {
  27699. vp := rv.Addr().Interface().(*map[bool]uint)
  27700. v, changed := fastpathTV.DecMapBoolUintV(*vp, fastpathCheckNilFalse, true, f.d)
  27701. if changed {
  27702. *vp = v
  27703. }
  27704. } else {
  27705. v := rv.Interface().(map[bool]uint)
  27706. fastpathTV.DecMapBoolUintV(v, fastpathCheckNilFalse, false, f.d)
  27707. }
  27708. }
  27709. func (f fastpathT) DecMapBoolUintX(vp *map[bool]uint, checkNil bool, d *Decoder) {
  27710. v, changed := f.DecMapBoolUintV(*vp, checkNil, true, d)
  27711. if changed {
  27712. *vp = v
  27713. }
  27714. }
  27715. func (_ fastpathT) DecMapBoolUintV(v map[bool]uint, checkNil bool, canChange bool,
  27716. d *Decoder) (_ map[bool]uint, changed bool) {
  27717. dd := d.d
  27718. if checkNil && dd.TryDecodeAsNil() {
  27719. if v != nil {
  27720. changed = true
  27721. }
  27722. return nil, changed
  27723. }
  27724. containerLen := dd.ReadMapStart()
  27725. if canChange && v == nil {
  27726. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  27727. v = make(map[bool]uint, xlen)
  27728. changed = true
  27729. }
  27730. var mk bool
  27731. var mv uint
  27732. if containerLen > 0 {
  27733. for j := 0; j < containerLen; j++ {
  27734. mk = dd.DecodeBool()
  27735. mv = uint(dd.DecodeUint(uintBitsize))
  27736. if v != nil {
  27737. v[mk] = mv
  27738. }
  27739. }
  27740. } else if containerLen < 0 {
  27741. for j := 0; !dd.CheckBreak(); j++ {
  27742. mk = dd.DecodeBool()
  27743. mv = uint(dd.DecodeUint(uintBitsize))
  27744. if v != nil {
  27745. v[mk] = mv
  27746. }
  27747. }
  27748. dd.ReadEnd()
  27749. }
  27750. return v, changed
  27751. }
  27752. func (f *decFnInfo) fastpathDecMapBoolUint8R(rv reflect.Value) {
  27753. if rv.CanAddr() {
  27754. vp := rv.Addr().Interface().(*map[bool]uint8)
  27755. v, changed := fastpathTV.DecMapBoolUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  27756. if changed {
  27757. *vp = v
  27758. }
  27759. } else {
  27760. v := rv.Interface().(map[bool]uint8)
  27761. fastpathTV.DecMapBoolUint8V(v, fastpathCheckNilFalse, false, f.d)
  27762. }
  27763. }
  27764. func (f fastpathT) DecMapBoolUint8X(vp *map[bool]uint8, checkNil bool, d *Decoder) {
  27765. v, changed := f.DecMapBoolUint8V(*vp, checkNil, true, d)
  27766. if changed {
  27767. *vp = v
  27768. }
  27769. }
  27770. func (_ fastpathT) DecMapBoolUint8V(v map[bool]uint8, checkNil bool, canChange bool,
  27771. d *Decoder) (_ map[bool]uint8, changed bool) {
  27772. dd := d.d
  27773. if checkNil && dd.TryDecodeAsNil() {
  27774. if v != nil {
  27775. changed = true
  27776. }
  27777. return nil, changed
  27778. }
  27779. containerLen := dd.ReadMapStart()
  27780. if canChange && v == nil {
  27781. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  27782. v = make(map[bool]uint8, xlen)
  27783. changed = true
  27784. }
  27785. var mk bool
  27786. var mv uint8
  27787. if containerLen > 0 {
  27788. for j := 0; j < containerLen; j++ {
  27789. mk = dd.DecodeBool()
  27790. mv = uint8(dd.DecodeUint(8))
  27791. if v != nil {
  27792. v[mk] = mv
  27793. }
  27794. }
  27795. } else if containerLen < 0 {
  27796. for j := 0; !dd.CheckBreak(); j++ {
  27797. mk = dd.DecodeBool()
  27798. mv = uint8(dd.DecodeUint(8))
  27799. if v != nil {
  27800. v[mk] = mv
  27801. }
  27802. }
  27803. dd.ReadEnd()
  27804. }
  27805. return v, changed
  27806. }
  27807. func (f *decFnInfo) fastpathDecMapBoolUint16R(rv reflect.Value) {
  27808. if rv.CanAddr() {
  27809. vp := rv.Addr().Interface().(*map[bool]uint16)
  27810. v, changed := fastpathTV.DecMapBoolUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  27811. if changed {
  27812. *vp = v
  27813. }
  27814. } else {
  27815. v := rv.Interface().(map[bool]uint16)
  27816. fastpathTV.DecMapBoolUint16V(v, fastpathCheckNilFalse, false, f.d)
  27817. }
  27818. }
  27819. func (f fastpathT) DecMapBoolUint16X(vp *map[bool]uint16, checkNil bool, d *Decoder) {
  27820. v, changed := f.DecMapBoolUint16V(*vp, checkNil, true, d)
  27821. if changed {
  27822. *vp = v
  27823. }
  27824. }
  27825. func (_ fastpathT) DecMapBoolUint16V(v map[bool]uint16, checkNil bool, canChange bool,
  27826. d *Decoder) (_ map[bool]uint16, changed bool) {
  27827. dd := d.d
  27828. if checkNil && dd.TryDecodeAsNil() {
  27829. if v != nil {
  27830. changed = true
  27831. }
  27832. return nil, changed
  27833. }
  27834. containerLen := dd.ReadMapStart()
  27835. if canChange && v == nil {
  27836. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  27837. v = make(map[bool]uint16, xlen)
  27838. changed = true
  27839. }
  27840. var mk bool
  27841. var mv uint16
  27842. if containerLen > 0 {
  27843. for j := 0; j < containerLen; j++ {
  27844. mk = dd.DecodeBool()
  27845. mv = uint16(dd.DecodeUint(16))
  27846. if v != nil {
  27847. v[mk] = mv
  27848. }
  27849. }
  27850. } else if containerLen < 0 {
  27851. for j := 0; !dd.CheckBreak(); j++ {
  27852. mk = dd.DecodeBool()
  27853. mv = uint16(dd.DecodeUint(16))
  27854. if v != nil {
  27855. v[mk] = mv
  27856. }
  27857. }
  27858. dd.ReadEnd()
  27859. }
  27860. return v, changed
  27861. }
  27862. func (f *decFnInfo) fastpathDecMapBoolUint32R(rv reflect.Value) {
  27863. if rv.CanAddr() {
  27864. vp := rv.Addr().Interface().(*map[bool]uint32)
  27865. v, changed := fastpathTV.DecMapBoolUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  27866. if changed {
  27867. *vp = v
  27868. }
  27869. } else {
  27870. v := rv.Interface().(map[bool]uint32)
  27871. fastpathTV.DecMapBoolUint32V(v, fastpathCheckNilFalse, false, f.d)
  27872. }
  27873. }
  27874. func (f fastpathT) DecMapBoolUint32X(vp *map[bool]uint32, checkNil bool, d *Decoder) {
  27875. v, changed := f.DecMapBoolUint32V(*vp, checkNil, true, d)
  27876. if changed {
  27877. *vp = v
  27878. }
  27879. }
  27880. func (_ fastpathT) DecMapBoolUint32V(v map[bool]uint32, checkNil bool, canChange bool,
  27881. d *Decoder) (_ map[bool]uint32, changed bool) {
  27882. dd := d.d
  27883. if checkNil && dd.TryDecodeAsNil() {
  27884. if v != nil {
  27885. changed = true
  27886. }
  27887. return nil, changed
  27888. }
  27889. containerLen := dd.ReadMapStart()
  27890. if canChange && v == nil {
  27891. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  27892. v = make(map[bool]uint32, xlen)
  27893. changed = true
  27894. }
  27895. var mk bool
  27896. var mv uint32
  27897. if containerLen > 0 {
  27898. for j := 0; j < containerLen; j++ {
  27899. mk = dd.DecodeBool()
  27900. mv = uint32(dd.DecodeUint(32))
  27901. if v != nil {
  27902. v[mk] = mv
  27903. }
  27904. }
  27905. } else if containerLen < 0 {
  27906. for j := 0; !dd.CheckBreak(); j++ {
  27907. mk = dd.DecodeBool()
  27908. mv = uint32(dd.DecodeUint(32))
  27909. if v != nil {
  27910. v[mk] = mv
  27911. }
  27912. }
  27913. dd.ReadEnd()
  27914. }
  27915. return v, changed
  27916. }
  27917. func (f *decFnInfo) fastpathDecMapBoolUint64R(rv reflect.Value) {
  27918. if rv.CanAddr() {
  27919. vp := rv.Addr().Interface().(*map[bool]uint64)
  27920. v, changed := fastpathTV.DecMapBoolUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  27921. if changed {
  27922. *vp = v
  27923. }
  27924. } else {
  27925. v := rv.Interface().(map[bool]uint64)
  27926. fastpathTV.DecMapBoolUint64V(v, fastpathCheckNilFalse, false, f.d)
  27927. }
  27928. }
  27929. func (f fastpathT) DecMapBoolUint64X(vp *map[bool]uint64, checkNil bool, d *Decoder) {
  27930. v, changed := f.DecMapBoolUint64V(*vp, checkNil, true, d)
  27931. if changed {
  27932. *vp = v
  27933. }
  27934. }
  27935. func (_ fastpathT) DecMapBoolUint64V(v map[bool]uint64, checkNil bool, canChange bool,
  27936. d *Decoder) (_ map[bool]uint64, changed bool) {
  27937. dd := d.d
  27938. if checkNil && dd.TryDecodeAsNil() {
  27939. if v != nil {
  27940. changed = true
  27941. }
  27942. return nil, changed
  27943. }
  27944. containerLen := dd.ReadMapStart()
  27945. if canChange && v == nil {
  27946. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  27947. v = make(map[bool]uint64, xlen)
  27948. changed = true
  27949. }
  27950. var mk bool
  27951. var mv uint64
  27952. if containerLen > 0 {
  27953. for j := 0; j < containerLen; j++ {
  27954. mk = dd.DecodeBool()
  27955. mv = dd.DecodeUint(64)
  27956. if v != nil {
  27957. v[mk] = mv
  27958. }
  27959. }
  27960. } else if containerLen < 0 {
  27961. for j := 0; !dd.CheckBreak(); j++ {
  27962. mk = dd.DecodeBool()
  27963. mv = dd.DecodeUint(64)
  27964. if v != nil {
  27965. v[mk] = mv
  27966. }
  27967. }
  27968. dd.ReadEnd()
  27969. }
  27970. return v, changed
  27971. }
  27972. func (f *decFnInfo) fastpathDecMapBoolUintptrR(rv reflect.Value) {
  27973. if rv.CanAddr() {
  27974. vp := rv.Addr().Interface().(*map[bool]uintptr)
  27975. v, changed := fastpathTV.DecMapBoolUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  27976. if changed {
  27977. *vp = v
  27978. }
  27979. } else {
  27980. v := rv.Interface().(map[bool]uintptr)
  27981. fastpathTV.DecMapBoolUintptrV(v, fastpathCheckNilFalse, false, f.d)
  27982. }
  27983. }
  27984. func (f fastpathT) DecMapBoolUintptrX(vp *map[bool]uintptr, checkNil bool, d *Decoder) {
  27985. v, changed := f.DecMapBoolUintptrV(*vp, checkNil, true, d)
  27986. if changed {
  27987. *vp = v
  27988. }
  27989. }
  27990. func (_ fastpathT) DecMapBoolUintptrV(v map[bool]uintptr, checkNil bool, canChange bool,
  27991. d *Decoder) (_ map[bool]uintptr, changed bool) {
  27992. dd := d.d
  27993. if checkNil && dd.TryDecodeAsNil() {
  27994. if v != nil {
  27995. changed = true
  27996. }
  27997. return nil, changed
  27998. }
  27999. containerLen := dd.ReadMapStart()
  28000. if canChange && v == nil {
  28001. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  28002. v = make(map[bool]uintptr, xlen)
  28003. changed = true
  28004. }
  28005. var mk bool
  28006. var mv uintptr
  28007. if containerLen > 0 {
  28008. for j := 0; j < containerLen; j++ {
  28009. mk = dd.DecodeBool()
  28010. mv = uintptr(dd.DecodeUint(uintBitsize))
  28011. if v != nil {
  28012. v[mk] = mv
  28013. }
  28014. }
  28015. } else if containerLen < 0 {
  28016. for j := 0; !dd.CheckBreak(); j++ {
  28017. mk = dd.DecodeBool()
  28018. mv = uintptr(dd.DecodeUint(uintBitsize))
  28019. if v != nil {
  28020. v[mk] = mv
  28021. }
  28022. }
  28023. dd.ReadEnd()
  28024. }
  28025. return v, changed
  28026. }
  28027. func (f *decFnInfo) fastpathDecMapBoolIntR(rv reflect.Value) {
  28028. if rv.CanAddr() {
  28029. vp := rv.Addr().Interface().(*map[bool]int)
  28030. v, changed := fastpathTV.DecMapBoolIntV(*vp, fastpathCheckNilFalse, true, f.d)
  28031. if changed {
  28032. *vp = v
  28033. }
  28034. } else {
  28035. v := rv.Interface().(map[bool]int)
  28036. fastpathTV.DecMapBoolIntV(v, fastpathCheckNilFalse, false, f.d)
  28037. }
  28038. }
  28039. func (f fastpathT) DecMapBoolIntX(vp *map[bool]int, checkNil bool, d *Decoder) {
  28040. v, changed := f.DecMapBoolIntV(*vp, checkNil, true, d)
  28041. if changed {
  28042. *vp = v
  28043. }
  28044. }
  28045. func (_ fastpathT) DecMapBoolIntV(v map[bool]int, checkNil bool, canChange bool,
  28046. d *Decoder) (_ map[bool]int, changed bool) {
  28047. dd := d.d
  28048. if checkNil && dd.TryDecodeAsNil() {
  28049. if v != nil {
  28050. changed = true
  28051. }
  28052. return nil, changed
  28053. }
  28054. containerLen := dd.ReadMapStart()
  28055. if canChange && v == nil {
  28056. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  28057. v = make(map[bool]int, xlen)
  28058. changed = true
  28059. }
  28060. var mk bool
  28061. var mv int
  28062. if containerLen > 0 {
  28063. for j := 0; j < containerLen; j++ {
  28064. mk = dd.DecodeBool()
  28065. mv = int(dd.DecodeInt(intBitsize))
  28066. if v != nil {
  28067. v[mk] = mv
  28068. }
  28069. }
  28070. } else if containerLen < 0 {
  28071. for j := 0; !dd.CheckBreak(); j++ {
  28072. mk = dd.DecodeBool()
  28073. mv = int(dd.DecodeInt(intBitsize))
  28074. if v != nil {
  28075. v[mk] = mv
  28076. }
  28077. }
  28078. dd.ReadEnd()
  28079. }
  28080. return v, changed
  28081. }
  28082. func (f *decFnInfo) fastpathDecMapBoolInt8R(rv reflect.Value) {
  28083. if rv.CanAddr() {
  28084. vp := rv.Addr().Interface().(*map[bool]int8)
  28085. v, changed := fastpathTV.DecMapBoolInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  28086. if changed {
  28087. *vp = v
  28088. }
  28089. } else {
  28090. v := rv.Interface().(map[bool]int8)
  28091. fastpathTV.DecMapBoolInt8V(v, fastpathCheckNilFalse, false, f.d)
  28092. }
  28093. }
  28094. func (f fastpathT) DecMapBoolInt8X(vp *map[bool]int8, checkNil bool, d *Decoder) {
  28095. v, changed := f.DecMapBoolInt8V(*vp, checkNil, true, d)
  28096. if changed {
  28097. *vp = v
  28098. }
  28099. }
  28100. func (_ fastpathT) DecMapBoolInt8V(v map[bool]int8, checkNil bool, canChange bool,
  28101. d *Decoder) (_ map[bool]int8, changed bool) {
  28102. dd := d.d
  28103. if checkNil && dd.TryDecodeAsNil() {
  28104. if v != nil {
  28105. changed = true
  28106. }
  28107. return nil, changed
  28108. }
  28109. containerLen := dd.ReadMapStart()
  28110. if canChange && v == nil {
  28111. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  28112. v = make(map[bool]int8, xlen)
  28113. changed = true
  28114. }
  28115. var mk bool
  28116. var mv int8
  28117. if containerLen > 0 {
  28118. for j := 0; j < containerLen; j++ {
  28119. mk = dd.DecodeBool()
  28120. mv = int8(dd.DecodeInt(8))
  28121. if v != nil {
  28122. v[mk] = mv
  28123. }
  28124. }
  28125. } else if containerLen < 0 {
  28126. for j := 0; !dd.CheckBreak(); j++ {
  28127. mk = dd.DecodeBool()
  28128. mv = int8(dd.DecodeInt(8))
  28129. if v != nil {
  28130. v[mk] = mv
  28131. }
  28132. }
  28133. dd.ReadEnd()
  28134. }
  28135. return v, changed
  28136. }
  28137. func (f *decFnInfo) fastpathDecMapBoolInt16R(rv reflect.Value) {
  28138. if rv.CanAddr() {
  28139. vp := rv.Addr().Interface().(*map[bool]int16)
  28140. v, changed := fastpathTV.DecMapBoolInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  28141. if changed {
  28142. *vp = v
  28143. }
  28144. } else {
  28145. v := rv.Interface().(map[bool]int16)
  28146. fastpathTV.DecMapBoolInt16V(v, fastpathCheckNilFalse, false, f.d)
  28147. }
  28148. }
  28149. func (f fastpathT) DecMapBoolInt16X(vp *map[bool]int16, checkNil bool, d *Decoder) {
  28150. v, changed := f.DecMapBoolInt16V(*vp, checkNil, true, d)
  28151. if changed {
  28152. *vp = v
  28153. }
  28154. }
  28155. func (_ fastpathT) DecMapBoolInt16V(v map[bool]int16, checkNil bool, canChange bool,
  28156. d *Decoder) (_ map[bool]int16, changed bool) {
  28157. dd := d.d
  28158. if checkNil && dd.TryDecodeAsNil() {
  28159. if v != nil {
  28160. changed = true
  28161. }
  28162. return nil, changed
  28163. }
  28164. containerLen := dd.ReadMapStart()
  28165. if canChange && v == nil {
  28166. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 3)
  28167. v = make(map[bool]int16, xlen)
  28168. changed = true
  28169. }
  28170. var mk bool
  28171. var mv int16
  28172. if containerLen > 0 {
  28173. for j := 0; j < containerLen; j++ {
  28174. mk = dd.DecodeBool()
  28175. mv = int16(dd.DecodeInt(16))
  28176. if v != nil {
  28177. v[mk] = mv
  28178. }
  28179. }
  28180. } else if containerLen < 0 {
  28181. for j := 0; !dd.CheckBreak(); j++ {
  28182. mk = dd.DecodeBool()
  28183. mv = int16(dd.DecodeInt(16))
  28184. if v != nil {
  28185. v[mk] = mv
  28186. }
  28187. }
  28188. dd.ReadEnd()
  28189. }
  28190. return v, changed
  28191. }
  28192. func (f *decFnInfo) fastpathDecMapBoolInt32R(rv reflect.Value) {
  28193. if rv.CanAddr() {
  28194. vp := rv.Addr().Interface().(*map[bool]int32)
  28195. v, changed := fastpathTV.DecMapBoolInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  28196. if changed {
  28197. *vp = v
  28198. }
  28199. } else {
  28200. v := rv.Interface().(map[bool]int32)
  28201. fastpathTV.DecMapBoolInt32V(v, fastpathCheckNilFalse, false, f.d)
  28202. }
  28203. }
  28204. func (f fastpathT) DecMapBoolInt32X(vp *map[bool]int32, checkNil bool, d *Decoder) {
  28205. v, changed := f.DecMapBoolInt32V(*vp, checkNil, true, d)
  28206. if changed {
  28207. *vp = v
  28208. }
  28209. }
  28210. func (_ fastpathT) DecMapBoolInt32V(v map[bool]int32, checkNil bool, canChange bool,
  28211. d *Decoder) (_ map[bool]int32, changed bool) {
  28212. dd := d.d
  28213. if checkNil && dd.TryDecodeAsNil() {
  28214. if v != nil {
  28215. changed = true
  28216. }
  28217. return nil, changed
  28218. }
  28219. containerLen := dd.ReadMapStart()
  28220. if canChange && v == nil {
  28221. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  28222. v = make(map[bool]int32, xlen)
  28223. changed = true
  28224. }
  28225. var mk bool
  28226. var mv int32
  28227. if containerLen > 0 {
  28228. for j := 0; j < containerLen; j++ {
  28229. mk = dd.DecodeBool()
  28230. mv = int32(dd.DecodeInt(32))
  28231. if v != nil {
  28232. v[mk] = mv
  28233. }
  28234. }
  28235. } else if containerLen < 0 {
  28236. for j := 0; !dd.CheckBreak(); j++ {
  28237. mk = dd.DecodeBool()
  28238. mv = int32(dd.DecodeInt(32))
  28239. if v != nil {
  28240. v[mk] = mv
  28241. }
  28242. }
  28243. dd.ReadEnd()
  28244. }
  28245. return v, changed
  28246. }
  28247. func (f *decFnInfo) fastpathDecMapBoolInt64R(rv reflect.Value) {
  28248. if rv.CanAddr() {
  28249. vp := rv.Addr().Interface().(*map[bool]int64)
  28250. v, changed := fastpathTV.DecMapBoolInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  28251. if changed {
  28252. *vp = v
  28253. }
  28254. } else {
  28255. v := rv.Interface().(map[bool]int64)
  28256. fastpathTV.DecMapBoolInt64V(v, fastpathCheckNilFalse, false, f.d)
  28257. }
  28258. }
  28259. func (f fastpathT) DecMapBoolInt64X(vp *map[bool]int64, checkNil bool, d *Decoder) {
  28260. v, changed := f.DecMapBoolInt64V(*vp, checkNil, true, d)
  28261. if changed {
  28262. *vp = v
  28263. }
  28264. }
  28265. func (_ fastpathT) DecMapBoolInt64V(v map[bool]int64, checkNil bool, canChange bool,
  28266. d *Decoder) (_ map[bool]int64, changed bool) {
  28267. dd := d.d
  28268. if checkNil && dd.TryDecodeAsNil() {
  28269. if v != nil {
  28270. changed = true
  28271. }
  28272. return nil, changed
  28273. }
  28274. containerLen := dd.ReadMapStart()
  28275. if canChange && v == nil {
  28276. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  28277. v = make(map[bool]int64, xlen)
  28278. changed = true
  28279. }
  28280. var mk bool
  28281. var mv int64
  28282. if containerLen > 0 {
  28283. for j := 0; j < containerLen; j++ {
  28284. mk = dd.DecodeBool()
  28285. mv = dd.DecodeInt(64)
  28286. if v != nil {
  28287. v[mk] = mv
  28288. }
  28289. }
  28290. } else if containerLen < 0 {
  28291. for j := 0; !dd.CheckBreak(); j++ {
  28292. mk = dd.DecodeBool()
  28293. mv = dd.DecodeInt(64)
  28294. if v != nil {
  28295. v[mk] = mv
  28296. }
  28297. }
  28298. dd.ReadEnd()
  28299. }
  28300. return v, changed
  28301. }
  28302. func (f *decFnInfo) fastpathDecMapBoolFloat32R(rv reflect.Value) {
  28303. if rv.CanAddr() {
  28304. vp := rv.Addr().Interface().(*map[bool]float32)
  28305. v, changed := fastpathTV.DecMapBoolFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  28306. if changed {
  28307. *vp = v
  28308. }
  28309. } else {
  28310. v := rv.Interface().(map[bool]float32)
  28311. fastpathTV.DecMapBoolFloat32V(v, fastpathCheckNilFalse, false, f.d)
  28312. }
  28313. }
  28314. func (f fastpathT) DecMapBoolFloat32X(vp *map[bool]float32, checkNil bool, d *Decoder) {
  28315. v, changed := f.DecMapBoolFloat32V(*vp, checkNil, true, d)
  28316. if changed {
  28317. *vp = v
  28318. }
  28319. }
  28320. func (_ fastpathT) DecMapBoolFloat32V(v map[bool]float32, checkNil bool, canChange bool,
  28321. d *Decoder) (_ map[bool]float32, changed bool) {
  28322. dd := d.d
  28323. if checkNil && dd.TryDecodeAsNil() {
  28324. if v != nil {
  28325. changed = true
  28326. }
  28327. return nil, changed
  28328. }
  28329. containerLen := dd.ReadMapStart()
  28330. if canChange && v == nil {
  28331. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 5)
  28332. v = make(map[bool]float32, xlen)
  28333. changed = true
  28334. }
  28335. var mk bool
  28336. var mv float32
  28337. if containerLen > 0 {
  28338. for j := 0; j < containerLen; j++ {
  28339. mk = dd.DecodeBool()
  28340. mv = float32(dd.DecodeFloat(true))
  28341. if v != nil {
  28342. v[mk] = mv
  28343. }
  28344. }
  28345. } else if containerLen < 0 {
  28346. for j := 0; !dd.CheckBreak(); j++ {
  28347. mk = dd.DecodeBool()
  28348. mv = float32(dd.DecodeFloat(true))
  28349. if v != nil {
  28350. v[mk] = mv
  28351. }
  28352. }
  28353. dd.ReadEnd()
  28354. }
  28355. return v, changed
  28356. }
  28357. func (f *decFnInfo) fastpathDecMapBoolFloat64R(rv reflect.Value) {
  28358. if rv.CanAddr() {
  28359. vp := rv.Addr().Interface().(*map[bool]float64)
  28360. v, changed := fastpathTV.DecMapBoolFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  28361. if changed {
  28362. *vp = v
  28363. }
  28364. } else {
  28365. v := rv.Interface().(map[bool]float64)
  28366. fastpathTV.DecMapBoolFloat64V(v, fastpathCheckNilFalse, false, f.d)
  28367. }
  28368. }
  28369. func (f fastpathT) DecMapBoolFloat64X(vp *map[bool]float64, checkNil bool, d *Decoder) {
  28370. v, changed := f.DecMapBoolFloat64V(*vp, checkNil, true, d)
  28371. if changed {
  28372. *vp = v
  28373. }
  28374. }
  28375. func (_ fastpathT) DecMapBoolFloat64V(v map[bool]float64, checkNil bool, canChange bool,
  28376. d *Decoder) (_ map[bool]float64, changed bool) {
  28377. dd := d.d
  28378. if checkNil && dd.TryDecodeAsNil() {
  28379. if v != nil {
  28380. changed = true
  28381. }
  28382. return nil, changed
  28383. }
  28384. containerLen := dd.ReadMapStart()
  28385. if canChange && v == nil {
  28386. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 9)
  28387. v = make(map[bool]float64, xlen)
  28388. changed = true
  28389. }
  28390. var mk bool
  28391. var mv float64
  28392. if containerLen > 0 {
  28393. for j := 0; j < containerLen; j++ {
  28394. mk = dd.DecodeBool()
  28395. mv = dd.DecodeFloat(false)
  28396. if v != nil {
  28397. v[mk] = mv
  28398. }
  28399. }
  28400. } else if containerLen < 0 {
  28401. for j := 0; !dd.CheckBreak(); j++ {
  28402. mk = dd.DecodeBool()
  28403. mv = dd.DecodeFloat(false)
  28404. if v != nil {
  28405. v[mk] = mv
  28406. }
  28407. }
  28408. dd.ReadEnd()
  28409. }
  28410. return v, changed
  28411. }
  28412. func (f *decFnInfo) fastpathDecMapBoolBoolR(rv reflect.Value) {
  28413. if rv.CanAddr() {
  28414. vp := rv.Addr().Interface().(*map[bool]bool)
  28415. v, changed := fastpathTV.DecMapBoolBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  28416. if changed {
  28417. *vp = v
  28418. }
  28419. } else {
  28420. v := rv.Interface().(map[bool]bool)
  28421. fastpathTV.DecMapBoolBoolV(v, fastpathCheckNilFalse, false, f.d)
  28422. }
  28423. }
  28424. func (f fastpathT) DecMapBoolBoolX(vp *map[bool]bool, checkNil bool, d *Decoder) {
  28425. v, changed := f.DecMapBoolBoolV(*vp, checkNil, true, d)
  28426. if changed {
  28427. *vp = v
  28428. }
  28429. }
  28430. func (_ fastpathT) DecMapBoolBoolV(v map[bool]bool, checkNil bool, canChange bool,
  28431. d *Decoder) (_ map[bool]bool, changed bool) {
  28432. dd := d.d
  28433. if checkNil && dd.TryDecodeAsNil() {
  28434. if v != nil {
  28435. changed = true
  28436. }
  28437. return nil, changed
  28438. }
  28439. containerLen := dd.ReadMapStart()
  28440. if canChange && v == nil {
  28441. xlen, _ := decInferLen(containerLen, d.h.MaxInitLen, 2)
  28442. v = make(map[bool]bool, xlen)
  28443. changed = true
  28444. }
  28445. var mk bool
  28446. var mv bool
  28447. if containerLen > 0 {
  28448. for j := 0; j < containerLen; j++ {
  28449. mk = dd.DecodeBool()
  28450. mv = dd.DecodeBool()
  28451. if v != nil {
  28452. v[mk] = mv
  28453. }
  28454. }
  28455. } else if containerLen < 0 {
  28456. for j := 0; !dd.CheckBreak(); j++ {
  28457. mk = dd.DecodeBool()
  28458. mv = dd.DecodeBool()
  28459. if v != nil {
  28460. v[mk] = mv
  28461. }
  28462. }
  28463. dd.ReadEnd()
  28464. }
  28465. return v, changed
  28466. }