fast-path.generated.go 879 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167
  1. // +build !notfastpath
  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. // - symmetrical 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 fastpathEnabled = true
  36. const fastpathCheckNilFalse = false // for reflect
  37. const fastpathCheckNilTrue = true // for type switch
  38. type fastpathT struct{}
  39. var fastpathTV fastpathT
  40. type fastpathE struct {
  41. rtid uintptr
  42. rt reflect.Type
  43. encfn func(*encFnInfo, reflect.Value)
  44. decfn func(*decFnInfo, reflect.Value)
  45. }
  46. type fastpathA [271]fastpathE
  47. func (x *fastpathA) index(rtid uintptr) int {
  48. // use binary search to grab the index (adapted from sort/search.go)
  49. h, i, j := 0, 0, 271 // len(x)
  50. for i < j {
  51. h = i + (j-i)/2
  52. if x[h].rtid < rtid {
  53. i = h + 1
  54. } else {
  55. j = h
  56. }
  57. }
  58. if i < 271 && x[i].rtid == rtid {
  59. return i
  60. }
  61. return -1
  62. }
  63. type fastpathAslice []fastpathE
  64. func (x fastpathAslice) Len() int { return len(x) }
  65. func (x fastpathAslice) Less(i, j int) bool { return x[i].rtid < x[j].rtid }
  66. func (x fastpathAslice) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
  67. var fastpathAV fastpathA
  68. // due to possible initialization loop error, make fastpath in an init()
  69. func init() {
  70. i := 0
  71. fn := func(v interface{}, fe func(*encFnInfo, reflect.Value), fd func(*decFnInfo, reflect.Value)) (f fastpathE) {
  72. xrt := reflect.TypeOf(v)
  73. xptr := rt2id(xrt)
  74. fastpathAV[i] = fastpathE{xptr, xrt, fe, fd}
  75. i++
  76. return
  77. }
  78. fn([]interface{}(nil), (*encFnInfo).fastpathEncSliceIntfR, (*decFnInfo).fastpathDecSliceIntfR)
  79. fn([]string(nil), (*encFnInfo).fastpathEncSliceStringR, (*decFnInfo).fastpathDecSliceStringR)
  80. fn([]float32(nil), (*encFnInfo).fastpathEncSliceFloat32R, (*decFnInfo).fastpathDecSliceFloat32R)
  81. fn([]float64(nil), (*encFnInfo).fastpathEncSliceFloat64R, (*decFnInfo).fastpathDecSliceFloat64R)
  82. fn([]uint(nil), (*encFnInfo).fastpathEncSliceUintR, (*decFnInfo).fastpathDecSliceUintR)
  83. fn([]uint16(nil), (*encFnInfo).fastpathEncSliceUint16R, (*decFnInfo).fastpathDecSliceUint16R)
  84. fn([]uint32(nil), (*encFnInfo).fastpathEncSliceUint32R, (*decFnInfo).fastpathDecSliceUint32R)
  85. fn([]uint64(nil), (*encFnInfo).fastpathEncSliceUint64R, (*decFnInfo).fastpathDecSliceUint64R)
  86. fn([]uintptr(nil), (*encFnInfo).fastpathEncSliceUintptrR, (*decFnInfo).fastpathDecSliceUintptrR)
  87. fn([]int(nil), (*encFnInfo).fastpathEncSliceIntR, (*decFnInfo).fastpathDecSliceIntR)
  88. fn([]int8(nil), (*encFnInfo).fastpathEncSliceInt8R, (*decFnInfo).fastpathDecSliceInt8R)
  89. fn([]int16(nil), (*encFnInfo).fastpathEncSliceInt16R, (*decFnInfo).fastpathDecSliceInt16R)
  90. fn([]int32(nil), (*encFnInfo).fastpathEncSliceInt32R, (*decFnInfo).fastpathDecSliceInt32R)
  91. fn([]int64(nil), (*encFnInfo).fastpathEncSliceInt64R, (*decFnInfo).fastpathDecSliceInt64R)
  92. fn([]bool(nil), (*encFnInfo).fastpathEncSliceBoolR, (*decFnInfo).fastpathDecSliceBoolR)
  93. fn(map[interface{}]interface{}(nil), (*encFnInfo).fastpathEncMapIntfIntfR, (*decFnInfo).fastpathDecMapIntfIntfR)
  94. fn(map[interface{}]string(nil), (*encFnInfo).fastpathEncMapIntfStringR, (*decFnInfo).fastpathDecMapIntfStringR)
  95. fn(map[interface{}]uint(nil), (*encFnInfo).fastpathEncMapIntfUintR, (*decFnInfo).fastpathDecMapIntfUintR)
  96. fn(map[interface{}]uint8(nil), (*encFnInfo).fastpathEncMapIntfUint8R, (*decFnInfo).fastpathDecMapIntfUint8R)
  97. fn(map[interface{}]uint16(nil), (*encFnInfo).fastpathEncMapIntfUint16R, (*decFnInfo).fastpathDecMapIntfUint16R)
  98. fn(map[interface{}]uint32(nil), (*encFnInfo).fastpathEncMapIntfUint32R, (*decFnInfo).fastpathDecMapIntfUint32R)
  99. fn(map[interface{}]uint64(nil), (*encFnInfo).fastpathEncMapIntfUint64R, (*decFnInfo).fastpathDecMapIntfUint64R)
  100. fn(map[interface{}]uintptr(nil), (*encFnInfo).fastpathEncMapIntfUintptrR, (*decFnInfo).fastpathDecMapIntfUintptrR)
  101. fn(map[interface{}]int(nil), (*encFnInfo).fastpathEncMapIntfIntR, (*decFnInfo).fastpathDecMapIntfIntR)
  102. fn(map[interface{}]int8(nil), (*encFnInfo).fastpathEncMapIntfInt8R, (*decFnInfo).fastpathDecMapIntfInt8R)
  103. fn(map[interface{}]int16(nil), (*encFnInfo).fastpathEncMapIntfInt16R, (*decFnInfo).fastpathDecMapIntfInt16R)
  104. fn(map[interface{}]int32(nil), (*encFnInfo).fastpathEncMapIntfInt32R, (*decFnInfo).fastpathDecMapIntfInt32R)
  105. fn(map[interface{}]int64(nil), (*encFnInfo).fastpathEncMapIntfInt64R, (*decFnInfo).fastpathDecMapIntfInt64R)
  106. fn(map[interface{}]float32(nil), (*encFnInfo).fastpathEncMapIntfFloat32R, (*decFnInfo).fastpathDecMapIntfFloat32R)
  107. fn(map[interface{}]float64(nil), (*encFnInfo).fastpathEncMapIntfFloat64R, (*decFnInfo).fastpathDecMapIntfFloat64R)
  108. fn(map[interface{}]bool(nil), (*encFnInfo).fastpathEncMapIntfBoolR, (*decFnInfo).fastpathDecMapIntfBoolR)
  109. fn(map[string]interface{}(nil), (*encFnInfo).fastpathEncMapStringIntfR, (*decFnInfo).fastpathDecMapStringIntfR)
  110. fn(map[string]string(nil), (*encFnInfo).fastpathEncMapStringStringR, (*decFnInfo).fastpathDecMapStringStringR)
  111. fn(map[string]uint(nil), (*encFnInfo).fastpathEncMapStringUintR, (*decFnInfo).fastpathDecMapStringUintR)
  112. fn(map[string]uint8(nil), (*encFnInfo).fastpathEncMapStringUint8R, (*decFnInfo).fastpathDecMapStringUint8R)
  113. fn(map[string]uint16(nil), (*encFnInfo).fastpathEncMapStringUint16R, (*decFnInfo).fastpathDecMapStringUint16R)
  114. fn(map[string]uint32(nil), (*encFnInfo).fastpathEncMapStringUint32R, (*decFnInfo).fastpathDecMapStringUint32R)
  115. fn(map[string]uint64(nil), (*encFnInfo).fastpathEncMapStringUint64R, (*decFnInfo).fastpathDecMapStringUint64R)
  116. fn(map[string]uintptr(nil), (*encFnInfo).fastpathEncMapStringUintptrR, (*decFnInfo).fastpathDecMapStringUintptrR)
  117. fn(map[string]int(nil), (*encFnInfo).fastpathEncMapStringIntR, (*decFnInfo).fastpathDecMapStringIntR)
  118. fn(map[string]int8(nil), (*encFnInfo).fastpathEncMapStringInt8R, (*decFnInfo).fastpathDecMapStringInt8R)
  119. fn(map[string]int16(nil), (*encFnInfo).fastpathEncMapStringInt16R, (*decFnInfo).fastpathDecMapStringInt16R)
  120. fn(map[string]int32(nil), (*encFnInfo).fastpathEncMapStringInt32R, (*decFnInfo).fastpathDecMapStringInt32R)
  121. fn(map[string]int64(nil), (*encFnInfo).fastpathEncMapStringInt64R, (*decFnInfo).fastpathDecMapStringInt64R)
  122. fn(map[string]float32(nil), (*encFnInfo).fastpathEncMapStringFloat32R, (*decFnInfo).fastpathDecMapStringFloat32R)
  123. fn(map[string]float64(nil), (*encFnInfo).fastpathEncMapStringFloat64R, (*decFnInfo).fastpathDecMapStringFloat64R)
  124. fn(map[string]bool(nil), (*encFnInfo).fastpathEncMapStringBoolR, (*decFnInfo).fastpathDecMapStringBoolR)
  125. fn(map[float32]interface{}(nil), (*encFnInfo).fastpathEncMapFloat32IntfR, (*decFnInfo).fastpathDecMapFloat32IntfR)
  126. fn(map[float32]string(nil), (*encFnInfo).fastpathEncMapFloat32StringR, (*decFnInfo).fastpathDecMapFloat32StringR)
  127. fn(map[float32]uint(nil), (*encFnInfo).fastpathEncMapFloat32UintR, (*decFnInfo).fastpathDecMapFloat32UintR)
  128. fn(map[float32]uint8(nil), (*encFnInfo).fastpathEncMapFloat32Uint8R, (*decFnInfo).fastpathDecMapFloat32Uint8R)
  129. fn(map[float32]uint16(nil), (*encFnInfo).fastpathEncMapFloat32Uint16R, (*decFnInfo).fastpathDecMapFloat32Uint16R)
  130. fn(map[float32]uint32(nil), (*encFnInfo).fastpathEncMapFloat32Uint32R, (*decFnInfo).fastpathDecMapFloat32Uint32R)
  131. fn(map[float32]uint64(nil), (*encFnInfo).fastpathEncMapFloat32Uint64R, (*decFnInfo).fastpathDecMapFloat32Uint64R)
  132. fn(map[float32]uintptr(nil), (*encFnInfo).fastpathEncMapFloat32UintptrR, (*decFnInfo).fastpathDecMapFloat32UintptrR)
  133. fn(map[float32]int(nil), (*encFnInfo).fastpathEncMapFloat32IntR, (*decFnInfo).fastpathDecMapFloat32IntR)
  134. fn(map[float32]int8(nil), (*encFnInfo).fastpathEncMapFloat32Int8R, (*decFnInfo).fastpathDecMapFloat32Int8R)
  135. fn(map[float32]int16(nil), (*encFnInfo).fastpathEncMapFloat32Int16R, (*decFnInfo).fastpathDecMapFloat32Int16R)
  136. fn(map[float32]int32(nil), (*encFnInfo).fastpathEncMapFloat32Int32R, (*decFnInfo).fastpathDecMapFloat32Int32R)
  137. fn(map[float32]int64(nil), (*encFnInfo).fastpathEncMapFloat32Int64R, (*decFnInfo).fastpathDecMapFloat32Int64R)
  138. fn(map[float32]float32(nil), (*encFnInfo).fastpathEncMapFloat32Float32R, (*decFnInfo).fastpathDecMapFloat32Float32R)
  139. fn(map[float32]float64(nil), (*encFnInfo).fastpathEncMapFloat32Float64R, (*decFnInfo).fastpathDecMapFloat32Float64R)
  140. fn(map[float32]bool(nil), (*encFnInfo).fastpathEncMapFloat32BoolR, (*decFnInfo).fastpathDecMapFloat32BoolR)
  141. fn(map[float64]interface{}(nil), (*encFnInfo).fastpathEncMapFloat64IntfR, (*decFnInfo).fastpathDecMapFloat64IntfR)
  142. fn(map[float64]string(nil), (*encFnInfo).fastpathEncMapFloat64StringR, (*decFnInfo).fastpathDecMapFloat64StringR)
  143. fn(map[float64]uint(nil), (*encFnInfo).fastpathEncMapFloat64UintR, (*decFnInfo).fastpathDecMapFloat64UintR)
  144. fn(map[float64]uint8(nil), (*encFnInfo).fastpathEncMapFloat64Uint8R, (*decFnInfo).fastpathDecMapFloat64Uint8R)
  145. fn(map[float64]uint16(nil), (*encFnInfo).fastpathEncMapFloat64Uint16R, (*decFnInfo).fastpathDecMapFloat64Uint16R)
  146. fn(map[float64]uint32(nil), (*encFnInfo).fastpathEncMapFloat64Uint32R, (*decFnInfo).fastpathDecMapFloat64Uint32R)
  147. fn(map[float64]uint64(nil), (*encFnInfo).fastpathEncMapFloat64Uint64R, (*decFnInfo).fastpathDecMapFloat64Uint64R)
  148. fn(map[float64]uintptr(nil), (*encFnInfo).fastpathEncMapFloat64UintptrR, (*decFnInfo).fastpathDecMapFloat64UintptrR)
  149. fn(map[float64]int(nil), (*encFnInfo).fastpathEncMapFloat64IntR, (*decFnInfo).fastpathDecMapFloat64IntR)
  150. fn(map[float64]int8(nil), (*encFnInfo).fastpathEncMapFloat64Int8R, (*decFnInfo).fastpathDecMapFloat64Int8R)
  151. fn(map[float64]int16(nil), (*encFnInfo).fastpathEncMapFloat64Int16R, (*decFnInfo).fastpathDecMapFloat64Int16R)
  152. fn(map[float64]int32(nil), (*encFnInfo).fastpathEncMapFloat64Int32R, (*decFnInfo).fastpathDecMapFloat64Int32R)
  153. fn(map[float64]int64(nil), (*encFnInfo).fastpathEncMapFloat64Int64R, (*decFnInfo).fastpathDecMapFloat64Int64R)
  154. fn(map[float64]float32(nil), (*encFnInfo).fastpathEncMapFloat64Float32R, (*decFnInfo).fastpathDecMapFloat64Float32R)
  155. fn(map[float64]float64(nil), (*encFnInfo).fastpathEncMapFloat64Float64R, (*decFnInfo).fastpathDecMapFloat64Float64R)
  156. fn(map[float64]bool(nil), (*encFnInfo).fastpathEncMapFloat64BoolR, (*decFnInfo).fastpathDecMapFloat64BoolR)
  157. fn(map[uint]interface{}(nil), (*encFnInfo).fastpathEncMapUintIntfR, (*decFnInfo).fastpathDecMapUintIntfR)
  158. fn(map[uint]string(nil), (*encFnInfo).fastpathEncMapUintStringR, (*decFnInfo).fastpathDecMapUintStringR)
  159. fn(map[uint]uint(nil), (*encFnInfo).fastpathEncMapUintUintR, (*decFnInfo).fastpathDecMapUintUintR)
  160. fn(map[uint]uint8(nil), (*encFnInfo).fastpathEncMapUintUint8R, (*decFnInfo).fastpathDecMapUintUint8R)
  161. fn(map[uint]uint16(nil), (*encFnInfo).fastpathEncMapUintUint16R, (*decFnInfo).fastpathDecMapUintUint16R)
  162. fn(map[uint]uint32(nil), (*encFnInfo).fastpathEncMapUintUint32R, (*decFnInfo).fastpathDecMapUintUint32R)
  163. fn(map[uint]uint64(nil), (*encFnInfo).fastpathEncMapUintUint64R, (*decFnInfo).fastpathDecMapUintUint64R)
  164. fn(map[uint]uintptr(nil), (*encFnInfo).fastpathEncMapUintUintptrR, (*decFnInfo).fastpathDecMapUintUintptrR)
  165. fn(map[uint]int(nil), (*encFnInfo).fastpathEncMapUintIntR, (*decFnInfo).fastpathDecMapUintIntR)
  166. fn(map[uint]int8(nil), (*encFnInfo).fastpathEncMapUintInt8R, (*decFnInfo).fastpathDecMapUintInt8R)
  167. fn(map[uint]int16(nil), (*encFnInfo).fastpathEncMapUintInt16R, (*decFnInfo).fastpathDecMapUintInt16R)
  168. fn(map[uint]int32(nil), (*encFnInfo).fastpathEncMapUintInt32R, (*decFnInfo).fastpathDecMapUintInt32R)
  169. fn(map[uint]int64(nil), (*encFnInfo).fastpathEncMapUintInt64R, (*decFnInfo).fastpathDecMapUintInt64R)
  170. fn(map[uint]float32(nil), (*encFnInfo).fastpathEncMapUintFloat32R, (*decFnInfo).fastpathDecMapUintFloat32R)
  171. fn(map[uint]float64(nil), (*encFnInfo).fastpathEncMapUintFloat64R, (*decFnInfo).fastpathDecMapUintFloat64R)
  172. fn(map[uint]bool(nil), (*encFnInfo).fastpathEncMapUintBoolR, (*decFnInfo).fastpathDecMapUintBoolR)
  173. fn(map[uint8]interface{}(nil), (*encFnInfo).fastpathEncMapUint8IntfR, (*decFnInfo).fastpathDecMapUint8IntfR)
  174. fn(map[uint8]string(nil), (*encFnInfo).fastpathEncMapUint8StringR, (*decFnInfo).fastpathDecMapUint8StringR)
  175. fn(map[uint8]uint(nil), (*encFnInfo).fastpathEncMapUint8UintR, (*decFnInfo).fastpathDecMapUint8UintR)
  176. fn(map[uint8]uint8(nil), (*encFnInfo).fastpathEncMapUint8Uint8R, (*decFnInfo).fastpathDecMapUint8Uint8R)
  177. fn(map[uint8]uint16(nil), (*encFnInfo).fastpathEncMapUint8Uint16R, (*decFnInfo).fastpathDecMapUint8Uint16R)
  178. fn(map[uint8]uint32(nil), (*encFnInfo).fastpathEncMapUint8Uint32R, (*decFnInfo).fastpathDecMapUint8Uint32R)
  179. fn(map[uint8]uint64(nil), (*encFnInfo).fastpathEncMapUint8Uint64R, (*decFnInfo).fastpathDecMapUint8Uint64R)
  180. fn(map[uint8]uintptr(nil), (*encFnInfo).fastpathEncMapUint8UintptrR, (*decFnInfo).fastpathDecMapUint8UintptrR)
  181. fn(map[uint8]int(nil), (*encFnInfo).fastpathEncMapUint8IntR, (*decFnInfo).fastpathDecMapUint8IntR)
  182. fn(map[uint8]int8(nil), (*encFnInfo).fastpathEncMapUint8Int8R, (*decFnInfo).fastpathDecMapUint8Int8R)
  183. fn(map[uint8]int16(nil), (*encFnInfo).fastpathEncMapUint8Int16R, (*decFnInfo).fastpathDecMapUint8Int16R)
  184. fn(map[uint8]int32(nil), (*encFnInfo).fastpathEncMapUint8Int32R, (*decFnInfo).fastpathDecMapUint8Int32R)
  185. fn(map[uint8]int64(nil), (*encFnInfo).fastpathEncMapUint8Int64R, (*decFnInfo).fastpathDecMapUint8Int64R)
  186. fn(map[uint8]float32(nil), (*encFnInfo).fastpathEncMapUint8Float32R, (*decFnInfo).fastpathDecMapUint8Float32R)
  187. fn(map[uint8]float64(nil), (*encFnInfo).fastpathEncMapUint8Float64R, (*decFnInfo).fastpathDecMapUint8Float64R)
  188. fn(map[uint8]bool(nil), (*encFnInfo).fastpathEncMapUint8BoolR, (*decFnInfo).fastpathDecMapUint8BoolR)
  189. fn(map[uint16]interface{}(nil), (*encFnInfo).fastpathEncMapUint16IntfR, (*decFnInfo).fastpathDecMapUint16IntfR)
  190. fn(map[uint16]string(nil), (*encFnInfo).fastpathEncMapUint16StringR, (*decFnInfo).fastpathDecMapUint16StringR)
  191. fn(map[uint16]uint(nil), (*encFnInfo).fastpathEncMapUint16UintR, (*decFnInfo).fastpathDecMapUint16UintR)
  192. fn(map[uint16]uint8(nil), (*encFnInfo).fastpathEncMapUint16Uint8R, (*decFnInfo).fastpathDecMapUint16Uint8R)
  193. fn(map[uint16]uint16(nil), (*encFnInfo).fastpathEncMapUint16Uint16R, (*decFnInfo).fastpathDecMapUint16Uint16R)
  194. fn(map[uint16]uint32(nil), (*encFnInfo).fastpathEncMapUint16Uint32R, (*decFnInfo).fastpathDecMapUint16Uint32R)
  195. fn(map[uint16]uint64(nil), (*encFnInfo).fastpathEncMapUint16Uint64R, (*decFnInfo).fastpathDecMapUint16Uint64R)
  196. fn(map[uint16]uintptr(nil), (*encFnInfo).fastpathEncMapUint16UintptrR, (*decFnInfo).fastpathDecMapUint16UintptrR)
  197. fn(map[uint16]int(nil), (*encFnInfo).fastpathEncMapUint16IntR, (*decFnInfo).fastpathDecMapUint16IntR)
  198. fn(map[uint16]int8(nil), (*encFnInfo).fastpathEncMapUint16Int8R, (*decFnInfo).fastpathDecMapUint16Int8R)
  199. fn(map[uint16]int16(nil), (*encFnInfo).fastpathEncMapUint16Int16R, (*decFnInfo).fastpathDecMapUint16Int16R)
  200. fn(map[uint16]int32(nil), (*encFnInfo).fastpathEncMapUint16Int32R, (*decFnInfo).fastpathDecMapUint16Int32R)
  201. fn(map[uint16]int64(nil), (*encFnInfo).fastpathEncMapUint16Int64R, (*decFnInfo).fastpathDecMapUint16Int64R)
  202. fn(map[uint16]float32(nil), (*encFnInfo).fastpathEncMapUint16Float32R, (*decFnInfo).fastpathDecMapUint16Float32R)
  203. fn(map[uint16]float64(nil), (*encFnInfo).fastpathEncMapUint16Float64R, (*decFnInfo).fastpathDecMapUint16Float64R)
  204. fn(map[uint16]bool(nil), (*encFnInfo).fastpathEncMapUint16BoolR, (*decFnInfo).fastpathDecMapUint16BoolR)
  205. fn(map[uint32]interface{}(nil), (*encFnInfo).fastpathEncMapUint32IntfR, (*decFnInfo).fastpathDecMapUint32IntfR)
  206. fn(map[uint32]string(nil), (*encFnInfo).fastpathEncMapUint32StringR, (*decFnInfo).fastpathDecMapUint32StringR)
  207. fn(map[uint32]uint(nil), (*encFnInfo).fastpathEncMapUint32UintR, (*decFnInfo).fastpathDecMapUint32UintR)
  208. fn(map[uint32]uint8(nil), (*encFnInfo).fastpathEncMapUint32Uint8R, (*decFnInfo).fastpathDecMapUint32Uint8R)
  209. fn(map[uint32]uint16(nil), (*encFnInfo).fastpathEncMapUint32Uint16R, (*decFnInfo).fastpathDecMapUint32Uint16R)
  210. fn(map[uint32]uint32(nil), (*encFnInfo).fastpathEncMapUint32Uint32R, (*decFnInfo).fastpathDecMapUint32Uint32R)
  211. fn(map[uint32]uint64(nil), (*encFnInfo).fastpathEncMapUint32Uint64R, (*decFnInfo).fastpathDecMapUint32Uint64R)
  212. fn(map[uint32]uintptr(nil), (*encFnInfo).fastpathEncMapUint32UintptrR, (*decFnInfo).fastpathDecMapUint32UintptrR)
  213. fn(map[uint32]int(nil), (*encFnInfo).fastpathEncMapUint32IntR, (*decFnInfo).fastpathDecMapUint32IntR)
  214. fn(map[uint32]int8(nil), (*encFnInfo).fastpathEncMapUint32Int8R, (*decFnInfo).fastpathDecMapUint32Int8R)
  215. fn(map[uint32]int16(nil), (*encFnInfo).fastpathEncMapUint32Int16R, (*decFnInfo).fastpathDecMapUint32Int16R)
  216. fn(map[uint32]int32(nil), (*encFnInfo).fastpathEncMapUint32Int32R, (*decFnInfo).fastpathDecMapUint32Int32R)
  217. fn(map[uint32]int64(nil), (*encFnInfo).fastpathEncMapUint32Int64R, (*decFnInfo).fastpathDecMapUint32Int64R)
  218. fn(map[uint32]float32(nil), (*encFnInfo).fastpathEncMapUint32Float32R, (*decFnInfo).fastpathDecMapUint32Float32R)
  219. fn(map[uint32]float64(nil), (*encFnInfo).fastpathEncMapUint32Float64R, (*decFnInfo).fastpathDecMapUint32Float64R)
  220. fn(map[uint32]bool(nil), (*encFnInfo).fastpathEncMapUint32BoolR, (*decFnInfo).fastpathDecMapUint32BoolR)
  221. fn(map[uint64]interface{}(nil), (*encFnInfo).fastpathEncMapUint64IntfR, (*decFnInfo).fastpathDecMapUint64IntfR)
  222. fn(map[uint64]string(nil), (*encFnInfo).fastpathEncMapUint64StringR, (*decFnInfo).fastpathDecMapUint64StringR)
  223. fn(map[uint64]uint(nil), (*encFnInfo).fastpathEncMapUint64UintR, (*decFnInfo).fastpathDecMapUint64UintR)
  224. fn(map[uint64]uint8(nil), (*encFnInfo).fastpathEncMapUint64Uint8R, (*decFnInfo).fastpathDecMapUint64Uint8R)
  225. fn(map[uint64]uint16(nil), (*encFnInfo).fastpathEncMapUint64Uint16R, (*decFnInfo).fastpathDecMapUint64Uint16R)
  226. fn(map[uint64]uint32(nil), (*encFnInfo).fastpathEncMapUint64Uint32R, (*decFnInfo).fastpathDecMapUint64Uint32R)
  227. fn(map[uint64]uint64(nil), (*encFnInfo).fastpathEncMapUint64Uint64R, (*decFnInfo).fastpathDecMapUint64Uint64R)
  228. fn(map[uint64]uintptr(nil), (*encFnInfo).fastpathEncMapUint64UintptrR, (*decFnInfo).fastpathDecMapUint64UintptrR)
  229. fn(map[uint64]int(nil), (*encFnInfo).fastpathEncMapUint64IntR, (*decFnInfo).fastpathDecMapUint64IntR)
  230. fn(map[uint64]int8(nil), (*encFnInfo).fastpathEncMapUint64Int8R, (*decFnInfo).fastpathDecMapUint64Int8R)
  231. fn(map[uint64]int16(nil), (*encFnInfo).fastpathEncMapUint64Int16R, (*decFnInfo).fastpathDecMapUint64Int16R)
  232. fn(map[uint64]int32(nil), (*encFnInfo).fastpathEncMapUint64Int32R, (*decFnInfo).fastpathDecMapUint64Int32R)
  233. fn(map[uint64]int64(nil), (*encFnInfo).fastpathEncMapUint64Int64R, (*decFnInfo).fastpathDecMapUint64Int64R)
  234. fn(map[uint64]float32(nil), (*encFnInfo).fastpathEncMapUint64Float32R, (*decFnInfo).fastpathDecMapUint64Float32R)
  235. fn(map[uint64]float64(nil), (*encFnInfo).fastpathEncMapUint64Float64R, (*decFnInfo).fastpathDecMapUint64Float64R)
  236. fn(map[uint64]bool(nil), (*encFnInfo).fastpathEncMapUint64BoolR, (*decFnInfo).fastpathDecMapUint64BoolR)
  237. fn(map[uintptr]interface{}(nil), (*encFnInfo).fastpathEncMapUintptrIntfR, (*decFnInfo).fastpathDecMapUintptrIntfR)
  238. fn(map[uintptr]string(nil), (*encFnInfo).fastpathEncMapUintptrStringR, (*decFnInfo).fastpathDecMapUintptrStringR)
  239. fn(map[uintptr]uint(nil), (*encFnInfo).fastpathEncMapUintptrUintR, (*decFnInfo).fastpathDecMapUintptrUintR)
  240. fn(map[uintptr]uint8(nil), (*encFnInfo).fastpathEncMapUintptrUint8R, (*decFnInfo).fastpathDecMapUintptrUint8R)
  241. fn(map[uintptr]uint16(nil), (*encFnInfo).fastpathEncMapUintptrUint16R, (*decFnInfo).fastpathDecMapUintptrUint16R)
  242. fn(map[uintptr]uint32(nil), (*encFnInfo).fastpathEncMapUintptrUint32R, (*decFnInfo).fastpathDecMapUintptrUint32R)
  243. fn(map[uintptr]uint64(nil), (*encFnInfo).fastpathEncMapUintptrUint64R, (*decFnInfo).fastpathDecMapUintptrUint64R)
  244. fn(map[uintptr]uintptr(nil), (*encFnInfo).fastpathEncMapUintptrUintptrR, (*decFnInfo).fastpathDecMapUintptrUintptrR)
  245. fn(map[uintptr]int(nil), (*encFnInfo).fastpathEncMapUintptrIntR, (*decFnInfo).fastpathDecMapUintptrIntR)
  246. fn(map[uintptr]int8(nil), (*encFnInfo).fastpathEncMapUintptrInt8R, (*decFnInfo).fastpathDecMapUintptrInt8R)
  247. fn(map[uintptr]int16(nil), (*encFnInfo).fastpathEncMapUintptrInt16R, (*decFnInfo).fastpathDecMapUintptrInt16R)
  248. fn(map[uintptr]int32(nil), (*encFnInfo).fastpathEncMapUintptrInt32R, (*decFnInfo).fastpathDecMapUintptrInt32R)
  249. fn(map[uintptr]int64(nil), (*encFnInfo).fastpathEncMapUintptrInt64R, (*decFnInfo).fastpathDecMapUintptrInt64R)
  250. fn(map[uintptr]float32(nil), (*encFnInfo).fastpathEncMapUintptrFloat32R, (*decFnInfo).fastpathDecMapUintptrFloat32R)
  251. fn(map[uintptr]float64(nil), (*encFnInfo).fastpathEncMapUintptrFloat64R, (*decFnInfo).fastpathDecMapUintptrFloat64R)
  252. fn(map[uintptr]bool(nil), (*encFnInfo).fastpathEncMapUintptrBoolR, (*decFnInfo).fastpathDecMapUintptrBoolR)
  253. fn(map[int]interface{}(nil), (*encFnInfo).fastpathEncMapIntIntfR, (*decFnInfo).fastpathDecMapIntIntfR)
  254. fn(map[int]string(nil), (*encFnInfo).fastpathEncMapIntStringR, (*decFnInfo).fastpathDecMapIntStringR)
  255. fn(map[int]uint(nil), (*encFnInfo).fastpathEncMapIntUintR, (*decFnInfo).fastpathDecMapIntUintR)
  256. fn(map[int]uint8(nil), (*encFnInfo).fastpathEncMapIntUint8R, (*decFnInfo).fastpathDecMapIntUint8R)
  257. fn(map[int]uint16(nil), (*encFnInfo).fastpathEncMapIntUint16R, (*decFnInfo).fastpathDecMapIntUint16R)
  258. fn(map[int]uint32(nil), (*encFnInfo).fastpathEncMapIntUint32R, (*decFnInfo).fastpathDecMapIntUint32R)
  259. fn(map[int]uint64(nil), (*encFnInfo).fastpathEncMapIntUint64R, (*decFnInfo).fastpathDecMapIntUint64R)
  260. fn(map[int]uintptr(nil), (*encFnInfo).fastpathEncMapIntUintptrR, (*decFnInfo).fastpathDecMapIntUintptrR)
  261. fn(map[int]int(nil), (*encFnInfo).fastpathEncMapIntIntR, (*decFnInfo).fastpathDecMapIntIntR)
  262. fn(map[int]int8(nil), (*encFnInfo).fastpathEncMapIntInt8R, (*decFnInfo).fastpathDecMapIntInt8R)
  263. fn(map[int]int16(nil), (*encFnInfo).fastpathEncMapIntInt16R, (*decFnInfo).fastpathDecMapIntInt16R)
  264. fn(map[int]int32(nil), (*encFnInfo).fastpathEncMapIntInt32R, (*decFnInfo).fastpathDecMapIntInt32R)
  265. fn(map[int]int64(nil), (*encFnInfo).fastpathEncMapIntInt64R, (*decFnInfo).fastpathDecMapIntInt64R)
  266. fn(map[int]float32(nil), (*encFnInfo).fastpathEncMapIntFloat32R, (*decFnInfo).fastpathDecMapIntFloat32R)
  267. fn(map[int]float64(nil), (*encFnInfo).fastpathEncMapIntFloat64R, (*decFnInfo).fastpathDecMapIntFloat64R)
  268. fn(map[int]bool(nil), (*encFnInfo).fastpathEncMapIntBoolR, (*decFnInfo).fastpathDecMapIntBoolR)
  269. fn(map[int8]interface{}(nil), (*encFnInfo).fastpathEncMapInt8IntfR, (*decFnInfo).fastpathDecMapInt8IntfR)
  270. fn(map[int8]string(nil), (*encFnInfo).fastpathEncMapInt8StringR, (*decFnInfo).fastpathDecMapInt8StringR)
  271. fn(map[int8]uint(nil), (*encFnInfo).fastpathEncMapInt8UintR, (*decFnInfo).fastpathDecMapInt8UintR)
  272. fn(map[int8]uint8(nil), (*encFnInfo).fastpathEncMapInt8Uint8R, (*decFnInfo).fastpathDecMapInt8Uint8R)
  273. fn(map[int8]uint16(nil), (*encFnInfo).fastpathEncMapInt8Uint16R, (*decFnInfo).fastpathDecMapInt8Uint16R)
  274. fn(map[int8]uint32(nil), (*encFnInfo).fastpathEncMapInt8Uint32R, (*decFnInfo).fastpathDecMapInt8Uint32R)
  275. fn(map[int8]uint64(nil), (*encFnInfo).fastpathEncMapInt8Uint64R, (*decFnInfo).fastpathDecMapInt8Uint64R)
  276. fn(map[int8]uintptr(nil), (*encFnInfo).fastpathEncMapInt8UintptrR, (*decFnInfo).fastpathDecMapInt8UintptrR)
  277. fn(map[int8]int(nil), (*encFnInfo).fastpathEncMapInt8IntR, (*decFnInfo).fastpathDecMapInt8IntR)
  278. fn(map[int8]int8(nil), (*encFnInfo).fastpathEncMapInt8Int8R, (*decFnInfo).fastpathDecMapInt8Int8R)
  279. fn(map[int8]int16(nil), (*encFnInfo).fastpathEncMapInt8Int16R, (*decFnInfo).fastpathDecMapInt8Int16R)
  280. fn(map[int8]int32(nil), (*encFnInfo).fastpathEncMapInt8Int32R, (*decFnInfo).fastpathDecMapInt8Int32R)
  281. fn(map[int8]int64(nil), (*encFnInfo).fastpathEncMapInt8Int64R, (*decFnInfo).fastpathDecMapInt8Int64R)
  282. fn(map[int8]float32(nil), (*encFnInfo).fastpathEncMapInt8Float32R, (*decFnInfo).fastpathDecMapInt8Float32R)
  283. fn(map[int8]float64(nil), (*encFnInfo).fastpathEncMapInt8Float64R, (*decFnInfo).fastpathDecMapInt8Float64R)
  284. fn(map[int8]bool(nil), (*encFnInfo).fastpathEncMapInt8BoolR, (*decFnInfo).fastpathDecMapInt8BoolR)
  285. fn(map[int16]interface{}(nil), (*encFnInfo).fastpathEncMapInt16IntfR, (*decFnInfo).fastpathDecMapInt16IntfR)
  286. fn(map[int16]string(nil), (*encFnInfo).fastpathEncMapInt16StringR, (*decFnInfo).fastpathDecMapInt16StringR)
  287. fn(map[int16]uint(nil), (*encFnInfo).fastpathEncMapInt16UintR, (*decFnInfo).fastpathDecMapInt16UintR)
  288. fn(map[int16]uint8(nil), (*encFnInfo).fastpathEncMapInt16Uint8R, (*decFnInfo).fastpathDecMapInt16Uint8R)
  289. fn(map[int16]uint16(nil), (*encFnInfo).fastpathEncMapInt16Uint16R, (*decFnInfo).fastpathDecMapInt16Uint16R)
  290. fn(map[int16]uint32(nil), (*encFnInfo).fastpathEncMapInt16Uint32R, (*decFnInfo).fastpathDecMapInt16Uint32R)
  291. fn(map[int16]uint64(nil), (*encFnInfo).fastpathEncMapInt16Uint64R, (*decFnInfo).fastpathDecMapInt16Uint64R)
  292. fn(map[int16]uintptr(nil), (*encFnInfo).fastpathEncMapInt16UintptrR, (*decFnInfo).fastpathDecMapInt16UintptrR)
  293. fn(map[int16]int(nil), (*encFnInfo).fastpathEncMapInt16IntR, (*decFnInfo).fastpathDecMapInt16IntR)
  294. fn(map[int16]int8(nil), (*encFnInfo).fastpathEncMapInt16Int8R, (*decFnInfo).fastpathDecMapInt16Int8R)
  295. fn(map[int16]int16(nil), (*encFnInfo).fastpathEncMapInt16Int16R, (*decFnInfo).fastpathDecMapInt16Int16R)
  296. fn(map[int16]int32(nil), (*encFnInfo).fastpathEncMapInt16Int32R, (*decFnInfo).fastpathDecMapInt16Int32R)
  297. fn(map[int16]int64(nil), (*encFnInfo).fastpathEncMapInt16Int64R, (*decFnInfo).fastpathDecMapInt16Int64R)
  298. fn(map[int16]float32(nil), (*encFnInfo).fastpathEncMapInt16Float32R, (*decFnInfo).fastpathDecMapInt16Float32R)
  299. fn(map[int16]float64(nil), (*encFnInfo).fastpathEncMapInt16Float64R, (*decFnInfo).fastpathDecMapInt16Float64R)
  300. fn(map[int16]bool(nil), (*encFnInfo).fastpathEncMapInt16BoolR, (*decFnInfo).fastpathDecMapInt16BoolR)
  301. fn(map[int32]interface{}(nil), (*encFnInfo).fastpathEncMapInt32IntfR, (*decFnInfo).fastpathDecMapInt32IntfR)
  302. fn(map[int32]string(nil), (*encFnInfo).fastpathEncMapInt32StringR, (*decFnInfo).fastpathDecMapInt32StringR)
  303. fn(map[int32]uint(nil), (*encFnInfo).fastpathEncMapInt32UintR, (*decFnInfo).fastpathDecMapInt32UintR)
  304. fn(map[int32]uint8(nil), (*encFnInfo).fastpathEncMapInt32Uint8R, (*decFnInfo).fastpathDecMapInt32Uint8R)
  305. fn(map[int32]uint16(nil), (*encFnInfo).fastpathEncMapInt32Uint16R, (*decFnInfo).fastpathDecMapInt32Uint16R)
  306. fn(map[int32]uint32(nil), (*encFnInfo).fastpathEncMapInt32Uint32R, (*decFnInfo).fastpathDecMapInt32Uint32R)
  307. fn(map[int32]uint64(nil), (*encFnInfo).fastpathEncMapInt32Uint64R, (*decFnInfo).fastpathDecMapInt32Uint64R)
  308. fn(map[int32]uintptr(nil), (*encFnInfo).fastpathEncMapInt32UintptrR, (*decFnInfo).fastpathDecMapInt32UintptrR)
  309. fn(map[int32]int(nil), (*encFnInfo).fastpathEncMapInt32IntR, (*decFnInfo).fastpathDecMapInt32IntR)
  310. fn(map[int32]int8(nil), (*encFnInfo).fastpathEncMapInt32Int8R, (*decFnInfo).fastpathDecMapInt32Int8R)
  311. fn(map[int32]int16(nil), (*encFnInfo).fastpathEncMapInt32Int16R, (*decFnInfo).fastpathDecMapInt32Int16R)
  312. fn(map[int32]int32(nil), (*encFnInfo).fastpathEncMapInt32Int32R, (*decFnInfo).fastpathDecMapInt32Int32R)
  313. fn(map[int32]int64(nil), (*encFnInfo).fastpathEncMapInt32Int64R, (*decFnInfo).fastpathDecMapInt32Int64R)
  314. fn(map[int32]float32(nil), (*encFnInfo).fastpathEncMapInt32Float32R, (*decFnInfo).fastpathDecMapInt32Float32R)
  315. fn(map[int32]float64(nil), (*encFnInfo).fastpathEncMapInt32Float64R, (*decFnInfo).fastpathDecMapInt32Float64R)
  316. fn(map[int32]bool(nil), (*encFnInfo).fastpathEncMapInt32BoolR, (*decFnInfo).fastpathDecMapInt32BoolR)
  317. fn(map[int64]interface{}(nil), (*encFnInfo).fastpathEncMapInt64IntfR, (*decFnInfo).fastpathDecMapInt64IntfR)
  318. fn(map[int64]string(nil), (*encFnInfo).fastpathEncMapInt64StringR, (*decFnInfo).fastpathDecMapInt64StringR)
  319. fn(map[int64]uint(nil), (*encFnInfo).fastpathEncMapInt64UintR, (*decFnInfo).fastpathDecMapInt64UintR)
  320. fn(map[int64]uint8(nil), (*encFnInfo).fastpathEncMapInt64Uint8R, (*decFnInfo).fastpathDecMapInt64Uint8R)
  321. fn(map[int64]uint16(nil), (*encFnInfo).fastpathEncMapInt64Uint16R, (*decFnInfo).fastpathDecMapInt64Uint16R)
  322. fn(map[int64]uint32(nil), (*encFnInfo).fastpathEncMapInt64Uint32R, (*decFnInfo).fastpathDecMapInt64Uint32R)
  323. fn(map[int64]uint64(nil), (*encFnInfo).fastpathEncMapInt64Uint64R, (*decFnInfo).fastpathDecMapInt64Uint64R)
  324. fn(map[int64]uintptr(nil), (*encFnInfo).fastpathEncMapInt64UintptrR, (*decFnInfo).fastpathDecMapInt64UintptrR)
  325. fn(map[int64]int(nil), (*encFnInfo).fastpathEncMapInt64IntR, (*decFnInfo).fastpathDecMapInt64IntR)
  326. fn(map[int64]int8(nil), (*encFnInfo).fastpathEncMapInt64Int8R, (*decFnInfo).fastpathDecMapInt64Int8R)
  327. fn(map[int64]int16(nil), (*encFnInfo).fastpathEncMapInt64Int16R, (*decFnInfo).fastpathDecMapInt64Int16R)
  328. fn(map[int64]int32(nil), (*encFnInfo).fastpathEncMapInt64Int32R, (*decFnInfo).fastpathDecMapInt64Int32R)
  329. fn(map[int64]int64(nil), (*encFnInfo).fastpathEncMapInt64Int64R, (*decFnInfo).fastpathDecMapInt64Int64R)
  330. fn(map[int64]float32(nil), (*encFnInfo).fastpathEncMapInt64Float32R, (*decFnInfo).fastpathDecMapInt64Float32R)
  331. fn(map[int64]float64(nil), (*encFnInfo).fastpathEncMapInt64Float64R, (*decFnInfo).fastpathDecMapInt64Float64R)
  332. fn(map[int64]bool(nil), (*encFnInfo).fastpathEncMapInt64BoolR, (*decFnInfo).fastpathDecMapInt64BoolR)
  333. fn(map[bool]interface{}(nil), (*encFnInfo).fastpathEncMapBoolIntfR, (*decFnInfo).fastpathDecMapBoolIntfR)
  334. fn(map[bool]string(nil), (*encFnInfo).fastpathEncMapBoolStringR, (*decFnInfo).fastpathDecMapBoolStringR)
  335. fn(map[bool]uint(nil), (*encFnInfo).fastpathEncMapBoolUintR, (*decFnInfo).fastpathDecMapBoolUintR)
  336. fn(map[bool]uint8(nil), (*encFnInfo).fastpathEncMapBoolUint8R, (*decFnInfo).fastpathDecMapBoolUint8R)
  337. fn(map[bool]uint16(nil), (*encFnInfo).fastpathEncMapBoolUint16R, (*decFnInfo).fastpathDecMapBoolUint16R)
  338. fn(map[bool]uint32(nil), (*encFnInfo).fastpathEncMapBoolUint32R, (*decFnInfo).fastpathDecMapBoolUint32R)
  339. fn(map[bool]uint64(nil), (*encFnInfo).fastpathEncMapBoolUint64R, (*decFnInfo).fastpathDecMapBoolUint64R)
  340. fn(map[bool]uintptr(nil), (*encFnInfo).fastpathEncMapBoolUintptrR, (*decFnInfo).fastpathDecMapBoolUintptrR)
  341. fn(map[bool]int(nil), (*encFnInfo).fastpathEncMapBoolIntR, (*decFnInfo).fastpathDecMapBoolIntR)
  342. fn(map[bool]int8(nil), (*encFnInfo).fastpathEncMapBoolInt8R, (*decFnInfo).fastpathDecMapBoolInt8R)
  343. fn(map[bool]int16(nil), (*encFnInfo).fastpathEncMapBoolInt16R, (*decFnInfo).fastpathDecMapBoolInt16R)
  344. fn(map[bool]int32(nil), (*encFnInfo).fastpathEncMapBoolInt32R, (*decFnInfo).fastpathDecMapBoolInt32R)
  345. fn(map[bool]int64(nil), (*encFnInfo).fastpathEncMapBoolInt64R, (*decFnInfo).fastpathDecMapBoolInt64R)
  346. fn(map[bool]float32(nil), (*encFnInfo).fastpathEncMapBoolFloat32R, (*decFnInfo).fastpathDecMapBoolFloat32R)
  347. fn(map[bool]float64(nil), (*encFnInfo).fastpathEncMapBoolFloat64R, (*decFnInfo).fastpathDecMapBoolFloat64R)
  348. fn(map[bool]bool(nil), (*encFnInfo).fastpathEncMapBoolBoolR, (*decFnInfo).fastpathDecMapBoolBoolR)
  349. sort.Sort(fastpathAslice(fastpathAV[:]))
  350. }
  351. // -- encode
  352. // -- -- fast path type switch
  353. func fastpathEncodeTypeSwitch(iv interface{}, e *Encoder) bool {
  354. switch v := iv.(type) {
  355. case []interface{}:
  356. fastpathTV.EncSliceIntfV(v, fastpathCheckNilTrue, e)
  357. case *[]interface{}:
  358. fastpathTV.EncSliceIntfV(*v, fastpathCheckNilTrue, e)
  359. case map[interface{}]interface{}:
  360. fastpathTV.EncMapIntfIntfV(v, fastpathCheckNilTrue, e)
  361. case *map[interface{}]interface{}:
  362. fastpathTV.EncMapIntfIntfV(*v, fastpathCheckNilTrue, e)
  363. case map[interface{}]string:
  364. fastpathTV.EncMapIntfStringV(v, fastpathCheckNilTrue, e)
  365. case *map[interface{}]string:
  366. fastpathTV.EncMapIntfStringV(*v, fastpathCheckNilTrue, e)
  367. case map[interface{}]uint:
  368. fastpathTV.EncMapIntfUintV(v, fastpathCheckNilTrue, e)
  369. case *map[interface{}]uint:
  370. fastpathTV.EncMapIntfUintV(*v, fastpathCheckNilTrue, e)
  371. case map[interface{}]uint8:
  372. fastpathTV.EncMapIntfUint8V(v, fastpathCheckNilTrue, e)
  373. case *map[interface{}]uint8:
  374. fastpathTV.EncMapIntfUint8V(*v, fastpathCheckNilTrue, e)
  375. case map[interface{}]uint16:
  376. fastpathTV.EncMapIntfUint16V(v, fastpathCheckNilTrue, e)
  377. case *map[interface{}]uint16:
  378. fastpathTV.EncMapIntfUint16V(*v, fastpathCheckNilTrue, e)
  379. case map[interface{}]uint32:
  380. fastpathTV.EncMapIntfUint32V(v, fastpathCheckNilTrue, e)
  381. case *map[interface{}]uint32:
  382. fastpathTV.EncMapIntfUint32V(*v, fastpathCheckNilTrue, e)
  383. case map[interface{}]uint64:
  384. fastpathTV.EncMapIntfUint64V(v, fastpathCheckNilTrue, e)
  385. case *map[interface{}]uint64:
  386. fastpathTV.EncMapIntfUint64V(*v, fastpathCheckNilTrue, e)
  387. case map[interface{}]uintptr:
  388. fastpathTV.EncMapIntfUintptrV(v, fastpathCheckNilTrue, e)
  389. case *map[interface{}]uintptr:
  390. fastpathTV.EncMapIntfUintptrV(*v, fastpathCheckNilTrue, e)
  391. case map[interface{}]int:
  392. fastpathTV.EncMapIntfIntV(v, fastpathCheckNilTrue, e)
  393. case *map[interface{}]int:
  394. fastpathTV.EncMapIntfIntV(*v, fastpathCheckNilTrue, e)
  395. case map[interface{}]int8:
  396. fastpathTV.EncMapIntfInt8V(v, fastpathCheckNilTrue, e)
  397. case *map[interface{}]int8:
  398. fastpathTV.EncMapIntfInt8V(*v, fastpathCheckNilTrue, e)
  399. case map[interface{}]int16:
  400. fastpathTV.EncMapIntfInt16V(v, fastpathCheckNilTrue, e)
  401. case *map[interface{}]int16:
  402. fastpathTV.EncMapIntfInt16V(*v, fastpathCheckNilTrue, e)
  403. case map[interface{}]int32:
  404. fastpathTV.EncMapIntfInt32V(v, fastpathCheckNilTrue, e)
  405. case *map[interface{}]int32:
  406. fastpathTV.EncMapIntfInt32V(*v, fastpathCheckNilTrue, e)
  407. case map[interface{}]int64:
  408. fastpathTV.EncMapIntfInt64V(v, fastpathCheckNilTrue, e)
  409. case *map[interface{}]int64:
  410. fastpathTV.EncMapIntfInt64V(*v, fastpathCheckNilTrue, e)
  411. case map[interface{}]float32:
  412. fastpathTV.EncMapIntfFloat32V(v, fastpathCheckNilTrue, e)
  413. case *map[interface{}]float32:
  414. fastpathTV.EncMapIntfFloat32V(*v, fastpathCheckNilTrue, e)
  415. case map[interface{}]float64:
  416. fastpathTV.EncMapIntfFloat64V(v, fastpathCheckNilTrue, e)
  417. case *map[interface{}]float64:
  418. fastpathTV.EncMapIntfFloat64V(*v, fastpathCheckNilTrue, e)
  419. case map[interface{}]bool:
  420. fastpathTV.EncMapIntfBoolV(v, fastpathCheckNilTrue, e)
  421. case *map[interface{}]bool:
  422. fastpathTV.EncMapIntfBoolV(*v, fastpathCheckNilTrue, e)
  423. case []string:
  424. fastpathTV.EncSliceStringV(v, fastpathCheckNilTrue, e)
  425. case *[]string:
  426. fastpathTV.EncSliceStringV(*v, fastpathCheckNilTrue, e)
  427. case map[string]interface{}:
  428. fastpathTV.EncMapStringIntfV(v, fastpathCheckNilTrue, e)
  429. case *map[string]interface{}:
  430. fastpathTV.EncMapStringIntfV(*v, fastpathCheckNilTrue, e)
  431. case map[string]string:
  432. fastpathTV.EncMapStringStringV(v, fastpathCheckNilTrue, e)
  433. case *map[string]string:
  434. fastpathTV.EncMapStringStringV(*v, fastpathCheckNilTrue, e)
  435. case map[string]uint:
  436. fastpathTV.EncMapStringUintV(v, fastpathCheckNilTrue, e)
  437. case *map[string]uint:
  438. fastpathTV.EncMapStringUintV(*v, fastpathCheckNilTrue, e)
  439. case map[string]uint8:
  440. fastpathTV.EncMapStringUint8V(v, fastpathCheckNilTrue, e)
  441. case *map[string]uint8:
  442. fastpathTV.EncMapStringUint8V(*v, fastpathCheckNilTrue, e)
  443. case map[string]uint16:
  444. fastpathTV.EncMapStringUint16V(v, fastpathCheckNilTrue, e)
  445. case *map[string]uint16:
  446. fastpathTV.EncMapStringUint16V(*v, fastpathCheckNilTrue, e)
  447. case map[string]uint32:
  448. fastpathTV.EncMapStringUint32V(v, fastpathCheckNilTrue, e)
  449. case *map[string]uint32:
  450. fastpathTV.EncMapStringUint32V(*v, fastpathCheckNilTrue, e)
  451. case map[string]uint64:
  452. fastpathTV.EncMapStringUint64V(v, fastpathCheckNilTrue, e)
  453. case *map[string]uint64:
  454. fastpathTV.EncMapStringUint64V(*v, fastpathCheckNilTrue, e)
  455. case map[string]uintptr:
  456. fastpathTV.EncMapStringUintptrV(v, fastpathCheckNilTrue, e)
  457. case *map[string]uintptr:
  458. fastpathTV.EncMapStringUintptrV(*v, fastpathCheckNilTrue, e)
  459. case map[string]int:
  460. fastpathTV.EncMapStringIntV(v, fastpathCheckNilTrue, e)
  461. case *map[string]int:
  462. fastpathTV.EncMapStringIntV(*v, fastpathCheckNilTrue, e)
  463. case map[string]int8:
  464. fastpathTV.EncMapStringInt8V(v, fastpathCheckNilTrue, e)
  465. case *map[string]int8:
  466. fastpathTV.EncMapStringInt8V(*v, fastpathCheckNilTrue, e)
  467. case map[string]int16:
  468. fastpathTV.EncMapStringInt16V(v, fastpathCheckNilTrue, e)
  469. case *map[string]int16:
  470. fastpathTV.EncMapStringInt16V(*v, fastpathCheckNilTrue, e)
  471. case map[string]int32:
  472. fastpathTV.EncMapStringInt32V(v, fastpathCheckNilTrue, e)
  473. case *map[string]int32:
  474. fastpathTV.EncMapStringInt32V(*v, fastpathCheckNilTrue, e)
  475. case map[string]int64:
  476. fastpathTV.EncMapStringInt64V(v, fastpathCheckNilTrue, e)
  477. case *map[string]int64:
  478. fastpathTV.EncMapStringInt64V(*v, fastpathCheckNilTrue, e)
  479. case map[string]float32:
  480. fastpathTV.EncMapStringFloat32V(v, fastpathCheckNilTrue, e)
  481. case *map[string]float32:
  482. fastpathTV.EncMapStringFloat32V(*v, fastpathCheckNilTrue, e)
  483. case map[string]float64:
  484. fastpathTV.EncMapStringFloat64V(v, fastpathCheckNilTrue, e)
  485. case *map[string]float64:
  486. fastpathTV.EncMapStringFloat64V(*v, fastpathCheckNilTrue, e)
  487. case map[string]bool:
  488. fastpathTV.EncMapStringBoolV(v, fastpathCheckNilTrue, e)
  489. case *map[string]bool:
  490. fastpathTV.EncMapStringBoolV(*v, fastpathCheckNilTrue, e)
  491. case []float32:
  492. fastpathTV.EncSliceFloat32V(v, fastpathCheckNilTrue, e)
  493. case *[]float32:
  494. fastpathTV.EncSliceFloat32V(*v, fastpathCheckNilTrue, e)
  495. case map[float32]interface{}:
  496. fastpathTV.EncMapFloat32IntfV(v, fastpathCheckNilTrue, e)
  497. case *map[float32]interface{}:
  498. fastpathTV.EncMapFloat32IntfV(*v, fastpathCheckNilTrue, e)
  499. case map[float32]string:
  500. fastpathTV.EncMapFloat32StringV(v, fastpathCheckNilTrue, e)
  501. case *map[float32]string:
  502. fastpathTV.EncMapFloat32StringV(*v, fastpathCheckNilTrue, e)
  503. case map[float32]uint:
  504. fastpathTV.EncMapFloat32UintV(v, fastpathCheckNilTrue, e)
  505. case *map[float32]uint:
  506. fastpathTV.EncMapFloat32UintV(*v, fastpathCheckNilTrue, e)
  507. case map[float32]uint8:
  508. fastpathTV.EncMapFloat32Uint8V(v, fastpathCheckNilTrue, e)
  509. case *map[float32]uint8:
  510. fastpathTV.EncMapFloat32Uint8V(*v, fastpathCheckNilTrue, e)
  511. case map[float32]uint16:
  512. fastpathTV.EncMapFloat32Uint16V(v, fastpathCheckNilTrue, e)
  513. case *map[float32]uint16:
  514. fastpathTV.EncMapFloat32Uint16V(*v, fastpathCheckNilTrue, e)
  515. case map[float32]uint32:
  516. fastpathTV.EncMapFloat32Uint32V(v, fastpathCheckNilTrue, e)
  517. case *map[float32]uint32:
  518. fastpathTV.EncMapFloat32Uint32V(*v, fastpathCheckNilTrue, e)
  519. case map[float32]uint64:
  520. fastpathTV.EncMapFloat32Uint64V(v, fastpathCheckNilTrue, e)
  521. case *map[float32]uint64:
  522. fastpathTV.EncMapFloat32Uint64V(*v, fastpathCheckNilTrue, e)
  523. case map[float32]uintptr:
  524. fastpathTV.EncMapFloat32UintptrV(v, fastpathCheckNilTrue, e)
  525. case *map[float32]uintptr:
  526. fastpathTV.EncMapFloat32UintptrV(*v, fastpathCheckNilTrue, e)
  527. case map[float32]int:
  528. fastpathTV.EncMapFloat32IntV(v, fastpathCheckNilTrue, e)
  529. case *map[float32]int:
  530. fastpathTV.EncMapFloat32IntV(*v, fastpathCheckNilTrue, e)
  531. case map[float32]int8:
  532. fastpathTV.EncMapFloat32Int8V(v, fastpathCheckNilTrue, e)
  533. case *map[float32]int8:
  534. fastpathTV.EncMapFloat32Int8V(*v, fastpathCheckNilTrue, e)
  535. case map[float32]int16:
  536. fastpathTV.EncMapFloat32Int16V(v, fastpathCheckNilTrue, e)
  537. case *map[float32]int16:
  538. fastpathTV.EncMapFloat32Int16V(*v, fastpathCheckNilTrue, e)
  539. case map[float32]int32:
  540. fastpathTV.EncMapFloat32Int32V(v, fastpathCheckNilTrue, e)
  541. case *map[float32]int32:
  542. fastpathTV.EncMapFloat32Int32V(*v, fastpathCheckNilTrue, e)
  543. case map[float32]int64:
  544. fastpathTV.EncMapFloat32Int64V(v, fastpathCheckNilTrue, e)
  545. case *map[float32]int64:
  546. fastpathTV.EncMapFloat32Int64V(*v, fastpathCheckNilTrue, e)
  547. case map[float32]float32:
  548. fastpathTV.EncMapFloat32Float32V(v, fastpathCheckNilTrue, e)
  549. case *map[float32]float32:
  550. fastpathTV.EncMapFloat32Float32V(*v, fastpathCheckNilTrue, e)
  551. case map[float32]float64:
  552. fastpathTV.EncMapFloat32Float64V(v, fastpathCheckNilTrue, e)
  553. case *map[float32]float64:
  554. fastpathTV.EncMapFloat32Float64V(*v, fastpathCheckNilTrue, e)
  555. case map[float32]bool:
  556. fastpathTV.EncMapFloat32BoolV(v, fastpathCheckNilTrue, e)
  557. case *map[float32]bool:
  558. fastpathTV.EncMapFloat32BoolV(*v, fastpathCheckNilTrue, e)
  559. case []float64:
  560. fastpathTV.EncSliceFloat64V(v, fastpathCheckNilTrue, e)
  561. case *[]float64:
  562. fastpathTV.EncSliceFloat64V(*v, fastpathCheckNilTrue, e)
  563. case map[float64]interface{}:
  564. fastpathTV.EncMapFloat64IntfV(v, fastpathCheckNilTrue, e)
  565. case *map[float64]interface{}:
  566. fastpathTV.EncMapFloat64IntfV(*v, fastpathCheckNilTrue, e)
  567. case map[float64]string:
  568. fastpathTV.EncMapFloat64StringV(v, fastpathCheckNilTrue, e)
  569. case *map[float64]string:
  570. fastpathTV.EncMapFloat64StringV(*v, fastpathCheckNilTrue, e)
  571. case map[float64]uint:
  572. fastpathTV.EncMapFloat64UintV(v, fastpathCheckNilTrue, e)
  573. case *map[float64]uint:
  574. fastpathTV.EncMapFloat64UintV(*v, fastpathCheckNilTrue, e)
  575. case map[float64]uint8:
  576. fastpathTV.EncMapFloat64Uint8V(v, fastpathCheckNilTrue, e)
  577. case *map[float64]uint8:
  578. fastpathTV.EncMapFloat64Uint8V(*v, fastpathCheckNilTrue, e)
  579. case map[float64]uint16:
  580. fastpathTV.EncMapFloat64Uint16V(v, fastpathCheckNilTrue, e)
  581. case *map[float64]uint16:
  582. fastpathTV.EncMapFloat64Uint16V(*v, fastpathCheckNilTrue, e)
  583. case map[float64]uint32:
  584. fastpathTV.EncMapFloat64Uint32V(v, fastpathCheckNilTrue, e)
  585. case *map[float64]uint32:
  586. fastpathTV.EncMapFloat64Uint32V(*v, fastpathCheckNilTrue, e)
  587. case map[float64]uint64:
  588. fastpathTV.EncMapFloat64Uint64V(v, fastpathCheckNilTrue, e)
  589. case *map[float64]uint64:
  590. fastpathTV.EncMapFloat64Uint64V(*v, fastpathCheckNilTrue, e)
  591. case map[float64]uintptr:
  592. fastpathTV.EncMapFloat64UintptrV(v, fastpathCheckNilTrue, e)
  593. case *map[float64]uintptr:
  594. fastpathTV.EncMapFloat64UintptrV(*v, fastpathCheckNilTrue, e)
  595. case map[float64]int:
  596. fastpathTV.EncMapFloat64IntV(v, fastpathCheckNilTrue, e)
  597. case *map[float64]int:
  598. fastpathTV.EncMapFloat64IntV(*v, fastpathCheckNilTrue, e)
  599. case map[float64]int8:
  600. fastpathTV.EncMapFloat64Int8V(v, fastpathCheckNilTrue, e)
  601. case *map[float64]int8:
  602. fastpathTV.EncMapFloat64Int8V(*v, fastpathCheckNilTrue, e)
  603. case map[float64]int16:
  604. fastpathTV.EncMapFloat64Int16V(v, fastpathCheckNilTrue, e)
  605. case *map[float64]int16:
  606. fastpathTV.EncMapFloat64Int16V(*v, fastpathCheckNilTrue, e)
  607. case map[float64]int32:
  608. fastpathTV.EncMapFloat64Int32V(v, fastpathCheckNilTrue, e)
  609. case *map[float64]int32:
  610. fastpathTV.EncMapFloat64Int32V(*v, fastpathCheckNilTrue, e)
  611. case map[float64]int64:
  612. fastpathTV.EncMapFloat64Int64V(v, fastpathCheckNilTrue, e)
  613. case *map[float64]int64:
  614. fastpathTV.EncMapFloat64Int64V(*v, fastpathCheckNilTrue, e)
  615. case map[float64]float32:
  616. fastpathTV.EncMapFloat64Float32V(v, fastpathCheckNilTrue, e)
  617. case *map[float64]float32:
  618. fastpathTV.EncMapFloat64Float32V(*v, fastpathCheckNilTrue, e)
  619. case map[float64]float64:
  620. fastpathTV.EncMapFloat64Float64V(v, fastpathCheckNilTrue, e)
  621. case *map[float64]float64:
  622. fastpathTV.EncMapFloat64Float64V(*v, fastpathCheckNilTrue, e)
  623. case map[float64]bool:
  624. fastpathTV.EncMapFloat64BoolV(v, fastpathCheckNilTrue, e)
  625. case *map[float64]bool:
  626. fastpathTV.EncMapFloat64BoolV(*v, fastpathCheckNilTrue, e)
  627. case []uint:
  628. fastpathTV.EncSliceUintV(v, fastpathCheckNilTrue, e)
  629. case *[]uint:
  630. fastpathTV.EncSliceUintV(*v, fastpathCheckNilTrue, e)
  631. case map[uint]interface{}:
  632. fastpathTV.EncMapUintIntfV(v, fastpathCheckNilTrue, e)
  633. case *map[uint]interface{}:
  634. fastpathTV.EncMapUintIntfV(*v, fastpathCheckNilTrue, e)
  635. case map[uint]string:
  636. fastpathTV.EncMapUintStringV(v, fastpathCheckNilTrue, e)
  637. case *map[uint]string:
  638. fastpathTV.EncMapUintStringV(*v, fastpathCheckNilTrue, e)
  639. case map[uint]uint:
  640. fastpathTV.EncMapUintUintV(v, fastpathCheckNilTrue, e)
  641. case *map[uint]uint:
  642. fastpathTV.EncMapUintUintV(*v, fastpathCheckNilTrue, e)
  643. case map[uint]uint8:
  644. fastpathTV.EncMapUintUint8V(v, fastpathCheckNilTrue, e)
  645. case *map[uint]uint8:
  646. fastpathTV.EncMapUintUint8V(*v, fastpathCheckNilTrue, e)
  647. case map[uint]uint16:
  648. fastpathTV.EncMapUintUint16V(v, fastpathCheckNilTrue, e)
  649. case *map[uint]uint16:
  650. fastpathTV.EncMapUintUint16V(*v, fastpathCheckNilTrue, e)
  651. case map[uint]uint32:
  652. fastpathTV.EncMapUintUint32V(v, fastpathCheckNilTrue, e)
  653. case *map[uint]uint32:
  654. fastpathTV.EncMapUintUint32V(*v, fastpathCheckNilTrue, e)
  655. case map[uint]uint64:
  656. fastpathTV.EncMapUintUint64V(v, fastpathCheckNilTrue, e)
  657. case *map[uint]uint64:
  658. fastpathTV.EncMapUintUint64V(*v, fastpathCheckNilTrue, e)
  659. case map[uint]uintptr:
  660. fastpathTV.EncMapUintUintptrV(v, fastpathCheckNilTrue, e)
  661. case *map[uint]uintptr:
  662. fastpathTV.EncMapUintUintptrV(*v, fastpathCheckNilTrue, e)
  663. case map[uint]int:
  664. fastpathTV.EncMapUintIntV(v, fastpathCheckNilTrue, e)
  665. case *map[uint]int:
  666. fastpathTV.EncMapUintIntV(*v, fastpathCheckNilTrue, e)
  667. case map[uint]int8:
  668. fastpathTV.EncMapUintInt8V(v, fastpathCheckNilTrue, e)
  669. case *map[uint]int8:
  670. fastpathTV.EncMapUintInt8V(*v, fastpathCheckNilTrue, e)
  671. case map[uint]int16:
  672. fastpathTV.EncMapUintInt16V(v, fastpathCheckNilTrue, e)
  673. case *map[uint]int16:
  674. fastpathTV.EncMapUintInt16V(*v, fastpathCheckNilTrue, e)
  675. case map[uint]int32:
  676. fastpathTV.EncMapUintInt32V(v, fastpathCheckNilTrue, e)
  677. case *map[uint]int32:
  678. fastpathTV.EncMapUintInt32V(*v, fastpathCheckNilTrue, e)
  679. case map[uint]int64:
  680. fastpathTV.EncMapUintInt64V(v, fastpathCheckNilTrue, e)
  681. case *map[uint]int64:
  682. fastpathTV.EncMapUintInt64V(*v, fastpathCheckNilTrue, e)
  683. case map[uint]float32:
  684. fastpathTV.EncMapUintFloat32V(v, fastpathCheckNilTrue, e)
  685. case *map[uint]float32:
  686. fastpathTV.EncMapUintFloat32V(*v, fastpathCheckNilTrue, e)
  687. case map[uint]float64:
  688. fastpathTV.EncMapUintFloat64V(v, fastpathCheckNilTrue, e)
  689. case *map[uint]float64:
  690. fastpathTV.EncMapUintFloat64V(*v, fastpathCheckNilTrue, e)
  691. case map[uint]bool:
  692. fastpathTV.EncMapUintBoolV(v, fastpathCheckNilTrue, e)
  693. case *map[uint]bool:
  694. fastpathTV.EncMapUintBoolV(*v, fastpathCheckNilTrue, e)
  695. case map[uint8]interface{}:
  696. fastpathTV.EncMapUint8IntfV(v, fastpathCheckNilTrue, e)
  697. case *map[uint8]interface{}:
  698. fastpathTV.EncMapUint8IntfV(*v, fastpathCheckNilTrue, e)
  699. case map[uint8]string:
  700. fastpathTV.EncMapUint8StringV(v, fastpathCheckNilTrue, e)
  701. case *map[uint8]string:
  702. fastpathTV.EncMapUint8StringV(*v, fastpathCheckNilTrue, e)
  703. case map[uint8]uint:
  704. fastpathTV.EncMapUint8UintV(v, fastpathCheckNilTrue, e)
  705. case *map[uint8]uint:
  706. fastpathTV.EncMapUint8UintV(*v, fastpathCheckNilTrue, e)
  707. case map[uint8]uint8:
  708. fastpathTV.EncMapUint8Uint8V(v, fastpathCheckNilTrue, e)
  709. case *map[uint8]uint8:
  710. fastpathTV.EncMapUint8Uint8V(*v, fastpathCheckNilTrue, e)
  711. case map[uint8]uint16:
  712. fastpathTV.EncMapUint8Uint16V(v, fastpathCheckNilTrue, e)
  713. case *map[uint8]uint16:
  714. fastpathTV.EncMapUint8Uint16V(*v, fastpathCheckNilTrue, e)
  715. case map[uint8]uint32:
  716. fastpathTV.EncMapUint8Uint32V(v, fastpathCheckNilTrue, e)
  717. case *map[uint8]uint32:
  718. fastpathTV.EncMapUint8Uint32V(*v, fastpathCheckNilTrue, e)
  719. case map[uint8]uint64:
  720. fastpathTV.EncMapUint8Uint64V(v, fastpathCheckNilTrue, e)
  721. case *map[uint8]uint64:
  722. fastpathTV.EncMapUint8Uint64V(*v, fastpathCheckNilTrue, e)
  723. case map[uint8]uintptr:
  724. fastpathTV.EncMapUint8UintptrV(v, fastpathCheckNilTrue, e)
  725. case *map[uint8]uintptr:
  726. fastpathTV.EncMapUint8UintptrV(*v, fastpathCheckNilTrue, e)
  727. case map[uint8]int:
  728. fastpathTV.EncMapUint8IntV(v, fastpathCheckNilTrue, e)
  729. case *map[uint8]int:
  730. fastpathTV.EncMapUint8IntV(*v, fastpathCheckNilTrue, e)
  731. case map[uint8]int8:
  732. fastpathTV.EncMapUint8Int8V(v, fastpathCheckNilTrue, e)
  733. case *map[uint8]int8:
  734. fastpathTV.EncMapUint8Int8V(*v, fastpathCheckNilTrue, e)
  735. case map[uint8]int16:
  736. fastpathTV.EncMapUint8Int16V(v, fastpathCheckNilTrue, e)
  737. case *map[uint8]int16:
  738. fastpathTV.EncMapUint8Int16V(*v, fastpathCheckNilTrue, e)
  739. case map[uint8]int32:
  740. fastpathTV.EncMapUint8Int32V(v, fastpathCheckNilTrue, e)
  741. case *map[uint8]int32:
  742. fastpathTV.EncMapUint8Int32V(*v, fastpathCheckNilTrue, e)
  743. case map[uint8]int64:
  744. fastpathTV.EncMapUint8Int64V(v, fastpathCheckNilTrue, e)
  745. case *map[uint8]int64:
  746. fastpathTV.EncMapUint8Int64V(*v, fastpathCheckNilTrue, e)
  747. case map[uint8]float32:
  748. fastpathTV.EncMapUint8Float32V(v, fastpathCheckNilTrue, e)
  749. case *map[uint8]float32:
  750. fastpathTV.EncMapUint8Float32V(*v, fastpathCheckNilTrue, e)
  751. case map[uint8]float64:
  752. fastpathTV.EncMapUint8Float64V(v, fastpathCheckNilTrue, e)
  753. case *map[uint8]float64:
  754. fastpathTV.EncMapUint8Float64V(*v, fastpathCheckNilTrue, e)
  755. case map[uint8]bool:
  756. fastpathTV.EncMapUint8BoolV(v, fastpathCheckNilTrue, e)
  757. case *map[uint8]bool:
  758. fastpathTV.EncMapUint8BoolV(*v, fastpathCheckNilTrue, e)
  759. case []uint16:
  760. fastpathTV.EncSliceUint16V(v, fastpathCheckNilTrue, e)
  761. case *[]uint16:
  762. fastpathTV.EncSliceUint16V(*v, fastpathCheckNilTrue, e)
  763. case map[uint16]interface{}:
  764. fastpathTV.EncMapUint16IntfV(v, fastpathCheckNilTrue, e)
  765. case *map[uint16]interface{}:
  766. fastpathTV.EncMapUint16IntfV(*v, fastpathCheckNilTrue, e)
  767. case map[uint16]string:
  768. fastpathTV.EncMapUint16StringV(v, fastpathCheckNilTrue, e)
  769. case *map[uint16]string:
  770. fastpathTV.EncMapUint16StringV(*v, fastpathCheckNilTrue, e)
  771. case map[uint16]uint:
  772. fastpathTV.EncMapUint16UintV(v, fastpathCheckNilTrue, e)
  773. case *map[uint16]uint:
  774. fastpathTV.EncMapUint16UintV(*v, fastpathCheckNilTrue, e)
  775. case map[uint16]uint8:
  776. fastpathTV.EncMapUint16Uint8V(v, fastpathCheckNilTrue, e)
  777. case *map[uint16]uint8:
  778. fastpathTV.EncMapUint16Uint8V(*v, fastpathCheckNilTrue, e)
  779. case map[uint16]uint16:
  780. fastpathTV.EncMapUint16Uint16V(v, fastpathCheckNilTrue, e)
  781. case *map[uint16]uint16:
  782. fastpathTV.EncMapUint16Uint16V(*v, fastpathCheckNilTrue, e)
  783. case map[uint16]uint32:
  784. fastpathTV.EncMapUint16Uint32V(v, fastpathCheckNilTrue, e)
  785. case *map[uint16]uint32:
  786. fastpathTV.EncMapUint16Uint32V(*v, fastpathCheckNilTrue, e)
  787. case map[uint16]uint64:
  788. fastpathTV.EncMapUint16Uint64V(v, fastpathCheckNilTrue, e)
  789. case *map[uint16]uint64:
  790. fastpathTV.EncMapUint16Uint64V(*v, fastpathCheckNilTrue, e)
  791. case map[uint16]uintptr:
  792. fastpathTV.EncMapUint16UintptrV(v, fastpathCheckNilTrue, e)
  793. case *map[uint16]uintptr:
  794. fastpathTV.EncMapUint16UintptrV(*v, fastpathCheckNilTrue, e)
  795. case map[uint16]int:
  796. fastpathTV.EncMapUint16IntV(v, fastpathCheckNilTrue, e)
  797. case *map[uint16]int:
  798. fastpathTV.EncMapUint16IntV(*v, fastpathCheckNilTrue, e)
  799. case map[uint16]int8:
  800. fastpathTV.EncMapUint16Int8V(v, fastpathCheckNilTrue, e)
  801. case *map[uint16]int8:
  802. fastpathTV.EncMapUint16Int8V(*v, fastpathCheckNilTrue, e)
  803. case map[uint16]int16:
  804. fastpathTV.EncMapUint16Int16V(v, fastpathCheckNilTrue, e)
  805. case *map[uint16]int16:
  806. fastpathTV.EncMapUint16Int16V(*v, fastpathCheckNilTrue, e)
  807. case map[uint16]int32:
  808. fastpathTV.EncMapUint16Int32V(v, fastpathCheckNilTrue, e)
  809. case *map[uint16]int32:
  810. fastpathTV.EncMapUint16Int32V(*v, fastpathCheckNilTrue, e)
  811. case map[uint16]int64:
  812. fastpathTV.EncMapUint16Int64V(v, fastpathCheckNilTrue, e)
  813. case *map[uint16]int64:
  814. fastpathTV.EncMapUint16Int64V(*v, fastpathCheckNilTrue, e)
  815. case map[uint16]float32:
  816. fastpathTV.EncMapUint16Float32V(v, fastpathCheckNilTrue, e)
  817. case *map[uint16]float32:
  818. fastpathTV.EncMapUint16Float32V(*v, fastpathCheckNilTrue, e)
  819. case map[uint16]float64:
  820. fastpathTV.EncMapUint16Float64V(v, fastpathCheckNilTrue, e)
  821. case *map[uint16]float64:
  822. fastpathTV.EncMapUint16Float64V(*v, fastpathCheckNilTrue, e)
  823. case map[uint16]bool:
  824. fastpathTV.EncMapUint16BoolV(v, fastpathCheckNilTrue, e)
  825. case *map[uint16]bool:
  826. fastpathTV.EncMapUint16BoolV(*v, fastpathCheckNilTrue, e)
  827. case []uint32:
  828. fastpathTV.EncSliceUint32V(v, fastpathCheckNilTrue, e)
  829. case *[]uint32:
  830. fastpathTV.EncSliceUint32V(*v, fastpathCheckNilTrue, e)
  831. case map[uint32]interface{}:
  832. fastpathTV.EncMapUint32IntfV(v, fastpathCheckNilTrue, e)
  833. case *map[uint32]interface{}:
  834. fastpathTV.EncMapUint32IntfV(*v, fastpathCheckNilTrue, e)
  835. case map[uint32]string:
  836. fastpathTV.EncMapUint32StringV(v, fastpathCheckNilTrue, e)
  837. case *map[uint32]string:
  838. fastpathTV.EncMapUint32StringV(*v, fastpathCheckNilTrue, e)
  839. case map[uint32]uint:
  840. fastpathTV.EncMapUint32UintV(v, fastpathCheckNilTrue, e)
  841. case *map[uint32]uint:
  842. fastpathTV.EncMapUint32UintV(*v, fastpathCheckNilTrue, e)
  843. case map[uint32]uint8:
  844. fastpathTV.EncMapUint32Uint8V(v, fastpathCheckNilTrue, e)
  845. case *map[uint32]uint8:
  846. fastpathTV.EncMapUint32Uint8V(*v, fastpathCheckNilTrue, e)
  847. case map[uint32]uint16:
  848. fastpathTV.EncMapUint32Uint16V(v, fastpathCheckNilTrue, e)
  849. case *map[uint32]uint16:
  850. fastpathTV.EncMapUint32Uint16V(*v, fastpathCheckNilTrue, e)
  851. case map[uint32]uint32:
  852. fastpathTV.EncMapUint32Uint32V(v, fastpathCheckNilTrue, e)
  853. case *map[uint32]uint32:
  854. fastpathTV.EncMapUint32Uint32V(*v, fastpathCheckNilTrue, e)
  855. case map[uint32]uint64:
  856. fastpathTV.EncMapUint32Uint64V(v, fastpathCheckNilTrue, e)
  857. case *map[uint32]uint64:
  858. fastpathTV.EncMapUint32Uint64V(*v, fastpathCheckNilTrue, e)
  859. case map[uint32]uintptr:
  860. fastpathTV.EncMapUint32UintptrV(v, fastpathCheckNilTrue, e)
  861. case *map[uint32]uintptr:
  862. fastpathTV.EncMapUint32UintptrV(*v, fastpathCheckNilTrue, e)
  863. case map[uint32]int:
  864. fastpathTV.EncMapUint32IntV(v, fastpathCheckNilTrue, e)
  865. case *map[uint32]int:
  866. fastpathTV.EncMapUint32IntV(*v, fastpathCheckNilTrue, e)
  867. case map[uint32]int8:
  868. fastpathTV.EncMapUint32Int8V(v, fastpathCheckNilTrue, e)
  869. case *map[uint32]int8:
  870. fastpathTV.EncMapUint32Int8V(*v, fastpathCheckNilTrue, e)
  871. case map[uint32]int16:
  872. fastpathTV.EncMapUint32Int16V(v, fastpathCheckNilTrue, e)
  873. case *map[uint32]int16:
  874. fastpathTV.EncMapUint32Int16V(*v, fastpathCheckNilTrue, e)
  875. case map[uint32]int32:
  876. fastpathTV.EncMapUint32Int32V(v, fastpathCheckNilTrue, e)
  877. case *map[uint32]int32:
  878. fastpathTV.EncMapUint32Int32V(*v, fastpathCheckNilTrue, e)
  879. case map[uint32]int64:
  880. fastpathTV.EncMapUint32Int64V(v, fastpathCheckNilTrue, e)
  881. case *map[uint32]int64:
  882. fastpathTV.EncMapUint32Int64V(*v, fastpathCheckNilTrue, e)
  883. case map[uint32]float32:
  884. fastpathTV.EncMapUint32Float32V(v, fastpathCheckNilTrue, e)
  885. case *map[uint32]float32:
  886. fastpathTV.EncMapUint32Float32V(*v, fastpathCheckNilTrue, e)
  887. case map[uint32]float64:
  888. fastpathTV.EncMapUint32Float64V(v, fastpathCheckNilTrue, e)
  889. case *map[uint32]float64:
  890. fastpathTV.EncMapUint32Float64V(*v, fastpathCheckNilTrue, e)
  891. case map[uint32]bool:
  892. fastpathTV.EncMapUint32BoolV(v, fastpathCheckNilTrue, e)
  893. case *map[uint32]bool:
  894. fastpathTV.EncMapUint32BoolV(*v, fastpathCheckNilTrue, e)
  895. case []uint64:
  896. fastpathTV.EncSliceUint64V(v, fastpathCheckNilTrue, e)
  897. case *[]uint64:
  898. fastpathTV.EncSliceUint64V(*v, fastpathCheckNilTrue, e)
  899. case map[uint64]interface{}:
  900. fastpathTV.EncMapUint64IntfV(v, fastpathCheckNilTrue, e)
  901. case *map[uint64]interface{}:
  902. fastpathTV.EncMapUint64IntfV(*v, fastpathCheckNilTrue, e)
  903. case map[uint64]string:
  904. fastpathTV.EncMapUint64StringV(v, fastpathCheckNilTrue, e)
  905. case *map[uint64]string:
  906. fastpathTV.EncMapUint64StringV(*v, fastpathCheckNilTrue, e)
  907. case map[uint64]uint:
  908. fastpathTV.EncMapUint64UintV(v, fastpathCheckNilTrue, e)
  909. case *map[uint64]uint:
  910. fastpathTV.EncMapUint64UintV(*v, fastpathCheckNilTrue, e)
  911. case map[uint64]uint8:
  912. fastpathTV.EncMapUint64Uint8V(v, fastpathCheckNilTrue, e)
  913. case *map[uint64]uint8:
  914. fastpathTV.EncMapUint64Uint8V(*v, fastpathCheckNilTrue, e)
  915. case map[uint64]uint16:
  916. fastpathTV.EncMapUint64Uint16V(v, fastpathCheckNilTrue, e)
  917. case *map[uint64]uint16:
  918. fastpathTV.EncMapUint64Uint16V(*v, fastpathCheckNilTrue, e)
  919. case map[uint64]uint32:
  920. fastpathTV.EncMapUint64Uint32V(v, fastpathCheckNilTrue, e)
  921. case *map[uint64]uint32:
  922. fastpathTV.EncMapUint64Uint32V(*v, fastpathCheckNilTrue, e)
  923. case map[uint64]uint64:
  924. fastpathTV.EncMapUint64Uint64V(v, fastpathCheckNilTrue, e)
  925. case *map[uint64]uint64:
  926. fastpathTV.EncMapUint64Uint64V(*v, fastpathCheckNilTrue, e)
  927. case map[uint64]uintptr:
  928. fastpathTV.EncMapUint64UintptrV(v, fastpathCheckNilTrue, e)
  929. case *map[uint64]uintptr:
  930. fastpathTV.EncMapUint64UintptrV(*v, fastpathCheckNilTrue, e)
  931. case map[uint64]int:
  932. fastpathTV.EncMapUint64IntV(v, fastpathCheckNilTrue, e)
  933. case *map[uint64]int:
  934. fastpathTV.EncMapUint64IntV(*v, fastpathCheckNilTrue, e)
  935. case map[uint64]int8:
  936. fastpathTV.EncMapUint64Int8V(v, fastpathCheckNilTrue, e)
  937. case *map[uint64]int8:
  938. fastpathTV.EncMapUint64Int8V(*v, fastpathCheckNilTrue, e)
  939. case map[uint64]int16:
  940. fastpathTV.EncMapUint64Int16V(v, fastpathCheckNilTrue, e)
  941. case *map[uint64]int16:
  942. fastpathTV.EncMapUint64Int16V(*v, fastpathCheckNilTrue, e)
  943. case map[uint64]int32:
  944. fastpathTV.EncMapUint64Int32V(v, fastpathCheckNilTrue, e)
  945. case *map[uint64]int32:
  946. fastpathTV.EncMapUint64Int32V(*v, fastpathCheckNilTrue, e)
  947. case map[uint64]int64:
  948. fastpathTV.EncMapUint64Int64V(v, fastpathCheckNilTrue, e)
  949. case *map[uint64]int64:
  950. fastpathTV.EncMapUint64Int64V(*v, fastpathCheckNilTrue, e)
  951. case map[uint64]float32:
  952. fastpathTV.EncMapUint64Float32V(v, fastpathCheckNilTrue, e)
  953. case *map[uint64]float32:
  954. fastpathTV.EncMapUint64Float32V(*v, fastpathCheckNilTrue, e)
  955. case map[uint64]float64:
  956. fastpathTV.EncMapUint64Float64V(v, fastpathCheckNilTrue, e)
  957. case *map[uint64]float64:
  958. fastpathTV.EncMapUint64Float64V(*v, fastpathCheckNilTrue, e)
  959. case map[uint64]bool:
  960. fastpathTV.EncMapUint64BoolV(v, fastpathCheckNilTrue, e)
  961. case *map[uint64]bool:
  962. fastpathTV.EncMapUint64BoolV(*v, fastpathCheckNilTrue, e)
  963. case []uintptr:
  964. fastpathTV.EncSliceUintptrV(v, fastpathCheckNilTrue, e)
  965. case *[]uintptr:
  966. fastpathTV.EncSliceUintptrV(*v, fastpathCheckNilTrue, e)
  967. case map[uintptr]interface{}:
  968. fastpathTV.EncMapUintptrIntfV(v, fastpathCheckNilTrue, e)
  969. case *map[uintptr]interface{}:
  970. fastpathTV.EncMapUintptrIntfV(*v, fastpathCheckNilTrue, e)
  971. case map[uintptr]string:
  972. fastpathTV.EncMapUintptrStringV(v, fastpathCheckNilTrue, e)
  973. case *map[uintptr]string:
  974. fastpathTV.EncMapUintptrStringV(*v, fastpathCheckNilTrue, e)
  975. case map[uintptr]uint:
  976. fastpathTV.EncMapUintptrUintV(v, fastpathCheckNilTrue, e)
  977. case *map[uintptr]uint:
  978. fastpathTV.EncMapUintptrUintV(*v, fastpathCheckNilTrue, e)
  979. case map[uintptr]uint8:
  980. fastpathTV.EncMapUintptrUint8V(v, fastpathCheckNilTrue, e)
  981. case *map[uintptr]uint8:
  982. fastpathTV.EncMapUintptrUint8V(*v, fastpathCheckNilTrue, e)
  983. case map[uintptr]uint16:
  984. fastpathTV.EncMapUintptrUint16V(v, fastpathCheckNilTrue, e)
  985. case *map[uintptr]uint16:
  986. fastpathTV.EncMapUintptrUint16V(*v, fastpathCheckNilTrue, e)
  987. case map[uintptr]uint32:
  988. fastpathTV.EncMapUintptrUint32V(v, fastpathCheckNilTrue, e)
  989. case *map[uintptr]uint32:
  990. fastpathTV.EncMapUintptrUint32V(*v, fastpathCheckNilTrue, e)
  991. case map[uintptr]uint64:
  992. fastpathTV.EncMapUintptrUint64V(v, fastpathCheckNilTrue, e)
  993. case *map[uintptr]uint64:
  994. fastpathTV.EncMapUintptrUint64V(*v, fastpathCheckNilTrue, e)
  995. case map[uintptr]uintptr:
  996. fastpathTV.EncMapUintptrUintptrV(v, fastpathCheckNilTrue, e)
  997. case *map[uintptr]uintptr:
  998. fastpathTV.EncMapUintptrUintptrV(*v, fastpathCheckNilTrue, e)
  999. case map[uintptr]int:
  1000. fastpathTV.EncMapUintptrIntV(v, fastpathCheckNilTrue, e)
  1001. case *map[uintptr]int:
  1002. fastpathTV.EncMapUintptrIntV(*v, fastpathCheckNilTrue, e)
  1003. case map[uintptr]int8:
  1004. fastpathTV.EncMapUintptrInt8V(v, fastpathCheckNilTrue, e)
  1005. case *map[uintptr]int8:
  1006. fastpathTV.EncMapUintptrInt8V(*v, fastpathCheckNilTrue, e)
  1007. case map[uintptr]int16:
  1008. fastpathTV.EncMapUintptrInt16V(v, fastpathCheckNilTrue, e)
  1009. case *map[uintptr]int16:
  1010. fastpathTV.EncMapUintptrInt16V(*v, fastpathCheckNilTrue, e)
  1011. case map[uintptr]int32:
  1012. fastpathTV.EncMapUintptrInt32V(v, fastpathCheckNilTrue, e)
  1013. case *map[uintptr]int32:
  1014. fastpathTV.EncMapUintptrInt32V(*v, fastpathCheckNilTrue, e)
  1015. case map[uintptr]int64:
  1016. fastpathTV.EncMapUintptrInt64V(v, fastpathCheckNilTrue, e)
  1017. case *map[uintptr]int64:
  1018. fastpathTV.EncMapUintptrInt64V(*v, fastpathCheckNilTrue, e)
  1019. case map[uintptr]float32:
  1020. fastpathTV.EncMapUintptrFloat32V(v, fastpathCheckNilTrue, e)
  1021. case *map[uintptr]float32:
  1022. fastpathTV.EncMapUintptrFloat32V(*v, fastpathCheckNilTrue, e)
  1023. case map[uintptr]float64:
  1024. fastpathTV.EncMapUintptrFloat64V(v, fastpathCheckNilTrue, e)
  1025. case *map[uintptr]float64:
  1026. fastpathTV.EncMapUintptrFloat64V(*v, fastpathCheckNilTrue, e)
  1027. case map[uintptr]bool:
  1028. fastpathTV.EncMapUintptrBoolV(v, fastpathCheckNilTrue, e)
  1029. case *map[uintptr]bool:
  1030. fastpathTV.EncMapUintptrBoolV(*v, fastpathCheckNilTrue, e)
  1031. case []int:
  1032. fastpathTV.EncSliceIntV(v, fastpathCheckNilTrue, e)
  1033. case *[]int:
  1034. fastpathTV.EncSliceIntV(*v, fastpathCheckNilTrue, e)
  1035. case map[int]interface{}:
  1036. fastpathTV.EncMapIntIntfV(v, fastpathCheckNilTrue, e)
  1037. case *map[int]interface{}:
  1038. fastpathTV.EncMapIntIntfV(*v, fastpathCheckNilTrue, e)
  1039. case map[int]string:
  1040. fastpathTV.EncMapIntStringV(v, fastpathCheckNilTrue, e)
  1041. case *map[int]string:
  1042. fastpathTV.EncMapIntStringV(*v, fastpathCheckNilTrue, e)
  1043. case map[int]uint:
  1044. fastpathTV.EncMapIntUintV(v, fastpathCheckNilTrue, e)
  1045. case *map[int]uint:
  1046. fastpathTV.EncMapIntUintV(*v, fastpathCheckNilTrue, e)
  1047. case map[int]uint8:
  1048. fastpathTV.EncMapIntUint8V(v, fastpathCheckNilTrue, e)
  1049. case *map[int]uint8:
  1050. fastpathTV.EncMapIntUint8V(*v, fastpathCheckNilTrue, e)
  1051. case map[int]uint16:
  1052. fastpathTV.EncMapIntUint16V(v, fastpathCheckNilTrue, e)
  1053. case *map[int]uint16:
  1054. fastpathTV.EncMapIntUint16V(*v, fastpathCheckNilTrue, e)
  1055. case map[int]uint32:
  1056. fastpathTV.EncMapIntUint32V(v, fastpathCheckNilTrue, e)
  1057. case *map[int]uint32:
  1058. fastpathTV.EncMapIntUint32V(*v, fastpathCheckNilTrue, e)
  1059. case map[int]uint64:
  1060. fastpathTV.EncMapIntUint64V(v, fastpathCheckNilTrue, e)
  1061. case *map[int]uint64:
  1062. fastpathTV.EncMapIntUint64V(*v, fastpathCheckNilTrue, e)
  1063. case map[int]uintptr:
  1064. fastpathTV.EncMapIntUintptrV(v, fastpathCheckNilTrue, e)
  1065. case *map[int]uintptr:
  1066. fastpathTV.EncMapIntUintptrV(*v, fastpathCheckNilTrue, e)
  1067. case map[int]int:
  1068. fastpathTV.EncMapIntIntV(v, fastpathCheckNilTrue, e)
  1069. case *map[int]int:
  1070. fastpathTV.EncMapIntIntV(*v, fastpathCheckNilTrue, e)
  1071. case map[int]int8:
  1072. fastpathTV.EncMapIntInt8V(v, fastpathCheckNilTrue, e)
  1073. case *map[int]int8:
  1074. fastpathTV.EncMapIntInt8V(*v, fastpathCheckNilTrue, e)
  1075. case map[int]int16:
  1076. fastpathTV.EncMapIntInt16V(v, fastpathCheckNilTrue, e)
  1077. case *map[int]int16:
  1078. fastpathTV.EncMapIntInt16V(*v, fastpathCheckNilTrue, e)
  1079. case map[int]int32:
  1080. fastpathTV.EncMapIntInt32V(v, fastpathCheckNilTrue, e)
  1081. case *map[int]int32:
  1082. fastpathTV.EncMapIntInt32V(*v, fastpathCheckNilTrue, e)
  1083. case map[int]int64:
  1084. fastpathTV.EncMapIntInt64V(v, fastpathCheckNilTrue, e)
  1085. case *map[int]int64:
  1086. fastpathTV.EncMapIntInt64V(*v, fastpathCheckNilTrue, e)
  1087. case map[int]float32:
  1088. fastpathTV.EncMapIntFloat32V(v, fastpathCheckNilTrue, e)
  1089. case *map[int]float32:
  1090. fastpathTV.EncMapIntFloat32V(*v, fastpathCheckNilTrue, e)
  1091. case map[int]float64:
  1092. fastpathTV.EncMapIntFloat64V(v, fastpathCheckNilTrue, e)
  1093. case *map[int]float64:
  1094. fastpathTV.EncMapIntFloat64V(*v, fastpathCheckNilTrue, e)
  1095. case map[int]bool:
  1096. fastpathTV.EncMapIntBoolV(v, fastpathCheckNilTrue, e)
  1097. case *map[int]bool:
  1098. fastpathTV.EncMapIntBoolV(*v, fastpathCheckNilTrue, e)
  1099. case []int8:
  1100. fastpathTV.EncSliceInt8V(v, fastpathCheckNilTrue, e)
  1101. case *[]int8:
  1102. fastpathTV.EncSliceInt8V(*v, fastpathCheckNilTrue, e)
  1103. case map[int8]interface{}:
  1104. fastpathTV.EncMapInt8IntfV(v, fastpathCheckNilTrue, e)
  1105. case *map[int8]interface{}:
  1106. fastpathTV.EncMapInt8IntfV(*v, fastpathCheckNilTrue, e)
  1107. case map[int8]string:
  1108. fastpathTV.EncMapInt8StringV(v, fastpathCheckNilTrue, e)
  1109. case *map[int8]string:
  1110. fastpathTV.EncMapInt8StringV(*v, fastpathCheckNilTrue, e)
  1111. case map[int8]uint:
  1112. fastpathTV.EncMapInt8UintV(v, fastpathCheckNilTrue, e)
  1113. case *map[int8]uint:
  1114. fastpathTV.EncMapInt8UintV(*v, fastpathCheckNilTrue, e)
  1115. case map[int8]uint8:
  1116. fastpathTV.EncMapInt8Uint8V(v, fastpathCheckNilTrue, e)
  1117. case *map[int8]uint8:
  1118. fastpathTV.EncMapInt8Uint8V(*v, fastpathCheckNilTrue, e)
  1119. case map[int8]uint16:
  1120. fastpathTV.EncMapInt8Uint16V(v, fastpathCheckNilTrue, e)
  1121. case *map[int8]uint16:
  1122. fastpathTV.EncMapInt8Uint16V(*v, fastpathCheckNilTrue, e)
  1123. case map[int8]uint32:
  1124. fastpathTV.EncMapInt8Uint32V(v, fastpathCheckNilTrue, e)
  1125. case *map[int8]uint32:
  1126. fastpathTV.EncMapInt8Uint32V(*v, fastpathCheckNilTrue, e)
  1127. case map[int8]uint64:
  1128. fastpathTV.EncMapInt8Uint64V(v, fastpathCheckNilTrue, e)
  1129. case *map[int8]uint64:
  1130. fastpathTV.EncMapInt8Uint64V(*v, fastpathCheckNilTrue, e)
  1131. case map[int8]uintptr:
  1132. fastpathTV.EncMapInt8UintptrV(v, fastpathCheckNilTrue, e)
  1133. case *map[int8]uintptr:
  1134. fastpathTV.EncMapInt8UintptrV(*v, fastpathCheckNilTrue, e)
  1135. case map[int8]int:
  1136. fastpathTV.EncMapInt8IntV(v, fastpathCheckNilTrue, e)
  1137. case *map[int8]int:
  1138. fastpathTV.EncMapInt8IntV(*v, fastpathCheckNilTrue, e)
  1139. case map[int8]int8:
  1140. fastpathTV.EncMapInt8Int8V(v, fastpathCheckNilTrue, e)
  1141. case *map[int8]int8:
  1142. fastpathTV.EncMapInt8Int8V(*v, fastpathCheckNilTrue, e)
  1143. case map[int8]int16:
  1144. fastpathTV.EncMapInt8Int16V(v, fastpathCheckNilTrue, e)
  1145. case *map[int8]int16:
  1146. fastpathTV.EncMapInt8Int16V(*v, fastpathCheckNilTrue, e)
  1147. case map[int8]int32:
  1148. fastpathTV.EncMapInt8Int32V(v, fastpathCheckNilTrue, e)
  1149. case *map[int8]int32:
  1150. fastpathTV.EncMapInt8Int32V(*v, fastpathCheckNilTrue, e)
  1151. case map[int8]int64:
  1152. fastpathTV.EncMapInt8Int64V(v, fastpathCheckNilTrue, e)
  1153. case *map[int8]int64:
  1154. fastpathTV.EncMapInt8Int64V(*v, fastpathCheckNilTrue, e)
  1155. case map[int8]float32:
  1156. fastpathTV.EncMapInt8Float32V(v, fastpathCheckNilTrue, e)
  1157. case *map[int8]float32:
  1158. fastpathTV.EncMapInt8Float32V(*v, fastpathCheckNilTrue, e)
  1159. case map[int8]float64:
  1160. fastpathTV.EncMapInt8Float64V(v, fastpathCheckNilTrue, e)
  1161. case *map[int8]float64:
  1162. fastpathTV.EncMapInt8Float64V(*v, fastpathCheckNilTrue, e)
  1163. case map[int8]bool:
  1164. fastpathTV.EncMapInt8BoolV(v, fastpathCheckNilTrue, e)
  1165. case *map[int8]bool:
  1166. fastpathTV.EncMapInt8BoolV(*v, fastpathCheckNilTrue, e)
  1167. case []int16:
  1168. fastpathTV.EncSliceInt16V(v, fastpathCheckNilTrue, e)
  1169. case *[]int16:
  1170. fastpathTV.EncSliceInt16V(*v, fastpathCheckNilTrue, e)
  1171. case map[int16]interface{}:
  1172. fastpathTV.EncMapInt16IntfV(v, fastpathCheckNilTrue, e)
  1173. case *map[int16]interface{}:
  1174. fastpathTV.EncMapInt16IntfV(*v, fastpathCheckNilTrue, e)
  1175. case map[int16]string:
  1176. fastpathTV.EncMapInt16StringV(v, fastpathCheckNilTrue, e)
  1177. case *map[int16]string:
  1178. fastpathTV.EncMapInt16StringV(*v, fastpathCheckNilTrue, e)
  1179. case map[int16]uint:
  1180. fastpathTV.EncMapInt16UintV(v, fastpathCheckNilTrue, e)
  1181. case *map[int16]uint:
  1182. fastpathTV.EncMapInt16UintV(*v, fastpathCheckNilTrue, e)
  1183. case map[int16]uint8:
  1184. fastpathTV.EncMapInt16Uint8V(v, fastpathCheckNilTrue, e)
  1185. case *map[int16]uint8:
  1186. fastpathTV.EncMapInt16Uint8V(*v, fastpathCheckNilTrue, e)
  1187. case map[int16]uint16:
  1188. fastpathTV.EncMapInt16Uint16V(v, fastpathCheckNilTrue, e)
  1189. case *map[int16]uint16:
  1190. fastpathTV.EncMapInt16Uint16V(*v, fastpathCheckNilTrue, e)
  1191. case map[int16]uint32:
  1192. fastpathTV.EncMapInt16Uint32V(v, fastpathCheckNilTrue, e)
  1193. case *map[int16]uint32:
  1194. fastpathTV.EncMapInt16Uint32V(*v, fastpathCheckNilTrue, e)
  1195. case map[int16]uint64:
  1196. fastpathTV.EncMapInt16Uint64V(v, fastpathCheckNilTrue, e)
  1197. case *map[int16]uint64:
  1198. fastpathTV.EncMapInt16Uint64V(*v, fastpathCheckNilTrue, e)
  1199. case map[int16]uintptr:
  1200. fastpathTV.EncMapInt16UintptrV(v, fastpathCheckNilTrue, e)
  1201. case *map[int16]uintptr:
  1202. fastpathTV.EncMapInt16UintptrV(*v, fastpathCheckNilTrue, e)
  1203. case map[int16]int:
  1204. fastpathTV.EncMapInt16IntV(v, fastpathCheckNilTrue, e)
  1205. case *map[int16]int:
  1206. fastpathTV.EncMapInt16IntV(*v, fastpathCheckNilTrue, e)
  1207. case map[int16]int8:
  1208. fastpathTV.EncMapInt16Int8V(v, fastpathCheckNilTrue, e)
  1209. case *map[int16]int8:
  1210. fastpathTV.EncMapInt16Int8V(*v, fastpathCheckNilTrue, e)
  1211. case map[int16]int16:
  1212. fastpathTV.EncMapInt16Int16V(v, fastpathCheckNilTrue, e)
  1213. case *map[int16]int16:
  1214. fastpathTV.EncMapInt16Int16V(*v, fastpathCheckNilTrue, e)
  1215. case map[int16]int32:
  1216. fastpathTV.EncMapInt16Int32V(v, fastpathCheckNilTrue, e)
  1217. case *map[int16]int32:
  1218. fastpathTV.EncMapInt16Int32V(*v, fastpathCheckNilTrue, e)
  1219. case map[int16]int64:
  1220. fastpathTV.EncMapInt16Int64V(v, fastpathCheckNilTrue, e)
  1221. case *map[int16]int64:
  1222. fastpathTV.EncMapInt16Int64V(*v, fastpathCheckNilTrue, e)
  1223. case map[int16]float32:
  1224. fastpathTV.EncMapInt16Float32V(v, fastpathCheckNilTrue, e)
  1225. case *map[int16]float32:
  1226. fastpathTV.EncMapInt16Float32V(*v, fastpathCheckNilTrue, e)
  1227. case map[int16]float64:
  1228. fastpathTV.EncMapInt16Float64V(v, fastpathCheckNilTrue, e)
  1229. case *map[int16]float64:
  1230. fastpathTV.EncMapInt16Float64V(*v, fastpathCheckNilTrue, e)
  1231. case map[int16]bool:
  1232. fastpathTV.EncMapInt16BoolV(v, fastpathCheckNilTrue, e)
  1233. case *map[int16]bool:
  1234. fastpathTV.EncMapInt16BoolV(*v, fastpathCheckNilTrue, e)
  1235. case []int32:
  1236. fastpathTV.EncSliceInt32V(v, fastpathCheckNilTrue, e)
  1237. case *[]int32:
  1238. fastpathTV.EncSliceInt32V(*v, fastpathCheckNilTrue, e)
  1239. case map[int32]interface{}:
  1240. fastpathTV.EncMapInt32IntfV(v, fastpathCheckNilTrue, e)
  1241. case *map[int32]interface{}:
  1242. fastpathTV.EncMapInt32IntfV(*v, fastpathCheckNilTrue, e)
  1243. case map[int32]string:
  1244. fastpathTV.EncMapInt32StringV(v, fastpathCheckNilTrue, e)
  1245. case *map[int32]string:
  1246. fastpathTV.EncMapInt32StringV(*v, fastpathCheckNilTrue, e)
  1247. case map[int32]uint:
  1248. fastpathTV.EncMapInt32UintV(v, fastpathCheckNilTrue, e)
  1249. case *map[int32]uint:
  1250. fastpathTV.EncMapInt32UintV(*v, fastpathCheckNilTrue, e)
  1251. case map[int32]uint8:
  1252. fastpathTV.EncMapInt32Uint8V(v, fastpathCheckNilTrue, e)
  1253. case *map[int32]uint8:
  1254. fastpathTV.EncMapInt32Uint8V(*v, fastpathCheckNilTrue, e)
  1255. case map[int32]uint16:
  1256. fastpathTV.EncMapInt32Uint16V(v, fastpathCheckNilTrue, e)
  1257. case *map[int32]uint16:
  1258. fastpathTV.EncMapInt32Uint16V(*v, fastpathCheckNilTrue, e)
  1259. case map[int32]uint32:
  1260. fastpathTV.EncMapInt32Uint32V(v, fastpathCheckNilTrue, e)
  1261. case *map[int32]uint32:
  1262. fastpathTV.EncMapInt32Uint32V(*v, fastpathCheckNilTrue, e)
  1263. case map[int32]uint64:
  1264. fastpathTV.EncMapInt32Uint64V(v, fastpathCheckNilTrue, e)
  1265. case *map[int32]uint64:
  1266. fastpathTV.EncMapInt32Uint64V(*v, fastpathCheckNilTrue, e)
  1267. case map[int32]uintptr:
  1268. fastpathTV.EncMapInt32UintptrV(v, fastpathCheckNilTrue, e)
  1269. case *map[int32]uintptr:
  1270. fastpathTV.EncMapInt32UintptrV(*v, fastpathCheckNilTrue, e)
  1271. case map[int32]int:
  1272. fastpathTV.EncMapInt32IntV(v, fastpathCheckNilTrue, e)
  1273. case *map[int32]int:
  1274. fastpathTV.EncMapInt32IntV(*v, fastpathCheckNilTrue, e)
  1275. case map[int32]int8:
  1276. fastpathTV.EncMapInt32Int8V(v, fastpathCheckNilTrue, e)
  1277. case *map[int32]int8:
  1278. fastpathTV.EncMapInt32Int8V(*v, fastpathCheckNilTrue, e)
  1279. case map[int32]int16:
  1280. fastpathTV.EncMapInt32Int16V(v, fastpathCheckNilTrue, e)
  1281. case *map[int32]int16:
  1282. fastpathTV.EncMapInt32Int16V(*v, fastpathCheckNilTrue, e)
  1283. case map[int32]int32:
  1284. fastpathTV.EncMapInt32Int32V(v, fastpathCheckNilTrue, e)
  1285. case *map[int32]int32:
  1286. fastpathTV.EncMapInt32Int32V(*v, fastpathCheckNilTrue, e)
  1287. case map[int32]int64:
  1288. fastpathTV.EncMapInt32Int64V(v, fastpathCheckNilTrue, e)
  1289. case *map[int32]int64:
  1290. fastpathTV.EncMapInt32Int64V(*v, fastpathCheckNilTrue, e)
  1291. case map[int32]float32:
  1292. fastpathTV.EncMapInt32Float32V(v, fastpathCheckNilTrue, e)
  1293. case *map[int32]float32:
  1294. fastpathTV.EncMapInt32Float32V(*v, fastpathCheckNilTrue, e)
  1295. case map[int32]float64:
  1296. fastpathTV.EncMapInt32Float64V(v, fastpathCheckNilTrue, e)
  1297. case *map[int32]float64:
  1298. fastpathTV.EncMapInt32Float64V(*v, fastpathCheckNilTrue, e)
  1299. case map[int32]bool:
  1300. fastpathTV.EncMapInt32BoolV(v, fastpathCheckNilTrue, e)
  1301. case *map[int32]bool:
  1302. fastpathTV.EncMapInt32BoolV(*v, fastpathCheckNilTrue, e)
  1303. case []int64:
  1304. fastpathTV.EncSliceInt64V(v, fastpathCheckNilTrue, e)
  1305. case *[]int64:
  1306. fastpathTV.EncSliceInt64V(*v, fastpathCheckNilTrue, e)
  1307. case map[int64]interface{}:
  1308. fastpathTV.EncMapInt64IntfV(v, fastpathCheckNilTrue, e)
  1309. case *map[int64]interface{}:
  1310. fastpathTV.EncMapInt64IntfV(*v, fastpathCheckNilTrue, e)
  1311. case map[int64]string:
  1312. fastpathTV.EncMapInt64StringV(v, fastpathCheckNilTrue, e)
  1313. case *map[int64]string:
  1314. fastpathTV.EncMapInt64StringV(*v, fastpathCheckNilTrue, e)
  1315. case map[int64]uint:
  1316. fastpathTV.EncMapInt64UintV(v, fastpathCheckNilTrue, e)
  1317. case *map[int64]uint:
  1318. fastpathTV.EncMapInt64UintV(*v, fastpathCheckNilTrue, e)
  1319. case map[int64]uint8:
  1320. fastpathTV.EncMapInt64Uint8V(v, fastpathCheckNilTrue, e)
  1321. case *map[int64]uint8:
  1322. fastpathTV.EncMapInt64Uint8V(*v, fastpathCheckNilTrue, e)
  1323. case map[int64]uint16:
  1324. fastpathTV.EncMapInt64Uint16V(v, fastpathCheckNilTrue, e)
  1325. case *map[int64]uint16:
  1326. fastpathTV.EncMapInt64Uint16V(*v, fastpathCheckNilTrue, e)
  1327. case map[int64]uint32:
  1328. fastpathTV.EncMapInt64Uint32V(v, fastpathCheckNilTrue, e)
  1329. case *map[int64]uint32:
  1330. fastpathTV.EncMapInt64Uint32V(*v, fastpathCheckNilTrue, e)
  1331. case map[int64]uint64:
  1332. fastpathTV.EncMapInt64Uint64V(v, fastpathCheckNilTrue, e)
  1333. case *map[int64]uint64:
  1334. fastpathTV.EncMapInt64Uint64V(*v, fastpathCheckNilTrue, e)
  1335. case map[int64]uintptr:
  1336. fastpathTV.EncMapInt64UintptrV(v, fastpathCheckNilTrue, e)
  1337. case *map[int64]uintptr:
  1338. fastpathTV.EncMapInt64UintptrV(*v, fastpathCheckNilTrue, e)
  1339. case map[int64]int:
  1340. fastpathTV.EncMapInt64IntV(v, fastpathCheckNilTrue, e)
  1341. case *map[int64]int:
  1342. fastpathTV.EncMapInt64IntV(*v, fastpathCheckNilTrue, e)
  1343. case map[int64]int8:
  1344. fastpathTV.EncMapInt64Int8V(v, fastpathCheckNilTrue, e)
  1345. case *map[int64]int8:
  1346. fastpathTV.EncMapInt64Int8V(*v, fastpathCheckNilTrue, e)
  1347. case map[int64]int16:
  1348. fastpathTV.EncMapInt64Int16V(v, fastpathCheckNilTrue, e)
  1349. case *map[int64]int16:
  1350. fastpathTV.EncMapInt64Int16V(*v, fastpathCheckNilTrue, e)
  1351. case map[int64]int32:
  1352. fastpathTV.EncMapInt64Int32V(v, fastpathCheckNilTrue, e)
  1353. case *map[int64]int32:
  1354. fastpathTV.EncMapInt64Int32V(*v, fastpathCheckNilTrue, e)
  1355. case map[int64]int64:
  1356. fastpathTV.EncMapInt64Int64V(v, fastpathCheckNilTrue, e)
  1357. case *map[int64]int64:
  1358. fastpathTV.EncMapInt64Int64V(*v, fastpathCheckNilTrue, e)
  1359. case map[int64]float32:
  1360. fastpathTV.EncMapInt64Float32V(v, fastpathCheckNilTrue, e)
  1361. case *map[int64]float32:
  1362. fastpathTV.EncMapInt64Float32V(*v, fastpathCheckNilTrue, e)
  1363. case map[int64]float64:
  1364. fastpathTV.EncMapInt64Float64V(v, fastpathCheckNilTrue, e)
  1365. case *map[int64]float64:
  1366. fastpathTV.EncMapInt64Float64V(*v, fastpathCheckNilTrue, e)
  1367. case map[int64]bool:
  1368. fastpathTV.EncMapInt64BoolV(v, fastpathCheckNilTrue, e)
  1369. case *map[int64]bool:
  1370. fastpathTV.EncMapInt64BoolV(*v, fastpathCheckNilTrue, e)
  1371. case []bool:
  1372. fastpathTV.EncSliceBoolV(v, fastpathCheckNilTrue, e)
  1373. case *[]bool:
  1374. fastpathTV.EncSliceBoolV(*v, fastpathCheckNilTrue, e)
  1375. case map[bool]interface{}:
  1376. fastpathTV.EncMapBoolIntfV(v, fastpathCheckNilTrue, e)
  1377. case *map[bool]interface{}:
  1378. fastpathTV.EncMapBoolIntfV(*v, fastpathCheckNilTrue, e)
  1379. case map[bool]string:
  1380. fastpathTV.EncMapBoolStringV(v, fastpathCheckNilTrue, e)
  1381. case *map[bool]string:
  1382. fastpathTV.EncMapBoolStringV(*v, fastpathCheckNilTrue, e)
  1383. case map[bool]uint:
  1384. fastpathTV.EncMapBoolUintV(v, fastpathCheckNilTrue, e)
  1385. case *map[bool]uint:
  1386. fastpathTV.EncMapBoolUintV(*v, fastpathCheckNilTrue, e)
  1387. case map[bool]uint8:
  1388. fastpathTV.EncMapBoolUint8V(v, fastpathCheckNilTrue, e)
  1389. case *map[bool]uint8:
  1390. fastpathTV.EncMapBoolUint8V(*v, fastpathCheckNilTrue, e)
  1391. case map[bool]uint16:
  1392. fastpathTV.EncMapBoolUint16V(v, fastpathCheckNilTrue, e)
  1393. case *map[bool]uint16:
  1394. fastpathTV.EncMapBoolUint16V(*v, fastpathCheckNilTrue, e)
  1395. case map[bool]uint32:
  1396. fastpathTV.EncMapBoolUint32V(v, fastpathCheckNilTrue, e)
  1397. case *map[bool]uint32:
  1398. fastpathTV.EncMapBoolUint32V(*v, fastpathCheckNilTrue, e)
  1399. case map[bool]uint64:
  1400. fastpathTV.EncMapBoolUint64V(v, fastpathCheckNilTrue, e)
  1401. case *map[bool]uint64:
  1402. fastpathTV.EncMapBoolUint64V(*v, fastpathCheckNilTrue, e)
  1403. case map[bool]uintptr:
  1404. fastpathTV.EncMapBoolUintptrV(v, fastpathCheckNilTrue, e)
  1405. case *map[bool]uintptr:
  1406. fastpathTV.EncMapBoolUintptrV(*v, fastpathCheckNilTrue, e)
  1407. case map[bool]int:
  1408. fastpathTV.EncMapBoolIntV(v, fastpathCheckNilTrue, e)
  1409. case *map[bool]int:
  1410. fastpathTV.EncMapBoolIntV(*v, fastpathCheckNilTrue, e)
  1411. case map[bool]int8:
  1412. fastpathTV.EncMapBoolInt8V(v, fastpathCheckNilTrue, e)
  1413. case *map[bool]int8:
  1414. fastpathTV.EncMapBoolInt8V(*v, fastpathCheckNilTrue, e)
  1415. case map[bool]int16:
  1416. fastpathTV.EncMapBoolInt16V(v, fastpathCheckNilTrue, e)
  1417. case *map[bool]int16:
  1418. fastpathTV.EncMapBoolInt16V(*v, fastpathCheckNilTrue, e)
  1419. case map[bool]int32:
  1420. fastpathTV.EncMapBoolInt32V(v, fastpathCheckNilTrue, e)
  1421. case *map[bool]int32:
  1422. fastpathTV.EncMapBoolInt32V(*v, fastpathCheckNilTrue, e)
  1423. case map[bool]int64:
  1424. fastpathTV.EncMapBoolInt64V(v, fastpathCheckNilTrue, e)
  1425. case *map[bool]int64:
  1426. fastpathTV.EncMapBoolInt64V(*v, fastpathCheckNilTrue, e)
  1427. case map[bool]float32:
  1428. fastpathTV.EncMapBoolFloat32V(v, fastpathCheckNilTrue, e)
  1429. case *map[bool]float32:
  1430. fastpathTV.EncMapBoolFloat32V(*v, fastpathCheckNilTrue, e)
  1431. case map[bool]float64:
  1432. fastpathTV.EncMapBoolFloat64V(v, fastpathCheckNilTrue, e)
  1433. case *map[bool]float64:
  1434. fastpathTV.EncMapBoolFloat64V(*v, fastpathCheckNilTrue, e)
  1435. case map[bool]bool:
  1436. fastpathTV.EncMapBoolBoolV(v, fastpathCheckNilTrue, e)
  1437. case *map[bool]bool:
  1438. fastpathTV.EncMapBoolBoolV(*v, fastpathCheckNilTrue, e)
  1439. default:
  1440. _ = v // TODO: workaround https://github.com/golang/go/issues/12927 (remove after go 1.6 release)
  1441. return false
  1442. }
  1443. return true
  1444. }
  1445. func fastpathEncodeTypeSwitchSlice(iv interface{}, e *Encoder) bool {
  1446. switch v := iv.(type) {
  1447. case []interface{}:
  1448. fastpathTV.EncSliceIntfV(v, fastpathCheckNilTrue, e)
  1449. case *[]interface{}:
  1450. fastpathTV.EncSliceIntfV(*v, fastpathCheckNilTrue, e)
  1451. case []string:
  1452. fastpathTV.EncSliceStringV(v, fastpathCheckNilTrue, e)
  1453. case *[]string:
  1454. fastpathTV.EncSliceStringV(*v, fastpathCheckNilTrue, e)
  1455. case []float32:
  1456. fastpathTV.EncSliceFloat32V(v, fastpathCheckNilTrue, e)
  1457. case *[]float32:
  1458. fastpathTV.EncSliceFloat32V(*v, fastpathCheckNilTrue, e)
  1459. case []float64:
  1460. fastpathTV.EncSliceFloat64V(v, fastpathCheckNilTrue, e)
  1461. case *[]float64:
  1462. fastpathTV.EncSliceFloat64V(*v, fastpathCheckNilTrue, e)
  1463. case []uint:
  1464. fastpathTV.EncSliceUintV(v, fastpathCheckNilTrue, e)
  1465. case *[]uint:
  1466. fastpathTV.EncSliceUintV(*v, fastpathCheckNilTrue, e)
  1467. case []uint16:
  1468. fastpathTV.EncSliceUint16V(v, fastpathCheckNilTrue, e)
  1469. case *[]uint16:
  1470. fastpathTV.EncSliceUint16V(*v, fastpathCheckNilTrue, e)
  1471. case []uint32:
  1472. fastpathTV.EncSliceUint32V(v, fastpathCheckNilTrue, e)
  1473. case *[]uint32:
  1474. fastpathTV.EncSliceUint32V(*v, fastpathCheckNilTrue, e)
  1475. case []uint64:
  1476. fastpathTV.EncSliceUint64V(v, fastpathCheckNilTrue, e)
  1477. case *[]uint64:
  1478. fastpathTV.EncSliceUint64V(*v, fastpathCheckNilTrue, e)
  1479. case []uintptr:
  1480. fastpathTV.EncSliceUintptrV(v, fastpathCheckNilTrue, e)
  1481. case *[]uintptr:
  1482. fastpathTV.EncSliceUintptrV(*v, fastpathCheckNilTrue, e)
  1483. case []int:
  1484. fastpathTV.EncSliceIntV(v, fastpathCheckNilTrue, e)
  1485. case *[]int:
  1486. fastpathTV.EncSliceIntV(*v, fastpathCheckNilTrue, e)
  1487. case []int8:
  1488. fastpathTV.EncSliceInt8V(v, fastpathCheckNilTrue, e)
  1489. case *[]int8:
  1490. fastpathTV.EncSliceInt8V(*v, fastpathCheckNilTrue, e)
  1491. case []int16:
  1492. fastpathTV.EncSliceInt16V(v, fastpathCheckNilTrue, e)
  1493. case *[]int16:
  1494. fastpathTV.EncSliceInt16V(*v, fastpathCheckNilTrue, e)
  1495. case []int32:
  1496. fastpathTV.EncSliceInt32V(v, fastpathCheckNilTrue, e)
  1497. case *[]int32:
  1498. fastpathTV.EncSliceInt32V(*v, fastpathCheckNilTrue, e)
  1499. case []int64:
  1500. fastpathTV.EncSliceInt64V(v, fastpathCheckNilTrue, e)
  1501. case *[]int64:
  1502. fastpathTV.EncSliceInt64V(*v, fastpathCheckNilTrue, e)
  1503. case []bool:
  1504. fastpathTV.EncSliceBoolV(v, fastpathCheckNilTrue, e)
  1505. case *[]bool:
  1506. fastpathTV.EncSliceBoolV(*v, fastpathCheckNilTrue, e)
  1507. default:
  1508. _ = v // TODO: workaround https://github.com/golang/go/issues/12927 (remove after go 1.6 release)
  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. _ = v // TODO: workaround https://github.com/golang/go/issues/12927 (remove after go 1.6 release)
  2541. return false
  2542. }
  2543. return true
  2544. }
  2545. // -- -- fast path functions
  2546. func (f *encFnInfo) fastpathEncSliceIntfR(rv reflect.Value) {
  2547. if f.ti.mbs {
  2548. fastpathTV.EncAsMapSliceIntfV(rv2i(rv).([]interface{}), fastpathCheckNilFalse, f.e)
  2549. } else {
  2550. fastpathTV.EncSliceIntfV(rv2i(rv).([]interface{}), fastpathCheckNilFalse, f.e)
  2551. }
  2552. }
  2553. func (_ fastpathT) EncSliceIntfV(v []interface{}, checkNil bool, e *Encoder) {
  2554. ee := e.e
  2555. cr := e.cr
  2556. if checkNil && v == nil {
  2557. ee.EncodeNil()
  2558. return
  2559. }
  2560. ee.EncodeArrayStart(len(v))
  2561. for _, v2 := range v {
  2562. if cr != nil {
  2563. cr.sendContainerState(containerArrayElem)
  2564. }
  2565. e.encode(v2)
  2566. }
  2567. if cr != nil {
  2568. cr.sendContainerState(containerArrayEnd)
  2569. }
  2570. }
  2571. func (_ fastpathT) EncAsMapSliceIntfV(v []interface{}, checkNil bool, e *Encoder) {
  2572. ee := e.e
  2573. cr := e.cr
  2574. if checkNil && v == nil {
  2575. ee.EncodeNil()
  2576. return
  2577. }
  2578. if len(v)%2 == 1 {
  2579. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2580. return
  2581. }
  2582. ee.EncodeMapStart(len(v) / 2)
  2583. for j, v2 := range v {
  2584. if cr != nil {
  2585. if j%2 == 0 {
  2586. cr.sendContainerState(containerMapKey)
  2587. } else {
  2588. cr.sendContainerState(containerMapValue)
  2589. }
  2590. }
  2591. e.encode(v2)
  2592. }
  2593. if cr != nil {
  2594. cr.sendContainerState(containerMapEnd)
  2595. }
  2596. }
  2597. func (f *encFnInfo) fastpathEncSliceStringR(rv reflect.Value) {
  2598. if f.ti.mbs {
  2599. fastpathTV.EncAsMapSliceStringV(rv2i(rv).([]string), fastpathCheckNilFalse, f.e)
  2600. } else {
  2601. fastpathTV.EncSliceStringV(rv2i(rv).([]string), fastpathCheckNilFalse, f.e)
  2602. }
  2603. }
  2604. func (_ fastpathT) EncSliceStringV(v []string, checkNil bool, e *Encoder) {
  2605. ee := e.e
  2606. cr := e.cr
  2607. if checkNil && v == nil {
  2608. ee.EncodeNil()
  2609. return
  2610. }
  2611. ee.EncodeArrayStart(len(v))
  2612. for _, v2 := range v {
  2613. if cr != nil {
  2614. cr.sendContainerState(containerArrayElem)
  2615. }
  2616. ee.EncodeString(c_UTF8, v2)
  2617. }
  2618. if cr != nil {
  2619. cr.sendContainerState(containerArrayEnd)
  2620. }
  2621. }
  2622. func (_ fastpathT) EncAsMapSliceStringV(v []string, checkNil bool, e *Encoder) {
  2623. ee := e.e
  2624. cr := e.cr
  2625. if checkNil && v == nil {
  2626. ee.EncodeNil()
  2627. return
  2628. }
  2629. if len(v)%2 == 1 {
  2630. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2631. return
  2632. }
  2633. ee.EncodeMapStart(len(v) / 2)
  2634. for j, v2 := range v {
  2635. if cr != nil {
  2636. if j%2 == 0 {
  2637. cr.sendContainerState(containerMapKey)
  2638. } else {
  2639. cr.sendContainerState(containerMapValue)
  2640. }
  2641. }
  2642. ee.EncodeString(c_UTF8, v2)
  2643. }
  2644. if cr != nil {
  2645. cr.sendContainerState(containerMapEnd)
  2646. }
  2647. }
  2648. func (f *encFnInfo) fastpathEncSliceFloat32R(rv reflect.Value) {
  2649. if f.ti.mbs {
  2650. fastpathTV.EncAsMapSliceFloat32V(rv2i(rv).([]float32), fastpathCheckNilFalse, f.e)
  2651. } else {
  2652. fastpathTV.EncSliceFloat32V(rv2i(rv).([]float32), fastpathCheckNilFalse, f.e)
  2653. }
  2654. }
  2655. func (_ fastpathT) EncSliceFloat32V(v []float32, checkNil bool, e *Encoder) {
  2656. ee := e.e
  2657. cr := e.cr
  2658. if checkNil && v == nil {
  2659. ee.EncodeNil()
  2660. return
  2661. }
  2662. ee.EncodeArrayStart(len(v))
  2663. for _, v2 := range v {
  2664. if cr != nil {
  2665. cr.sendContainerState(containerArrayElem)
  2666. }
  2667. ee.EncodeFloat32(v2)
  2668. }
  2669. if cr != nil {
  2670. cr.sendContainerState(containerArrayEnd)
  2671. }
  2672. }
  2673. func (_ fastpathT) EncAsMapSliceFloat32V(v []float32, checkNil bool, e *Encoder) {
  2674. ee := e.e
  2675. cr := e.cr
  2676. if checkNil && v == nil {
  2677. ee.EncodeNil()
  2678. return
  2679. }
  2680. if len(v)%2 == 1 {
  2681. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2682. return
  2683. }
  2684. ee.EncodeMapStart(len(v) / 2)
  2685. for j, v2 := range v {
  2686. if cr != nil {
  2687. if j%2 == 0 {
  2688. cr.sendContainerState(containerMapKey)
  2689. } else {
  2690. cr.sendContainerState(containerMapValue)
  2691. }
  2692. }
  2693. ee.EncodeFloat32(v2)
  2694. }
  2695. if cr != nil {
  2696. cr.sendContainerState(containerMapEnd)
  2697. }
  2698. }
  2699. func (f *encFnInfo) fastpathEncSliceFloat64R(rv reflect.Value) {
  2700. if f.ti.mbs {
  2701. fastpathTV.EncAsMapSliceFloat64V(rv2i(rv).([]float64), fastpathCheckNilFalse, f.e)
  2702. } else {
  2703. fastpathTV.EncSliceFloat64V(rv2i(rv).([]float64), fastpathCheckNilFalse, f.e)
  2704. }
  2705. }
  2706. func (_ fastpathT) EncSliceFloat64V(v []float64, checkNil bool, e *Encoder) {
  2707. ee := e.e
  2708. cr := e.cr
  2709. if checkNil && v == nil {
  2710. ee.EncodeNil()
  2711. return
  2712. }
  2713. ee.EncodeArrayStart(len(v))
  2714. for _, v2 := range v {
  2715. if cr != nil {
  2716. cr.sendContainerState(containerArrayElem)
  2717. }
  2718. ee.EncodeFloat64(v2)
  2719. }
  2720. if cr != nil {
  2721. cr.sendContainerState(containerArrayEnd)
  2722. }
  2723. }
  2724. func (_ fastpathT) EncAsMapSliceFloat64V(v []float64, checkNil bool, e *Encoder) {
  2725. ee := e.e
  2726. cr := e.cr
  2727. if checkNil && v == nil {
  2728. ee.EncodeNil()
  2729. return
  2730. }
  2731. if len(v)%2 == 1 {
  2732. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2733. return
  2734. }
  2735. ee.EncodeMapStart(len(v) / 2)
  2736. for j, v2 := range v {
  2737. if cr != nil {
  2738. if j%2 == 0 {
  2739. cr.sendContainerState(containerMapKey)
  2740. } else {
  2741. cr.sendContainerState(containerMapValue)
  2742. }
  2743. }
  2744. ee.EncodeFloat64(v2)
  2745. }
  2746. if cr != nil {
  2747. cr.sendContainerState(containerMapEnd)
  2748. }
  2749. }
  2750. func (f *encFnInfo) fastpathEncSliceUintR(rv reflect.Value) {
  2751. if f.ti.mbs {
  2752. fastpathTV.EncAsMapSliceUintV(rv2i(rv).([]uint), fastpathCheckNilFalse, f.e)
  2753. } else {
  2754. fastpathTV.EncSliceUintV(rv2i(rv).([]uint), fastpathCheckNilFalse, f.e)
  2755. }
  2756. }
  2757. func (_ fastpathT) EncSliceUintV(v []uint, checkNil bool, e *Encoder) {
  2758. ee := e.e
  2759. cr := e.cr
  2760. if checkNil && v == nil {
  2761. ee.EncodeNil()
  2762. return
  2763. }
  2764. ee.EncodeArrayStart(len(v))
  2765. for _, v2 := range v {
  2766. if cr != nil {
  2767. cr.sendContainerState(containerArrayElem)
  2768. }
  2769. ee.EncodeUint(uint64(v2))
  2770. }
  2771. if cr != nil {
  2772. cr.sendContainerState(containerArrayEnd)
  2773. }
  2774. }
  2775. func (_ fastpathT) EncAsMapSliceUintV(v []uint, checkNil bool, e *Encoder) {
  2776. ee := e.e
  2777. cr := e.cr
  2778. if checkNil && v == nil {
  2779. ee.EncodeNil()
  2780. return
  2781. }
  2782. if len(v)%2 == 1 {
  2783. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2784. return
  2785. }
  2786. ee.EncodeMapStart(len(v) / 2)
  2787. for j, v2 := range v {
  2788. if cr != nil {
  2789. if j%2 == 0 {
  2790. cr.sendContainerState(containerMapKey)
  2791. } else {
  2792. cr.sendContainerState(containerMapValue)
  2793. }
  2794. }
  2795. ee.EncodeUint(uint64(v2))
  2796. }
  2797. if cr != nil {
  2798. cr.sendContainerState(containerMapEnd)
  2799. }
  2800. }
  2801. func (f *encFnInfo) fastpathEncSliceUint16R(rv reflect.Value) {
  2802. if f.ti.mbs {
  2803. fastpathTV.EncAsMapSliceUint16V(rv2i(rv).([]uint16), fastpathCheckNilFalse, f.e)
  2804. } else {
  2805. fastpathTV.EncSliceUint16V(rv2i(rv).([]uint16), fastpathCheckNilFalse, f.e)
  2806. }
  2807. }
  2808. func (_ fastpathT) EncSliceUint16V(v []uint16, checkNil bool, e *Encoder) {
  2809. ee := e.e
  2810. cr := e.cr
  2811. if checkNil && v == nil {
  2812. ee.EncodeNil()
  2813. return
  2814. }
  2815. ee.EncodeArrayStart(len(v))
  2816. for _, v2 := range v {
  2817. if cr != nil {
  2818. cr.sendContainerState(containerArrayElem)
  2819. }
  2820. ee.EncodeUint(uint64(v2))
  2821. }
  2822. if cr != nil {
  2823. cr.sendContainerState(containerArrayEnd)
  2824. }
  2825. }
  2826. func (_ fastpathT) EncAsMapSliceUint16V(v []uint16, checkNil bool, e *Encoder) {
  2827. ee := e.e
  2828. cr := e.cr
  2829. if checkNil && v == nil {
  2830. ee.EncodeNil()
  2831. return
  2832. }
  2833. if len(v)%2 == 1 {
  2834. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2835. return
  2836. }
  2837. ee.EncodeMapStart(len(v) / 2)
  2838. for j, v2 := range v {
  2839. if cr != nil {
  2840. if j%2 == 0 {
  2841. cr.sendContainerState(containerMapKey)
  2842. } else {
  2843. cr.sendContainerState(containerMapValue)
  2844. }
  2845. }
  2846. ee.EncodeUint(uint64(v2))
  2847. }
  2848. if cr != nil {
  2849. cr.sendContainerState(containerMapEnd)
  2850. }
  2851. }
  2852. func (f *encFnInfo) fastpathEncSliceUint32R(rv reflect.Value) {
  2853. if f.ti.mbs {
  2854. fastpathTV.EncAsMapSliceUint32V(rv2i(rv).([]uint32), fastpathCheckNilFalse, f.e)
  2855. } else {
  2856. fastpathTV.EncSliceUint32V(rv2i(rv).([]uint32), fastpathCheckNilFalse, f.e)
  2857. }
  2858. }
  2859. func (_ fastpathT) EncSliceUint32V(v []uint32, checkNil bool, e *Encoder) {
  2860. ee := e.e
  2861. cr := e.cr
  2862. if checkNil && v == nil {
  2863. ee.EncodeNil()
  2864. return
  2865. }
  2866. ee.EncodeArrayStart(len(v))
  2867. for _, v2 := range v {
  2868. if cr != nil {
  2869. cr.sendContainerState(containerArrayElem)
  2870. }
  2871. ee.EncodeUint(uint64(v2))
  2872. }
  2873. if cr != nil {
  2874. cr.sendContainerState(containerArrayEnd)
  2875. }
  2876. }
  2877. func (_ fastpathT) EncAsMapSliceUint32V(v []uint32, checkNil bool, e *Encoder) {
  2878. ee := e.e
  2879. cr := e.cr
  2880. if checkNil && v == nil {
  2881. ee.EncodeNil()
  2882. return
  2883. }
  2884. if len(v)%2 == 1 {
  2885. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2886. return
  2887. }
  2888. ee.EncodeMapStart(len(v) / 2)
  2889. for j, v2 := range v {
  2890. if cr != nil {
  2891. if j%2 == 0 {
  2892. cr.sendContainerState(containerMapKey)
  2893. } else {
  2894. cr.sendContainerState(containerMapValue)
  2895. }
  2896. }
  2897. ee.EncodeUint(uint64(v2))
  2898. }
  2899. if cr != nil {
  2900. cr.sendContainerState(containerMapEnd)
  2901. }
  2902. }
  2903. func (f *encFnInfo) fastpathEncSliceUint64R(rv reflect.Value) {
  2904. if f.ti.mbs {
  2905. fastpathTV.EncAsMapSliceUint64V(rv2i(rv).([]uint64), fastpathCheckNilFalse, f.e)
  2906. } else {
  2907. fastpathTV.EncSliceUint64V(rv2i(rv).([]uint64), fastpathCheckNilFalse, f.e)
  2908. }
  2909. }
  2910. func (_ fastpathT) EncSliceUint64V(v []uint64, checkNil bool, e *Encoder) {
  2911. ee := e.e
  2912. cr := e.cr
  2913. if checkNil && v == nil {
  2914. ee.EncodeNil()
  2915. return
  2916. }
  2917. ee.EncodeArrayStart(len(v))
  2918. for _, v2 := range v {
  2919. if cr != nil {
  2920. cr.sendContainerState(containerArrayElem)
  2921. }
  2922. ee.EncodeUint(uint64(v2))
  2923. }
  2924. if cr != nil {
  2925. cr.sendContainerState(containerArrayEnd)
  2926. }
  2927. }
  2928. func (_ fastpathT) EncAsMapSliceUint64V(v []uint64, checkNil bool, e *Encoder) {
  2929. ee := e.e
  2930. cr := e.cr
  2931. if checkNil && v == nil {
  2932. ee.EncodeNil()
  2933. return
  2934. }
  2935. if len(v)%2 == 1 {
  2936. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2937. return
  2938. }
  2939. ee.EncodeMapStart(len(v) / 2)
  2940. for j, v2 := range v {
  2941. if cr != nil {
  2942. if j%2 == 0 {
  2943. cr.sendContainerState(containerMapKey)
  2944. } else {
  2945. cr.sendContainerState(containerMapValue)
  2946. }
  2947. }
  2948. ee.EncodeUint(uint64(v2))
  2949. }
  2950. if cr != nil {
  2951. cr.sendContainerState(containerMapEnd)
  2952. }
  2953. }
  2954. func (f *encFnInfo) fastpathEncSliceUintptrR(rv reflect.Value) {
  2955. if f.ti.mbs {
  2956. fastpathTV.EncAsMapSliceUintptrV(rv2i(rv).([]uintptr), fastpathCheckNilFalse, f.e)
  2957. } else {
  2958. fastpathTV.EncSliceUintptrV(rv2i(rv).([]uintptr), fastpathCheckNilFalse, f.e)
  2959. }
  2960. }
  2961. func (_ fastpathT) EncSliceUintptrV(v []uintptr, checkNil bool, e *Encoder) {
  2962. ee := e.e
  2963. cr := e.cr
  2964. if checkNil && v == nil {
  2965. ee.EncodeNil()
  2966. return
  2967. }
  2968. ee.EncodeArrayStart(len(v))
  2969. for _, v2 := range v {
  2970. if cr != nil {
  2971. cr.sendContainerState(containerArrayElem)
  2972. }
  2973. e.encode(v2)
  2974. }
  2975. if cr != nil {
  2976. cr.sendContainerState(containerArrayEnd)
  2977. }
  2978. }
  2979. func (_ fastpathT) EncAsMapSliceUintptrV(v []uintptr, checkNil bool, e *Encoder) {
  2980. ee := e.e
  2981. cr := e.cr
  2982. if checkNil && v == nil {
  2983. ee.EncodeNil()
  2984. return
  2985. }
  2986. if len(v)%2 == 1 {
  2987. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  2988. return
  2989. }
  2990. ee.EncodeMapStart(len(v) / 2)
  2991. for j, v2 := range v {
  2992. if cr != nil {
  2993. if j%2 == 0 {
  2994. cr.sendContainerState(containerMapKey)
  2995. } else {
  2996. cr.sendContainerState(containerMapValue)
  2997. }
  2998. }
  2999. e.encode(v2)
  3000. }
  3001. if cr != nil {
  3002. cr.sendContainerState(containerMapEnd)
  3003. }
  3004. }
  3005. func (f *encFnInfo) fastpathEncSliceIntR(rv reflect.Value) {
  3006. if f.ti.mbs {
  3007. fastpathTV.EncAsMapSliceIntV(rv2i(rv).([]int), fastpathCheckNilFalse, f.e)
  3008. } else {
  3009. fastpathTV.EncSliceIntV(rv2i(rv).([]int), fastpathCheckNilFalse, f.e)
  3010. }
  3011. }
  3012. func (_ fastpathT) EncSliceIntV(v []int, checkNil bool, e *Encoder) {
  3013. ee := e.e
  3014. cr := e.cr
  3015. if checkNil && v == nil {
  3016. ee.EncodeNil()
  3017. return
  3018. }
  3019. ee.EncodeArrayStart(len(v))
  3020. for _, v2 := range v {
  3021. if cr != nil {
  3022. cr.sendContainerState(containerArrayElem)
  3023. }
  3024. ee.EncodeInt(int64(v2))
  3025. }
  3026. if cr != nil {
  3027. cr.sendContainerState(containerArrayEnd)
  3028. }
  3029. }
  3030. func (_ fastpathT) EncAsMapSliceIntV(v []int, checkNil bool, e *Encoder) {
  3031. ee := e.e
  3032. cr := e.cr
  3033. if checkNil && v == nil {
  3034. ee.EncodeNil()
  3035. return
  3036. }
  3037. if len(v)%2 == 1 {
  3038. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  3039. return
  3040. }
  3041. ee.EncodeMapStart(len(v) / 2)
  3042. for j, v2 := range v {
  3043. if cr != nil {
  3044. if j%2 == 0 {
  3045. cr.sendContainerState(containerMapKey)
  3046. } else {
  3047. cr.sendContainerState(containerMapValue)
  3048. }
  3049. }
  3050. ee.EncodeInt(int64(v2))
  3051. }
  3052. if cr != nil {
  3053. cr.sendContainerState(containerMapEnd)
  3054. }
  3055. }
  3056. func (f *encFnInfo) fastpathEncSliceInt8R(rv reflect.Value) {
  3057. if f.ti.mbs {
  3058. fastpathTV.EncAsMapSliceInt8V(rv2i(rv).([]int8), fastpathCheckNilFalse, f.e)
  3059. } else {
  3060. fastpathTV.EncSliceInt8V(rv2i(rv).([]int8), fastpathCheckNilFalse, f.e)
  3061. }
  3062. }
  3063. func (_ fastpathT) EncSliceInt8V(v []int8, checkNil bool, e *Encoder) {
  3064. ee := e.e
  3065. cr := e.cr
  3066. if checkNil && v == nil {
  3067. ee.EncodeNil()
  3068. return
  3069. }
  3070. ee.EncodeArrayStart(len(v))
  3071. for _, v2 := range v {
  3072. if cr != nil {
  3073. cr.sendContainerState(containerArrayElem)
  3074. }
  3075. ee.EncodeInt(int64(v2))
  3076. }
  3077. if cr != nil {
  3078. cr.sendContainerState(containerArrayEnd)
  3079. }
  3080. }
  3081. func (_ fastpathT) EncAsMapSliceInt8V(v []int8, checkNil bool, e *Encoder) {
  3082. ee := e.e
  3083. cr := e.cr
  3084. if checkNil && v == nil {
  3085. ee.EncodeNil()
  3086. return
  3087. }
  3088. if len(v)%2 == 1 {
  3089. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  3090. return
  3091. }
  3092. ee.EncodeMapStart(len(v) / 2)
  3093. for j, v2 := range v {
  3094. if cr != nil {
  3095. if j%2 == 0 {
  3096. cr.sendContainerState(containerMapKey)
  3097. } else {
  3098. cr.sendContainerState(containerMapValue)
  3099. }
  3100. }
  3101. ee.EncodeInt(int64(v2))
  3102. }
  3103. if cr != nil {
  3104. cr.sendContainerState(containerMapEnd)
  3105. }
  3106. }
  3107. func (f *encFnInfo) fastpathEncSliceInt16R(rv reflect.Value) {
  3108. if f.ti.mbs {
  3109. fastpathTV.EncAsMapSliceInt16V(rv2i(rv).([]int16), fastpathCheckNilFalse, f.e)
  3110. } else {
  3111. fastpathTV.EncSliceInt16V(rv2i(rv).([]int16), fastpathCheckNilFalse, f.e)
  3112. }
  3113. }
  3114. func (_ fastpathT) EncSliceInt16V(v []int16, checkNil bool, e *Encoder) {
  3115. ee := e.e
  3116. cr := e.cr
  3117. if checkNil && v == nil {
  3118. ee.EncodeNil()
  3119. return
  3120. }
  3121. ee.EncodeArrayStart(len(v))
  3122. for _, v2 := range v {
  3123. if cr != nil {
  3124. cr.sendContainerState(containerArrayElem)
  3125. }
  3126. ee.EncodeInt(int64(v2))
  3127. }
  3128. if cr != nil {
  3129. cr.sendContainerState(containerArrayEnd)
  3130. }
  3131. }
  3132. func (_ fastpathT) EncAsMapSliceInt16V(v []int16, checkNil bool, e *Encoder) {
  3133. ee := e.e
  3134. cr := e.cr
  3135. if checkNil && v == nil {
  3136. ee.EncodeNil()
  3137. return
  3138. }
  3139. if len(v)%2 == 1 {
  3140. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  3141. return
  3142. }
  3143. ee.EncodeMapStart(len(v) / 2)
  3144. for j, v2 := range v {
  3145. if cr != nil {
  3146. if j%2 == 0 {
  3147. cr.sendContainerState(containerMapKey)
  3148. } else {
  3149. cr.sendContainerState(containerMapValue)
  3150. }
  3151. }
  3152. ee.EncodeInt(int64(v2))
  3153. }
  3154. if cr != nil {
  3155. cr.sendContainerState(containerMapEnd)
  3156. }
  3157. }
  3158. func (f *encFnInfo) fastpathEncSliceInt32R(rv reflect.Value) {
  3159. if f.ti.mbs {
  3160. fastpathTV.EncAsMapSliceInt32V(rv2i(rv).([]int32), fastpathCheckNilFalse, f.e)
  3161. } else {
  3162. fastpathTV.EncSliceInt32V(rv2i(rv).([]int32), fastpathCheckNilFalse, f.e)
  3163. }
  3164. }
  3165. func (_ fastpathT) EncSliceInt32V(v []int32, checkNil bool, e *Encoder) {
  3166. ee := e.e
  3167. cr := e.cr
  3168. if checkNil && v == nil {
  3169. ee.EncodeNil()
  3170. return
  3171. }
  3172. ee.EncodeArrayStart(len(v))
  3173. for _, v2 := range v {
  3174. if cr != nil {
  3175. cr.sendContainerState(containerArrayElem)
  3176. }
  3177. ee.EncodeInt(int64(v2))
  3178. }
  3179. if cr != nil {
  3180. cr.sendContainerState(containerArrayEnd)
  3181. }
  3182. }
  3183. func (_ fastpathT) EncAsMapSliceInt32V(v []int32, checkNil bool, e *Encoder) {
  3184. ee := e.e
  3185. cr := e.cr
  3186. if checkNil && v == nil {
  3187. ee.EncodeNil()
  3188. return
  3189. }
  3190. if len(v)%2 == 1 {
  3191. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  3192. return
  3193. }
  3194. ee.EncodeMapStart(len(v) / 2)
  3195. for j, v2 := range v {
  3196. if cr != nil {
  3197. if j%2 == 0 {
  3198. cr.sendContainerState(containerMapKey)
  3199. } else {
  3200. cr.sendContainerState(containerMapValue)
  3201. }
  3202. }
  3203. ee.EncodeInt(int64(v2))
  3204. }
  3205. if cr != nil {
  3206. cr.sendContainerState(containerMapEnd)
  3207. }
  3208. }
  3209. func (f *encFnInfo) fastpathEncSliceInt64R(rv reflect.Value) {
  3210. if f.ti.mbs {
  3211. fastpathTV.EncAsMapSliceInt64V(rv2i(rv).([]int64), fastpathCheckNilFalse, f.e)
  3212. } else {
  3213. fastpathTV.EncSliceInt64V(rv2i(rv).([]int64), fastpathCheckNilFalse, f.e)
  3214. }
  3215. }
  3216. func (_ fastpathT) EncSliceInt64V(v []int64, checkNil bool, e *Encoder) {
  3217. ee := e.e
  3218. cr := e.cr
  3219. if checkNil && v == nil {
  3220. ee.EncodeNil()
  3221. return
  3222. }
  3223. ee.EncodeArrayStart(len(v))
  3224. for _, v2 := range v {
  3225. if cr != nil {
  3226. cr.sendContainerState(containerArrayElem)
  3227. }
  3228. ee.EncodeInt(int64(v2))
  3229. }
  3230. if cr != nil {
  3231. cr.sendContainerState(containerArrayEnd)
  3232. }
  3233. }
  3234. func (_ fastpathT) EncAsMapSliceInt64V(v []int64, checkNil bool, e *Encoder) {
  3235. ee := e.e
  3236. cr := e.cr
  3237. if checkNil && v == nil {
  3238. ee.EncodeNil()
  3239. return
  3240. }
  3241. if len(v)%2 == 1 {
  3242. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  3243. return
  3244. }
  3245. ee.EncodeMapStart(len(v) / 2)
  3246. for j, v2 := range v {
  3247. if cr != nil {
  3248. if j%2 == 0 {
  3249. cr.sendContainerState(containerMapKey)
  3250. } else {
  3251. cr.sendContainerState(containerMapValue)
  3252. }
  3253. }
  3254. ee.EncodeInt(int64(v2))
  3255. }
  3256. if cr != nil {
  3257. cr.sendContainerState(containerMapEnd)
  3258. }
  3259. }
  3260. func (f *encFnInfo) fastpathEncSliceBoolR(rv reflect.Value) {
  3261. if f.ti.mbs {
  3262. fastpathTV.EncAsMapSliceBoolV(rv2i(rv).([]bool), fastpathCheckNilFalse, f.e)
  3263. } else {
  3264. fastpathTV.EncSliceBoolV(rv2i(rv).([]bool), fastpathCheckNilFalse, f.e)
  3265. }
  3266. }
  3267. func (_ fastpathT) EncSliceBoolV(v []bool, checkNil bool, e *Encoder) {
  3268. ee := e.e
  3269. cr := e.cr
  3270. if checkNil && v == nil {
  3271. ee.EncodeNil()
  3272. return
  3273. }
  3274. ee.EncodeArrayStart(len(v))
  3275. for _, v2 := range v {
  3276. if cr != nil {
  3277. cr.sendContainerState(containerArrayElem)
  3278. }
  3279. ee.EncodeBool(v2)
  3280. }
  3281. if cr != nil {
  3282. cr.sendContainerState(containerArrayEnd)
  3283. }
  3284. }
  3285. func (_ fastpathT) EncAsMapSliceBoolV(v []bool, checkNil bool, e *Encoder) {
  3286. ee := e.e
  3287. cr := e.cr
  3288. if checkNil && v == nil {
  3289. ee.EncodeNil()
  3290. return
  3291. }
  3292. if len(v)%2 == 1 {
  3293. e.errorf("mapBySlice requires even slice length, but got %v", len(v))
  3294. return
  3295. }
  3296. ee.EncodeMapStart(len(v) / 2)
  3297. for j, v2 := range v {
  3298. if cr != nil {
  3299. if j%2 == 0 {
  3300. cr.sendContainerState(containerMapKey)
  3301. } else {
  3302. cr.sendContainerState(containerMapValue)
  3303. }
  3304. }
  3305. ee.EncodeBool(v2)
  3306. }
  3307. if cr != nil {
  3308. cr.sendContainerState(containerMapEnd)
  3309. }
  3310. }
  3311. func (f *encFnInfo) fastpathEncMapIntfIntfR(rv reflect.Value) {
  3312. fastpathTV.EncMapIntfIntfV(rv2i(rv).(map[interface{}]interface{}), fastpathCheckNilFalse, f.e)
  3313. }
  3314. func (_ fastpathT) EncMapIntfIntfV(v map[interface{}]interface{}, checkNil bool, e *Encoder) {
  3315. ee := e.e
  3316. cr := e.cr
  3317. if checkNil && v == nil {
  3318. ee.EncodeNil()
  3319. return
  3320. }
  3321. ee.EncodeMapStart(len(v))
  3322. if e.h.Canonical {
  3323. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3324. e2 := NewEncoderBytes(&mksv, e.hh)
  3325. v2 := make([]bytesI, len(v))
  3326. var i, l int
  3327. var vp *bytesI
  3328. for k2, _ := range v {
  3329. l = len(mksv)
  3330. e2.MustEncode(k2)
  3331. vp = &v2[i]
  3332. vp.v = mksv[l:]
  3333. vp.i = k2
  3334. i++
  3335. }
  3336. sort.Sort(bytesISlice(v2))
  3337. for j := range v2 {
  3338. if cr != nil {
  3339. cr.sendContainerState(containerMapKey)
  3340. }
  3341. e.asis(v2[j].v)
  3342. if cr != nil {
  3343. cr.sendContainerState(containerMapValue)
  3344. }
  3345. e.encode(v[v2[j].i])
  3346. }
  3347. } else {
  3348. for k2, v2 := range v {
  3349. if cr != nil {
  3350. cr.sendContainerState(containerMapKey)
  3351. }
  3352. e.encode(k2)
  3353. if cr != nil {
  3354. cr.sendContainerState(containerMapValue)
  3355. }
  3356. e.encode(v2)
  3357. }
  3358. }
  3359. if cr != nil {
  3360. cr.sendContainerState(containerMapEnd)
  3361. }
  3362. }
  3363. func (f *encFnInfo) fastpathEncMapIntfStringR(rv reflect.Value) {
  3364. fastpathTV.EncMapIntfStringV(rv2i(rv).(map[interface{}]string), fastpathCheckNilFalse, f.e)
  3365. }
  3366. func (_ fastpathT) EncMapIntfStringV(v map[interface{}]string, checkNil bool, e *Encoder) {
  3367. ee := e.e
  3368. cr := e.cr
  3369. if checkNil && v == nil {
  3370. ee.EncodeNil()
  3371. return
  3372. }
  3373. ee.EncodeMapStart(len(v))
  3374. if e.h.Canonical {
  3375. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3376. e2 := NewEncoderBytes(&mksv, e.hh)
  3377. v2 := make([]bytesI, len(v))
  3378. var i, l int
  3379. var vp *bytesI
  3380. for k2, _ := range v {
  3381. l = len(mksv)
  3382. e2.MustEncode(k2)
  3383. vp = &v2[i]
  3384. vp.v = mksv[l:]
  3385. vp.i = k2
  3386. i++
  3387. }
  3388. sort.Sort(bytesISlice(v2))
  3389. for j := range v2 {
  3390. if cr != nil {
  3391. cr.sendContainerState(containerMapKey)
  3392. }
  3393. e.asis(v2[j].v)
  3394. if cr != nil {
  3395. cr.sendContainerState(containerMapValue)
  3396. }
  3397. e.encode(v[v2[j].i])
  3398. }
  3399. } else {
  3400. for k2, v2 := range v {
  3401. if cr != nil {
  3402. cr.sendContainerState(containerMapKey)
  3403. }
  3404. e.encode(k2)
  3405. if cr != nil {
  3406. cr.sendContainerState(containerMapValue)
  3407. }
  3408. ee.EncodeString(c_UTF8, v2)
  3409. }
  3410. }
  3411. if cr != nil {
  3412. cr.sendContainerState(containerMapEnd)
  3413. }
  3414. }
  3415. func (f *encFnInfo) fastpathEncMapIntfUintR(rv reflect.Value) {
  3416. fastpathTV.EncMapIntfUintV(rv2i(rv).(map[interface{}]uint), fastpathCheckNilFalse, f.e)
  3417. }
  3418. func (_ fastpathT) EncMapIntfUintV(v map[interface{}]uint, checkNil bool, e *Encoder) {
  3419. ee := e.e
  3420. cr := e.cr
  3421. if checkNil && v == nil {
  3422. ee.EncodeNil()
  3423. return
  3424. }
  3425. ee.EncodeMapStart(len(v))
  3426. if e.h.Canonical {
  3427. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3428. e2 := NewEncoderBytes(&mksv, e.hh)
  3429. v2 := make([]bytesI, len(v))
  3430. var i, l int
  3431. var vp *bytesI
  3432. for k2, _ := range v {
  3433. l = len(mksv)
  3434. e2.MustEncode(k2)
  3435. vp = &v2[i]
  3436. vp.v = mksv[l:]
  3437. vp.i = k2
  3438. i++
  3439. }
  3440. sort.Sort(bytesISlice(v2))
  3441. for j := range v2 {
  3442. if cr != nil {
  3443. cr.sendContainerState(containerMapKey)
  3444. }
  3445. e.asis(v2[j].v)
  3446. if cr != nil {
  3447. cr.sendContainerState(containerMapValue)
  3448. }
  3449. e.encode(v[v2[j].i])
  3450. }
  3451. } else {
  3452. for k2, v2 := range v {
  3453. if cr != nil {
  3454. cr.sendContainerState(containerMapKey)
  3455. }
  3456. e.encode(k2)
  3457. if cr != nil {
  3458. cr.sendContainerState(containerMapValue)
  3459. }
  3460. ee.EncodeUint(uint64(v2))
  3461. }
  3462. }
  3463. if cr != nil {
  3464. cr.sendContainerState(containerMapEnd)
  3465. }
  3466. }
  3467. func (f *encFnInfo) fastpathEncMapIntfUint8R(rv reflect.Value) {
  3468. fastpathTV.EncMapIntfUint8V(rv2i(rv).(map[interface{}]uint8), fastpathCheckNilFalse, f.e)
  3469. }
  3470. func (_ fastpathT) EncMapIntfUint8V(v map[interface{}]uint8, checkNil bool, e *Encoder) {
  3471. ee := e.e
  3472. cr := e.cr
  3473. if checkNil && v == nil {
  3474. ee.EncodeNil()
  3475. return
  3476. }
  3477. ee.EncodeMapStart(len(v))
  3478. if e.h.Canonical {
  3479. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3480. e2 := NewEncoderBytes(&mksv, e.hh)
  3481. v2 := make([]bytesI, len(v))
  3482. var i, l int
  3483. var vp *bytesI
  3484. for k2, _ := range v {
  3485. l = len(mksv)
  3486. e2.MustEncode(k2)
  3487. vp = &v2[i]
  3488. vp.v = mksv[l:]
  3489. vp.i = k2
  3490. i++
  3491. }
  3492. sort.Sort(bytesISlice(v2))
  3493. for j := range v2 {
  3494. if cr != nil {
  3495. cr.sendContainerState(containerMapKey)
  3496. }
  3497. e.asis(v2[j].v)
  3498. if cr != nil {
  3499. cr.sendContainerState(containerMapValue)
  3500. }
  3501. e.encode(v[v2[j].i])
  3502. }
  3503. } else {
  3504. for k2, v2 := range v {
  3505. if cr != nil {
  3506. cr.sendContainerState(containerMapKey)
  3507. }
  3508. e.encode(k2)
  3509. if cr != nil {
  3510. cr.sendContainerState(containerMapValue)
  3511. }
  3512. ee.EncodeUint(uint64(v2))
  3513. }
  3514. }
  3515. if cr != nil {
  3516. cr.sendContainerState(containerMapEnd)
  3517. }
  3518. }
  3519. func (f *encFnInfo) fastpathEncMapIntfUint16R(rv reflect.Value) {
  3520. fastpathTV.EncMapIntfUint16V(rv2i(rv).(map[interface{}]uint16), fastpathCheckNilFalse, f.e)
  3521. }
  3522. func (_ fastpathT) EncMapIntfUint16V(v map[interface{}]uint16, checkNil bool, e *Encoder) {
  3523. ee := e.e
  3524. cr := e.cr
  3525. if checkNil && v == nil {
  3526. ee.EncodeNil()
  3527. return
  3528. }
  3529. ee.EncodeMapStart(len(v))
  3530. if e.h.Canonical {
  3531. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3532. e2 := NewEncoderBytes(&mksv, e.hh)
  3533. v2 := make([]bytesI, len(v))
  3534. var i, l int
  3535. var vp *bytesI
  3536. for k2, _ := range v {
  3537. l = len(mksv)
  3538. e2.MustEncode(k2)
  3539. vp = &v2[i]
  3540. vp.v = mksv[l:]
  3541. vp.i = k2
  3542. i++
  3543. }
  3544. sort.Sort(bytesISlice(v2))
  3545. for j := range v2 {
  3546. if cr != nil {
  3547. cr.sendContainerState(containerMapKey)
  3548. }
  3549. e.asis(v2[j].v)
  3550. if cr != nil {
  3551. cr.sendContainerState(containerMapValue)
  3552. }
  3553. e.encode(v[v2[j].i])
  3554. }
  3555. } else {
  3556. for k2, v2 := range v {
  3557. if cr != nil {
  3558. cr.sendContainerState(containerMapKey)
  3559. }
  3560. e.encode(k2)
  3561. if cr != nil {
  3562. cr.sendContainerState(containerMapValue)
  3563. }
  3564. ee.EncodeUint(uint64(v2))
  3565. }
  3566. }
  3567. if cr != nil {
  3568. cr.sendContainerState(containerMapEnd)
  3569. }
  3570. }
  3571. func (f *encFnInfo) fastpathEncMapIntfUint32R(rv reflect.Value) {
  3572. fastpathTV.EncMapIntfUint32V(rv2i(rv).(map[interface{}]uint32), fastpathCheckNilFalse, f.e)
  3573. }
  3574. func (_ fastpathT) EncMapIntfUint32V(v map[interface{}]uint32, checkNil bool, e *Encoder) {
  3575. ee := e.e
  3576. cr := e.cr
  3577. if checkNil && v == nil {
  3578. ee.EncodeNil()
  3579. return
  3580. }
  3581. ee.EncodeMapStart(len(v))
  3582. if e.h.Canonical {
  3583. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3584. e2 := NewEncoderBytes(&mksv, e.hh)
  3585. v2 := make([]bytesI, len(v))
  3586. var i, l int
  3587. var vp *bytesI
  3588. for k2, _ := range v {
  3589. l = len(mksv)
  3590. e2.MustEncode(k2)
  3591. vp = &v2[i]
  3592. vp.v = mksv[l:]
  3593. vp.i = k2
  3594. i++
  3595. }
  3596. sort.Sort(bytesISlice(v2))
  3597. for j := range v2 {
  3598. if cr != nil {
  3599. cr.sendContainerState(containerMapKey)
  3600. }
  3601. e.asis(v2[j].v)
  3602. if cr != nil {
  3603. cr.sendContainerState(containerMapValue)
  3604. }
  3605. e.encode(v[v2[j].i])
  3606. }
  3607. } else {
  3608. for k2, v2 := range v {
  3609. if cr != nil {
  3610. cr.sendContainerState(containerMapKey)
  3611. }
  3612. e.encode(k2)
  3613. if cr != nil {
  3614. cr.sendContainerState(containerMapValue)
  3615. }
  3616. ee.EncodeUint(uint64(v2))
  3617. }
  3618. }
  3619. if cr != nil {
  3620. cr.sendContainerState(containerMapEnd)
  3621. }
  3622. }
  3623. func (f *encFnInfo) fastpathEncMapIntfUint64R(rv reflect.Value) {
  3624. fastpathTV.EncMapIntfUint64V(rv2i(rv).(map[interface{}]uint64), fastpathCheckNilFalse, f.e)
  3625. }
  3626. func (_ fastpathT) EncMapIntfUint64V(v map[interface{}]uint64, checkNil bool, e *Encoder) {
  3627. ee := e.e
  3628. cr := e.cr
  3629. if checkNil && v == nil {
  3630. ee.EncodeNil()
  3631. return
  3632. }
  3633. ee.EncodeMapStart(len(v))
  3634. if e.h.Canonical {
  3635. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3636. e2 := NewEncoderBytes(&mksv, e.hh)
  3637. v2 := make([]bytesI, len(v))
  3638. var i, l int
  3639. var vp *bytesI
  3640. for k2, _ := range v {
  3641. l = len(mksv)
  3642. e2.MustEncode(k2)
  3643. vp = &v2[i]
  3644. vp.v = mksv[l:]
  3645. vp.i = k2
  3646. i++
  3647. }
  3648. sort.Sort(bytesISlice(v2))
  3649. for j := range v2 {
  3650. if cr != nil {
  3651. cr.sendContainerState(containerMapKey)
  3652. }
  3653. e.asis(v2[j].v)
  3654. if cr != nil {
  3655. cr.sendContainerState(containerMapValue)
  3656. }
  3657. e.encode(v[v2[j].i])
  3658. }
  3659. } else {
  3660. for k2, v2 := range v {
  3661. if cr != nil {
  3662. cr.sendContainerState(containerMapKey)
  3663. }
  3664. e.encode(k2)
  3665. if cr != nil {
  3666. cr.sendContainerState(containerMapValue)
  3667. }
  3668. ee.EncodeUint(uint64(v2))
  3669. }
  3670. }
  3671. if cr != nil {
  3672. cr.sendContainerState(containerMapEnd)
  3673. }
  3674. }
  3675. func (f *encFnInfo) fastpathEncMapIntfUintptrR(rv reflect.Value) {
  3676. fastpathTV.EncMapIntfUintptrV(rv2i(rv).(map[interface{}]uintptr), fastpathCheckNilFalse, f.e)
  3677. }
  3678. func (_ fastpathT) EncMapIntfUintptrV(v map[interface{}]uintptr, checkNil bool, e *Encoder) {
  3679. ee := e.e
  3680. cr := e.cr
  3681. if checkNil && v == nil {
  3682. ee.EncodeNil()
  3683. return
  3684. }
  3685. ee.EncodeMapStart(len(v))
  3686. if e.h.Canonical {
  3687. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3688. e2 := NewEncoderBytes(&mksv, e.hh)
  3689. v2 := make([]bytesI, len(v))
  3690. var i, l int
  3691. var vp *bytesI
  3692. for k2, _ := range v {
  3693. l = len(mksv)
  3694. e2.MustEncode(k2)
  3695. vp = &v2[i]
  3696. vp.v = mksv[l:]
  3697. vp.i = k2
  3698. i++
  3699. }
  3700. sort.Sort(bytesISlice(v2))
  3701. for j := range v2 {
  3702. if cr != nil {
  3703. cr.sendContainerState(containerMapKey)
  3704. }
  3705. e.asis(v2[j].v)
  3706. if cr != nil {
  3707. cr.sendContainerState(containerMapValue)
  3708. }
  3709. e.encode(v[v2[j].i])
  3710. }
  3711. } else {
  3712. for k2, v2 := range v {
  3713. if cr != nil {
  3714. cr.sendContainerState(containerMapKey)
  3715. }
  3716. e.encode(k2)
  3717. if cr != nil {
  3718. cr.sendContainerState(containerMapValue)
  3719. }
  3720. e.encode(v2)
  3721. }
  3722. }
  3723. if cr != nil {
  3724. cr.sendContainerState(containerMapEnd)
  3725. }
  3726. }
  3727. func (f *encFnInfo) fastpathEncMapIntfIntR(rv reflect.Value) {
  3728. fastpathTV.EncMapIntfIntV(rv2i(rv).(map[interface{}]int), fastpathCheckNilFalse, f.e)
  3729. }
  3730. func (_ fastpathT) EncMapIntfIntV(v map[interface{}]int, checkNil bool, e *Encoder) {
  3731. ee := e.e
  3732. cr := e.cr
  3733. if checkNil && v == nil {
  3734. ee.EncodeNil()
  3735. return
  3736. }
  3737. ee.EncodeMapStart(len(v))
  3738. if e.h.Canonical {
  3739. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3740. e2 := NewEncoderBytes(&mksv, e.hh)
  3741. v2 := make([]bytesI, len(v))
  3742. var i, l int
  3743. var vp *bytesI
  3744. for k2, _ := range v {
  3745. l = len(mksv)
  3746. e2.MustEncode(k2)
  3747. vp = &v2[i]
  3748. vp.v = mksv[l:]
  3749. vp.i = k2
  3750. i++
  3751. }
  3752. sort.Sort(bytesISlice(v2))
  3753. for j := range v2 {
  3754. if cr != nil {
  3755. cr.sendContainerState(containerMapKey)
  3756. }
  3757. e.asis(v2[j].v)
  3758. if cr != nil {
  3759. cr.sendContainerState(containerMapValue)
  3760. }
  3761. e.encode(v[v2[j].i])
  3762. }
  3763. } else {
  3764. for k2, v2 := range v {
  3765. if cr != nil {
  3766. cr.sendContainerState(containerMapKey)
  3767. }
  3768. e.encode(k2)
  3769. if cr != nil {
  3770. cr.sendContainerState(containerMapValue)
  3771. }
  3772. ee.EncodeInt(int64(v2))
  3773. }
  3774. }
  3775. if cr != nil {
  3776. cr.sendContainerState(containerMapEnd)
  3777. }
  3778. }
  3779. func (f *encFnInfo) fastpathEncMapIntfInt8R(rv reflect.Value) {
  3780. fastpathTV.EncMapIntfInt8V(rv2i(rv).(map[interface{}]int8), fastpathCheckNilFalse, f.e)
  3781. }
  3782. func (_ fastpathT) EncMapIntfInt8V(v map[interface{}]int8, checkNil bool, e *Encoder) {
  3783. ee := e.e
  3784. cr := e.cr
  3785. if checkNil && v == nil {
  3786. ee.EncodeNil()
  3787. return
  3788. }
  3789. ee.EncodeMapStart(len(v))
  3790. if e.h.Canonical {
  3791. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3792. e2 := NewEncoderBytes(&mksv, e.hh)
  3793. v2 := make([]bytesI, len(v))
  3794. var i, l int
  3795. var vp *bytesI
  3796. for k2, _ := range v {
  3797. l = len(mksv)
  3798. e2.MustEncode(k2)
  3799. vp = &v2[i]
  3800. vp.v = mksv[l:]
  3801. vp.i = k2
  3802. i++
  3803. }
  3804. sort.Sort(bytesISlice(v2))
  3805. for j := range v2 {
  3806. if cr != nil {
  3807. cr.sendContainerState(containerMapKey)
  3808. }
  3809. e.asis(v2[j].v)
  3810. if cr != nil {
  3811. cr.sendContainerState(containerMapValue)
  3812. }
  3813. e.encode(v[v2[j].i])
  3814. }
  3815. } else {
  3816. for k2, v2 := range v {
  3817. if cr != nil {
  3818. cr.sendContainerState(containerMapKey)
  3819. }
  3820. e.encode(k2)
  3821. if cr != nil {
  3822. cr.sendContainerState(containerMapValue)
  3823. }
  3824. ee.EncodeInt(int64(v2))
  3825. }
  3826. }
  3827. if cr != nil {
  3828. cr.sendContainerState(containerMapEnd)
  3829. }
  3830. }
  3831. func (f *encFnInfo) fastpathEncMapIntfInt16R(rv reflect.Value) {
  3832. fastpathTV.EncMapIntfInt16V(rv2i(rv).(map[interface{}]int16), fastpathCheckNilFalse, f.e)
  3833. }
  3834. func (_ fastpathT) EncMapIntfInt16V(v map[interface{}]int16, checkNil bool, e *Encoder) {
  3835. ee := e.e
  3836. cr := e.cr
  3837. if checkNil && v == nil {
  3838. ee.EncodeNil()
  3839. return
  3840. }
  3841. ee.EncodeMapStart(len(v))
  3842. if e.h.Canonical {
  3843. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3844. e2 := NewEncoderBytes(&mksv, e.hh)
  3845. v2 := make([]bytesI, len(v))
  3846. var i, l int
  3847. var vp *bytesI
  3848. for k2, _ := range v {
  3849. l = len(mksv)
  3850. e2.MustEncode(k2)
  3851. vp = &v2[i]
  3852. vp.v = mksv[l:]
  3853. vp.i = k2
  3854. i++
  3855. }
  3856. sort.Sort(bytesISlice(v2))
  3857. for j := range v2 {
  3858. if cr != nil {
  3859. cr.sendContainerState(containerMapKey)
  3860. }
  3861. e.asis(v2[j].v)
  3862. if cr != nil {
  3863. cr.sendContainerState(containerMapValue)
  3864. }
  3865. e.encode(v[v2[j].i])
  3866. }
  3867. } else {
  3868. for k2, v2 := range v {
  3869. if cr != nil {
  3870. cr.sendContainerState(containerMapKey)
  3871. }
  3872. e.encode(k2)
  3873. if cr != nil {
  3874. cr.sendContainerState(containerMapValue)
  3875. }
  3876. ee.EncodeInt(int64(v2))
  3877. }
  3878. }
  3879. if cr != nil {
  3880. cr.sendContainerState(containerMapEnd)
  3881. }
  3882. }
  3883. func (f *encFnInfo) fastpathEncMapIntfInt32R(rv reflect.Value) {
  3884. fastpathTV.EncMapIntfInt32V(rv2i(rv).(map[interface{}]int32), fastpathCheckNilFalse, f.e)
  3885. }
  3886. func (_ fastpathT) EncMapIntfInt32V(v map[interface{}]int32, checkNil bool, e *Encoder) {
  3887. ee := e.e
  3888. cr := e.cr
  3889. if checkNil && v == nil {
  3890. ee.EncodeNil()
  3891. return
  3892. }
  3893. ee.EncodeMapStart(len(v))
  3894. if e.h.Canonical {
  3895. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3896. e2 := NewEncoderBytes(&mksv, e.hh)
  3897. v2 := make([]bytesI, len(v))
  3898. var i, l int
  3899. var vp *bytesI
  3900. for k2, _ := range v {
  3901. l = len(mksv)
  3902. e2.MustEncode(k2)
  3903. vp = &v2[i]
  3904. vp.v = mksv[l:]
  3905. vp.i = k2
  3906. i++
  3907. }
  3908. sort.Sort(bytesISlice(v2))
  3909. for j := range v2 {
  3910. if cr != nil {
  3911. cr.sendContainerState(containerMapKey)
  3912. }
  3913. e.asis(v2[j].v)
  3914. if cr != nil {
  3915. cr.sendContainerState(containerMapValue)
  3916. }
  3917. e.encode(v[v2[j].i])
  3918. }
  3919. } else {
  3920. for k2, v2 := range v {
  3921. if cr != nil {
  3922. cr.sendContainerState(containerMapKey)
  3923. }
  3924. e.encode(k2)
  3925. if cr != nil {
  3926. cr.sendContainerState(containerMapValue)
  3927. }
  3928. ee.EncodeInt(int64(v2))
  3929. }
  3930. }
  3931. if cr != nil {
  3932. cr.sendContainerState(containerMapEnd)
  3933. }
  3934. }
  3935. func (f *encFnInfo) fastpathEncMapIntfInt64R(rv reflect.Value) {
  3936. fastpathTV.EncMapIntfInt64V(rv2i(rv).(map[interface{}]int64), fastpathCheckNilFalse, f.e)
  3937. }
  3938. func (_ fastpathT) EncMapIntfInt64V(v map[interface{}]int64, checkNil bool, e *Encoder) {
  3939. ee := e.e
  3940. cr := e.cr
  3941. if checkNil && v == nil {
  3942. ee.EncodeNil()
  3943. return
  3944. }
  3945. ee.EncodeMapStart(len(v))
  3946. if e.h.Canonical {
  3947. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  3948. e2 := NewEncoderBytes(&mksv, e.hh)
  3949. v2 := make([]bytesI, len(v))
  3950. var i, l int
  3951. var vp *bytesI
  3952. for k2, _ := range v {
  3953. l = len(mksv)
  3954. e2.MustEncode(k2)
  3955. vp = &v2[i]
  3956. vp.v = mksv[l:]
  3957. vp.i = k2
  3958. i++
  3959. }
  3960. sort.Sort(bytesISlice(v2))
  3961. for j := range v2 {
  3962. if cr != nil {
  3963. cr.sendContainerState(containerMapKey)
  3964. }
  3965. e.asis(v2[j].v)
  3966. if cr != nil {
  3967. cr.sendContainerState(containerMapValue)
  3968. }
  3969. e.encode(v[v2[j].i])
  3970. }
  3971. } else {
  3972. for k2, v2 := range v {
  3973. if cr != nil {
  3974. cr.sendContainerState(containerMapKey)
  3975. }
  3976. e.encode(k2)
  3977. if cr != nil {
  3978. cr.sendContainerState(containerMapValue)
  3979. }
  3980. ee.EncodeInt(int64(v2))
  3981. }
  3982. }
  3983. if cr != nil {
  3984. cr.sendContainerState(containerMapEnd)
  3985. }
  3986. }
  3987. func (f *encFnInfo) fastpathEncMapIntfFloat32R(rv reflect.Value) {
  3988. fastpathTV.EncMapIntfFloat32V(rv2i(rv).(map[interface{}]float32), fastpathCheckNilFalse, f.e)
  3989. }
  3990. func (_ fastpathT) EncMapIntfFloat32V(v map[interface{}]float32, checkNil bool, e *Encoder) {
  3991. ee := e.e
  3992. cr := e.cr
  3993. if checkNil && v == nil {
  3994. ee.EncodeNil()
  3995. return
  3996. }
  3997. ee.EncodeMapStart(len(v))
  3998. if e.h.Canonical {
  3999. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  4000. e2 := NewEncoderBytes(&mksv, e.hh)
  4001. v2 := make([]bytesI, len(v))
  4002. var i, l int
  4003. var vp *bytesI
  4004. for k2, _ := range v {
  4005. l = len(mksv)
  4006. e2.MustEncode(k2)
  4007. vp = &v2[i]
  4008. vp.v = mksv[l:]
  4009. vp.i = k2
  4010. i++
  4011. }
  4012. sort.Sort(bytesISlice(v2))
  4013. for j := range v2 {
  4014. if cr != nil {
  4015. cr.sendContainerState(containerMapKey)
  4016. }
  4017. e.asis(v2[j].v)
  4018. if cr != nil {
  4019. cr.sendContainerState(containerMapValue)
  4020. }
  4021. e.encode(v[v2[j].i])
  4022. }
  4023. } else {
  4024. for k2, v2 := range v {
  4025. if cr != nil {
  4026. cr.sendContainerState(containerMapKey)
  4027. }
  4028. e.encode(k2)
  4029. if cr != nil {
  4030. cr.sendContainerState(containerMapValue)
  4031. }
  4032. ee.EncodeFloat32(v2)
  4033. }
  4034. }
  4035. if cr != nil {
  4036. cr.sendContainerState(containerMapEnd)
  4037. }
  4038. }
  4039. func (f *encFnInfo) fastpathEncMapIntfFloat64R(rv reflect.Value) {
  4040. fastpathTV.EncMapIntfFloat64V(rv2i(rv).(map[interface{}]float64), fastpathCheckNilFalse, f.e)
  4041. }
  4042. func (_ fastpathT) EncMapIntfFloat64V(v map[interface{}]float64, checkNil bool, e *Encoder) {
  4043. ee := e.e
  4044. cr := e.cr
  4045. if checkNil && v == nil {
  4046. ee.EncodeNil()
  4047. return
  4048. }
  4049. ee.EncodeMapStart(len(v))
  4050. if e.h.Canonical {
  4051. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  4052. e2 := NewEncoderBytes(&mksv, e.hh)
  4053. v2 := make([]bytesI, len(v))
  4054. var i, l int
  4055. var vp *bytesI
  4056. for k2, _ := range v {
  4057. l = len(mksv)
  4058. e2.MustEncode(k2)
  4059. vp = &v2[i]
  4060. vp.v = mksv[l:]
  4061. vp.i = k2
  4062. i++
  4063. }
  4064. sort.Sort(bytesISlice(v2))
  4065. for j := range v2 {
  4066. if cr != nil {
  4067. cr.sendContainerState(containerMapKey)
  4068. }
  4069. e.asis(v2[j].v)
  4070. if cr != nil {
  4071. cr.sendContainerState(containerMapValue)
  4072. }
  4073. e.encode(v[v2[j].i])
  4074. }
  4075. } else {
  4076. for k2, v2 := range v {
  4077. if cr != nil {
  4078. cr.sendContainerState(containerMapKey)
  4079. }
  4080. e.encode(k2)
  4081. if cr != nil {
  4082. cr.sendContainerState(containerMapValue)
  4083. }
  4084. ee.EncodeFloat64(v2)
  4085. }
  4086. }
  4087. if cr != nil {
  4088. cr.sendContainerState(containerMapEnd)
  4089. }
  4090. }
  4091. func (f *encFnInfo) fastpathEncMapIntfBoolR(rv reflect.Value) {
  4092. fastpathTV.EncMapIntfBoolV(rv2i(rv).(map[interface{}]bool), fastpathCheckNilFalse, f.e)
  4093. }
  4094. func (_ fastpathT) EncMapIntfBoolV(v map[interface{}]bool, checkNil bool, e *Encoder) {
  4095. ee := e.e
  4096. cr := e.cr
  4097. if checkNil && v == nil {
  4098. ee.EncodeNil()
  4099. return
  4100. }
  4101. ee.EncodeMapStart(len(v))
  4102. if e.h.Canonical {
  4103. var mksv []byte = make([]byte, 0, len(v)*16) // temporary byte slice for the encoding
  4104. e2 := NewEncoderBytes(&mksv, e.hh)
  4105. v2 := make([]bytesI, len(v))
  4106. var i, l int
  4107. var vp *bytesI
  4108. for k2, _ := range v {
  4109. l = len(mksv)
  4110. e2.MustEncode(k2)
  4111. vp = &v2[i]
  4112. vp.v = mksv[l:]
  4113. vp.i = k2
  4114. i++
  4115. }
  4116. sort.Sort(bytesISlice(v2))
  4117. for j := range v2 {
  4118. if cr != nil {
  4119. cr.sendContainerState(containerMapKey)
  4120. }
  4121. e.asis(v2[j].v)
  4122. if cr != nil {
  4123. cr.sendContainerState(containerMapValue)
  4124. }
  4125. e.encode(v[v2[j].i])
  4126. }
  4127. } else {
  4128. for k2, v2 := range v {
  4129. if cr != nil {
  4130. cr.sendContainerState(containerMapKey)
  4131. }
  4132. e.encode(k2)
  4133. if cr != nil {
  4134. cr.sendContainerState(containerMapValue)
  4135. }
  4136. ee.EncodeBool(v2)
  4137. }
  4138. }
  4139. if cr != nil {
  4140. cr.sendContainerState(containerMapEnd)
  4141. }
  4142. }
  4143. func (f *encFnInfo) fastpathEncMapStringIntfR(rv reflect.Value) {
  4144. fastpathTV.EncMapStringIntfV(rv2i(rv).(map[string]interface{}), fastpathCheckNilFalse, f.e)
  4145. }
  4146. func (_ fastpathT) EncMapStringIntfV(v map[string]interface{}, checkNil bool, e *Encoder) {
  4147. ee := e.e
  4148. cr := e.cr
  4149. if checkNil && v == nil {
  4150. ee.EncodeNil()
  4151. return
  4152. }
  4153. ee.EncodeMapStart(len(v))
  4154. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4155. if e.h.Canonical {
  4156. v2 := make([]string, len(v))
  4157. var i int
  4158. for k, _ := range v {
  4159. v2[i] = string(k)
  4160. i++
  4161. }
  4162. sort.Sort(stringSlice(v2))
  4163. for _, k2 := range v2 {
  4164. if cr != nil {
  4165. cr.sendContainerState(containerMapKey)
  4166. }
  4167. if asSymbols {
  4168. ee.EncodeSymbol(k2)
  4169. } else {
  4170. ee.EncodeString(c_UTF8, k2)
  4171. }
  4172. if cr != nil {
  4173. cr.sendContainerState(containerMapValue)
  4174. }
  4175. e.encode(v[string(k2)])
  4176. }
  4177. } else {
  4178. for k2, v2 := range v {
  4179. if cr != nil {
  4180. cr.sendContainerState(containerMapKey)
  4181. }
  4182. if asSymbols {
  4183. ee.EncodeSymbol(k2)
  4184. } else {
  4185. ee.EncodeString(c_UTF8, k2)
  4186. }
  4187. if cr != nil {
  4188. cr.sendContainerState(containerMapValue)
  4189. }
  4190. e.encode(v2)
  4191. }
  4192. }
  4193. if cr != nil {
  4194. cr.sendContainerState(containerMapEnd)
  4195. }
  4196. }
  4197. func (f *encFnInfo) fastpathEncMapStringStringR(rv reflect.Value) {
  4198. fastpathTV.EncMapStringStringV(rv2i(rv).(map[string]string), fastpathCheckNilFalse, f.e)
  4199. }
  4200. func (_ fastpathT) EncMapStringStringV(v map[string]string, checkNil bool, e *Encoder) {
  4201. ee := e.e
  4202. cr := e.cr
  4203. if checkNil && v == nil {
  4204. ee.EncodeNil()
  4205. return
  4206. }
  4207. ee.EncodeMapStart(len(v))
  4208. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4209. if e.h.Canonical {
  4210. v2 := make([]string, len(v))
  4211. var i int
  4212. for k, _ := range v {
  4213. v2[i] = string(k)
  4214. i++
  4215. }
  4216. sort.Sort(stringSlice(v2))
  4217. for _, k2 := range v2 {
  4218. if cr != nil {
  4219. cr.sendContainerState(containerMapKey)
  4220. }
  4221. if asSymbols {
  4222. ee.EncodeSymbol(k2)
  4223. } else {
  4224. ee.EncodeString(c_UTF8, k2)
  4225. }
  4226. if cr != nil {
  4227. cr.sendContainerState(containerMapValue)
  4228. }
  4229. ee.EncodeString(c_UTF8, v[string(k2)])
  4230. }
  4231. } else {
  4232. for k2, v2 := range v {
  4233. if cr != nil {
  4234. cr.sendContainerState(containerMapKey)
  4235. }
  4236. if asSymbols {
  4237. ee.EncodeSymbol(k2)
  4238. } else {
  4239. ee.EncodeString(c_UTF8, k2)
  4240. }
  4241. if cr != nil {
  4242. cr.sendContainerState(containerMapValue)
  4243. }
  4244. ee.EncodeString(c_UTF8, v2)
  4245. }
  4246. }
  4247. if cr != nil {
  4248. cr.sendContainerState(containerMapEnd)
  4249. }
  4250. }
  4251. func (f *encFnInfo) fastpathEncMapStringUintR(rv reflect.Value) {
  4252. fastpathTV.EncMapStringUintV(rv2i(rv).(map[string]uint), fastpathCheckNilFalse, f.e)
  4253. }
  4254. func (_ fastpathT) EncMapStringUintV(v map[string]uint, checkNil bool, e *Encoder) {
  4255. ee := e.e
  4256. cr := e.cr
  4257. if checkNil && v == nil {
  4258. ee.EncodeNil()
  4259. return
  4260. }
  4261. ee.EncodeMapStart(len(v))
  4262. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4263. if e.h.Canonical {
  4264. v2 := make([]string, len(v))
  4265. var i int
  4266. for k, _ := range v {
  4267. v2[i] = string(k)
  4268. i++
  4269. }
  4270. sort.Sort(stringSlice(v2))
  4271. for _, k2 := range v2 {
  4272. if cr != nil {
  4273. cr.sendContainerState(containerMapKey)
  4274. }
  4275. if asSymbols {
  4276. ee.EncodeSymbol(k2)
  4277. } else {
  4278. ee.EncodeString(c_UTF8, k2)
  4279. }
  4280. if cr != nil {
  4281. cr.sendContainerState(containerMapValue)
  4282. }
  4283. ee.EncodeUint(uint64(v[string(k2)]))
  4284. }
  4285. } else {
  4286. for k2, v2 := range v {
  4287. if cr != nil {
  4288. cr.sendContainerState(containerMapKey)
  4289. }
  4290. if asSymbols {
  4291. ee.EncodeSymbol(k2)
  4292. } else {
  4293. ee.EncodeString(c_UTF8, k2)
  4294. }
  4295. if cr != nil {
  4296. cr.sendContainerState(containerMapValue)
  4297. }
  4298. ee.EncodeUint(uint64(v2))
  4299. }
  4300. }
  4301. if cr != nil {
  4302. cr.sendContainerState(containerMapEnd)
  4303. }
  4304. }
  4305. func (f *encFnInfo) fastpathEncMapStringUint8R(rv reflect.Value) {
  4306. fastpathTV.EncMapStringUint8V(rv2i(rv).(map[string]uint8), fastpathCheckNilFalse, f.e)
  4307. }
  4308. func (_ fastpathT) EncMapStringUint8V(v map[string]uint8, checkNil bool, e *Encoder) {
  4309. ee := e.e
  4310. cr := e.cr
  4311. if checkNil && v == nil {
  4312. ee.EncodeNil()
  4313. return
  4314. }
  4315. ee.EncodeMapStart(len(v))
  4316. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4317. if e.h.Canonical {
  4318. v2 := make([]string, len(v))
  4319. var i int
  4320. for k, _ := range v {
  4321. v2[i] = string(k)
  4322. i++
  4323. }
  4324. sort.Sort(stringSlice(v2))
  4325. for _, k2 := range v2 {
  4326. if cr != nil {
  4327. cr.sendContainerState(containerMapKey)
  4328. }
  4329. if asSymbols {
  4330. ee.EncodeSymbol(k2)
  4331. } else {
  4332. ee.EncodeString(c_UTF8, k2)
  4333. }
  4334. if cr != nil {
  4335. cr.sendContainerState(containerMapValue)
  4336. }
  4337. ee.EncodeUint(uint64(v[string(k2)]))
  4338. }
  4339. } else {
  4340. for k2, v2 := range v {
  4341. if cr != nil {
  4342. cr.sendContainerState(containerMapKey)
  4343. }
  4344. if asSymbols {
  4345. ee.EncodeSymbol(k2)
  4346. } else {
  4347. ee.EncodeString(c_UTF8, k2)
  4348. }
  4349. if cr != nil {
  4350. cr.sendContainerState(containerMapValue)
  4351. }
  4352. ee.EncodeUint(uint64(v2))
  4353. }
  4354. }
  4355. if cr != nil {
  4356. cr.sendContainerState(containerMapEnd)
  4357. }
  4358. }
  4359. func (f *encFnInfo) fastpathEncMapStringUint16R(rv reflect.Value) {
  4360. fastpathTV.EncMapStringUint16V(rv2i(rv).(map[string]uint16), fastpathCheckNilFalse, f.e)
  4361. }
  4362. func (_ fastpathT) EncMapStringUint16V(v map[string]uint16, checkNil bool, e *Encoder) {
  4363. ee := e.e
  4364. cr := e.cr
  4365. if checkNil && v == nil {
  4366. ee.EncodeNil()
  4367. return
  4368. }
  4369. ee.EncodeMapStart(len(v))
  4370. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4371. if e.h.Canonical {
  4372. v2 := make([]string, len(v))
  4373. var i int
  4374. for k, _ := range v {
  4375. v2[i] = string(k)
  4376. i++
  4377. }
  4378. sort.Sort(stringSlice(v2))
  4379. for _, k2 := range v2 {
  4380. if cr != nil {
  4381. cr.sendContainerState(containerMapKey)
  4382. }
  4383. if asSymbols {
  4384. ee.EncodeSymbol(k2)
  4385. } else {
  4386. ee.EncodeString(c_UTF8, k2)
  4387. }
  4388. if cr != nil {
  4389. cr.sendContainerState(containerMapValue)
  4390. }
  4391. ee.EncodeUint(uint64(v[string(k2)]))
  4392. }
  4393. } else {
  4394. for k2, v2 := range v {
  4395. if cr != nil {
  4396. cr.sendContainerState(containerMapKey)
  4397. }
  4398. if asSymbols {
  4399. ee.EncodeSymbol(k2)
  4400. } else {
  4401. ee.EncodeString(c_UTF8, k2)
  4402. }
  4403. if cr != nil {
  4404. cr.sendContainerState(containerMapValue)
  4405. }
  4406. ee.EncodeUint(uint64(v2))
  4407. }
  4408. }
  4409. if cr != nil {
  4410. cr.sendContainerState(containerMapEnd)
  4411. }
  4412. }
  4413. func (f *encFnInfo) fastpathEncMapStringUint32R(rv reflect.Value) {
  4414. fastpathTV.EncMapStringUint32V(rv2i(rv).(map[string]uint32), fastpathCheckNilFalse, f.e)
  4415. }
  4416. func (_ fastpathT) EncMapStringUint32V(v map[string]uint32, checkNil bool, e *Encoder) {
  4417. ee := e.e
  4418. cr := e.cr
  4419. if checkNil && v == nil {
  4420. ee.EncodeNil()
  4421. return
  4422. }
  4423. ee.EncodeMapStart(len(v))
  4424. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4425. if e.h.Canonical {
  4426. v2 := make([]string, len(v))
  4427. var i int
  4428. for k, _ := range v {
  4429. v2[i] = string(k)
  4430. i++
  4431. }
  4432. sort.Sort(stringSlice(v2))
  4433. for _, k2 := range v2 {
  4434. if cr != nil {
  4435. cr.sendContainerState(containerMapKey)
  4436. }
  4437. if asSymbols {
  4438. ee.EncodeSymbol(k2)
  4439. } else {
  4440. ee.EncodeString(c_UTF8, k2)
  4441. }
  4442. if cr != nil {
  4443. cr.sendContainerState(containerMapValue)
  4444. }
  4445. ee.EncodeUint(uint64(v[string(k2)]))
  4446. }
  4447. } else {
  4448. for k2, v2 := range v {
  4449. if cr != nil {
  4450. cr.sendContainerState(containerMapKey)
  4451. }
  4452. if asSymbols {
  4453. ee.EncodeSymbol(k2)
  4454. } else {
  4455. ee.EncodeString(c_UTF8, k2)
  4456. }
  4457. if cr != nil {
  4458. cr.sendContainerState(containerMapValue)
  4459. }
  4460. ee.EncodeUint(uint64(v2))
  4461. }
  4462. }
  4463. if cr != nil {
  4464. cr.sendContainerState(containerMapEnd)
  4465. }
  4466. }
  4467. func (f *encFnInfo) fastpathEncMapStringUint64R(rv reflect.Value) {
  4468. fastpathTV.EncMapStringUint64V(rv2i(rv).(map[string]uint64), fastpathCheckNilFalse, f.e)
  4469. }
  4470. func (_ fastpathT) EncMapStringUint64V(v map[string]uint64, checkNil bool, e *Encoder) {
  4471. ee := e.e
  4472. cr := e.cr
  4473. if checkNil && v == nil {
  4474. ee.EncodeNil()
  4475. return
  4476. }
  4477. ee.EncodeMapStart(len(v))
  4478. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4479. if e.h.Canonical {
  4480. v2 := make([]string, len(v))
  4481. var i int
  4482. for k, _ := range v {
  4483. v2[i] = string(k)
  4484. i++
  4485. }
  4486. sort.Sort(stringSlice(v2))
  4487. for _, k2 := range v2 {
  4488. if cr != nil {
  4489. cr.sendContainerState(containerMapKey)
  4490. }
  4491. if asSymbols {
  4492. ee.EncodeSymbol(k2)
  4493. } else {
  4494. ee.EncodeString(c_UTF8, k2)
  4495. }
  4496. if cr != nil {
  4497. cr.sendContainerState(containerMapValue)
  4498. }
  4499. ee.EncodeUint(uint64(v[string(k2)]))
  4500. }
  4501. } else {
  4502. for k2, v2 := range v {
  4503. if cr != nil {
  4504. cr.sendContainerState(containerMapKey)
  4505. }
  4506. if asSymbols {
  4507. ee.EncodeSymbol(k2)
  4508. } else {
  4509. ee.EncodeString(c_UTF8, k2)
  4510. }
  4511. if cr != nil {
  4512. cr.sendContainerState(containerMapValue)
  4513. }
  4514. ee.EncodeUint(uint64(v2))
  4515. }
  4516. }
  4517. if cr != nil {
  4518. cr.sendContainerState(containerMapEnd)
  4519. }
  4520. }
  4521. func (f *encFnInfo) fastpathEncMapStringUintptrR(rv reflect.Value) {
  4522. fastpathTV.EncMapStringUintptrV(rv2i(rv).(map[string]uintptr), fastpathCheckNilFalse, f.e)
  4523. }
  4524. func (_ fastpathT) EncMapStringUintptrV(v map[string]uintptr, checkNil bool, e *Encoder) {
  4525. ee := e.e
  4526. cr := e.cr
  4527. if checkNil && v == nil {
  4528. ee.EncodeNil()
  4529. return
  4530. }
  4531. ee.EncodeMapStart(len(v))
  4532. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4533. if e.h.Canonical {
  4534. v2 := make([]string, len(v))
  4535. var i int
  4536. for k, _ := range v {
  4537. v2[i] = string(k)
  4538. i++
  4539. }
  4540. sort.Sort(stringSlice(v2))
  4541. for _, k2 := range v2 {
  4542. if cr != nil {
  4543. cr.sendContainerState(containerMapKey)
  4544. }
  4545. if asSymbols {
  4546. ee.EncodeSymbol(k2)
  4547. } else {
  4548. ee.EncodeString(c_UTF8, k2)
  4549. }
  4550. if cr != nil {
  4551. cr.sendContainerState(containerMapValue)
  4552. }
  4553. e.encode(v[string(k2)])
  4554. }
  4555. } else {
  4556. for k2, v2 := range v {
  4557. if cr != nil {
  4558. cr.sendContainerState(containerMapKey)
  4559. }
  4560. if asSymbols {
  4561. ee.EncodeSymbol(k2)
  4562. } else {
  4563. ee.EncodeString(c_UTF8, k2)
  4564. }
  4565. if cr != nil {
  4566. cr.sendContainerState(containerMapValue)
  4567. }
  4568. e.encode(v2)
  4569. }
  4570. }
  4571. if cr != nil {
  4572. cr.sendContainerState(containerMapEnd)
  4573. }
  4574. }
  4575. func (f *encFnInfo) fastpathEncMapStringIntR(rv reflect.Value) {
  4576. fastpathTV.EncMapStringIntV(rv2i(rv).(map[string]int), fastpathCheckNilFalse, f.e)
  4577. }
  4578. func (_ fastpathT) EncMapStringIntV(v map[string]int, checkNil bool, e *Encoder) {
  4579. ee := e.e
  4580. cr := e.cr
  4581. if checkNil && v == nil {
  4582. ee.EncodeNil()
  4583. return
  4584. }
  4585. ee.EncodeMapStart(len(v))
  4586. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4587. if e.h.Canonical {
  4588. v2 := make([]string, len(v))
  4589. var i int
  4590. for k, _ := range v {
  4591. v2[i] = string(k)
  4592. i++
  4593. }
  4594. sort.Sort(stringSlice(v2))
  4595. for _, k2 := range v2 {
  4596. if cr != nil {
  4597. cr.sendContainerState(containerMapKey)
  4598. }
  4599. if asSymbols {
  4600. ee.EncodeSymbol(k2)
  4601. } else {
  4602. ee.EncodeString(c_UTF8, k2)
  4603. }
  4604. if cr != nil {
  4605. cr.sendContainerState(containerMapValue)
  4606. }
  4607. ee.EncodeInt(int64(v[string(k2)]))
  4608. }
  4609. } else {
  4610. for k2, v2 := range v {
  4611. if cr != nil {
  4612. cr.sendContainerState(containerMapKey)
  4613. }
  4614. if asSymbols {
  4615. ee.EncodeSymbol(k2)
  4616. } else {
  4617. ee.EncodeString(c_UTF8, k2)
  4618. }
  4619. if cr != nil {
  4620. cr.sendContainerState(containerMapValue)
  4621. }
  4622. ee.EncodeInt(int64(v2))
  4623. }
  4624. }
  4625. if cr != nil {
  4626. cr.sendContainerState(containerMapEnd)
  4627. }
  4628. }
  4629. func (f *encFnInfo) fastpathEncMapStringInt8R(rv reflect.Value) {
  4630. fastpathTV.EncMapStringInt8V(rv2i(rv).(map[string]int8), fastpathCheckNilFalse, f.e)
  4631. }
  4632. func (_ fastpathT) EncMapStringInt8V(v map[string]int8, checkNil bool, e *Encoder) {
  4633. ee := e.e
  4634. cr := e.cr
  4635. if checkNil && v == nil {
  4636. ee.EncodeNil()
  4637. return
  4638. }
  4639. ee.EncodeMapStart(len(v))
  4640. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4641. if e.h.Canonical {
  4642. v2 := make([]string, len(v))
  4643. var i int
  4644. for k, _ := range v {
  4645. v2[i] = string(k)
  4646. i++
  4647. }
  4648. sort.Sort(stringSlice(v2))
  4649. for _, k2 := range v2 {
  4650. if cr != nil {
  4651. cr.sendContainerState(containerMapKey)
  4652. }
  4653. if asSymbols {
  4654. ee.EncodeSymbol(k2)
  4655. } else {
  4656. ee.EncodeString(c_UTF8, k2)
  4657. }
  4658. if cr != nil {
  4659. cr.sendContainerState(containerMapValue)
  4660. }
  4661. ee.EncodeInt(int64(v[string(k2)]))
  4662. }
  4663. } else {
  4664. for k2, v2 := range v {
  4665. if cr != nil {
  4666. cr.sendContainerState(containerMapKey)
  4667. }
  4668. if asSymbols {
  4669. ee.EncodeSymbol(k2)
  4670. } else {
  4671. ee.EncodeString(c_UTF8, k2)
  4672. }
  4673. if cr != nil {
  4674. cr.sendContainerState(containerMapValue)
  4675. }
  4676. ee.EncodeInt(int64(v2))
  4677. }
  4678. }
  4679. if cr != nil {
  4680. cr.sendContainerState(containerMapEnd)
  4681. }
  4682. }
  4683. func (f *encFnInfo) fastpathEncMapStringInt16R(rv reflect.Value) {
  4684. fastpathTV.EncMapStringInt16V(rv2i(rv).(map[string]int16), fastpathCheckNilFalse, f.e)
  4685. }
  4686. func (_ fastpathT) EncMapStringInt16V(v map[string]int16, checkNil bool, e *Encoder) {
  4687. ee := e.e
  4688. cr := e.cr
  4689. if checkNil && v == nil {
  4690. ee.EncodeNil()
  4691. return
  4692. }
  4693. ee.EncodeMapStart(len(v))
  4694. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4695. if e.h.Canonical {
  4696. v2 := make([]string, len(v))
  4697. var i int
  4698. for k, _ := range v {
  4699. v2[i] = string(k)
  4700. i++
  4701. }
  4702. sort.Sort(stringSlice(v2))
  4703. for _, k2 := range v2 {
  4704. if cr != nil {
  4705. cr.sendContainerState(containerMapKey)
  4706. }
  4707. if asSymbols {
  4708. ee.EncodeSymbol(k2)
  4709. } else {
  4710. ee.EncodeString(c_UTF8, k2)
  4711. }
  4712. if cr != nil {
  4713. cr.sendContainerState(containerMapValue)
  4714. }
  4715. ee.EncodeInt(int64(v[string(k2)]))
  4716. }
  4717. } else {
  4718. for k2, v2 := range v {
  4719. if cr != nil {
  4720. cr.sendContainerState(containerMapKey)
  4721. }
  4722. if asSymbols {
  4723. ee.EncodeSymbol(k2)
  4724. } else {
  4725. ee.EncodeString(c_UTF8, k2)
  4726. }
  4727. if cr != nil {
  4728. cr.sendContainerState(containerMapValue)
  4729. }
  4730. ee.EncodeInt(int64(v2))
  4731. }
  4732. }
  4733. if cr != nil {
  4734. cr.sendContainerState(containerMapEnd)
  4735. }
  4736. }
  4737. func (f *encFnInfo) fastpathEncMapStringInt32R(rv reflect.Value) {
  4738. fastpathTV.EncMapStringInt32V(rv2i(rv).(map[string]int32), fastpathCheckNilFalse, f.e)
  4739. }
  4740. func (_ fastpathT) EncMapStringInt32V(v map[string]int32, checkNil bool, e *Encoder) {
  4741. ee := e.e
  4742. cr := e.cr
  4743. if checkNil && v == nil {
  4744. ee.EncodeNil()
  4745. return
  4746. }
  4747. ee.EncodeMapStart(len(v))
  4748. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4749. if e.h.Canonical {
  4750. v2 := make([]string, len(v))
  4751. var i int
  4752. for k, _ := range v {
  4753. v2[i] = string(k)
  4754. i++
  4755. }
  4756. sort.Sort(stringSlice(v2))
  4757. for _, k2 := range v2 {
  4758. if cr != nil {
  4759. cr.sendContainerState(containerMapKey)
  4760. }
  4761. if asSymbols {
  4762. ee.EncodeSymbol(k2)
  4763. } else {
  4764. ee.EncodeString(c_UTF8, k2)
  4765. }
  4766. if cr != nil {
  4767. cr.sendContainerState(containerMapValue)
  4768. }
  4769. ee.EncodeInt(int64(v[string(k2)]))
  4770. }
  4771. } else {
  4772. for k2, v2 := range v {
  4773. if cr != nil {
  4774. cr.sendContainerState(containerMapKey)
  4775. }
  4776. if asSymbols {
  4777. ee.EncodeSymbol(k2)
  4778. } else {
  4779. ee.EncodeString(c_UTF8, k2)
  4780. }
  4781. if cr != nil {
  4782. cr.sendContainerState(containerMapValue)
  4783. }
  4784. ee.EncodeInt(int64(v2))
  4785. }
  4786. }
  4787. if cr != nil {
  4788. cr.sendContainerState(containerMapEnd)
  4789. }
  4790. }
  4791. func (f *encFnInfo) fastpathEncMapStringInt64R(rv reflect.Value) {
  4792. fastpathTV.EncMapStringInt64V(rv2i(rv).(map[string]int64), fastpathCheckNilFalse, f.e)
  4793. }
  4794. func (_ fastpathT) EncMapStringInt64V(v map[string]int64, checkNil bool, e *Encoder) {
  4795. ee := e.e
  4796. cr := e.cr
  4797. if checkNil && v == nil {
  4798. ee.EncodeNil()
  4799. return
  4800. }
  4801. ee.EncodeMapStart(len(v))
  4802. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4803. if e.h.Canonical {
  4804. v2 := make([]string, len(v))
  4805. var i int
  4806. for k, _ := range v {
  4807. v2[i] = string(k)
  4808. i++
  4809. }
  4810. sort.Sort(stringSlice(v2))
  4811. for _, k2 := range v2 {
  4812. if cr != nil {
  4813. cr.sendContainerState(containerMapKey)
  4814. }
  4815. if asSymbols {
  4816. ee.EncodeSymbol(k2)
  4817. } else {
  4818. ee.EncodeString(c_UTF8, k2)
  4819. }
  4820. if cr != nil {
  4821. cr.sendContainerState(containerMapValue)
  4822. }
  4823. ee.EncodeInt(int64(v[string(k2)]))
  4824. }
  4825. } else {
  4826. for k2, v2 := range v {
  4827. if cr != nil {
  4828. cr.sendContainerState(containerMapKey)
  4829. }
  4830. if asSymbols {
  4831. ee.EncodeSymbol(k2)
  4832. } else {
  4833. ee.EncodeString(c_UTF8, k2)
  4834. }
  4835. if cr != nil {
  4836. cr.sendContainerState(containerMapValue)
  4837. }
  4838. ee.EncodeInt(int64(v2))
  4839. }
  4840. }
  4841. if cr != nil {
  4842. cr.sendContainerState(containerMapEnd)
  4843. }
  4844. }
  4845. func (f *encFnInfo) fastpathEncMapStringFloat32R(rv reflect.Value) {
  4846. fastpathTV.EncMapStringFloat32V(rv2i(rv).(map[string]float32), fastpathCheckNilFalse, f.e)
  4847. }
  4848. func (_ fastpathT) EncMapStringFloat32V(v map[string]float32, checkNil bool, e *Encoder) {
  4849. ee := e.e
  4850. cr := e.cr
  4851. if checkNil && v == nil {
  4852. ee.EncodeNil()
  4853. return
  4854. }
  4855. ee.EncodeMapStart(len(v))
  4856. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4857. if e.h.Canonical {
  4858. v2 := make([]string, len(v))
  4859. var i int
  4860. for k, _ := range v {
  4861. v2[i] = string(k)
  4862. i++
  4863. }
  4864. sort.Sort(stringSlice(v2))
  4865. for _, k2 := range v2 {
  4866. if cr != nil {
  4867. cr.sendContainerState(containerMapKey)
  4868. }
  4869. if asSymbols {
  4870. ee.EncodeSymbol(k2)
  4871. } else {
  4872. ee.EncodeString(c_UTF8, k2)
  4873. }
  4874. if cr != nil {
  4875. cr.sendContainerState(containerMapValue)
  4876. }
  4877. ee.EncodeFloat32(v[string(k2)])
  4878. }
  4879. } else {
  4880. for k2, v2 := range v {
  4881. if cr != nil {
  4882. cr.sendContainerState(containerMapKey)
  4883. }
  4884. if asSymbols {
  4885. ee.EncodeSymbol(k2)
  4886. } else {
  4887. ee.EncodeString(c_UTF8, k2)
  4888. }
  4889. if cr != nil {
  4890. cr.sendContainerState(containerMapValue)
  4891. }
  4892. ee.EncodeFloat32(v2)
  4893. }
  4894. }
  4895. if cr != nil {
  4896. cr.sendContainerState(containerMapEnd)
  4897. }
  4898. }
  4899. func (f *encFnInfo) fastpathEncMapStringFloat64R(rv reflect.Value) {
  4900. fastpathTV.EncMapStringFloat64V(rv2i(rv).(map[string]float64), fastpathCheckNilFalse, f.e)
  4901. }
  4902. func (_ fastpathT) EncMapStringFloat64V(v map[string]float64, checkNil bool, e *Encoder) {
  4903. ee := e.e
  4904. cr := e.cr
  4905. if checkNil && v == nil {
  4906. ee.EncodeNil()
  4907. return
  4908. }
  4909. ee.EncodeMapStart(len(v))
  4910. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4911. if e.h.Canonical {
  4912. v2 := make([]string, len(v))
  4913. var i int
  4914. for k, _ := range v {
  4915. v2[i] = string(k)
  4916. i++
  4917. }
  4918. sort.Sort(stringSlice(v2))
  4919. for _, k2 := range v2 {
  4920. if cr != nil {
  4921. cr.sendContainerState(containerMapKey)
  4922. }
  4923. if asSymbols {
  4924. ee.EncodeSymbol(k2)
  4925. } else {
  4926. ee.EncodeString(c_UTF8, k2)
  4927. }
  4928. if cr != nil {
  4929. cr.sendContainerState(containerMapValue)
  4930. }
  4931. ee.EncodeFloat64(v[string(k2)])
  4932. }
  4933. } else {
  4934. for k2, v2 := range v {
  4935. if cr != nil {
  4936. cr.sendContainerState(containerMapKey)
  4937. }
  4938. if asSymbols {
  4939. ee.EncodeSymbol(k2)
  4940. } else {
  4941. ee.EncodeString(c_UTF8, k2)
  4942. }
  4943. if cr != nil {
  4944. cr.sendContainerState(containerMapValue)
  4945. }
  4946. ee.EncodeFloat64(v2)
  4947. }
  4948. }
  4949. if cr != nil {
  4950. cr.sendContainerState(containerMapEnd)
  4951. }
  4952. }
  4953. func (f *encFnInfo) fastpathEncMapStringBoolR(rv reflect.Value) {
  4954. fastpathTV.EncMapStringBoolV(rv2i(rv).(map[string]bool), fastpathCheckNilFalse, f.e)
  4955. }
  4956. func (_ fastpathT) EncMapStringBoolV(v map[string]bool, checkNil bool, e *Encoder) {
  4957. ee := e.e
  4958. cr := e.cr
  4959. if checkNil && v == nil {
  4960. ee.EncodeNil()
  4961. return
  4962. }
  4963. ee.EncodeMapStart(len(v))
  4964. asSymbols := e.h.AsSymbols&AsSymbolMapStringKeysFlag != 0
  4965. if e.h.Canonical {
  4966. v2 := make([]string, len(v))
  4967. var i int
  4968. for k, _ := range v {
  4969. v2[i] = string(k)
  4970. i++
  4971. }
  4972. sort.Sort(stringSlice(v2))
  4973. for _, k2 := range v2 {
  4974. if cr != nil {
  4975. cr.sendContainerState(containerMapKey)
  4976. }
  4977. if asSymbols {
  4978. ee.EncodeSymbol(k2)
  4979. } else {
  4980. ee.EncodeString(c_UTF8, k2)
  4981. }
  4982. if cr != nil {
  4983. cr.sendContainerState(containerMapValue)
  4984. }
  4985. ee.EncodeBool(v[string(k2)])
  4986. }
  4987. } else {
  4988. for k2, v2 := range v {
  4989. if cr != nil {
  4990. cr.sendContainerState(containerMapKey)
  4991. }
  4992. if asSymbols {
  4993. ee.EncodeSymbol(k2)
  4994. } else {
  4995. ee.EncodeString(c_UTF8, k2)
  4996. }
  4997. if cr != nil {
  4998. cr.sendContainerState(containerMapValue)
  4999. }
  5000. ee.EncodeBool(v2)
  5001. }
  5002. }
  5003. if cr != nil {
  5004. cr.sendContainerState(containerMapEnd)
  5005. }
  5006. }
  5007. func (f *encFnInfo) fastpathEncMapFloat32IntfR(rv reflect.Value) {
  5008. fastpathTV.EncMapFloat32IntfV(rv2i(rv).(map[float32]interface{}), fastpathCheckNilFalse, f.e)
  5009. }
  5010. func (_ fastpathT) EncMapFloat32IntfV(v map[float32]interface{}, checkNil bool, e *Encoder) {
  5011. ee := e.e
  5012. cr := e.cr
  5013. if checkNil && v == nil {
  5014. ee.EncodeNil()
  5015. return
  5016. }
  5017. ee.EncodeMapStart(len(v))
  5018. if e.h.Canonical {
  5019. v2 := make([]float64, len(v))
  5020. var i int
  5021. for k, _ := range v {
  5022. v2[i] = float64(k)
  5023. i++
  5024. }
  5025. sort.Sort(floatSlice(v2))
  5026. for _, k2 := range v2 {
  5027. if cr != nil {
  5028. cr.sendContainerState(containerMapKey)
  5029. }
  5030. ee.EncodeFloat32(float32(k2))
  5031. if cr != nil {
  5032. cr.sendContainerState(containerMapValue)
  5033. }
  5034. e.encode(v[float32(k2)])
  5035. }
  5036. } else {
  5037. for k2, v2 := range v {
  5038. if cr != nil {
  5039. cr.sendContainerState(containerMapKey)
  5040. }
  5041. ee.EncodeFloat32(k2)
  5042. if cr != nil {
  5043. cr.sendContainerState(containerMapValue)
  5044. }
  5045. e.encode(v2)
  5046. }
  5047. }
  5048. if cr != nil {
  5049. cr.sendContainerState(containerMapEnd)
  5050. }
  5051. }
  5052. func (f *encFnInfo) fastpathEncMapFloat32StringR(rv reflect.Value) {
  5053. fastpathTV.EncMapFloat32StringV(rv2i(rv).(map[float32]string), fastpathCheckNilFalse, f.e)
  5054. }
  5055. func (_ fastpathT) EncMapFloat32StringV(v map[float32]string, checkNil bool, e *Encoder) {
  5056. ee := e.e
  5057. cr := e.cr
  5058. if checkNil && v == nil {
  5059. ee.EncodeNil()
  5060. return
  5061. }
  5062. ee.EncodeMapStart(len(v))
  5063. if e.h.Canonical {
  5064. v2 := make([]float64, len(v))
  5065. var i int
  5066. for k, _ := range v {
  5067. v2[i] = float64(k)
  5068. i++
  5069. }
  5070. sort.Sort(floatSlice(v2))
  5071. for _, k2 := range v2 {
  5072. if cr != nil {
  5073. cr.sendContainerState(containerMapKey)
  5074. }
  5075. ee.EncodeFloat32(float32(k2))
  5076. if cr != nil {
  5077. cr.sendContainerState(containerMapValue)
  5078. }
  5079. ee.EncodeString(c_UTF8, v[float32(k2)])
  5080. }
  5081. } else {
  5082. for k2, v2 := range v {
  5083. if cr != nil {
  5084. cr.sendContainerState(containerMapKey)
  5085. }
  5086. ee.EncodeFloat32(k2)
  5087. if cr != nil {
  5088. cr.sendContainerState(containerMapValue)
  5089. }
  5090. ee.EncodeString(c_UTF8, v2)
  5091. }
  5092. }
  5093. if cr != nil {
  5094. cr.sendContainerState(containerMapEnd)
  5095. }
  5096. }
  5097. func (f *encFnInfo) fastpathEncMapFloat32UintR(rv reflect.Value) {
  5098. fastpathTV.EncMapFloat32UintV(rv2i(rv).(map[float32]uint), fastpathCheckNilFalse, f.e)
  5099. }
  5100. func (_ fastpathT) EncMapFloat32UintV(v map[float32]uint, checkNil bool, e *Encoder) {
  5101. ee := e.e
  5102. cr := e.cr
  5103. if checkNil && v == nil {
  5104. ee.EncodeNil()
  5105. return
  5106. }
  5107. ee.EncodeMapStart(len(v))
  5108. if e.h.Canonical {
  5109. v2 := make([]float64, len(v))
  5110. var i int
  5111. for k, _ := range v {
  5112. v2[i] = float64(k)
  5113. i++
  5114. }
  5115. sort.Sort(floatSlice(v2))
  5116. for _, k2 := range v2 {
  5117. if cr != nil {
  5118. cr.sendContainerState(containerMapKey)
  5119. }
  5120. ee.EncodeFloat32(float32(k2))
  5121. if cr != nil {
  5122. cr.sendContainerState(containerMapValue)
  5123. }
  5124. ee.EncodeUint(uint64(v[float32(k2)]))
  5125. }
  5126. } else {
  5127. for k2, v2 := range v {
  5128. if cr != nil {
  5129. cr.sendContainerState(containerMapKey)
  5130. }
  5131. ee.EncodeFloat32(k2)
  5132. if cr != nil {
  5133. cr.sendContainerState(containerMapValue)
  5134. }
  5135. ee.EncodeUint(uint64(v2))
  5136. }
  5137. }
  5138. if cr != nil {
  5139. cr.sendContainerState(containerMapEnd)
  5140. }
  5141. }
  5142. func (f *encFnInfo) fastpathEncMapFloat32Uint8R(rv reflect.Value) {
  5143. fastpathTV.EncMapFloat32Uint8V(rv2i(rv).(map[float32]uint8), fastpathCheckNilFalse, f.e)
  5144. }
  5145. func (_ fastpathT) EncMapFloat32Uint8V(v map[float32]uint8, checkNil bool, e *Encoder) {
  5146. ee := e.e
  5147. cr := e.cr
  5148. if checkNil && v == nil {
  5149. ee.EncodeNil()
  5150. return
  5151. }
  5152. ee.EncodeMapStart(len(v))
  5153. if e.h.Canonical {
  5154. v2 := make([]float64, len(v))
  5155. var i int
  5156. for k, _ := range v {
  5157. v2[i] = float64(k)
  5158. i++
  5159. }
  5160. sort.Sort(floatSlice(v2))
  5161. for _, k2 := range v2 {
  5162. if cr != nil {
  5163. cr.sendContainerState(containerMapKey)
  5164. }
  5165. ee.EncodeFloat32(float32(k2))
  5166. if cr != nil {
  5167. cr.sendContainerState(containerMapValue)
  5168. }
  5169. ee.EncodeUint(uint64(v[float32(k2)]))
  5170. }
  5171. } else {
  5172. for k2, v2 := range v {
  5173. if cr != nil {
  5174. cr.sendContainerState(containerMapKey)
  5175. }
  5176. ee.EncodeFloat32(k2)
  5177. if cr != nil {
  5178. cr.sendContainerState(containerMapValue)
  5179. }
  5180. ee.EncodeUint(uint64(v2))
  5181. }
  5182. }
  5183. if cr != nil {
  5184. cr.sendContainerState(containerMapEnd)
  5185. }
  5186. }
  5187. func (f *encFnInfo) fastpathEncMapFloat32Uint16R(rv reflect.Value) {
  5188. fastpathTV.EncMapFloat32Uint16V(rv2i(rv).(map[float32]uint16), fastpathCheckNilFalse, f.e)
  5189. }
  5190. func (_ fastpathT) EncMapFloat32Uint16V(v map[float32]uint16, checkNil bool, e *Encoder) {
  5191. ee := e.e
  5192. cr := e.cr
  5193. if checkNil && v == nil {
  5194. ee.EncodeNil()
  5195. return
  5196. }
  5197. ee.EncodeMapStart(len(v))
  5198. if e.h.Canonical {
  5199. v2 := make([]float64, len(v))
  5200. var i int
  5201. for k, _ := range v {
  5202. v2[i] = float64(k)
  5203. i++
  5204. }
  5205. sort.Sort(floatSlice(v2))
  5206. for _, k2 := range v2 {
  5207. if cr != nil {
  5208. cr.sendContainerState(containerMapKey)
  5209. }
  5210. ee.EncodeFloat32(float32(k2))
  5211. if cr != nil {
  5212. cr.sendContainerState(containerMapValue)
  5213. }
  5214. ee.EncodeUint(uint64(v[float32(k2)]))
  5215. }
  5216. } else {
  5217. for k2, v2 := range v {
  5218. if cr != nil {
  5219. cr.sendContainerState(containerMapKey)
  5220. }
  5221. ee.EncodeFloat32(k2)
  5222. if cr != nil {
  5223. cr.sendContainerState(containerMapValue)
  5224. }
  5225. ee.EncodeUint(uint64(v2))
  5226. }
  5227. }
  5228. if cr != nil {
  5229. cr.sendContainerState(containerMapEnd)
  5230. }
  5231. }
  5232. func (f *encFnInfo) fastpathEncMapFloat32Uint32R(rv reflect.Value) {
  5233. fastpathTV.EncMapFloat32Uint32V(rv2i(rv).(map[float32]uint32), fastpathCheckNilFalse, f.e)
  5234. }
  5235. func (_ fastpathT) EncMapFloat32Uint32V(v map[float32]uint32, checkNil bool, e *Encoder) {
  5236. ee := e.e
  5237. cr := e.cr
  5238. if checkNil && v == nil {
  5239. ee.EncodeNil()
  5240. return
  5241. }
  5242. ee.EncodeMapStart(len(v))
  5243. if e.h.Canonical {
  5244. v2 := make([]float64, len(v))
  5245. var i int
  5246. for k, _ := range v {
  5247. v2[i] = float64(k)
  5248. i++
  5249. }
  5250. sort.Sort(floatSlice(v2))
  5251. for _, k2 := range v2 {
  5252. if cr != nil {
  5253. cr.sendContainerState(containerMapKey)
  5254. }
  5255. ee.EncodeFloat32(float32(k2))
  5256. if cr != nil {
  5257. cr.sendContainerState(containerMapValue)
  5258. }
  5259. ee.EncodeUint(uint64(v[float32(k2)]))
  5260. }
  5261. } else {
  5262. for k2, v2 := range v {
  5263. if cr != nil {
  5264. cr.sendContainerState(containerMapKey)
  5265. }
  5266. ee.EncodeFloat32(k2)
  5267. if cr != nil {
  5268. cr.sendContainerState(containerMapValue)
  5269. }
  5270. ee.EncodeUint(uint64(v2))
  5271. }
  5272. }
  5273. if cr != nil {
  5274. cr.sendContainerState(containerMapEnd)
  5275. }
  5276. }
  5277. func (f *encFnInfo) fastpathEncMapFloat32Uint64R(rv reflect.Value) {
  5278. fastpathTV.EncMapFloat32Uint64V(rv2i(rv).(map[float32]uint64), fastpathCheckNilFalse, f.e)
  5279. }
  5280. func (_ fastpathT) EncMapFloat32Uint64V(v map[float32]uint64, checkNil bool, e *Encoder) {
  5281. ee := e.e
  5282. cr := e.cr
  5283. if checkNil && v == nil {
  5284. ee.EncodeNil()
  5285. return
  5286. }
  5287. ee.EncodeMapStart(len(v))
  5288. if e.h.Canonical {
  5289. v2 := make([]float64, len(v))
  5290. var i int
  5291. for k, _ := range v {
  5292. v2[i] = float64(k)
  5293. i++
  5294. }
  5295. sort.Sort(floatSlice(v2))
  5296. for _, k2 := range v2 {
  5297. if cr != nil {
  5298. cr.sendContainerState(containerMapKey)
  5299. }
  5300. ee.EncodeFloat32(float32(k2))
  5301. if cr != nil {
  5302. cr.sendContainerState(containerMapValue)
  5303. }
  5304. ee.EncodeUint(uint64(v[float32(k2)]))
  5305. }
  5306. } else {
  5307. for k2, v2 := range v {
  5308. if cr != nil {
  5309. cr.sendContainerState(containerMapKey)
  5310. }
  5311. ee.EncodeFloat32(k2)
  5312. if cr != nil {
  5313. cr.sendContainerState(containerMapValue)
  5314. }
  5315. ee.EncodeUint(uint64(v2))
  5316. }
  5317. }
  5318. if cr != nil {
  5319. cr.sendContainerState(containerMapEnd)
  5320. }
  5321. }
  5322. func (f *encFnInfo) fastpathEncMapFloat32UintptrR(rv reflect.Value) {
  5323. fastpathTV.EncMapFloat32UintptrV(rv2i(rv).(map[float32]uintptr), fastpathCheckNilFalse, f.e)
  5324. }
  5325. func (_ fastpathT) EncMapFloat32UintptrV(v map[float32]uintptr, checkNil bool, e *Encoder) {
  5326. ee := e.e
  5327. cr := e.cr
  5328. if checkNil && v == nil {
  5329. ee.EncodeNil()
  5330. return
  5331. }
  5332. ee.EncodeMapStart(len(v))
  5333. if e.h.Canonical {
  5334. v2 := make([]float64, len(v))
  5335. var i int
  5336. for k, _ := range v {
  5337. v2[i] = float64(k)
  5338. i++
  5339. }
  5340. sort.Sort(floatSlice(v2))
  5341. for _, k2 := range v2 {
  5342. if cr != nil {
  5343. cr.sendContainerState(containerMapKey)
  5344. }
  5345. ee.EncodeFloat32(float32(k2))
  5346. if cr != nil {
  5347. cr.sendContainerState(containerMapValue)
  5348. }
  5349. e.encode(v[float32(k2)])
  5350. }
  5351. } else {
  5352. for k2, v2 := range v {
  5353. if cr != nil {
  5354. cr.sendContainerState(containerMapKey)
  5355. }
  5356. ee.EncodeFloat32(k2)
  5357. if cr != nil {
  5358. cr.sendContainerState(containerMapValue)
  5359. }
  5360. e.encode(v2)
  5361. }
  5362. }
  5363. if cr != nil {
  5364. cr.sendContainerState(containerMapEnd)
  5365. }
  5366. }
  5367. func (f *encFnInfo) fastpathEncMapFloat32IntR(rv reflect.Value) {
  5368. fastpathTV.EncMapFloat32IntV(rv2i(rv).(map[float32]int), fastpathCheckNilFalse, f.e)
  5369. }
  5370. func (_ fastpathT) EncMapFloat32IntV(v map[float32]int, checkNil bool, e *Encoder) {
  5371. ee := e.e
  5372. cr := e.cr
  5373. if checkNil && v == nil {
  5374. ee.EncodeNil()
  5375. return
  5376. }
  5377. ee.EncodeMapStart(len(v))
  5378. if e.h.Canonical {
  5379. v2 := make([]float64, len(v))
  5380. var i int
  5381. for k, _ := range v {
  5382. v2[i] = float64(k)
  5383. i++
  5384. }
  5385. sort.Sort(floatSlice(v2))
  5386. for _, k2 := range v2 {
  5387. if cr != nil {
  5388. cr.sendContainerState(containerMapKey)
  5389. }
  5390. ee.EncodeFloat32(float32(k2))
  5391. if cr != nil {
  5392. cr.sendContainerState(containerMapValue)
  5393. }
  5394. ee.EncodeInt(int64(v[float32(k2)]))
  5395. }
  5396. } else {
  5397. for k2, v2 := range v {
  5398. if cr != nil {
  5399. cr.sendContainerState(containerMapKey)
  5400. }
  5401. ee.EncodeFloat32(k2)
  5402. if cr != nil {
  5403. cr.sendContainerState(containerMapValue)
  5404. }
  5405. ee.EncodeInt(int64(v2))
  5406. }
  5407. }
  5408. if cr != nil {
  5409. cr.sendContainerState(containerMapEnd)
  5410. }
  5411. }
  5412. func (f *encFnInfo) fastpathEncMapFloat32Int8R(rv reflect.Value) {
  5413. fastpathTV.EncMapFloat32Int8V(rv2i(rv).(map[float32]int8), fastpathCheckNilFalse, f.e)
  5414. }
  5415. func (_ fastpathT) EncMapFloat32Int8V(v map[float32]int8, checkNil bool, e *Encoder) {
  5416. ee := e.e
  5417. cr := e.cr
  5418. if checkNil && v == nil {
  5419. ee.EncodeNil()
  5420. return
  5421. }
  5422. ee.EncodeMapStart(len(v))
  5423. if e.h.Canonical {
  5424. v2 := make([]float64, len(v))
  5425. var i int
  5426. for k, _ := range v {
  5427. v2[i] = float64(k)
  5428. i++
  5429. }
  5430. sort.Sort(floatSlice(v2))
  5431. for _, k2 := range v2 {
  5432. if cr != nil {
  5433. cr.sendContainerState(containerMapKey)
  5434. }
  5435. ee.EncodeFloat32(float32(k2))
  5436. if cr != nil {
  5437. cr.sendContainerState(containerMapValue)
  5438. }
  5439. ee.EncodeInt(int64(v[float32(k2)]))
  5440. }
  5441. } else {
  5442. for k2, v2 := range v {
  5443. if cr != nil {
  5444. cr.sendContainerState(containerMapKey)
  5445. }
  5446. ee.EncodeFloat32(k2)
  5447. if cr != nil {
  5448. cr.sendContainerState(containerMapValue)
  5449. }
  5450. ee.EncodeInt(int64(v2))
  5451. }
  5452. }
  5453. if cr != nil {
  5454. cr.sendContainerState(containerMapEnd)
  5455. }
  5456. }
  5457. func (f *encFnInfo) fastpathEncMapFloat32Int16R(rv reflect.Value) {
  5458. fastpathTV.EncMapFloat32Int16V(rv2i(rv).(map[float32]int16), fastpathCheckNilFalse, f.e)
  5459. }
  5460. func (_ fastpathT) EncMapFloat32Int16V(v map[float32]int16, checkNil bool, e *Encoder) {
  5461. ee := e.e
  5462. cr := e.cr
  5463. if checkNil && v == nil {
  5464. ee.EncodeNil()
  5465. return
  5466. }
  5467. ee.EncodeMapStart(len(v))
  5468. if e.h.Canonical {
  5469. v2 := make([]float64, len(v))
  5470. var i int
  5471. for k, _ := range v {
  5472. v2[i] = float64(k)
  5473. i++
  5474. }
  5475. sort.Sort(floatSlice(v2))
  5476. for _, k2 := range v2 {
  5477. if cr != nil {
  5478. cr.sendContainerState(containerMapKey)
  5479. }
  5480. ee.EncodeFloat32(float32(k2))
  5481. if cr != nil {
  5482. cr.sendContainerState(containerMapValue)
  5483. }
  5484. ee.EncodeInt(int64(v[float32(k2)]))
  5485. }
  5486. } else {
  5487. for k2, v2 := range v {
  5488. if cr != nil {
  5489. cr.sendContainerState(containerMapKey)
  5490. }
  5491. ee.EncodeFloat32(k2)
  5492. if cr != nil {
  5493. cr.sendContainerState(containerMapValue)
  5494. }
  5495. ee.EncodeInt(int64(v2))
  5496. }
  5497. }
  5498. if cr != nil {
  5499. cr.sendContainerState(containerMapEnd)
  5500. }
  5501. }
  5502. func (f *encFnInfo) fastpathEncMapFloat32Int32R(rv reflect.Value) {
  5503. fastpathTV.EncMapFloat32Int32V(rv2i(rv).(map[float32]int32), fastpathCheckNilFalse, f.e)
  5504. }
  5505. func (_ fastpathT) EncMapFloat32Int32V(v map[float32]int32, checkNil bool, e *Encoder) {
  5506. ee := e.e
  5507. cr := e.cr
  5508. if checkNil && v == nil {
  5509. ee.EncodeNil()
  5510. return
  5511. }
  5512. ee.EncodeMapStart(len(v))
  5513. if e.h.Canonical {
  5514. v2 := make([]float64, len(v))
  5515. var i int
  5516. for k, _ := range v {
  5517. v2[i] = float64(k)
  5518. i++
  5519. }
  5520. sort.Sort(floatSlice(v2))
  5521. for _, k2 := range v2 {
  5522. if cr != nil {
  5523. cr.sendContainerState(containerMapKey)
  5524. }
  5525. ee.EncodeFloat32(float32(k2))
  5526. if cr != nil {
  5527. cr.sendContainerState(containerMapValue)
  5528. }
  5529. ee.EncodeInt(int64(v[float32(k2)]))
  5530. }
  5531. } else {
  5532. for k2, v2 := range v {
  5533. if cr != nil {
  5534. cr.sendContainerState(containerMapKey)
  5535. }
  5536. ee.EncodeFloat32(k2)
  5537. if cr != nil {
  5538. cr.sendContainerState(containerMapValue)
  5539. }
  5540. ee.EncodeInt(int64(v2))
  5541. }
  5542. }
  5543. if cr != nil {
  5544. cr.sendContainerState(containerMapEnd)
  5545. }
  5546. }
  5547. func (f *encFnInfo) fastpathEncMapFloat32Int64R(rv reflect.Value) {
  5548. fastpathTV.EncMapFloat32Int64V(rv2i(rv).(map[float32]int64), fastpathCheckNilFalse, f.e)
  5549. }
  5550. func (_ fastpathT) EncMapFloat32Int64V(v map[float32]int64, checkNil bool, e *Encoder) {
  5551. ee := e.e
  5552. cr := e.cr
  5553. if checkNil && v == nil {
  5554. ee.EncodeNil()
  5555. return
  5556. }
  5557. ee.EncodeMapStart(len(v))
  5558. if e.h.Canonical {
  5559. v2 := make([]float64, len(v))
  5560. var i int
  5561. for k, _ := range v {
  5562. v2[i] = float64(k)
  5563. i++
  5564. }
  5565. sort.Sort(floatSlice(v2))
  5566. for _, k2 := range v2 {
  5567. if cr != nil {
  5568. cr.sendContainerState(containerMapKey)
  5569. }
  5570. ee.EncodeFloat32(float32(k2))
  5571. if cr != nil {
  5572. cr.sendContainerState(containerMapValue)
  5573. }
  5574. ee.EncodeInt(int64(v[float32(k2)]))
  5575. }
  5576. } else {
  5577. for k2, v2 := range v {
  5578. if cr != nil {
  5579. cr.sendContainerState(containerMapKey)
  5580. }
  5581. ee.EncodeFloat32(k2)
  5582. if cr != nil {
  5583. cr.sendContainerState(containerMapValue)
  5584. }
  5585. ee.EncodeInt(int64(v2))
  5586. }
  5587. }
  5588. if cr != nil {
  5589. cr.sendContainerState(containerMapEnd)
  5590. }
  5591. }
  5592. func (f *encFnInfo) fastpathEncMapFloat32Float32R(rv reflect.Value) {
  5593. fastpathTV.EncMapFloat32Float32V(rv2i(rv).(map[float32]float32), fastpathCheckNilFalse, f.e)
  5594. }
  5595. func (_ fastpathT) EncMapFloat32Float32V(v map[float32]float32, checkNil bool, e *Encoder) {
  5596. ee := e.e
  5597. cr := e.cr
  5598. if checkNil && v == nil {
  5599. ee.EncodeNil()
  5600. return
  5601. }
  5602. ee.EncodeMapStart(len(v))
  5603. if e.h.Canonical {
  5604. v2 := make([]float64, len(v))
  5605. var i int
  5606. for k, _ := range v {
  5607. v2[i] = float64(k)
  5608. i++
  5609. }
  5610. sort.Sort(floatSlice(v2))
  5611. for _, k2 := range v2 {
  5612. if cr != nil {
  5613. cr.sendContainerState(containerMapKey)
  5614. }
  5615. ee.EncodeFloat32(float32(k2))
  5616. if cr != nil {
  5617. cr.sendContainerState(containerMapValue)
  5618. }
  5619. ee.EncodeFloat32(v[float32(k2)])
  5620. }
  5621. } else {
  5622. for k2, v2 := range v {
  5623. if cr != nil {
  5624. cr.sendContainerState(containerMapKey)
  5625. }
  5626. ee.EncodeFloat32(k2)
  5627. if cr != nil {
  5628. cr.sendContainerState(containerMapValue)
  5629. }
  5630. ee.EncodeFloat32(v2)
  5631. }
  5632. }
  5633. if cr != nil {
  5634. cr.sendContainerState(containerMapEnd)
  5635. }
  5636. }
  5637. func (f *encFnInfo) fastpathEncMapFloat32Float64R(rv reflect.Value) {
  5638. fastpathTV.EncMapFloat32Float64V(rv2i(rv).(map[float32]float64), fastpathCheckNilFalse, f.e)
  5639. }
  5640. func (_ fastpathT) EncMapFloat32Float64V(v map[float32]float64, checkNil bool, e *Encoder) {
  5641. ee := e.e
  5642. cr := e.cr
  5643. if checkNil && v == nil {
  5644. ee.EncodeNil()
  5645. return
  5646. }
  5647. ee.EncodeMapStart(len(v))
  5648. if e.h.Canonical {
  5649. v2 := make([]float64, len(v))
  5650. var i int
  5651. for k, _ := range v {
  5652. v2[i] = float64(k)
  5653. i++
  5654. }
  5655. sort.Sort(floatSlice(v2))
  5656. for _, k2 := range v2 {
  5657. if cr != nil {
  5658. cr.sendContainerState(containerMapKey)
  5659. }
  5660. ee.EncodeFloat32(float32(k2))
  5661. if cr != nil {
  5662. cr.sendContainerState(containerMapValue)
  5663. }
  5664. ee.EncodeFloat64(v[float32(k2)])
  5665. }
  5666. } else {
  5667. for k2, v2 := range v {
  5668. if cr != nil {
  5669. cr.sendContainerState(containerMapKey)
  5670. }
  5671. ee.EncodeFloat32(k2)
  5672. if cr != nil {
  5673. cr.sendContainerState(containerMapValue)
  5674. }
  5675. ee.EncodeFloat64(v2)
  5676. }
  5677. }
  5678. if cr != nil {
  5679. cr.sendContainerState(containerMapEnd)
  5680. }
  5681. }
  5682. func (f *encFnInfo) fastpathEncMapFloat32BoolR(rv reflect.Value) {
  5683. fastpathTV.EncMapFloat32BoolV(rv2i(rv).(map[float32]bool), fastpathCheckNilFalse, f.e)
  5684. }
  5685. func (_ fastpathT) EncMapFloat32BoolV(v map[float32]bool, checkNil bool, e *Encoder) {
  5686. ee := e.e
  5687. cr := e.cr
  5688. if checkNil && v == nil {
  5689. ee.EncodeNil()
  5690. return
  5691. }
  5692. ee.EncodeMapStart(len(v))
  5693. if e.h.Canonical {
  5694. v2 := make([]float64, len(v))
  5695. var i int
  5696. for k, _ := range v {
  5697. v2[i] = float64(k)
  5698. i++
  5699. }
  5700. sort.Sort(floatSlice(v2))
  5701. for _, k2 := range v2 {
  5702. if cr != nil {
  5703. cr.sendContainerState(containerMapKey)
  5704. }
  5705. ee.EncodeFloat32(float32(k2))
  5706. if cr != nil {
  5707. cr.sendContainerState(containerMapValue)
  5708. }
  5709. ee.EncodeBool(v[float32(k2)])
  5710. }
  5711. } else {
  5712. for k2, v2 := range v {
  5713. if cr != nil {
  5714. cr.sendContainerState(containerMapKey)
  5715. }
  5716. ee.EncodeFloat32(k2)
  5717. if cr != nil {
  5718. cr.sendContainerState(containerMapValue)
  5719. }
  5720. ee.EncodeBool(v2)
  5721. }
  5722. }
  5723. if cr != nil {
  5724. cr.sendContainerState(containerMapEnd)
  5725. }
  5726. }
  5727. func (f *encFnInfo) fastpathEncMapFloat64IntfR(rv reflect.Value) {
  5728. fastpathTV.EncMapFloat64IntfV(rv2i(rv).(map[float64]interface{}), fastpathCheckNilFalse, f.e)
  5729. }
  5730. func (_ fastpathT) EncMapFloat64IntfV(v map[float64]interface{}, checkNil bool, e *Encoder) {
  5731. ee := e.e
  5732. cr := e.cr
  5733. if checkNil && v == nil {
  5734. ee.EncodeNil()
  5735. return
  5736. }
  5737. ee.EncodeMapStart(len(v))
  5738. if e.h.Canonical {
  5739. v2 := make([]float64, len(v))
  5740. var i int
  5741. for k, _ := range v {
  5742. v2[i] = float64(k)
  5743. i++
  5744. }
  5745. sort.Sort(floatSlice(v2))
  5746. for _, k2 := range v2 {
  5747. if cr != nil {
  5748. cr.sendContainerState(containerMapKey)
  5749. }
  5750. ee.EncodeFloat64(float64(k2))
  5751. if cr != nil {
  5752. cr.sendContainerState(containerMapValue)
  5753. }
  5754. e.encode(v[float64(k2)])
  5755. }
  5756. } else {
  5757. for k2, v2 := range v {
  5758. if cr != nil {
  5759. cr.sendContainerState(containerMapKey)
  5760. }
  5761. ee.EncodeFloat64(k2)
  5762. if cr != nil {
  5763. cr.sendContainerState(containerMapValue)
  5764. }
  5765. e.encode(v2)
  5766. }
  5767. }
  5768. if cr != nil {
  5769. cr.sendContainerState(containerMapEnd)
  5770. }
  5771. }
  5772. func (f *encFnInfo) fastpathEncMapFloat64StringR(rv reflect.Value) {
  5773. fastpathTV.EncMapFloat64StringV(rv2i(rv).(map[float64]string), fastpathCheckNilFalse, f.e)
  5774. }
  5775. func (_ fastpathT) EncMapFloat64StringV(v map[float64]string, checkNil bool, e *Encoder) {
  5776. ee := e.e
  5777. cr := e.cr
  5778. if checkNil && v == nil {
  5779. ee.EncodeNil()
  5780. return
  5781. }
  5782. ee.EncodeMapStart(len(v))
  5783. if e.h.Canonical {
  5784. v2 := make([]float64, len(v))
  5785. var i int
  5786. for k, _ := range v {
  5787. v2[i] = float64(k)
  5788. i++
  5789. }
  5790. sort.Sort(floatSlice(v2))
  5791. for _, k2 := range v2 {
  5792. if cr != nil {
  5793. cr.sendContainerState(containerMapKey)
  5794. }
  5795. ee.EncodeFloat64(float64(k2))
  5796. if cr != nil {
  5797. cr.sendContainerState(containerMapValue)
  5798. }
  5799. ee.EncodeString(c_UTF8, v[float64(k2)])
  5800. }
  5801. } else {
  5802. for k2, v2 := range v {
  5803. if cr != nil {
  5804. cr.sendContainerState(containerMapKey)
  5805. }
  5806. ee.EncodeFloat64(k2)
  5807. if cr != nil {
  5808. cr.sendContainerState(containerMapValue)
  5809. }
  5810. ee.EncodeString(c_UTF8, v2)
  5811. }
  5812. }
  5813. if cr != nil {
  5814. cr.sendContainerState(containerMapEnd)
  5815. }
  5816. }
  5817. func (f *encFnInfo) fastpathEncMapFloat64UintR(rv reflect.Value) {
  5818. fastpathTV.EncMapFloat64UintV(rv2i(rv).(map[float64]uint), fastpathCheckNilFalse, f.e)
  5819. }
  5820. func (_ fastpathT) EncMapFloat64UintV(v map[float64]uint, checkNil bool, e *Encoder) {
  5821. ee := e.e
  5822. cr := e.cr
  5823. if checkNil && v == nil {
  5824. ee.EncodeNil()
  5825. return
  5826. }
  5827. ee.EncodeMapStart(len(v))
  5828. if e.h.Canonical {
  5829. v2 := make([]float64, len(v))
  5830. var i int
  5831. for k, _ := range v {
  5832. v2[i] = float64(k)
  5833. i++
  5834. }
  5835. sort.Sort(floatSlice(v2))
  5836. for _, k2 := range v2 {
  5837. if cr != nil {
  5838. cr.sendContainerState(containerMapKey)
  5839. }
  5840. ee.EncodeFloat64(float64(k2))
  5841. if cr != nil {
  5842. cr.sendContainerState(containerMapValue)
  5843. }
  5844. ee.EncodeUint(uint64(v[float64(k2)]))
  5845. }
  5846. } else {
  5847. for k2, v2 := range v {
  5848. if cr != nil {
  5849. cr.sendContainerState(containerMapKey)
  5850. }
  5851. ee.EncodeFloat64(k2)
  5852. if cr != nil {
  5853. cr.sendContainerState(containerMapValue)
  5854. }
  5855. ee.EncodeUint(uint64(v2))
  5856. }
  5857. }
  5858. if cr != nil {
  5859. cr.sendContainerState(containerMapEnd)
  5860. }
  5861. }
  5862. func (f *encFnInfo) fastpathEncMapFloat64Uint8R(rv reflect.Value) {
  5863. fastpathTV.EncMapFloat64Uint8V(rv2i(rv).(map[float64]uint8), fastpathCheckNilFalse, f.e)
  5864. }
  5865. func (_ fastpathT) EncMapFloat64Uint8V(v map[float64]uint8, checkNil bool, e *Encoder) {
  5866. ee := e.e
  5867. cr := e.cr
  5868. if checkNil && v == nil {
  5869. ee.EncodeNil()
  5870. return
  5871. }
  5872. ee.EncodeMapStart(len(v))
  5873. if e.h.Canonical {
  5874. v2 := make([]float64, len(v))
  5875. var i int
  5876. for k, _ := range v {
  5877. v2[i] = float64(k)
  5878. i++
  5879. }
  5880. sort.Sort(floatSlice(v2))
  5881. for _, k2 := range v2 {
  5882. if cr != nil {
  5883. cr.sendContainerState(containerMapKey)
  5884. }
  5885. ee.EncodeFloat64(float64(k2))
  5886. if cr != nil {
  5887. cr.sendContainerState(containerMapValue)
  5888. }
  5889. ee.EncodeUint(uint64(v[float64(k2)]))
  5890. }
  5891. } else {
  5892. for k2, v2 := range v {
  5893. if cr != nil {
  5894. cr.sendContainerState(containerMapKey)
  5895. }
  5896. ee.EncodeFloat64(k2)
  5897. if cr != nil {
  5898. cr.sendContainerState(containerMapValue)
  5899. }
  5900. ee.EncodeUint(uint64(v2))
  5901. }
  5902. }
  5903. if cr != nil {
  5904. cr.sendContainerState(containerMapEnd)
  5905. }
  5906. }
  5907. func (f *encFnInfo) fastpathEncMapFloat64Uint16R(rv reflect.Value) {
  5908. fastpathTV.EncMapFloat64Uint16V(rv2i(rv).(map[float64]uint16), fastpathCheckNilFalse, f.e)
  5909. }
  5910. func (_ fastpathT) EncMapFloat64Uint16V(v map[float64]uint16, checkNil bool, e *Encoder) {
  5911. ee := e.e
  5912. cr := e.cr
  5913. if checkNil && v == nil {
  5914. ee.EncodeNil()
  5915. return
  5916. }
  5917. ee.EncodeMapStart(len(v))
  5918. if e.h.Canonical {
  5919. v2 := make([]float64, len(v))
  5920. var i int
  5921. for k, _ := range v {
  5922. v2[i] = float64(k)
  5923. i++
  5924. }
  5925. sort.Sort(floatSlice(v2))
  5926. for _, k2 := range v2 {
  5927. if cr != nil {
  5928. cr.sendContainerState(containerMapKey)
  5929. }
  5930. ee.EncodeFloat64(float64(k2))
  5931. if cr != nil {
  5932. cr.sendContainerState(containerMapValue)
  5933. }
  5934. ee.EncodeUint(uint64(v[float64(k2)]))
  5935. }
  5936. } else {
  5937. for k2, v2 := range v {
  5938. if cr != nil {
  5939. cr.sendContainerState(containerMapKey)
  5940. }
  5941. ee.EncodeFloat64(k2)
  5942. if cr != nil {
  5943. cr.sendContainerState(containerMapValue)
  5944. }
  5945. ee.EncodeUint(uint64(v2))
  5946. }
  5947. }
  5948. if cr != nil {
  5949. cr.sendContainerState(containerMapEnd)
  5950. }
  5951. }
  5952. func (f *encFnInfo) fastpathEncMapFloat64Uint32R(rv reflect.Value) {
  5953. fastpathTV.EncMapFloat64Uint32V(rv2i(rv).(map[float64]uint32), fastpathCheckNilFalse, f.e)
  5954. }
  5955. func (_ fastpathT) EncMapFloat64Uint32V(v map[float64]uint32, checkNil bool, e *Encoder) {
  5956. ee := e.e
  5957. cr := e.cr
  5958. if checkNil && v == nil {
  5959. ee.EncodeNil()
  5960. return
  5961. }
  5962. ee.EncodeMapStart(len(v))
  5963. if e.h.Canonical {
  5964. v2 := make([]float64, len(v))
  5965. var i int
  5966. for k, _ := range v {
  5967. v2[i] = float64(k)
  5968. i++
  5969. }
  5970. sort.Sort(floatSlice(v2))
  5971. for _, k2 := range v2 {
  5972. if cr != nil {
  5973. cr.sendContainerState(containerMapKey)
  5974. }
  5975. ee.EncodeFloat64(float64(k2))
  5976. if cr != nil {
  5977. cr.sendContainerState(containerMapValue)
  5978. }
  5979. ee.EncodeUint(uint64(v[float64(k2)]))
  5980. }
  5981. } else {
  5982. for k2, v2 := range v {
  5983. if cr != nil {
  5984. cr.sendContainerState(containerMapKey)
  5985. }
  5986. ee.EncodeFloat64(k2)
  5987. if cr != nil {
  5988. cr.sendContainerState(containerMapValue)
  5989. }
  5990. ee.EncodeUint(uint64(v2))
  5991. }
  5992. }
  5993. if cr != nil {
  5994. cr.sendContainerState(containerMapEnd)
  5995. }
  5996. }
  5997. func (f *encFnInfo) fastpathEncMapFloat64Uint64R(rv reflect.Value) {
  5998. fastpathTV.EncMapFloat64Uint64V(rv2i(rv).(map[float64]uint64), fastpathCheckNilFalse, f.e)
  5999. }
  6000. func (_ fastpathT) EncMapFloat64Uint64V(v map[float64]uint64, checkNil bool, e *Encoder) {
  6001. ee := e.e
  6002. cr := e.cr
  6003. if checkNil && v == nil {
  6004. ee.EncodeNil()
  6005. return
  6006. }
  6007. ee.EncodeMapStart(len(v))
  6008. if e.h.Canonical {
  6009. v2 := make([]float64, len(v))
  6010. var i int
  6011. for k, _ := range v {
  6012. v2[i] = float64(k)
  6013. i++
  6014. }
  6015. sort.Sort(floatSlice(v2))
  6016. for _, k2 := range v2 {
  6017. if cr != nil {
  6018. cr.sendContainerState(containerMapKey)
  6019. }
  6020. ee.EncodeFloat64(float64(k2))
  6021. if cr != nil {
  6022. cr.sendContainerState(containerMapValue)
  6023. }
  6024. ee.EncodeUint(uint64(v[float64(k2)]))
  6025. }
  6026. } else {
  6027. for k2, v2 := range v {
  6028. if cr != nil {
  6029. cr.sendContainerState(containerMapKey)
  6030. }
  6031. ee.EncodeFloat64(k2)
  6032. if cr != nil {
  6033. cr.sendContainerState(containerMapValue)
  6034. }
  6035. ee.EncodeUint(uint64(v2))
  6036. }
  6037. }
  6038. if cr != nil {
  6039. cr.sendContainerState(containerMapEnd)
  6040. }
  6041. }
  6042. func (f *encFnInfo) fastpathEncMapFloat64UintptrR(rv reflect.Value) {
  6043. fastpathTV.EncMapFloat64UintptrV(rv2i(rv).(map[float64]uintptr), fastpathCheckNilFalse, f.e)
  6044. }
  6045. func (_ fastpathT) EncMapFloat64UintptrV(v map[float64]uintptr, checkNil bool, e *Encoder) {
  6046. ee := e.e
  6047. cr := e.cr
  6048. if checkNil && v == nil {
  6049. ee.EncodeNil()
  6050. return
  6051. }
  6052. ee.EncodeMapStart(len(v))
  6053. if e.h.Canonical {
  6054. v2 := make([]float64, len(v))
  6055. var i int
  6056. for k, _ := range v {
  6057. v2[i] = float64(k)
  6058. i++
  6059. }
  6060. sort.Sort(floatSlice(v2))
  6061. for _, k2 := range v2 {
  6062. if cr != nil {
  6063. cr.sendContainerState(containerMapKey)
  6064. }
  6065. ee.EncodeFloat64(float64(k2))
  6066. if cr != nil {
  6067. cr.sendContainerState(containerMapValue)
  6068. }
  6069. e.encode(v[float64(k2)])
  6070. }
  6071. } else {
  6072. for k2, v2 := range v {
  6073. if cr != nil {
  6074. cr.sendContainerState(containerMapKey)
  6075. }
  6076. ee.EncodeFloat64(k2)
  6077. if cr != nil {
  6078. cr.sendContainerState(containerMapValue)
  6079. }
  6080. e.encode(v2)
  6081. }
  6082. }
  6083. if cr != nil {
  6084. cr.sendContainerState(containerMapEnd)
  6085. }
  6086. }
  6087. func (f *encFnInfo) fastpathEncMapFloat64IntR(rv reflect.Value) {
  6088. fastpathTV.EncMapFloat64IntV(rv2i(rv).(map[float64]int), fastpathCheckNilFalse, f.e)
  6089. }
  6090. func (_ fastpathT) EncMapFloat64IntV(v map[float64]int, checkNil bool, e *Encoder) {
  6091. ee := e.e
  6092. cr := e.cr
  6093. if checkNil && v == nil {
  6094. ee.EncodeNil()
  6095. return
  6096. }
  6097. ee.EncodeMapStart(len(v))
  6098. if e.h.Canonical {
  6099. v2 := make([]float64, len(v))
  6100. var i int
  6101. for k, _ := range v {
  6102. v2[i] = float64(k)
  6103. i++
  6104. }
  6105. sort.Sort(floatSlice(v2))
  6106. for _, k2 := range v2 {
  6107. if cr != nil {
  6108. cr.sendContainerState(containerMapKey)
  6109. }
  6110. ee.EncodeFloat64(float64(k2))
  6111. if cr != nil {
  6112. cr.sendContainerState(containerMapValue)
  6113. }
  6114. ee.EncodeInt(int64(v[float64(k2)]))
  6115. }
  6116. } else {
  6117. for k2, v2 := range v {
  6118. if cr != nil {
  6119. cr.sendContainerState(containerMapKey)
  6120. }
  6121. ee.EncodeFloat64(k2)
  6122. if cr != nil {
  6123. cr.sendContainerState(containerMapValue)
  6124. }
  6125. ee.EncodeInt(int64(v2))
  6126. }
  6127. }
  6128. if cr != nil {
  6129. cr.sendContainerState(containerMapEnd)
  6130. }
  6131. }
  6132. func (f *encFnInfo) fastpathEncMapFloat64Int8R(rv reflect.Value) {
  6133. fastpathTV.EncMapFloat64Int8V(rv2i(rv).(map[float64]int8), fastpathCheckNilFalse, f.e)
  6134. }
  6135. func (_ fastpathT) EncMapFloat64Int8V(v map[float64]int8, checkNil bool, e *Encoder) {
  6136. ee := e.e
  6137. cr := e.cr
  6138. if checkNil && v == nil {
  6139. ee.EncodeNil()
  6140. return
  6141. }
  6142. ee.EncodeMapStart(len(v))
  6143. if e.h.Canonical {
  6144. v2 := make([]float64, len(v))
  6145. var i int
  6146. for k, _ := range v {
  6147. v2[i] = float64(k)
  6148. i++
  6149. }
  6150. sort.Sort(floatSlice(v2))
  6151. for _, k2 := range v2 {
  6152. if cr != nil {
  6153. cr.sendContainerState(containerMapKey)
  6154. }
  6155. ee.EncodeFloat64(float64(k2))
  6156. if cr != nil {
  6157. cr.sendContainerState(containerMapValue)
  6158. }
  6159. ee.EncodeInt(int64(v[float64(k2)]))
  6160. }
  6161. } else {
  6162. for k2, v2 := range v {
  6163. if cr != nil {
  6164. cr.sendContainerState(containerMapKey)
  6165. }
  6166. ee.EncodeFloat64(k2)
  6167. if cr != nil {
  6168. cr.sendContainerState(containerMapValue)
  6169. }
  6170. ee.EncodeInt(int64(v2))
  6171. }
  6172. }
  6173. if cr != nil {
  6174. cr.sendContainerState(containerMapEnd)
  6175. }
  6176. }
  6177. func (f *encFnInfo) fastpathEncMapFloat64Int16R(rv reflect.Value) {
  6178. fastpathTV.EncMapFloat64Int16V(rv2i(rv).(map[float64]int16), fastpathCheckNilFalse, f.e)
  6179. }
  6180. func (_ fastpathT) EncMapFloat64Int16V(v map[float64]int16, checkNil bool, e *Encoder) {
  6181. ee := e.e
  6182. cr := e.cr
  6183. if checkNil && v == nil {
  6184. ee.EncodeNil()
  6185. return
  6186. }
  6187. ee.EncodeMapStart(len(v))
  6188. if e.h.Canonical {
  6189. v2 := make([]float64, len(v))
  6190. var i int
  6191. for k, _ := range v {
  6192. v2[i] = float64(k)
  6193. i++
  6194. }
  6195. sort.Sort(floatSlice(v2))
  6196. for _, k2 := range v2 {
  6197. if cr != nil {
  6198. cr.sendContainerState(containerMapKey)
  6199. }
  6200. ee.EncodeFloat64(float64(k2))
  6201. if cr != nil {
  6202. cr.sendContainerState(containerMapValue)
  6203. }
  6204. ee.EncodeInt(int64(v[float64(k2)]))
  6205. }
  6206. } else {
  6207. for k2, v2 := range v {
  6208. if cr != nil {
  6209. cr.sendContainerState(containerMapKey)
  6210. }
  6211. ee.EncodeFloat64(k2)
  6212. if cr != nil {
  6213. cr.sendContainerState(containerMapValue)
  6214. }
  6215. ee.EncodeInt(int64(v2))
  6216. }
  6217. }
  6218. if cr != nil {
  6219. cr.sendContainerState(containerMapEnd)
  6220. }
  6221. }
  6222. func (f *encFnInfo) fastpathEncMapFloat64Int32R(rv reflect.Value) {
  6223. fastpathTV.EncMapFloat64Int32V(rv2i(rv).(map[float64]int32), fastpathCheckNilFalse, f.e)
  6224. }
  6225. func (_ fastpathT) EncMapFloat64Int32V(v map[float64]int32, checkNil bool, e *Encoder) {
  6226. ee := e.e
  6227. cr := e.cr
  6228. if checkNil && v == nil {
  6229. ee.EncodeNil()
  6230. return
  6231. }
  6232. ee.EncodeMapStart(len(v))
  6233. if e.h.Canonical {
  6234. v2 := make([]float64, len(v))
  6235. var i int
  6236. for k, _ := range v {
  6237. v2[i] = float64(k)
  6238. i++
  6239. }
  6240. sort.Sort(floatSlice(v2))
  6241. for _, k2 := range v2 {
  6242. if cr != nil {
  6243. cr.sendContainerState(containerMapKey)
  6244. }
  6245. ee.EncodeFloat64(float64(k2))
  6246. if cr != nil {
  6247. cr.sendContainerState(containerMapValue)
  6248. }
  6249. ee.EncodeInt(int64(v[float64(k2)]))
  6250. }
  6251. } else {
  6252. for k2, v2 := range v {
  6253. if cr != nil {
  6254. cr.sendContainerState(containerMapKey)
  6255. }
  6256. ee.EncodeFloat64(k2)
  6257. if cr != nil {
  6258. cr.sendContainerState(containerMapValue)
  6259. }
  6260. ee.EncodeInt(int64(v2))
  6261. }
  6262. }
  6263. if cr != nil {
  6264. cr.sendContainerState(containerMapEnd)
  6265. }
  6266. }
  6267. func (f *encFnInfo) fastpathEncMapFloat64Int64R(rv reflect.Value) {
  6268. fastpathTV.EncMapFloat64Int64V(rv2i(rv).(map[float64]int64), fastpathCheckNilFalse, f.e)
  6269. }
  6270. func (_ fastpathT) EncMapFloat64Int64V(v map[float64]int64, checkNil bool, e *Encoder) {
  6271. ee := e.e
  6272. cr := e.cr
  6273. if checkNil && v == nil {
  6274. ee.EncodeNil()
  6275. return
  6276. }
  6277. ee.EncodeMapStart(len(v))
  6278. if e.h.Canonical {
  6279. v2 := make([]float64, len(v))
  6280. var i int
  6281. for k, _ := range v {
  6282. v2[i] = float64(k)
  6283. i++
  6284. }
  6285. sort.Sort(floatSlice(v2))
  6286. for _, k2 := range v2 {
  6287. if cr != nil {
  6288. cr.sendContainerState(containerMapKey)
  6289. }
  6290. ee.EncodeFloat64(float64(k2))
  6291. if cr != nil {
  6292. cr.sendContainerState(containerMapValue)
  6293. }
  6294. ee.EncodeInt(int64(v[float64(k2)]))
  6295. }
  6296. } else {
  6297. for k2, v2 := range v {
  6298. if cr != nil {
  6299. cr.sendContainerState(containerMapKey)
  6300. }
  6301. ee.EncodeFloat64(k2)
  6302. if cr != nil {
  6303. cr.sendContainerState(containerMapValue)
  6304. }
  6305. ee.EncodeInt(int64(v2))
  6306. }
  6307. }
  6308. if cr != nil {
  6309. cr.sendContainerState(containerMapEnd)
  6310. }
  6311. }
  6312. func (f *encFnInfo) fastpathEncMapFloat64Float32R(rv reflect.Value) {
  6313. fastpathTV.EncMapFloat64Float32V(rv2i(rv).(map[float64]float32), fastpathCheckNilFalse, f.e)
  6314. }
  6315. func (_ fastpathT) EncMapFloat64Float32V(v map[float64]float32, checkNil bool, e *Encoder) {
  6316. ee := e.e
  6317. cr := e.cr
  6318. if checkNil && v == nil {
  6319. ee.EncodeNil()
  6320. return
  6321. }
  6322. ee.EncodeMapStart(len(v))
  6323. if e.h.Canonical {
  6324. v2 := make([]float64, len(v))
  6325. var i int
  6326. for k, _ := range v {
  6327. v2[i] = float64(k)
  6328. i++
  6329. }
  6330. sort.Sort(floatSlice(v2))
  6331. for _, k2 := range v2 {
  6332. if cr != nil {
  6333. cr.sendContainerState(containerMapKey)
  6334. }
  6335. ee.EncodeFloat64(float64(k2))
  6336. if cr != nil {
  6337. cr.sendContainerState(containerMapValue)
  6338. }
  6339. ee.EncodeFloat32(v[float64(k2)])
  6340. }
  6341. } else {
  6342. for k2, v2 := range v {
  6343. if cr != nil {
  6344. cr.sendContainerState(containerMapKey)
  6345. }
  6346. ee.EncodeFloat64(k2)
  6347. if cr != nil {
  6348. cr.sendContainerState(containerMapValue)
  6349. }
  6350. ee.EncodeFloat32(v2)
  6351. }
  6352. }
  6353. if cr != nil {
  6354. cr.sendContainerState(containerMapEnd)
  6355. }
  6356. }
  6357. func (f *encFnInfo) fastpathEncMapFloat64Float64R(rv reflect.Value) {
  6358. fastpathTV.EncMapFloat64Float64V(rv2i(rv).(map[float64]float64), fastpathCheckNilFalse, f.e)
  6359. }
  6360. func (_ fastpathT) EncMapFloat64Float64V(v map[float64]float64, checkNil bool, e *Encoder) {
  6361. ee := e.e
  6362. cr := e.cr
  6363. if checkNil && v == nil {
  6364. ee.EncodeNil()
  6365. return
  6366. }
  6367. ee.EncodeMapStart(len(v))
  6368. if e.h.Canonical {
  6369. v2 := make([]float64, len(v))
  6370. var i int
  6371. for k, _ := range v {
  6372. v2[i] = float64(k)
  6373. i++
  6374. }
  6375. sort.Sort(floatSlice(v2))
  6376. for _, k2 := range v2 {
  6377. if cr != nil {
  6378. cr.sendContainerState(containerMapKey)
  6379. }
  6380. ee.EncodeFloat64(float64(k2))
  6381. if cr != nil {
  6382. cr.sendContainerState(containerMapValue)
  6383. }
  6384. ee.EncodeFloat64(v[float64(k2)])
  6385. }
  6386. } else {
  6387. for k2, v2 := range v {
  6388. if cr != nil {
  6389. cr.sendContainerState(containerMapKey)
  6390. }
  6391. ee.EncodeFloat64(k2)
  6392. if cr != nil {
  6393. cr.sendContainerState(containerMapValue)
  6394. }
  6395. ee.EncodeFloat64(v2)
  6396. }
  6397. }
  6398. if cr != nil {
  6399. cr.sendContainerState(containerMapEnd)
  6400. }
  6401. }
  6402. func (f *encFnInfo) fastpathEncMapFloat64BoolR(rv reflect.Value) {
  6403. fastpathTV.EncMapFloat64BoolV(rv2i(rv).(map[float64]bool), fastpathCheckNilFalse, f.e)
  6404. }
  6405. func (_ fastpathT) EncMapFloat64BoolV(v map[float64]bool, checkNil bool, e *Encoder) {
  6406. ee := e.e
  6407. cr := e.cr
  6408. if checkNil && v == nil {
  6409. ee.EncodeNil()
  6410. return
  6411. }
  6412. ee.EncodeMapStart(len(v))
  6413. if e.h.Canonical {
  6414. v2 := make([]float64, len(v))
  6415. var i int
  6416. for k, _ := range v {
  6417. v2[i] = float64(k)
  6418. i++
  6419. }
  6420. sort.Sort(floatSlice(v2))
  6421. for _, k2 := range v2 {
  6422. if cr != nil {
  6423. cr.sendContainerState(containerMapKey)
  6424. }
  6425. ee.EncodeFloat64(float64(k2))
  6426. if cr != nil {
  6427. cr.sendContainerState(containerMapValue)
  6428. }
  6429. ee.EncodeBool(v[float64(k2)])
  6430. }
  6431. } else {
  6432. for k2, v2 := range v {
  6433. if cr != nil {
  6434. cr.sendContainerState(containerMapKey)
  6435. }
  6436. ee.EncodeFloat64(k2)
  6437. if cr != nil {
  6438. cr.sendContainerState(containerMapValue)
  6439. }
  6440. ee.EncodeBool(v2)
  6441. }
  6442. }
  6443. if cr != nil {
  6444. cr.sendContainerState(containerMapEnd)
  6445. }
  6446. }
  6447. func (f *encFnInfo) fastpathEncMapUintIntfR(rv reflect.Value) {
  6448. fastpathTV.EncMapUintIntfV(rv2i(rv).(map[uint]interface{}), fastpathCheckNilFalse, f.e)
  6449. }
  6450. func (_ fastpathT) EncMapUintIntfV(v map[uint]interface{}, checkNil bool, e *Encoder) {
  6451. ee := e.e
  6452. cr := e.cr
  6453. if checkNil && v == nil {
  6454. ee.EncodeNil()
  6455. return
  6456. }
  6457. ee.EncodeMapStart(len(v))
  6458. if e.h.Canonical {
  6459. v2 := make([]uint64, len(v))
  6460. var i int
  6461. for k, _ := range v {
  6462. v2[i] = uint64(k)
  6463. i++
  6464. }
  6465. sort.Sort(uintSlice(v2))
  6466. for _, k2 := range v2 {
  6467. if cr != nil {
  6468. cr.sendContainerState(containerMapKey)
  6469. }
  6470. ee.EncodeUint(uint64(uint(k2)))
  6471. if cr != nil {
  6472. cr.sendContainerState(containerMapValue)
  6473. }
  6474. e.encode(v[uint(k2)])
  6475. }
  6476. } else {
  6477. for k2, v2 := range v {
  6478. if cr != nil {
  6479. cr.sendContainerState(containerMapKey)
  6480. }
  6481. ee.EncodeUint(uint64(k2))
  6482. if cr != nil {
  6483. cr.sendContainerState(containerMapValue)
  6484. }
  6485. e.encode(v2)
  6486. }
  6487. }
  6488. if cr != nil {
  6489. cr.sendContainerState(containerMapEnd)
  6490. }
  6491. }
  6492. func (f *encFnInfo) fastpathEncMapUintStringR(rv reflect.Value) {
  6493. fastpathTV.EncMapUintStringV(rv2i(rv).(map[uint]string), fastpathCheckNilFalse, f.e)
  6494. }
  6495. func (_ fastpathT) EncMapUintStringV(v map[uint]string, checkNil bool, e *Encoder) {
  6496. ee := e.e
  6497. cr := e.cr
  6498. if checkNil && v == nil {
  6499. ee.EncodeNil()
  6500. return
  6501. }
  6502. ee.EncodeMapStart(len(v))
  6503. if e.h.Canonical {
  6504. v2 := make([]uint64, len(v))
  6505. var i int
  6506. for k, _ := range v {
  6507. v2[i] = uint64(k)
  6508. i++
  6509. }
  6510. sort.Sort(uintSlice(v2))
  6511. for _, k2 := range v2 {
  6512. if cr != nil {
  6513. cr.sendContainerState(containerMapKey)
  6514. }
  6515. ee.EncodeUint(uint64(uint(k2)))
  6516. if cr != nil {
  6517. cr.sendContainerState(containerMapValue)
  6518. }
  6519. ee.EncodeString(c_UTF8, v[uint(k2)])
  6520. }
  6521. } else {
  6522. for k2, v2 := range v {
  6523. if cr != nil {
  6524. cr.sendContainerState(containerMapKey)
  6525. }
  6526. ee.EncodeUint(uint64(k2))
  6527. if cr != nil {
  6528. cr.sendContainerState(containerMapValue)
  6529. }
  6530. ee.EncodeString(c_UTF8, v2)
  6531. }
  6532. }
  6533. if cr != nil {
  6534. cr.sendContainerState(containerMapEnd)
  6535. }
  6536. }
  6537. func (f *encFnInfo) fastpathEncMapUintUintR(rv reflect.Value) {
  6538. fastpathTV.EncMapUintUintV(rv2i(rv).(map[uint]uint), fastpathCheckNilFalse, f.e)
  6539. }
  6540. func (_ fastpathT) EncMapUintUintV(v map[uint]uint, checkNil bool, e *Encoder) {
  6541. ee := e.e
  6542. cr := e.cr
  6543. if checkNil && v == nil {
  6544. ee.EncodeNil()
  6545. return
  6546. }
  6547. ee.EncodeMapStart(len(v))
  6548. if e.h.Canonical {
  6549. v2 := make([]uint64, len(v))
  6550. var i int
  6551. for k, _ := range v {
  6552. v2[i] = uint64(k)
  6553. i++
  6554. }
  6555. sort.Sort(uintSlice(v2))
  6556. for _, k2 := range v2 {
  6557. if cr != nil {
  6558. cr.sendContainerState(containerMapKey)
  6559. }
  6560. ee.EncodeUint(uint64(uint(k2)))
  6561. if cr != nil {
  6562. cr.sendContainerState(containerMapValue)
  6563. }
  6564. ee.EncodeUint(uint64(v[uint(k2)]))
  6565. }
  6566. } else {
  6567. for k2, v2 := range v {
  6568. if cr != nil {
  6569. cr.sendContainerState(containerMapKey)
  6570. }
  6571. ee.EncodeUint(uint64(k2))
  6572. if cr != nil {
  6573. cr.sendContainerState(containerMapValue)
  6574. }
  6575. ee.EncodeUint(uint64(v2))
  6576. }
  6577. }
  6578. if cr != nil {
  6579. cr.sendContainerState(containerMapEnd)
  6580. }
  6581. }
  6582. func (f *encFnInfo) fastpathEncMapUintUint8R(rv reflect.Value) {
  6583. fastpathTV.EncMapUintUint8V(rv2i(rv).(map[uint]uint8), fastpathCheckNilFalse, f.e)
  6584. }
  6585. func (_ fastpathT) EncMapUintUint8V(v map[uint]uint8, checkNil bool, e *Encoder) {
  6586. ee := e.e
  6587. cr := e.cr
  6588. if checkNil && v == nil {
  6589. ee.EncodeNil()
  6590. return
  6591. }
  6592. ee.EncodeMapStart(len(v))
  6593. if e.h.Canonical {
  6594. v2 := make([]uint64, len(v))
  6595. var i int
  6596. for k, _ := range v {
  6597. v2[i] = uint64(k)
  6598. i++
  6599. }
  6600. sort.Sort(uintSlice(v2))
  6601. for _, k2 := range v2 {
  6602. if cr != nil {
  6603. cr.sendContainerState(containerMapKey)
  6604. }
  6605. ee.EncodeUint(uint64(uint(k2)))
  6606. if cr != nil {
  6607. cr.sendContainerState(containerMapValue)
  6608. }
  6609. ee.EncodeUint(uint64(v[uint(k2)]))
  6610. }
  6611. } else {
  6612. for k2, v2 := range v {
  6613. if cr != nil {
  6614. cr.sendContainerState(containerMapKey)
  6615. }
  6616. ee.EncodeUint(uint64(k2))
  6617. if cr != nil {
  6618. cr.sendContainerState(containerMapValue)
  6619. }
  6620. ee.EncodeUint(uint64(v2))
  6621. }
  6622. }
  6623. if cr != nil {
  6624. cr.sendContainerState(containerMapEnd)
  6625. }
  6626. }
  6627. func (f *encFnInfo) fastpathEncMapUintUint16R(rv reflect.Value) {
  6628. fastpathTV.EncMapUintUint16V(rv2i(rv).(map[uint]uint16), fastpathCheckNilFalse, f.e)
  6629. }
  6630. func (_ fastpathT) EncMapUintUint16V(v map[uint]uint16, checkNil bool, e *Encoder) {
  6631. ee := e.e
  6632. cr := e.cr
  6633. if checkNil && v == nil {
  6634. ee.EncodeNil()
  6635. return
  6636. }
  6637. ee.EncodeMapStart(len(v))
  6638. if e.h.Canonical {
  6639. v2 := make([]uint64, len(v))
  6640. var i int
  6641. for k, _ := range v {
  6642. v2[i] = uint64(k)
  6643. i++
  6644. }
  6645. sort.Sort(uintSlice(v2))
  6646. for _, k2 := range v2 {
  6647. if cr != nil {
  6648. cr.sendContainerState(containerMapKey)
  6649. }
  6650. ee.EncodeUint(uint64(uint(k2)))
  6651. if cr != nil {
  6652. cr.sendContainerState(containerMapValue)
  6653. }
  6654. ee.EncodeUint(uint64(v[uint(k2)]))
  6655. }
  6656. } else {
  6657. for k2, v2 := range v {
  6658. if cr != nil {
  6659. cr.sendContainerState(containerMapKey)
  6660. }
  6661. ee.EncodeUint(uint64(k2))
  6662. if cr != nil {
  6663. cr.sendContainerState(containerMapValue)
  6664. }
  6665. ee.EncodeUint(uint64(v2))
  6666. }
  6667. }
  6668. if cr != nil {
  6669. cr.sendContainerState(containerMapEnd)
  6670. }
  6671. }
  6672. func (f *encFnInfo) fastpathEncMapUintUint32R(rv reflect.Value) {
  6673. fastpathTV.EncMapUintUint32V(rv2i(rv).(map[uint]uint32), fastpathCheckNilFalse, f.e)
  6674. }
  6675. func (_ fastpathT) EncMapUintUint32V(v map[uint]uint32, checkNil bool, e *Encoder) {
  6676. ee := e.e
  6677. cr := e.cr
  6678. if checkNil && v == nil {
  6679. ee.EncodeNil()
  6680. return
  6681. }
  6682. ee.EncodeMapStart(len(v))
  6683. if e.h.Canonical {
  6684. v2 := make([]uint64, len(v))
  6685. var i int
  6686. for k, _ := range v {
  6687. v2[i] = uint64(k)
  6688. i++
  6689. }
  6690. sort.Sort(uintSlice(v2))
  6691. for _, k2 := range v2 {
  6692. if cr != nil {
  6693. cr.sendContainerState(containerMapKey)
  6694. }
  6695. ee.EncodeUint(uint64(uint(k2)))
  6696. if cr != nil {
  6697. cr.sendContainerState(containerMapValue)
  6698. }
  6699. ee.EncodeUint(uint64(v[uint(k2)]))
  6700. }
  6701. } else {
  6702. for k2, v2 := range v {
  6703. if cr != nil {
  6704. cr.sendContainerState(containerMapKey)
  6705. }
  6706. ee.EncodeUint(uint64(k2))
  6707. if cr != nil {
  6708. cr.sendContainerState(containerMapValue)
  6709. }
  6710. ee.EncodeUint(uint64(v2))
  6711. }
  6712. }
  6713. if cr != nil {
  6714. cr.sendContainerState(containerMapEnd)
  6715. }
  6716. }
  6717. func (f *encFnInfo) fastpathEncMapUintUint64R(rv reflect.Value) {
  6718. fastpathTV.EncMapUintUint64V(rv2i(rv).(map[uint]uint64), fastpathCheckNilFalse, f.e)
  6719. }
  6720. func (_ fastpathT) EncMapUintUint64V(v map[uint]uint64, checkNil bool, e *Encoder) {
  6721. ee := e.e
  6722. cr := e.cr
  6723. if checkNil && v == nil {
  6724. ee.EncodeNil()
  6725. return
  6726. }
  6727. ee.EncodeMapStart(len(v))
  6728. if e.h.Canonical {
  6729. v2 := make([]uint64, len(v))
  6730. var i int
  6731. for k, _ := range v {
  6732. v2[i] = uint64(k)
  6733. i++
  6734. }
  6735. sort.Sort(uintSlice(v2))
  6736. for _, k2 := range v2 {
  6737. if cr != nil {
  6738. cr.sendContainerState(containerMapKey)
  6739. }
  6740. ee.EncodeUint(uint64(uint(k2)))
  6741. if cr != nil {
  6742. cr.sendContainerState(containerMapValue)
  6743. }
  6744. ee.EncodeUint(uint64(v[uint(k2)]))
  6745. }
  6746. } else {
  6747. for k2, v2 := range v {
  6748. if cr != nil {
  6749. cr.sendContainerState(containerMapKey)
  6750. }
  6751. ee.EncodeUint(uint64(k2))
  6752. if cr != nil {
  6753. cr.sendContainerState(containerMapValue)
  6754. }
  6755. ee.EncodeUint(uint64(v2))
  6756. }
  6757. }
  6758. if cr != nil {
  6759. cr.sendContainerState(containerMapEnd)
  6760. }
  6761. }
  6762. func (f *encFnInfo) fastpathEncMapUintUintptrR(rv reflect.Value) {
  6763. fastpathTV.EncMapUintUintptrV(rv2i(rv).(map[uint]uintptr), fastpathCheckNilFalse, f.e)
  6764. }
  6765. func (_ fastpathT) EncMapUintUintptrV(v map[uint]uintptr, checkNil bool, e *Encoder) {
  6766. ee := e.e
  6767. cr := e.cr
  6768. if checkNil && v == nil {
  6769. ee.EncodeNil()
  6770. return
  6771. }
  6772. ee.EncodeMapStart(len(v))
  6773. if e.h.Canonical {
  6774. v2 := make([]uint64, len(v))
  6775. var i int
  6776. for k, _ := range v {
  6777. v2[i] = uint64(k)
  6778. i++
  6779. }
  6780. sort.Sort(uintSlice(v2))
  6781. for _, k2 := range v2 {
  6782. if cr != nil {
  6783. cr.sendContainerState(containerMapKey)
  6784. }
  6785. ee.EncodeUint(uint64(uint(k2)))
  6786. if cr != nil {
  6787. cr.sendContainerState(containerMapValue)
  6788. }
  6789. e.encode(v[uint(k2)])
  6790. }
  6791. } else {
  6792. for k2, v2 := range v {
  6793. if cr != nil {
  6794. cr.sendContainerState(containerMapKey)
  6795. }
  6796. ee.EncodeUint(uint64(k2))
  6797. if cr != nil {
  6798. cr.sendContainerState(containerMapValue)
  6799. }
  6800. e.encode(v2)
  6801. }
  6802. }
  6803. if cr != nil {
  6804. cr.sendContainerState(containerMapEnd)
  6805. }
  6806. }
  6807. func (f *encFnInfo) fastpathEncMapUintIntR(rv reflect.Value) {
  6808. fastpathTV.EncMapUintIntV(rv2i(rv).(map[uint]int), fastpathCheckNilFalse, f.e)
  6809. }
  6810. func (_ fastpathT) EncMapUintIntV(v map[uint]int, checkNil bool, e *Encoder) {
  6811. ee := e.e
  6812. cr := e.cr
  6813. if checkNil && v == nil {
  6814. ee.EncodeNil()
  6815. return
  6816. }
  6817. ee.EncodeMapStart(len(v))
  6818. if e.h.Canonical {
  6819. v2 := make([]uint64, len(v))
  6820. var i int
  6821. for k, _ := range v {
  6822. v2[i] = uint64(k)
  6823. i++
  6824. }
  6825. sort.Sort(uintSlice(v2))
  6826. for _, k2 := range v2 {
  6827. if cr != nil {
  6828. cr.sendContainerState(containerMapKey)
  6829. }
  6830. ee.EncodeUint(uint64(uint(k2)))
  6831. if cr != nil {
  6832. cr.sendContainerState(containerMapValue)
  6833. }
  6834. ee.EncodeInt(int64(v[uint(k2)]))
  6835. }
  6836. } else {
  6837. for k2, v2 := range v {
  6838. if cr != nil {
  6839. cr.sendContainerState(containerMapKey)
  6840. }
  6841. ee.EncodeUint(uint64(k2))
  6842. if cr != nil {
  6843. cr.sendContainerState(containerMapValue)
  6844. }
  6845. ee.EncodeInt(int64(v2))
  6846. }
  6847. }
  6848. if cr != nil {
  6849. cr.sendContainerState(containerMapEnd)
  6850. }
  6851. }
  6852. func (f *encFnInfo) fastpathEncMapUintInt8R(rv reflect.Value) {
  6853. fastpathTV.EncMapUintInt8V(rv2i(rv).(map[uint]int8), fastpathCheckNilFalse, f.e)
  6854. }
  6855. func (_ fastpathT) EncMapUintInt8V(v map[uint]int8, checkNil bool, e *Encoder) {
  6856. ee := e.e
  6857. cr := e.cr
  6858. if checkNil && v == nil {
  6859. ee.EncodeNil()
  6860. return
  6861. }
  6862. ee.EncodeMapStart(len(v))
  6863. if e.h.Canonical {
  6864. v2 := make([]uint64, len(v))
  6865. var i int
  6866. for k, _ := range v {
  6867. v2[i] = uint64(k)
  6868. i++
  6869. }
  6870. sort.Sort(uintSlice(v2))
  6871. for _, k2 := range v2 {
  6872. if cr != nil {
  6873. cr.sendContainerState(containerMapKey)
  6874. }
  6875. ee.EncodeUint(uint64(uint(k2)))
  6876. if cr != nil {
  6877. cr.sendContainerState(containerMapValue)
  6878. }
  6879. ee.EncodeInt(int64(v[uint(k2)]))
  6880. }
  6881. } else {
  6882. for k2, v2 := range v {
  6883. if cr != nil {
  6884. cr.sendContainerState(containerMapKey)
  6885. }
  6886. ee.EncodeUint(uint64(k2))
  6887. if cr != nil {
  6888. cr.sendContainerState(containerMapValue)
  6889. }
  6890. ee.EncodeInt(int64(v2))
  6891. }
  6892. }
  6893. if cr != nil {
  6894. cr.sendContainerState(containerMapEnd)
  6895. }
  6896. }
  6897. func (f *encFnInfo) fastpathEncMapUintInt16R(rv reflect.Value) {
  6898. fastpathTV.EncMapUintInt16V(rv2i(rv).(map[uint]int16), fastpathCheckNilFalse, f.e)
  6899. }
  6900. func (_ fastpathT) EncMapUintInt16V(v map[uint]int16, checkNil bool, e *Encoder) {
  6901. ee := e.e
  6902. cr := e.cr
  6903. if checkNil && v == nil {
  6904. ee.EncodeNil()
  6905. return
  6906. }
  6907. ee.EncodeMapStart(len(v))
  6908. if e.h.Canonical {
  6909. v2 := make([]uint64, len(v))
  6910. var i int
  6911. for k, _ := range v {
  6912. v2[i] = uint64(k)
  6913. i++
  6914. }
  6915. sort.Sort(uintSlice(v2))
  6916. for _, k2 := range v2 {
  6917. if cr != nil {
  6918. cr.sendContainerState(containerMapKey)
  6919. }
  6920. ee.EncodeUint(uint64(uint(k2)))
  6921. if cr != nil {
  6922. cr.sendContainerState(containerMapValue)
  6923. }
  6924. ee.EncodeInt(int64(v[uint(k2)]))
  6925. }
  6926. } else {
  6927. for k2, v2 := range v {
  6928. if cr != nil {
  6929. cr.sendContainerState(containerMapKey)
  6930. }
  6931. ee.EncodeUint(uint64(k2))
  6932. if cr != nil {
  6933. cr.sendContainerState(containerMapValue)
  6934. }
  6935. ee.EncodeInt(int64(v2))
  6936. }
  6937. }
  6938. if cr != nil {
  6939. cr.sendContainerState(containerMapEnd)
  6940. }
  6941. }
  6942. func (f *encFnInfo) fastpathEncMapUintInt32R(rv reflect.Value) {
  6943. fastpathTV.EncMapUintInt32V(rv2i(rv).(map[uint]int32), fastpathCheckNilFalse, f.e)
  6944. }
  6945. func (_ fastpathT) EncMapUintInt32V(v map[uint]int32, checkNil bool, e *Encoder) {
  6946. ee := e.e
  6947. cr := e.cr
  6948. if checkNil && v == nil {
  6949. ee.EncodeNil()
  6950. return
  6951. }
  6952. ee.EncodeMapStart(len(v))
  6953. if e.h.Canonical {
  6954. v2 := make([]uint64, len(v))
  6955. var i int
  6956. for k, _ := range v {
  6957. v2[i] = uint64(k)
  6958. i++
  6959. }
  6960. sort.Sort(uintSlice(v2))
  6961. for _, k2 := range v2 {
  6962. if cr != nil {
  6963. cr.sendContainerState(containerMapKey)
  6964. }
  6965. ee.EncodeUint(uint64(uint(k2)))
  6966. if cr != nil {
  6967. cr.sendContainerState(containerMapValue)
  6968. }
  6969. ee.EncodeInt(int64(v[uint(k2)]))
  6970. }
  6971. } else {
  6972. for k2, v2 := range v {
  6973. if cr != nil {
  6974. cr.sendContainerState(containerMapKey)
  6975. }
  6976. ee.EncodeUint(uint64(k2))
  6977. if cr != nil {
  6978. cr.sendContainerState(containerMapValue)
  6979. }
  6980. ee.EncodeInt(int64(v2))
  6981. }
  6982. }
  6983. if cr != nil {
  6984. cr.sendContainerState(containerMapEnd)
  6985. }
  6986. }
  6987. func (f *encFnInfo) fastpathEncMapUintInt64R(rv reflect.Value) {
  6988. fastpathTV.EncMapUintInt64V(rv2i(rv).(map[uint]int64), fastpathCheckNilFalse, f.e)
  6989. }
  6990. func (_ fastpathT) EncMapUintInt64V(v map[uint]int64, checkNil bool, e *Encoder) {
  6991. ee := e.e
  6992. cr := e.cr
  6993. if checkNil && v == nil {
  6994. ee.EncodeNil()
  6995. return
  6996. }
  6997. ee.EncodeMapStart(len(v))
  6998. if e.h.Canonical {
  6999. v2 := make([]uint64, len(v))
  7000. var i int
  7001. for k, _ := range v {
  7002. v2[i] = uint64(k)
  7003. i++
  7004. }
  7005. sort.Sort(uintSlice(v2))
  7006. for _, k2 := range v2 {
  7007. if cr != nil {
  7008. cr.sendContainerState(containerMapKey)
  7009. }
  7010. ee.EncodeUint(uint64(uint(k2)))
  7011. if cr != nil {
  7012. cr.sendContainerState(containerMapValue)
  7013. }
  7014. ee.EncodeInt(int64(v[uint(k2)]))
  7015. }
  7016. } else {
  7017. for k2, v2 := range v {
  7018. if cr != nil {
  7019. cr.sendContainerState(containerMapKey)
  7020. }
  7021. ee.EncodeUint(uint64(k2))
  7022. if cr != nil {
  7023. cr.sendContainerState(containerMapValue)
  7024. }
  7025. ee.EncodeInt(int64(v2))
  7026. }
  7027. }
  7028. if cr != nil {
  7029. cr.sendContainerState(containerMapEnd)
  7030. }
  7031. }
  7032. func (f *encFnInfo) fastpathEncMapUintFloat32R(rv reflect.Value) {
  7033. fastpathTV.EncMapUintFloat32V(rv2i(rv).(map[uint]float32), fastpathCheckNilFalse, f.e)
  7034. }
  7035. func (_ fastpathT) EncMapUintFloat32V(v map[uint]float32, checkNil bool, e *Encoder) {
  7036. ee := e.e
  7037. cr := e.cr
  7038. if checkNil && v == nil {
  7039. ee.EncodeNil()
  7040. return
  7041. }
  7042. ee.EncodeMapStart(len(v))
  7043. if e.h.Canonical {
  7044. v2 := make([]uint64, len(v))
  7045. var i int
  7046. for k, _ := range v {
  7047. v2[i] = uint64(k)
  7048. i++
  7049. }
  7050. sort.Sort(uintSlice(v2))
  7051. for _, k2 := range v2 {
  7052. if cr != nil {
  7053. cr.sendContainerState(containerMapKey)
  7054. }
  7055. ee.EncodeUint(uint64(uint(k2)))
  7056. if cr != nil {
  7057. cr.sendContainerState(containerMapValue)
  7058. }
  7059. ee.EncodeFloat32(v[uint(k2)])
  7060. }
  7061. } else {
  7062. for k2, v2 := range v {
  7063. if cr != nil {
  7064. cr.sendContainerState(containerMapKey)
  7065. }
  7066. ee.EncodeUint(uint64(k2))
  7067. if cr != nil {
  7068. cr.sendContainerState(containerMapValue)
  7069. }
  7070. ee.EncodeFloat32(v2)
  7071. }
  7072. }
  7073. if cr != nil {
  7074. cr.sendContainerState(containerMapEnd)
  7075. }
  7076. }
  7077. func (f *encFnInfo) fastpathEncMapUintFloat64R(rv reflect.Value) {
  7078. fastpathTV.EncMapUintFloat64V(rv2i(rv).(map[uint]float64), fastpathCheckNilFalse, f.e)
  7079. }
  7080. func (_ fastpathT) EncMapUintFloat64V(v map[uint]float64, checkNil bool, e *Encoder) {
  7081. ee := e.e
  7082. cr := e.cr
  7083. if checkNil && v == nil {
  7084. ee.EncodeNil()
  7085. return
  7086. }
  7087. ee.EncodeMapStart(len(v))
  7088. if e.h.Canonical {
  7089. v2 := make([]uint64, len(v))
  7090. var i int
  7091. for k, _ := range v {
  7092. v2[i] = uint64(k)
  7093. i++
  7094. }
  7095. sort.Sort(uintSlice(v2))
  7096. for _, k2 := range v2 {
  7097. if cr != nil {
  7098. cr.sendContainerState(containerMapKey)
  7099. }
  7100. ee.EncodeUint(uint64(uint(k2)))
  7101. if cr != nil {
  7102. cr.sendContainerState(containerMapValue)
  7103. }
  7104. ee.EncodeFloat64(v[uint(k2)])
  7105. }
  7106. } else {
  7107. for k2, v2 := range v {
  7108. if cr != nil {
  7109. cr.sendContainerState(containerMapKey)
  7110. }
  7111. ee.EncodeUint(uint64(k2))
  7112. if cr != nil {
  7113. cr.sendContainerState(containerMapValue)
  7114. }
  7115. ee.EncodeFloat64(v2)
  7116. }
  7117. }
  7118. if cr != nil {
  7119. cr.sendContainerState(containerMapEnd)
  7120. }
  7121. }
  7122. func (f *encFnInfo) fastpathEncMapUintBoolR(rv reflect.Value) {
  7123. fastpathTV.EncMapUintBoolV(rv2i(rv).(map[uint]bool), fastpathCheckNilFalse, f.e)
  7124. }
  7125. func (_ fastpathT) EncMapUintBoolV(v map[uint]bool, checkNil bool, e *Encoder) {
  7126. ee := e.e
  7127. cr := e.cr
  7128. if checkNil && v == nil {
  7129. ee.EncodeNil()
  7130. return
  7131. }
  7132. ee.EncodeMapStart(len(v))
  7133. if e.h.Canonical {
  7134. v2 := make([]uint64, len(v))
  7135. var i int
  7136. for k, _ := range v {
  7137. v2[i] = uint64(k)
  7138. i++
  7139. }
  7140. sort.Sort(uintSlice(v2))
  7141. for _, k2 := range v2 {
  7142. if cr != nil {
  7143. cr.sendContainerState(containerMapKey)
  7144. }
  7145. ee.EncodeUint(uint64(uint(k2)))
  7146. if cr != nil {
  7147. cr.sendContainerState(containerMapValue)
  7148. }
  7149. ee.EncodeBool(v[uint(k2)])
  7150. }
  7151. } else {
  7152. for k2, v2 := range v {
  7153. if cr != nil {
  7154. cr.sendContainerState(containerMapKey)
  7155. }
  7156. ee.EncodeUint(uint64(k2))
  7157. if cr != nil {
  7158. cr.sendContainerState(containerMapValue)
  7159. }
  7160. ee.EncodeBool(v2)
  7161. }
  7162. }
  7163. if cr != nil {
  7164. cr.sendContainerState(containerMapEnd)
  7165. }
  7166. }
  7167. func (f *encFnInfo) fastpathEncMapUint8IntfR(rv reflect.Value) {
  7168. fastpathTV.EncMapUint8IntfV(rv2i(rv).(map[uint8]interface{}), fastpathCheckNilFalse, f.e)
  7169. }
  7170. func (_ fastpathT) EncMapUint8IntfV(v map[uint8]interface{}, checkNil bool, e *Encoder) {
  7171. ee := e.e
  7172. cr := e.cr
  7173. if checkNil && v == nil {
  7174. ee.EncodeNil()
  7175. return
  7176. }
  7177. ee.EncodeMapStart(len(v))
  7178. if e.h.Canonical {
  7179. v2 := make([]uint64, len(v))
  7180. var i int
  7181. for k, _ := range v {
  7182. v2[i] = uint64(k)
  7183. i++
  7184. }
  7185. sort.Sort(uintSlice(v2))
  7186. for _, k2 := range v2 {
  7187. if cr != nil {
  7188. cr.sendContainerState(containerMapKey)
  7189. }
  7190. ee.EncodeUint(uint64(uint8(k2)))
  7191. if cr != nil {
  7192. cr.sendContainerState(containerMapValue)
  7193. }
  7194. e.encode(v[uint8(k2)])
  7195. }
  7196. } else {
  7197. for k2, v2 := range v {
  7198. if cr != nil {
  7199. cr.sendContainerState(containerMapKey)
  7200. }
  7201. ee.EncodeUint(uint64(k2))
  7202. if cr != nil {
  7203. cr.sendContainerState(containerMapValue)
  7204. }
  7205. e.encode(v2)
  7206. }
  7207. }
  7208. if cr != nil {
  7209. cr.sendContainerState(containerMapEnd)
  7210. }
  7211. }
  7212. func (f *encFnInfo) fastpathEncMapUint8StringR(rv reflect.Value) {
  7213. fastpathTV.EncMapUint8StringV(rv2i(rv).(map[uint8]string), fastpathCheckNilFalse, f.e)
  7214. }
  7215. func (_ fastpathT) EncMapUint8StringV(v map[uint8]string, checkNil bool, e *Encoder) {
  7216. ee := e.e
  7217. cr := e.cr
  7218. if checkNil && v == nil {
  7219. ee.EncodeNil()
  7220. return
  7221. }
  7222. ee.EncodeMapStart(len(v))
  7223. if e.h.Canonical {
  7224. v2 := make([]uint64, len(v))
  7225. var i int
  7226. for k, _ := range v {
  7227. v2[i] = uint64(k)
  7228. i++
  7229. }
  7230. sort.Sort(uintSlice(v2))
  7231. for _, k2 := range v2 {
  7232. if cr != nil {
  7233. cr.sendContainerState(containerMapKey)
  7234. }
  7235. ee.EncodeUint(uint64(uint8(k2)))
  7236. if cr != nil {
  7237. cr.sendContainerState(containerMapValue)
  7238. }
  7239. ee.EncodeString(c_UTF8, v[uint8(k2)])
  7240. }
  7241. } else {
  7242. for k2, v2 := range v {
  7243. if cr != nil {
  7244. cr.sendContainerState(containerMapKey)
  7245. }
  7246. ee.EncodeUint(uint64(k2))
  7247. if cr != nil {
  7248. cr.sendContainerState(containerMapValue)
  7249. }
  7250. ee.EncodeString(c_UTF8, v2)
  7251. }
  7252. }
  7253. if cr != nil {
  7254. cr.sendContainerState(containerMapEnd)
  7255. }
  7256. }
  7257. func (f *encFnInfo) fastpathEncMapUint8UintR(rv reflect.Value) {
  7258. fastpathTV.EncMapUint8UintV(rv2i(rv).(map[uint8]uint), fastpathCheckNilFalse, f.e)
  7259. }
  7260. func (_ fastpathT) EncMapUint8UintV(v map[uint8]uint, checkNil bool, e *Encoder) {
  7261. ee := e.e
  7262. cr := e.cr
  7263. if checkNil && v == nil {
  7264. ee.EncodeNil()
  7265. return
  7266. }
  7267. ee.EncodeMapStart(len(v))
  7268. if e.h.Canonical {
  7269. v2 := make([]uint64, len(v))
  7270. var i int
  7271. for k, _ := range v {
  7272. v2[i] = uint64(k)
  7273. i++
  7274. }
  7275. sort.Sort(uintSlice(v2))
  7276. for _, k2 := range v2 {
  7277. if cr != nil {
  7278. cr.sendContainerState(containerMapKey)
  7279. }
  7280. ee.EncodeUint(uint64(uint8(k2)))
  7281. if cr != nil {
  7282. cr.sendContainerState(containerMapValue)
  7283. }
  7284. ee.EncodeUint(uint64(v[uint8(k2)]))
  7285. }
  7286. } else {
  7287. for k2, v2 := range v {
  7288. if cr != nil {
  7289. cr.sendContainerState(containerMapKey)
  7290. }
  7291. ee.EncodeUint(uint64(k2))
  7292. if cr != nil {
  7293. cr.sendContainerState(containerMapValue)
  7294. }
  7295. ee.EncodeUint(uint64(v2))
  7296. }
  7297. }
  7298. if cr != nil {
  7299. cr.sendContainerState(containerMapEnd)
  7300. }
  7301. }
  7302. func (f *encFnInfo) fastpathEncMapUint8Uint8R(rv reflect.Value) {
  7303. fastpathTV.EncMapUint8Uint8V(rv2i(rv).(map[uint8]uint8), fastpathCheckNilFalse, f.e)
  7304. }
  7305. func (_ fastpathT) EncMapUint8Uint8V(v map[uint8]uint8, checkNil bool, e *Encoder) {
  7306. ee := e.e
  7307. cr := e.cr
  7308. if checkNil && v == nil {
  7309. ee.EncodeNil()
  7310. return
  7311. }
  7312. ee.EncodeMapStart(len(v))
  7313. if e.h.Canonical {
  7314. v2 := make([]uint64, len(v))
  7315. var i int
  7316. for k, _ := range v {
  7317. v2[i] = uint64(k)
  7318. i++
  7319. }
  7320. sort.Sort(uintSlice(v2))
  7321. for _, k2 := range v2 {
  7322. if cr != nil {
  7323. cr.sendContainerState(containerMapKey)
  7324. }
  7325. ee.EncodeUint(uint64(uint8(k2)))
  7326. if cr != nil {
  7327. cr.sendContainerState(containerMapValue)
  7328. }
  7329. ee.EncodeUint(uint64(v[uint8(k2)]))
  7330. }
  7331. } else {
  7332. for k2, v2 := range v {
  7333. if cr != nil {
  7334. cr.sendContainerState(containerMapKey)
  7335. }
  7336. ee.EncodeUint(uint64(k2))
  7337. if cr != nil {
  7338. cr.sendContainerState(containerMapValue)
  7339. }
  7340. ee.EncodeUint(uint64(v2))
  7341. }
  7342. }
  7343. if cr != nil {
  7344. cr.sendContainerState(containerMapEnd)
  7345. }
  7346. }
  7347. func (f *encFnInfo) fastpathEncMapUint8Uint16R(rv reflect.Value) {
  7348. fastpathTV.EncMapUint8Uint16V(rv2i(rv).(map[uint8]uint16), fastpathCheckNilFalse, f.e)
  7349. }
  7350. func (_ fastpathT) EncMapUint8Uint16V(v map[uint8]uint16, checkNil bool, e *Encoder) {
  7351. ee := e.e
  7352. cr := e.cr
  7353. if checkNil && v == nil {
  7354. ee.EncodeNil()
  7355. return
  7356. }
  7357. ee.EncodeMapStart(len(v))
  7358. if e.h.Canonical {
  7359. v2 := make([]uint64, len(v))
  7360. var i int
  7361. for k, _ := range v {
  7362. v2[i] = uint64(k)
  7363. i++
  7364. }
  7365. sort.Sort(uintSlice(v2))
  7366. for _, k2 := range v2 {
  7367. if cr != nil {
  7368. cr.sendContainerState(containerMapKey)
  7369. }
  7370. ee.EncodeUint(uint64(uint8(k2)))
  7371. if cr != nil {
  7372. cr.sendContainerState(containerMapValue)
  7373. }
  7374. ee.EncodeUint(uint64(v[uint8(k2)]))
  7375. }
  7376. } else {
  7377. for k2, v2 := range v {
  7378. if cr != nil {
  7379. cr.sendContainerState(containerMapKey)
  7380. }
  7381. ee.EncodeUint(uint64(k2))
  7382. if cr != nil {
  7383. cr.sendContainerState(containerMapValue)
  7384. }
  7385. ee.EncodeUint(uint64(v2))
  7386. }
  7387. }
  7388. if cr != nil {
  7389. cr.sendContainerState(containerMapEnd)
  7390. }
  7391. }
  7392. func (f *encFnInfo) fastpathEncMapUint8Uint32R(rv reflect.Value) {
  7393. fastpathTV.EncMapUint8Uint32V(rv2i(rv).(map[uint8]uint32), fastpathCheckNilFalse, f.e)
  7394. }
  7395. func (_ fastpathT) EncMapUint8Uint32V(v map[uint8]uint32, checkNil bool, e *Encoder) {
  7396. ee := e.e
  7397. cr := e.cr
  7398. if checkNil && v == nil {
  7399. ee.EncodeNil()
  7400. return
  7401. }
  7402. ee.EncodeMapStart(len(v))
  7403. if e.h.Canonical {
  7404. v2 := make([]uint64, len(v))
  7405. var i int
  7406. for k, _ := range v {
  7407. v2[i] = uint64(k)
  7408. i++
  7409. }
  7410. sort.Sort(uintSlice(v2))
  7411. for _, k2 := range v2 {
  7412. if cr != nil {
  7413. cr.sendContainerState(containerMapKey)
  7414. }
  7415. ee.EncodeUint(uint64(uint8(k2)))
  7416. if cr != nil {
  7417. cr.sendContainerState(containerMapValue)
  7418. }
  7419. ee.EncodeUint(uint64(v[uint8(k2)]))
  7420. }
  7421. } else {
  7422. for k2, v2 := range v {
  7423. if cr != nil {
  7424. cr.sendContainerState(containerMapKey)
  7425. }
  7426. ee.EncodeUint(uint64(k2))
  7427. if cr != nil {
  7428. cr.sendContainerState(containerMapValue)
  7429. }
  7430. ee.EncodeUint(uint64(v2))
  7431. }
  7432. }
  7433. if cr != nil {
  7434. cr.sendContainerState(containerMapEnd)
  7435. }
  7436. }
  7437. func (f *encFnInfo) fastpathEncMapUint8Uint64R(rv reflect.Value) {
  7438. fastpathTV.EncMapUint8Uint64V(rv2i(rv).(map[uint8]uint64), fastpathCheckNilFalse, f.e)
  7439. }
  7440. func (_ fastpathT) EncMapUint8Uint64V(v map[uint8]uint64, checkNil bool, e *Encoder) {
  7441. ee := e.e
  7442. cr := e.cr
  7443. if checkNil && v == nil {
  7444. ee.EncodeNil()
  7445. return
  7446. }
  7447. ee.EncodeMapStart(len(v))
  7448. if e.h.Canonical {
  7449. v2 := make([]uint64, len(v))
  7450. var i int
  7451. for k, _ := range v {
  7452. v2[i] = uint64(k)
  7453. i++
  7454. }
  7455. sort.Sort(uintSlice(v2))
  7456. for _, k2 := range v2 {
  7457. if cr != nil {
  7458. cr.sendContainerState(containerMapKey)
  7459. }
  7460. ee.EncodeUint(uint64(uint8(k2)))
  7461. if cr != nil {
  7462. cr.sendContainerState(containerMapValue)
  7463. }
  7464. ee.EncodeUint(uint64(v[uint8(k2)]))
  7465. }
  7466. } else {
  7467. for k2, v2 := range v {
  7468. if cr != nil {
  7469. cr.sendContainerState(containerMapKey)
  7470. }
  7471. ee.EncodeUint(uint64(k2))
  7472. if cr != nil {
  7473. cr.sendContainerState(containerMapValue)
  7474. }
  7475. ee.EncodeUint(uint64(v2))
  7476. }
  7477. }
  7478. if cr != nil {
  7479. cr.sendContainerState(containerMapEnd)
  7480. }
  7481. }
  7482. func (f *encFnInfo) fastpathEncMapUint8UintptrR(rv reflect.Value) {
  7483. fastpathTV.EncMapUint8UintptrV(rv2i(rv).(map[uint8]uintptr), fastpathCheckNilFalse, f.e)
  7484. }
  7485. func (_ fastpathT) EncMapUint8UintptrV(v map[uint8]uintptr, checkNil bool, e *Encoder) {
  7486. ee := e.e
  7487. cr := e.cr
  7488. if checkNil && v == nil {
  7489. ee.EncodeNil()
  7490. return
  7491. }
  7492. ee.EncodeMapStart(len(v))
  7493. if e.h.Canonical {
  7494. v2 := make([]uint64, len(v))
  7495. var i int
  7496. for k, _ := range v {
  7497. v2[i] = uint64(k)
  7498. i++
  7499. }
  7500. sort.Sort(uintSlice(v2))
  7501. for _, k2 := range v2 {
  7502. if cr != nil {
  7503. cr.sendContainerState(containerMapKey)
  7504. }
  7505. ee.EncodeUint(uint64(uint8(k2)))
  7506. if cr != nil {
  7507. cr.sendContainerState(containerMapValue)
  7508. }
  7509. e.encode(v[uint8(k2)])
  7510. }
  7511. } else {
  7512. for k2, v2 := range v {
  7513. if cr != nil {
  7514. cr.sendContainerState(containerMapKey)
  7515. }
  7516. ee.EncodeUint(uint64(k2))
  7517. if cr != nil {
  7518. cr.sendContainerState(containerMapValue)
  7519. }
  7520. e.encode(v2)
  7521. }
  7522. }
  7523. if cr != nil {
  7524. cr.sendContainerState(containerMapEnd)
  7525. }
  7526. }
  7527. func (f *encFnInfo) fastpathEncMapUint8IntR(rv reflect.Value) {
  7528. fastpathTV.EncMapUint8IntV(rv2i(rv).(map[uint8]int), fastpathCheckNilFalse, f.e)
  7529. }
  7530. func (_ fastpathT) EncMapUint8IntV(v map[uint8]int, checkNil bool, e *Encoder) {
  7531. ee := e.e
  7532. cr := e.cr
  7533. if checkNil && v == nil {
  7534. ee.EncodeNil()
  7535. return
  7536. }
  7537. ee.EncodeMapStart(len(v))
  7538. if e.h.Canonical {
  7539. v2 := make([]uint64, len(v))
  7540. var i int
  7541. for k, _ := range v {
  7542. v2[i] = uint64(k)
  7543. i++
  7544. }
  7545. sort.Sort(uintSlice(v2))
  7546. for _, k2 := range v2 {
  7547. if cr != nil {
  7548. cr.sendContainerState(containerMapKey)
  7549. }
  7550. ee.EncodeUint(uint64(uint8(k2)))
  7551. if cr != nil {
  7552. cr.sendContainerState(containerMapValue)
  7553. }
  7554. ee.EncodeInt(int64(v[uint8(k2)]))
  7555. }
  7556. } else {
  7557. for k2, v2 := range v {
  7558. if cr != nil {
  7559. cr.sendContainerState(containerMapKey)
  7560. }
  7561. ee.EncodeUint(uint64(k2))
  7562. if cr != nil {
  7563. cr.sendContainerState(containerMapValue)
  7564. }
  7565. ee.EncodeInt(int64(v2))
  7566. }
  7567. }
  7568. if cr != nil {
  7569. cr.sendContainerState(containerMapEnd)
  7570. }
  7571. }
  7572. func (f *encFnInfo) fastpathEncMapUint8Int8R(rv reflect.Value) {
  7573. fastpathTV.EncMapUint8Int8V(rv2i(rv).(map[uint8]int8), fastpathCheckNilFalse, f.e)
  7574. }
  7575. func (_ fastpathT) EncMapUint8Int8V(v map[uint8]int8, checkNil bool, e *Encoder) {
  7576. ee := e.e
  7577. cr := e.cr
  7578. if checkNil && v == nil {
  7579. ee.EncodeNil()
  7580. return
  7581. }
  7582. ee.EncodeMapStart(len(v))
  7583. if e.h.Canonical {
  7584. v2 := make([]uint64, len(v))
  7585. var i int
  7586. for k, _ := range v {
  7587. v2[i] = uint64(k)
  7588. i++
  7589. }
  7590. sort.Sort(uintSlice(v2))
  7591. for _, k2 := range v2 {
  7592. if cr != nil {
  7593. cr.sendContainerState(containerMapKey)
  7594. }
  7595. ee.EncodeUint(uint64(uint8(k2)))
  7596. if cr != nil {
  7597. cr.sendContainerState(containerMapValue)
  7598. }
  7599. ee.EncodeInt(int64(v[uint8(k2)]))
  7600. }
  7601. } else {
  7602. for k2, v2 := range v {
  7603. if cr != nil {
  7604. cr.sendContainerState(containerMapKey)
  7605. }
  7606. ee.EncodeUint(uint64(k2))
  7607. if cr != nil {
  7608. cr.sendContainerState(containerMapValue)
  7609. }
  7610. ee.EncodeInt(int64(v2))
  7611. }
  7612. }
  7613. if cr != nil {
  7614. cr.sendContainerState(containerMapEnd)
  7615. }
  7616. }
  7617. func (f *encFnInfo) fastpathEncMapUint8Int16R(rv reflect.Value) {
  7618. fastpathTV.EncMapUint8Int16V(rv2i(rv).(map[uint8]int16), fastpathCheckNilFalse, f.e)
  7619. }
  7620. func (_ fastpathT) EncMapUint8Int16V(v map[uint8]int16, checkNil bool, e *Encoder) {
  7621. ee := e.e
  7622. cr := e.cr
  7623. if checkNil && v == nil {
  7624. ee.EncodeNil()
  7625. return
  7626. }
  7627. ee.EncodeMapStart(len(v))
  7628. if e.h.Canonical {
  7629. v2 := make([]uint64, len(v))
  7630. var i int
  7631. for k, _ := range v {
  7632. v2[i] = uint64(k)
  7633. i++
  7634. }
  7635. sort.Sort(uintSlice(v2))
  7636. for _, k2 := range v2 {
  7637. if cr != nil {
  7638. cr.sendContainerState(containerMapKey)
  7639. }
  7640. ee.EncodeUint(uint64(uint8(k2)))
  7641. if cr != nil {
  7642. cr.sendContainerState(containerMapValue)
  7643. }
  7644. ee.EncodeInt(int64(v[uint8(k2)]))
  7645. }
  7646. } else {
  7647. for k2, v2 := range v {
  7648. if cr != nil {
  7649. cr.sendContainerState(containerMapKey)
  7650. }
  7651. ee.EncodeUint(uint64(k2))
  7652. if cr != nil {
  7653. cr.sendContainerState(containerMapValue)
  7654. }
  7655. ee.EncodeInt(int64(v2))
  7656. }
  7657. }
  7658. if cr != nil {
  7659. cr.sendContainerState(containerMapEnd)
  7660. }
  7661. }
  7662. func (f *encFnInfo) fastpathEncMapUint8Int32R(rv reflect.Value) {
  7663. fastpathTV.EncMapUint8Int32V(rv2i(rv).(map[uint8]int32), fastpathCheckNilFalse, f.e)
  7664. }
  7665. func (_ fastpathT) EncMapUint8Int32V(v map[uint8]int32, checkNil bool, e *Encoder) {
  7666. ee := e.e
  7667. cr := e.cr
  7668. if checkNil && v == nil {
  7669. ee.EncodeNil()
  7670. return
  7671. }
  7672. ee.EncodeMapStart(len(v))
  7673. if e.h.Canonical {
  7674. v2 := make([]uint64, len(v))
  7675. var i int
  7676. for k, _ := range v {
  7677. v2[i] = uint64(k)
  7678. i++
  7679. }
  7680. sort.Sort(uintSlice(v2))
  7681. for _, k2 := range v2 {
  7682. if cr != nil {
  7683. cr.sendContainerState(containerMapKey)
  7684. }
  7685. ee.EncodeUint(uint64(uint8(k2)))
  7686. if cr != nil {
  7687. cr.sendContainerState(containerMapValue)
  7688. }
  7689. ee.EncodeInt(int64(v[uint8(k2)]))
  7690. }
  7691. } else {
  7692. for k2, v2 := range v {
  7693. if cr != nil {
  7694. cr.sendContainerState(containerMapKey)
  7695. }
  7696. ee.EncodeUint(uint64(k2))
  7697. if cr != nil {
  7698. cr.sendContainerState(containerMapValue)
  7699. }
  7700. ee.EncodeInt(int64(v2))
  7701. }
  7702. }
  7703. if cr != nil {
  7704. cr.sendContainerState(containerMapEnd)
  7705. }
  7706. }
  7707. func (f *encFnInfo) fastpathEncMapUint8Int64R(rv reflect.Value) {
  7708. fastpathTV.EncMapUint8Int64V(rv2i(rv).(map[uint8]int64), fastpathCheckNilFalse, f.e)
  7709. }
  7710. func (_ fastpathT) EncMapUint8Int64V(v map[uint8]int64, checkNil bool, e *Encoder) {
  7711. ee := e.e
  7712. cr := e.cr
  7713. if checkNil && v == nil {
  7714. ee.EncodeNil()
  7715. return
  7716. }
  7717. ee.EncodeMapStart(len(v))
  7718. if e.h.Canonical {
  7719. v2 := make([]uint64, len(v))
  7720. var i int
  7721. for k, _ := range v {
  7722. v2[i] = uint64(k)
  7723. i++
  7724. }
  7725. sort.Sort(uintSlice(v2))
  7726. for _, k2 := range v2 {
  7727. if cr != nil {
  7728. cr.sendContainerState(containerMapKey)
  7729. }
  7730. ee.EncodeUint(uint64(uint8(k2)))
  7731. if cr != nil {
  7732. cr.sendContainerState(containerMapValue)
  7733. }
  7734. ee.EncodeInt(int64(v[uint8(k2)]))
  7735. }
  7736. } else {
  7737. for k2, v2 := range v {
  7738. if cr != nil {
  7739. cr.sendContainerState(containerMapKey)
  7740. }
  7741. ee.EncodeUint(uint64(k2))
  7742. if cr != nil {
  7743. cr.sendContainerState(containerMapValue)
  7744. }
  7745. ee.EncodeInt(int64(v2))
  7746. }
  7747. }
  7748. if cr != nil {
  7749. cr.sendContainerState(containerMapEnd)
  7750. }
  7751. }
  7752. func (f *encFnInfo) fastpathEncMapUint8Float32R(rv reflect.Value) {
  7753. fastpathTV.EncMapUint8Float32V(rv2i(rv).(map[uint8]float32), fastpathCheckNilFalse, f.e)
  7754. }
  7755. func (_ fastpathT) EncMapUint8Float32V(v map[uint8]float32, checkNil bool, e *Encoder) {
  7756. ee := e.e
  7757. cr := e.cr
  7758. if checkNil && v == nil {
  7759. ee.EncodeNil()
  7760. return
  7761. }
  7762. ee.EncodeMapStart(len(v))
  7763. if e.h.Canonical {
  7764. v2 := make([]uint64, len(v))
  7765. var i int
  7766. for k, _ := range v {
  7767. v2[i] = uint64(k)
  7768. i++
  7769. }
  7770. sort.Sort(uintSlice(v2))
  7771. for _, k2 := range v2 {
  7772. if cr != nil {
  7773. cr.sendContainerState(containerMapKey)
  7774. }
  7775. ee.EncodeUint(uint64(uint8(k2)))
  7776. if cr != nil {
  7777. cr.sendContainerState(containerMapValue)
  7778. }
  7779. ee.EncodeFloat32(v[uint8(k2)])
  7780. }
  7781. } else {
  7782. for k2, v2 := range v {
  7783. if cr != nil {
  7784. cr.sendContainerState(containerMapKey)
  7785. }
  7786. ee.EncodeUint(uint64(k2))
  7787. if cr != nil {
  7788. cr.sendContainerState(containerMapValue)
  7789. }
  7790. ee.EncodeFloat32(v2)
  7791. }
  7792. }
  7793. if cr != nil {
  7794. cr.sendContainerState(containerMapEnd)
  7795. }
  7796. }
  7797. func (f *encFnInfo) fastpathEncMapUint8Float64R(rv reflect.Value) {
  7798. fastpathTV.EncMapUint8Float64V(rv2i(rv).(map[uint8]float64), fastpathCheckNilFalse, f.e)
  7799. }
  7800. func (_ fastpathT) EncMapUint8Float64V(v map[uint8]float64, checkNil bool, e *Encoder) {
  7801. ee := e.e
  7802. cr := e.cr
  7803. if checkNil && v == nil {
  7804. ee.EncodeNil()
  7805. return
  7806. }
  7807. ee.EncodeMapStart(len(v))
  7808. if e.h.Canonical {
  7809. v2 := make([]uint64, len(v))
  7810. var i int
  7811. for k, _ := range v {
  7812. v2[i] = uint64(k)
  7813. i++
  7814. }
  7815. sort.Sort(uintSlice(v2))
  7816. for _, k2 := range v2 {
  7817. if cr != nil {
  7818. cr.sendContainerState(containerMapKey)
  7819. }
  7820. ee.EncodeUint(uint64(uint8(k2)))
  7821. if cr != nil {
  7822. cr.sendContainerState(containerMapValue)
  7823. }
  7824. ee.EncodeFloat64(v[uint8(k2)])
  7825. }
  7826. } else {
  7827. for k2, v2 := range v {
  7828. if cr != nil {
  7829. cr.sendContainerState(containerMapKey)
  7830. }
  7831. ee.EncodeUint(uint64(k2))
  7832. if cr != nil {
  7833. cr.sendContainerState(containerMapValue)
  7834. }
  7835. ee.EncodeFloat64(v2)
  7836. }
  7837. }
  7838. if cr != nil {
  7839. cr.sendContainerState(containerMapEnd)
  7840. }
  7841. }
  7842. func (f *encFnInfo) fastpathEncMapUint8BoolR(rv reflect.Value) {
  7843. fastpathTV.EncMapUint8BoolV(rv2i(rv).(map[uint8]bool), fastpathCheckNilFalse, f.e)
  7844. }
  7845. func (_ fastpathT) EncMapUint8BoolV(v map[uint8]bool, checkNil bool, e *Encoder) {
  7846. ee := e.e
  7847. cr := e.cr
  7848. if checkNil && v == nil {
  7849. ee.EncodeNil()
  7850. return
  7851. }
  7852. ee.EncodeMapStart(len(v))
  7853. if e.h.Canonical {
  7854. v2 := make([]uint64, len(v))
  7855. var i int
  7856. for k, _ := range v {
  7857. v2[i] = uint64(k)
  7858. i++
  7859. }
  7860. sort.Sort(uintSlice(v2))
  7861. for _, k2 := range v2 {
  7862. if cr != nil {
  7863. cr.sendContainerState(containerMapKey)
  7864. }
  7865. ee.EncodeUint(uint64(uint8(k2)))
  7866. if cr != nil {
  7867. cr.sendContainerState(containerMapValue)
  7868. }
  7869. ee.EncodeBool(v[uint8(k2)])
  7870. }
  7871. } else {
  7872. for k2, v2 := range v {
  7873. if cr != nil {
  7874. cr.sendContainerState(containerMapKey)
  7875. }
  7876. ee.EncodeUint(uint64(k2))
  7877. if cr != nil {
  7878. cr.sendContainerState(containerMapValue)
  7879. }
  7880. ee.EncodeBool(v2)
  7881. }
  7882. }
  7883. if cr != nil {
  7884. cr.sendContainerState(containerMapEnd)
  7885. }
  7886. }
  7887. func (f *encFnInfo) fastpathEncMapUint16IntfR(rv reflect.Value) {
  7888. fastpathTV.EncMapUint16IntfV(rv2i(rv).(map[uint16]interface{}), fastpathCheckNilFalse, f.e)
  7889. }
  7890. func (_ fastpathT) EncMapUint16IntfV(v map[uint16]interface{}, checkNil bool, e *Encoder) {
  7891. ee := e.e
  7892. cr := e.cr
  7893. if checkNil && v == nil {
  7894. ee.EncodeNil()
  7895. return
  7896. }
  7897. ee.EncodeMapStart(len(v))
  7898. if e.h.Canonical {
  7899. v2 := make([]uint64, len(v))
  7900. var i int
  7901. for k, _ := range v {
  7902. v2[i] = uint64(k)
  7903. i++
  7904. }
  7905. sort.Sort(uintSlice(v2))
  7906. for _, k2 := range v2 {
  7907. if cr != nil {
  7908. cr.sendContainerState(containerMapKey)
  7909. }
  7910. ee.EncodeUint(uint64(uint16(k2)))
  7911. if cr != nil {
  7912. cr.sendContainerState(containerMapValue)
  7913. }
  7914. e.encode(v[uint16(k2)])
  7915. }
  7916. } else {
  7917. for k2, v2 := range v {
  7918. if cr != nil {
  7919. cr.sendContainerState(containerMapKey)
  7920. }
  7921. ee.EncodeUint(uint64(k2))
  7922. if cr != nil {
  7923. cr.sendContainerState(containerMapValue)
  7924. }
  7925. e.encode(v2)
  7926. }
  7927. }
  7928. if cr != nil {
  7929. cr.sendContainerState(containerMapEnd)
  7930. }
  7931. }
  7932. func (f *encFnInfo) fastpathEncMapUint16StringR(rv reflect.Value) {
  7933. fastpathTV.EncMapUint16StringV(rv2i(rv).(map[uint16]string), fastpathCheckNilFalse, f.e)
  7934. }
  7935. func (_ fastpathT) EncMapUint16StringV(v map[uint16]string, checkNil bool, e *Encoder) {
  7936. ee := e.e
  7937. cr := e.cr
  7938. if checkNil && v == nil {
  7939. ee.EncodeNil()
  7940. return
  7941. }
  7942. ee.EncodeMapStart(len(v))
  7943. if e.h.Canonical {
  7944. v2 := make([]uint64, len(v))
  7945. var i int
  7946. for k, _ := range v {
  7947. v2[i] = uint64(k)
  7948. i++
  7949. }
  7950. sort.Sort(uintSlice(v2))
  7951. for _, k2 := range v2 {
  7952. if cr != nil {
  7953. cr.sendContainerState(containerMapKey)
  7954. }
  7955. ee.EncodeUint(uint64(uint16(k2)))
  7956. if cr != nil {
  7957. cr.sendContainerState(containerMapValue)
  7958. }
  7959. ee.EncodeString(c_UTF8, v[uint16(k2)])
  7960. }
  7961. } else {
  7962. for k2, v2 := range v {
  7963. if cr != nil {
  7964. cr.sendContainerState(containerMapKey)
  7965. }
  7966. ee.EncodeUint(uint64(k2))
  7967. if cr != nil {
  7968. cr.sendContainerState(containerMapValue)
  7969. }
  7970. ee.EncodeString(c_UTF8, v2)
  7971. }
  7972. }
  7973. if cr != nil {
  7974. cr.sendContainerState(containerMapEnd)
  7975. }
  7976. }
  7977. func (f *encFnInfo) fastpathEncMapUint16UintR(rv reflect.Value) {
  7978. fastpathTV.EncMapUint16UintV(rv2i(rv).(map[uint16]uint), fastpathCheckNilFalse, f.e)
  7979. }
  7980. func (_ fastpathT) EncMapUint16UintV(v map[uint16]uint, checkNil bool, e *Encoder) {
  7981. ee := e.e
  7982. cr := e.cr
  7983. if checkNil && v == nil {
  7984. ee.EncodeNil()
  7985. return
  7986. }
  7987. ee.EncodeMapStart(len(v))
  7988. if e.h.Canonical {
  7989. v2 := make([]uint64, len(v))
  7990. var i int
  7991. for k, _ := range v {
  7992. v2[i] = uint64(k)
  7993. i++
  7994. }
  7995. sort.Sort(uintSlice(v2))
  7996. for _, k2 := range v2 {
  7997. if cr != nil {
  7998. cr.sendContainerState(containerMapKey)
  7999. }
  8000. ee.EncodeUint(uint64(uint16(k2)))
  8001. if cr != nil {
  8002. cr.sendContainerState(containerMapValue)
  8003. }
  8004. ee.EncodeUint(uint64(v[uint16(k2)]))
  8005. }
  8006. } else {
  8007. for k2, v2 := range v {
  8008. if cr != nil {
  8009. cr.sendContainerState(containerMapKey)
  8010. }
  8011. ee.EncodeUint(uint64(k2))
  8012. if cr != nil {
  8013. cr.sendContainerState(containerMapValue)
  8014. }
  8015. ee.EncodeUint(uint64(v2))
  8016. }
  8017. }
  8018. if cr != nil {
  8019. cr.sendContainerState(containerMapEnd)
  8020. }
  8021. }
  8022. func (f *encFnInfo) fastpathEncMapUint16Uint8R(rv reflect.Value) {
  8023. fastpathTV.EncMapUint16Uint8V(rv2i(rv).(map[uint16]uint8), fastpathCheckNilFalse, f.e)
  8024. }
  8025. func (_ fastpathT) EncMapUint16Uint8V(v map[uint16]uint8, checkNil bool, e *Encoder) {
  8026. ee := e.e
  8027. cr := e.cr
  8028. if checkNil && v == nil {
  8029. ee.EncodeNil()
  8030. return
  8031. }
  8032. ee.EncodeMapStart(len(v))
  8033. if e.h.Canonical {
  8034. v2 := make([]uint64, len(v))
  8035. var i int
  8036. for k, _ := range v {
  8037. v2[i] = uint64(k)
  8038. i++
  8039. }
  8040. sort.Sort(uintSlice(v2))
  8041. for _, k2 := range v2 {
  8042. if cr != nil {
  8043. cr.sendContainerState(containerMapKey)
  8044. }
  8045. ee.EncodeUint(uint64(uint16(k2)))
  8046. if cr != nil {
  8047. cr.sendContainerState(containerMapValue)
  8048. }
  8049. ee.EncodeUint(uint64(v[uint16(k2)]))
  8050. }
  8051. } else {
  8052. for k2, v2 := range v {
  8053. if cr != nil {
  8054. cr.sendContainerState(containerMapKey)
  8055. }
  8056. ee.EncodeUint(uint64(k2))
  8057. if cr != nil {
  8058. cr.sendContainerState(containerMapValue)
  8059. }
  8060. ee.EncodeUint(uint64(v2))
  8061. }
  8062. }
  8063. if cr != nil {
  8064. cr.sendContainerState(containerMapEnd)
  8065. }
  8066. }
  8067. func (f *encFnInfo) fastpathEncMapUint16Uint16R(rv reflect.Value) {
  8068. fastpathTV.EncMapUint16Uint16V(rv2i(rv).(map[uint16]uint16), fastpathCheckNilFalse, f.e)
  8069. }
  8070. func (_ fastpathT) EncMapUint16Uint16V(v map[uint16]uint16, checkNil bool, e *Encoder) {
  8071. ee := e.e
  8072. cr := e.cr
  8073. if checkNil && v == nil {
  8074. ee.EncodeNil()
  8075. return
  8076. }
  8077. ee.EncodeMapStart(len(v))
  8078. if e.h.Canonical {
  8079. v2 := make([]uint64, len(v))
  8080. var i int
  8081. for k, _ := range v {
  8082. v2[i] = uint64(k)
  8083. i++
  8084. }
  8085. sort.Sort(uintSlice(v2))
  8086. for _, k2 := range v2 {
  8087. if cr != nil {
  8088. cr.sendContainerState(containerMapKey)
  8089. }
  8090. ee.EncodeUint(uint64(uint16(k2)))
  8091. if cr != nil {
  8092. cr.sendContainerState(containerMapValue)
  8093. }
  8094. ee.EncodeUint(uint64(v[uint16(k2)]))
  8095. }
  8096. } else {
  8097. for k2, v2 := range v {
  8098. if cr != nil {
  8099. cr.sendContainerState(containerMapKey)
  8100. }
  8101. ee.EncodeUint(uint64(k2))
  8102. if cr != nil {
  8103. cr.sendContainerState(containerMapValue)
  8104. }
  8105. ee.EncodeUint(uint64(v2))
  8106. }
  8107. }
  8108. if cr != nil {
  8109. cr.sendContainerState(containerMapEnd)
  8110. }
  8111. }
  8112. func (f *encFnInfo) fastpathEncMapUint16Uint32R(rv reflect.Value) {
  8113. fastpathTV.EncMapUint16Uint32V(rv2i(rv).(map[uint16]uint32), fastpathCheckNilFalse, f.e)
  8114. }
  8115. func (_ fastpathT) EncMapUint16Uint32V(v map[uint16]uint32, checkNil bool, e *Encoder) {
  8116. ee := e.e
  8117. cr := e.cr
  8118. if checkNil && v == nil {
  8119. ee.EncodeNil()
  8120. return
  8121. }
  8122. ee.EncodeMapStart(len(v))
  8123. if e.h.Canonical {
  8124. v2 := make([]uint64, len(v))
  8125. var i int
  8126. for k, _ := range v {
  8127. v2[i] = uint64(k)
  8128. i++
  8129. }
  8130. sort.Sort(uintSlice(v2))
  8131. for _, k2 := range v2 {
  8132. if cr != nil {
  8133. cr.sendContainerState(containerMapKey)
  8134. }
  8135. ee.EncodeUint(uint64(uint16(k2)))
  8136. if cr != nil {
  8137. cr.sendContainerState(containerMapValue)
  8138. }
  8139. ee.EncodeUint(uint64(v[uint16(k2)]))
  8140. }
  8141. } else {
  8142. for k2, v2 := range v {
  8143. if cr != nil {
  8144. cr.sendContainerState(containerMapKey)
  8145. }
  8146. ee.EncodeUint(uint64(k2))
  8147. if cr != nil {
  8148. cr.sendContainerState(containerMapValue)
  8149. }
  8150. ee.EncodeUint(uint64(v2))
  8151. }
  8152. }
  8153. if cr != nil {
  8154. cr.sendContainerState(containerMapEnd)
  8155. }
  8156. }
  8157. func (f *encFnInfo) fastpathEncMapUint16Uint64R(rv reflect.Value) {
  8158. fastpathTV.EncMapUint16Uint64V(rv2i(rv).(map[uint16]uint64), fastpathCheckNilFalse, f.e)
  8159. }
  8160. func (_ fastpathT) EncMapUint16Uint64V(v map[uint16]uint64, checkNil bool, e *Encoder) {
  8161. ee := e.e
  8162. cr := e.cr
  8163. if checkNil && v == nil {
  8164. ee.EncodeNil()
  8165. return
  8166. }
  8167. ee.EncodeMapStart(len(v))
  8168. if e.h.Canonical {
  8169. v2 := make([]uint64, len(v))
  8170. var i int
  8171. for k, _ := range v {
  8172. v2[i] = uint64(k)
  8173. i++
  8174. }
  8175. sort.Sort(uintSlice(v2))
  8176. for _, k2 := range v2 {
  8177. if cr != nil {
  8178. cr.sendContainerState(containerMapKey)
  8179. }
  8180. ee.EncodeUint(uint64(uint16(k2)))
  8181. if cr != nil {
  8182. cr.sendContainerState(containerMapValue)
  8183. }
  8184. ee.EncodeUint(uint64(v[uint16(k2)]))
  8185. }
  8186. } else {
  8187. for k2, v2 := range v {
  8188. if cr != nil {
  8189. cr.sendContainerState(containerMapKey)
  8190. }
  8191. ee.EncodeUint(uint64(k2))
  8192. if cr != nil {
  8193. cr.sendContainerState(containerMapValue)
  8194. }
  8195. ee.EncodeUint(uint64(v2))
  8196. }
  8197. }
  8198. if cr != nil {
  8199. cr.sendContainerState(containerMapEnd)
  8200. }
  8201. }
  8202. func (f *encFnInfo) fastpathEncMapUint16UintptrR(rv reflect.Value) {
  8203. fastpathTV.EncMapUint16UintptrV(rv2i(rv).(map[uint16]uintptr), fastpathCheckNilFalse, f.e)
  8204. }
  8205. func (_ fastpathT) EncMapUint16UintptrV(v map[uint16]uintptr, checkNil bool, e *Encoder) {
  8206. ee := e.e
  8207. cr := e.cr
  8208. if checkNil && v == nil {
  8209. ee.EncodeNil()
  8210. return
  8211. }
  8212. ee.EncodeMapStart(len(v))
  8213. if e.h.Canonical {
  8214. v2 := make([]uint64, len(v))
  8215. var i int
  8216. for k, _ := range v {
  8217. v2[i] = uint64(k)
  8218. i++
  8219. }
  8220. sort.Sort(uintSlice(v2))
  8221. for _, k2 := range v2 {
  8222. if cr != nil {
  8223. cr.sendContainerState(containerMapKey)
  8224. }
  8225. ee.EncodeUint(uint64(uint16(k2)))
  8226. if cr != nil {
  8227. cr.sendContainerState(containerMapValue)
  8228. }
  8229. e.encode(v[uint16(k2)])
  8230. }
  8231. } else {
  8232. for k2, v2 := range v {
  8233. if cr != nil {
  8234. cr.sendContainerState(containerMapKey)
  8235. }
  8236. ee.EncodeUint(uint64(k2))
  8237. if cr != nil {
  8238. cr.sendContainerState(containerMapValue)
  8239. }
  8240. e.encode(v2)
  8241. }
  8242. }
  8243. if cr != nil {
  8244. cr.sendContainerState(containerMapEnd)
  8245. }
  8246. }
  8247. func (f *encFnInfo) fastpathEncMapUint16IntR(rv reflect.Value) {
  8248. fastpathTV.EncMapUint16IntV(rv2i(rv).(map[uint16]int), fastpathCheckNilFalse, f.e)
  8249. }
  8250. func (_ fastpathT) EncMapUint16IntV(v map[uint16]int, checkNil bool, e *Encoder) {
  8251. ee := e.e
  8252. cr := e.cr
  8253. if checkNil && v == nil {
  8254. ee.EncodeNil()
  8255. return
  8256. }
  8257. ee.EncodeMapStart(len(v))
  8258. if e.h.Canonical {
  8259. v2 := make([]uint64, len(v))
  8260. var i int
  8261. for k, _ := range v {
  8262. v2[i] = uint64(k)
  8263. i++
  8264. }
  8265. sort.Sort(uintSlice(v2))
  8266. for _, k2 := range v2 {
  8267. if cr != nil {
  8268. cr.sendContainerState(containerMapKey)
  8269. }
  8270. ee.EncodeUint(uint64(uint16(k2)))
  8271. if cr != nil {
  8272. cr.sendContainerState(containerMapValue)
  8273. }
  8274. ee.EncodeInt(int64(v[uint16(k2)]))
  8275. }
  8276. } else {
  8277. for k2, v2 := range v {
  8278. if cr != nil {
  8279. cr.sendContainerState(containerMapKey)
  8280. }
  8281. ee.EncodeUint(uint64(k2))
  8282. if cr != nil {
  8283. cr.sendContainerState(containerMapValue)
  8284. }
  8285. ee.EncodeInt(int64(v2))
  8286. }
  8287. }
  8288. if cr != nil {
  8289. cr.sendContainerState(containerMapEnd)
  8290. }
  8291. }
  8292. func (f *encFnInfo) fastpathEncMapUint16Int8R(rv reflect.Value) {
  8293. fastpathTV.EncMapUint16Int8V(rv2i(rv).(map[uint16]int8), fastpathCheckNilFalse, f.e)
  8294. }
  8295. func (_ fastpathT) EncMapUint16Int8V(v map[uint16]int8, checkNil bool, e *Encoder) {
  8296. ee := e.e
  8297. cr := e.cr
  8298. if checkNil && v == nil {
  8299. ee.EncodeNil()
  8300. return
  8301. }
  8302. ee.EncodeMapStart(len(v))
  8303. if e.h.Canonical {
  8304. v2 := make([]uint64, len(v))
  8305. var i int
  8306. for k, _ := range v {
  8307. v2[i] = uint64(k)
  8308. i++
  8309. }
  8310. sort.Sort(uintSlice(v2))
  8311. for _, k2 := range v2 {
  8312. if cr != nil {
  8313. cr.sendContainerState(containerMapKey)
  8314. }
  8315. ee.EncodeUint(uint64(uint16(k2)))
  8316. if cr != nil {
  8317. cr.sendContainerState(containerMapValue)
  8318. }
  8319. ee.EncodeInt(int64(v[uint16(k2)]))
  8320. }
  8321. } else {
  8322. for k2, v2 := range v {
  8323. if cr != nil {
  8324. cr.sendContainerState(containerMapKey)
  8325. }
  8326. ee.EncodeUint(uint64(k2))
  8327. if cr != nil {
  8328. cr.sendContainerState(containerMapValue)
  8329. }
  8330. ee.EncodeInt(int64(v2))
  8331. }
  8332. }
  8333. if cr != nil {
  8334. cr.sendContainerState(containerMapEnd)
  8335. }
  8336. }
  8337. func (f *encFnInfo) fastpathEncMapUint16Int16R(rv reflect.Value) {
  8338. fastpathTV.EncMapUint16Int16V(rv2i(rv).(map[uint16]int16), fastpathCheckNilFalse, f.e)
  8339. }
  8340. func (_ fastpathT) EncMapUint16Int16V(v map[uint16]int16, checkNil bool, e *Encoder) {
  8341. ee := e.e
  8342. cr := e.cr
  8343. if checkNil && v == nil {
  8344. ee.EncodeNil()
  8345. return
  8346. }
  8347. ee.EncodeMapStart(len(v))
  8348. if e.h.Canonical {
  8349. v2 := make([]uint64, len(v))
  8350. var i int
  8351. for k, _ := range v {
  8352. v2[i] = uint64(k)
  8353. i++
  8354. }
  8355. sort.Sort(uintSlice(v2))
  8356. for _, k2 := range v2 {
  8357. if cr != nil {
  8358. cr.sendContainerState(containerMapKey)
  8359. }
  8360. ee.EncodeUint(uint64(uint16(k2)))
  8361. if cr != nil {
  8362. cr.sendContainerState(containerMapValue)
  8363. }
  8364. ee.EncodeInt(int64(v[uint16(k2)]))
  8365. }
  8366. } else {
  8367. for k2, v2 := range v {
  8368. if cr != nil {
  8369. cr.sendContainerState(containerMapKey)
  8370. }
  8371. ee.EncodeUint(uint64(k2))
  8372. if cr != nil {
  8373. cr.sendContainerState(containerMapValue)
  8374. }
  8375. ee.EncodeInt(int64(v2))
  8376. }
  8377. }
  8378. if cr != nil {
  8379. cr.sendContainerState(containerMapEnd)
  8380. }
  8381. }
  8382. func (f *encFnInfo) fastpathEncMapUint16Int32R(rv reflect.Value) {
  8383. fastpathTV.EncMapUint16Int32V(rv2i(rv).(map[uint16]int32), fastpathCheckNilFalse, f.e)
  8384. }
  8385. func (_ fastpathT) EncMapUint16Int32V(v map[uint16]int32, checkNil bool, e *Encoder) {
  8386. ee := e.e
  8387. cr := e.cr
  8388. if checkNil && v == nil {
  8389. ee.EncodeNil()
  8390. return
  8391. }
  8392. ee.EncodeMapStart(len(v))
  8393. if e.h.Canonical {
  8394. v2 := make([]uint64, len(v))
  8395. var i int
  8396. for k, _ := range v {
  8397. v2[i] = uint64(k)
  8398. i++
  8399. }
  8400. sort.Sort(uintSlice(v2))
  8401. for _, k2 := range v2 {
  8402. if cr != nil {
  8403. cr.sendContainerState(containerMapKey)
  8404. }
  8405. ee.EncodeUint(uint64(uint16(k2)))
  8406. if cr != nil {
  8407. cr.sendContainerState(containerMapValue)
  8408. }
  8409. ee.EncodeInt(int64(v[uint16(k2)]))
  8410. }
  8411. } else {
  8412. for k2, v2 := range v {
  8413. if cr != nil {
  8414. cr.sendContainerState(containerMapKey)
  8415. }
  8416. ee.EncodeUint(uint64(k2))
  8417. if cr != nil {
  8418. cr.sendContainerState(containerMapValue)
  8419. }
  8420. ee.EncodeInt(int64(v2))
  8421. }
  8422. }
  8423. if cr != nil {
  8424. cr.sendContainerState(containerMapEnd)
  8425. }
  8426. }
  8427. func (f *encFnInfo) fastpathEncMapUint16Int64R(rv reflect.Value) {
  8428. fastpathTV.EncMapUint16Int64V(rv2i(rv).(map[uint16]int64), fastpathCheckNilFalse, f.e)
  8429. }
  8430. func (_ fastpathT) EncMapUint16Int64V(v map[uint16]int64, checkNil bool, e *Encoder) {
  8431. ee := e.e
  8432. cr := e.cr
  8433. if checkNil && v == nil {
  8434. ee.EncodeNil()
  8435. return
  8436. }
  8437. ee.EncodeMapStart(len(v))
  8438. if e.h.Canonical {
  8439. v2 := make([]uint64, len(v))
  8440. var i int
  8441. for k, _ := range v {
  8442. v2[i] = uint64(k)
  8443. i++
  8444. }
  8445. sort.Sort(uintSlice(v2))
  8446. for _, k2 := range v2 {
  8447. if cr != nil {
  8448. cr.sendContainerState(containerMapKey)
  8449. }
  8450. ee.EncodeUint(uint64(uint16(k2)))
  8451. if cr != nil {
  8452. cr.sendContainerState(containerMapValue)
  8453. }
  8454. ee.EncodeInt(int64(v[uint16(k2)]))
  8455. }
  8456. } else {
  8457. for k2, v2 := range v {
  8458. if cr != nil {
  8459. cr.sendContainerState(containerMapKey)
  8460. }
  8461. ee.EncodeUint(uint64(k2))
  8462. if cr != nil {
  8463. cr.sendContainerState(containerMapValue)
  8464. }
  8465. ee.EncodeInt(int64(v2))
  8466. }
  8467. }
  8468. if cr != nil {
  8469. cr.sendContainerState(containerMapEnd)
  8470. }
  8471. }
  8472. func (f *encFnInfo) fastpathEncMapUint16Float32R(rv reflect.Value) {
  8473. fastpathTV.EncMapUint16Float32V(rv2i(rv).(map[uint16]float32), fastpathCheckNilFalse, f.e)
  8474. }
  8475. func (_ fastpathT) EncMapUint16Float32V(v map[uint16]float32, checkNil bool, e *Encoder) {
  8476. ee := e.e
  8477. cr := e.cr
  8478. if checkNil && v == nil {
  8479. ee.EncodeNil()
  8480. return
  8481. }
  8482. ee.EncodeMapStart(len(v))
  8483. if e.h.Canonical {
  8484. v2 := make([]uint64, len(v))
  8485. var i int
  8486. for k, _ := range v {
  8487. v2[i] = uint64(k)
  8488. i++
  8489. }
  8490. sort.Sort(uintSlice(v2))
  8491. for _, k2 := range v2 {
  8492. if cr != nil {
  8493. cr.sendContainerState(containerMapKey)
  8494. }
  8495. ee.EncodeUint(uint64(uint16(k2)))
  8496. if cr != nil {
  8497. cr.sendContainerState(containerMapValue)
  8498. }
  8499. ee.EncodeFloat32(v[uint16(k2)])
  8500. }
  8501. } else {
  8502. for k2, v2 := range v {
  8503. if cr != nil {
  8504. cr.sendContainerState(containerMapKey)
  8505. }
  8506. ee.EncodeUint(uint64(k2))
  8507. if cr != nil {
  8508. cr.sendContainerState(containerMapValue)
  8509. }
  8510. ee.EncodeFloat32(v2)
  8511. }
  8512. }
  8513. if cr != nil {
  8514. cr.sendContainerState(containerMapEnd)
  8515. }
  8516. }
  8517. func (f *encFnInfo) fastpathEncMapUint16Float64R(rv reflect.Value) {
  8518. fastpathTV.EncMapUint16Float64V(rv2i(rv).(map[uint16]float64), fastpathCheckNilFalse, f.e)
  8519. }
  8520. func (_ fastpathT) EncMapUint16Float64V(v map[uint16]float64, checkNil bool, e *Encoder) {
  8521. ee := e.e
  8522. cr := e.cr
  8523. if checkNil && v == nil {
  8524. ee.EncodeNil()
  8525. return
  8526. }
  8527. ee.EncodeMapStart(len(v))
  8528. if e.h.Canonical {
  8529. v2 := make([]uint64, len(v))
  8530. var i int
  8531. for k, _ := range v {
  8532. v2[i] = uint64(k)
  8533. i++
  8534. }
  8535. sort.Sort(uintSlice(v2))
  8536. for _, k2 := range v2 {
  8537. if cr != nil {
  8538. cr.sendContainerState(containerMapKey)
  8539. }
  8540. ee.EncodeUint(uint64(uint16(k2)))
  8541. if cr != nil {
  8542. cr.sendContainerState(containerMapValue)
  8543. }
  8544. ee.EncodeFloat64(v[uint16(k2)])
  8545. }
  8546. } else {
  8547. for k2, v2 := range v {
  8548. if cr != nil {
  8549. cr.sendContainerState(containerMapKey)
  8550. }
  8551. ee.EncodeUint(uint64(k2))
  8552. if cr != nil {
  8553. cr.sendContainerState(containerMapValue)
  8554. }
  8555. ee.EncodeFloat64(v2)
  8556. }
  8557. }
  8558. if cr != nil {
  8559. cr.sendContainerState(containerMapEnd)
  8560. }
  8561. }
  8562. func (f *encFnInfo) fastpathEncMapUint16BoolR(rv reflect.Value) {
  8563. fastpathTV.EncMapUint16BoolV(rv2i(rv).(map[uint16]bool), fastpathCheckNilFalse, f.e)
  8564. }
  8565. func (_ fastpathT) EncMapUint16BoolV(v map[uint16]bool, checkNil bool, e *Encoder) {
  8566. ee := e.e
  8567. cr := e.cr
  8568. if checkNil && v == nil {
  8569. ee.EncodeNil()
  8570. return
  8571. }
  8572. ee.EncodeMapStart(len(v))
  8573. if e.h.Canonical {
  8574. v2 := make([]uint64, len(v))
  8575. var i int
  8576. for k, _ := range v {
  8577. v2[i] = uint64(k)
  8578. i++
  8579. }
  8580. sort.Sort(uintSlice(v2))
  8581. for _, k2 := range v2 {
  8582. if cr != nil {
  8583. cr.sendContainerState(containerMapKey)
  8584. }
  8585. ee.EncodeUint(uint64(uint16(k2)))
  8586. if cr != nil {
  8587. cr.sendContainerState(containerMapValue)
  8588. }
  8589. ee.EncodeBool(v[uint16(k2)])
  8590. }
  8591. } else {
  8592. for k2, v2 := range v {
  8593. if cr != nil {
  8594. cr.sendContainerState(containerMapKey)
  8595. }
  8596. ee.EncodeUint(uint64(k2))
  8597. if cr != nil {
  8598. cr.sendContainerState(containerMapValue)
  8599. }
  8600. ee.EncodeBool(v2)
  8601. }
  8602. }
  8603. if cr != nil {
  8604. cr.sendContainerState(containerMapEnd)
  8605. }
  8606. }
  8607. func (f *encFnInfo) fastpathEncMapUint32IntfR(rv reflect.Value) {
  8608. fastpathTV.EncMapUint32IntfV(rv2i(rv).(map[uint32]interface{}), fastpathCheckNilFalse, f.e)
  8609. }
  8610. func (_ fastpathT) EncMapUint32IntfV(v map[uint32]interface{}, checkNil bool, e *Encoder) {
  8611. ee := e.e
  8612. cr := e.cr
  8613. if checkNil && v == nil {
  8614. ee.EncodeNil()
  8615. return
  8616. }
  8617. ee.EncodeMapStart(len(v))
  8618. if e.h.Canonical {
  8619. v2 := make([]uint64, len(v))
  8620. var i int
  8621. for k, _ := range v {
  8622. v2[i] = uint64(k)
  8623. i++
  8624. }
  8625. sort.Sort(uintSlice(v2))
  8626. for _, k2 := range v2 {
  8627. if cr != nil {
  8628. cr.sendContainerState(containerMapKey)
  8629. }
  8630. ee.EncodeUint(uint64(uint32(k2)))
  8631. if cr != nil {
  8632. cr.sendContainerState(containerMapValue)
  8633. }
  8634. e.encode(v[uint32(k2)])
  8635. }
  8636. } else {
  8637. for k2, v2 := range v {
  8638. if cr != nil {
  8639. cr.sendContainerState(containerMapKey)
  8640. }
  8641. ee.EncodeUint(uint64(k2))
  8642. if cr != nil {
  8643. cr.sendContainerState(containerMapValue)
  8644. }
  8645. e.encode(v2)
  8646. }
  8647. }
  8648. if cr != nil {
  8649. cr.sendContainerState(containerMapEnd)
  8650. }
  8651. }
  8652. func (f *encFnInfo) fastpathEncMapUint32StringR(rv reflect.Value) {
  8653. fastpathTV.EncMapUint32StringV(rv2i(rv).(map[uint32]string), fastpathCheckNilFalse, f.e)
  8654. }
  8655. func (_ fastpathT) EncMapUint32StringV(v map[uint32]string, checkNil bool, e *Encoder) {
  8656. ee := e.e
  8657. cr := e.cr
  8658. if checkNil && v == nil {
  8659. ee.EncodeNil()
  8660. return
  8661. }
  8662. ee.EncodeMapStart(len(v))
  8663. if e.h.Canonical {
  8664. v2 := make([]uint64, len(v))
  8665. var i int
  8666. for k, _ := range v {
  8667. v2[i] = uint64(k)
  8668. i++
  8669. }
  8670. sort.Sort(uintSlice(v2))
  8671. for _, k2 := range v2 {
  8672. if cr != nil {
  8673. cr.sendContainerState(containerMapKey)
  8674. }
  8675. ee.EncodeUint(uint64(uint32(k2)))
  8676. if cr != nil {
  8677. cr.sendContainerState(containerMapValue)
  8678. }
  8679. ee.EncodeString(c_UTF8, v[uint32(k2)])
  8680. }
  8681. } else {
  8682. for k2, v2 := range v {
  8683. if cr != nil {
  8684. cr.sendContainerState(containerMapKey)
  8685. }
  8686. ee.EncodeUint(uint64(k2))
  8687. if cr != nil {
  8688. cr.sendContainerState(containerMapValue)
  8689. }
  8690. ee.EncodeString(c_UTF8, v2)
  8691. }
  8692. }
  8693. if cr != nil {
  8694. cr.sendContainerState(containerMapEnd)
  8695. }
  8696. }
  8697. func (f *encFnInfo) fastpathEncMapUint32UintR(rv reflect.Value) {
  8698. fastpathTV.EncMapUint32UintV(rv2i(rv).(map[uint32]uint), fastpathCheckNilFalse, f.e)
  8699. }
  8700. func (_ fastpathT) EncMapUint32UintV(v map[uint32]uint, checkNil bool, e *Encoder) {
  8701. ee := e.e
  8702. cr := e.cr
  8703. if checkNil && v == nil {
  8704. ee.EncodeNil()
  8705. return
  8706. }
  8707. ee.EncodeMapStart(len(v))
  8708. if e.h.Canonical {
  8709. v2 := make([]uint64, len(v))
  8710. var i int
  8711. for k, _ := range v {
  8712. v2[i] = uint64(k)
  8713. i++
  8714. }
  8715. sort.Sort(uintSlice(v2))
  8716. for _, k2 := range v2 {
  8717. if cr != nil {
  8718. cr.sendContainerState(containerMapKey)
  8719. }
  8720. ee.EncodeUint(uint64(uint32(k2)))
  8721. if cr != nil {
  8722. cr.sendContainerState(containerMapValue)
  8723. }
  8724. ee.EncodeUint(uint64(v[uint32(k2)]))
  8725. }
  8726. } else {
  8727. for k2, v2 := range v {
  8728. if cr != nil {
  8729. cr.sendContainerState(containerMapKey)
  8730. }
  8731. ee.EncodeUint(uint64(k2))
  8732. if cr != nil {
  8733. cr.sendContainerState(containerMapValue)
  8734. }
  8735. ee.EncodeUint(uint64(v2))
  8736. }
  8737. }
  8738. if cr != nil {
  8739. cr.sendContainerState(containerMapEnd)
  8740. }
  8741. }
  8742. func (f *encFnInfo) fastpathEncMapUint32Uint8R(rv reflect.Value) {
  8743. fastpathTV.EncMapUint32Uint8V(rv2i(rv).(map[uint32]uint8), fastpathCheckNilFalse, f.e)
  8744. }
  8745. func (_ fastpathT) EncMapUint32Uint8V(v map[uint32]uint8, checkNil bool, e *Encoder) {
  8746. ee := e.e
  8747. cr := e.cr
  8748. if checkNil && v == nil {
  8749. ee.EncodeNil()
  8750. return
  8751. }
  8752. ee.EncodeMapStart(len(v))
  8753. if e.h.Canonical {
  8754. v2 := make([]uint64, len(v))
  8755. var i int
  8756. for k, _ := range v {
  8757. v2[i] = uint64(k)
  8758. i++
  8759. }
  8760. sort.Sort(uintSlice(v2))
  8761. for _, k2 := range v2 {
  8762. if cr != nil {
  8763. cr.sendContainerState(containerMapKey)
  8764. }
  8765. ee.EncodeUint(uint64(uint32(k2)))
  8766. if cr != nil {
  8767. cr.sendContainerState(containerMapValue)
  8768. }
  8769. ee.EncodeUint(uint64(v[uint32(k2)]))
  8770. }
  8771. } else {
  8772. for k2, v2 := range v {
  8773. if cr != nil {
  8774. cr.sendContainerState(containerMapKey)
  8775. }
  8776. ee.EncodeUint(uint64(k2))
  8777. if cr != nil {
  8778. cr.sendContainerState(containerMapValue)
  8779. }
  8780. ee.EncodeUint(uint64(v2))
  8781. }
  8782. }
  8783. if cr != nil {
  8784. cr.sendContainerState(containerMapEnd)
  8785. }
  8786. }
  8787. func (f *encFnInfo) fastpathEncMapUint32Uint16R(rv reflect.Value) {
  8788. fastpathTV.EncMapUint32Uint16V(rv2i(rv).(map[uint32]uint16), fastpathCheckNilFalse, f.e)
  8789. }
  8790. func (_ fastpathT) EncMapUint32Uint16V(v map[uint32]uint16, checkNil bool, e *Encoder) {
  8791. ee := e.e
  8792. cr := e.cr
  8793. if checkNil && v == nil {
  8794. ee.EncodeNil()
  8795. return
  8796. }
  8797. ee.EncodeMapStart(len(v))
  8798. if e.h.Canonical {
  8799. v2 := make([]uint64, len(v))
  8800. var i int
  8801. for k, _ := range v {
  8802. v2[i] = uint64(k)
  8803. i++
  8804. }
  8805. sort.Sort(uintSlice(v2))
  8806. for _, k2 := range v2 {
  8807. if cr != nil {
  8808. cr.sendContainerState(containerMapKey)
  8809. }
  8810. ee.EncodeUint(uint64(uint32(k2)))
  8811. if cr != nil {
  8812. cr.sendContainerState(containerMapValue)
  8813. }
  8814. ee.EncodeUint(uint64(v[uint32(k2)]))
  8815. }
  8816. } else {
  8817. for k2, v2 := range v {
  8818. if cr != nil {
  8819. cr.sendContainerState(containerMapKey)
  8820. }
  8821. ee.EncodeUint(uint64(k2))
  8822. if cr != nil {
  8823. cr.sendContainerState(containerMapValue)
  8824. }
  8825. ee.EncodeUint(uint64(v2))
  8826. }
  8827. }
  8828. if cr != nil {
  8829. cr.sendContainerState(containerMapEnd)
  8830. }
  8831. }
  8832. func (f *encFnInfo) fastpathEncMapUint32Uint32R(rv reflect.Value) {
  8833. fastpathTV.EncMapUint32Uint32V(rv2i(rv).(map[uint32]uint32), fastpathCheckNilFalse, f.e)
  8834. }
  8835. func (_ fastpathT) EncMapUint32Uint32V(v map[uint32]uint32, checkNil bool, e *Encoder) {
  8836. ee := e.e
  8837. cr := e.cr
  8838. if checkNil && v == nil {
  8839. ee.EncodeNil()
  8840. return
  8841. }
  8842. ee.EncodeMapStart(len(v))
  8843. if e.h.Canonical {
  8844. v2 := make([]uint64, len(v))
  8845. var i int
  8846. for k, _ := range v {
  8847. v2[i] = uint64(k)
  8848. i++
  8849. }
  8850. sort.Sort(uintSlice(v2))
  8851. for _, k2 := range v2 {
  8852. if cr != nil {
  8853. cr.sendContainerState(containerMapKey)
  8854. }
  8855. ee.EncodeUint(uint64(uint32(k2)))
  8856. if cr != nil {
  8857. cr.sendContainerState(containerMapValue)
  8858. }
  8859. ee.EncodeUint(uint64(v[uint32(k2)]))
  8860. }
  8861. } else {
  8862. for k2, v2 := range v {
  8863. if cr != nil {
  8864. cr.sendContainerState(containerMapKey)
  8865. }
  8866. ee.EncodeUint(uint64(k2))
  8867. if cr != nil {
  8868. cr.sendContainerState(containerMapValue)
  8869. }
  8870. ee.EncodeUint(uint64(v2))
  8871. }
  8872. }
  8873. if cr != nil {
  8874. cr.sendContainerState(containerMapEnd)
  8875. }
  8876. }
  8877. func (f *encFnInfo) fastpathEncMapUint32Uint64R(rv reflect.Value) {
  8878. fastpathTV.EncMapUint32Uint64V(rv2i(rv).(map[uint32]uint64), fastpathCheckNilFalse, f.e)
  8879. }
  8880. func (_ fastpathT) EncMapUint32Uint64V(v map[uint32]uint64, checkNil bool, e *Encoder) {
  8881. ee := e.e
  8882. cr := e.cr
  8883. if checkNil && v == nil {
  8884. ee.EncodeNil()
  8885. return
  8886. }
  8887. ee.EncodeMapStart(len(v))
  8888. if e.h.Canonical {
  8889. v2 := make([]uint64, len(v))
  8890. var i int
  8891. for k, _ := range v {
  8892. v2[i] = uint64(k)
  8893. i++
  8894. }
  8895. sort.Sort(uintSlice(v2))
  8896. for _, k2 := range v2 {
  8897. if cr != nil {
  8898. cr.sendContainerState(containerMapKey)
  8899. }
  8900. ee.EncodeUint(uint64(uint32(k2)))
  8901. if cr != nil {
  8902. cr.sendContainerState(containerMapValue)
  8903. }
  8904. ee.EncodeUint(uint64(v[uint32(k2)]))
  8905. }
  8906. } else {
  8907. for k2, v2 := range v {
  8908. if cr != nil {
  8909. cr.sendContainerState(containerMapKey)
  8910. }
  8911. ee.EncodeUint(uint64(k2))
  8912. if cr != nil {
  8913. cr.sendContainerState(containerMapValue)
  8914. }
  8915. ee.EncodeUint(uint64(v2))
  8916. }
  8917. }
  8918. if cr != nil {
  8919. cr.sendContainerState(containerMapEnd)
  8920. }
  8921. }
  8922. func (f *encFnInfo) fastpathEncMapUint32UintptrR(rv reflect.Value) {
  8923. fastpathTV.EncMapUint32UintptrV(rv2i(rv).(map[uint32]uintptr), fastpathCheckNilFalse, f.e)
  8924. }
  8925. func (_ fastpathT) EncMapUint32UintptrV(v map[uint32]uintptr, checkNil bool, e *Encoder) {
  8926. ee := e.e
  8927. cr := e.cr
  8928. if checkNil && v == nil {
  8929. ee.EncodeNil()
  8930. return
  8931. }
  8932. ee.EncodeMapStart(len(v))
  8933. if e.h.Canonical {
  8934. v2 := make([]uint64, len(v))
  8935. var i int
  8936. for k, _ := range v {
  8937. v2[i] = uint64(k)
  8938. i++
  8939. }
  8940. sort.Sort(uintSlice(v2))
  8941. for _, k2 := range v2 {
  8942. if cr != nil {
  8943. cr.sendContainerState(containerMapKey)
  8944. }
  8945. ee.EncodeUint(uint64(uint32(k2)))
  8946. if cr != nil {
  8947. cr.sendContainerState(containerMapValue)
  8948. }
  8949. e.encode(v[uint32(k2)])
  8950. }
  8951. } else {
  8952. for k2, v2 := range v {
  8953. if cr != nil {
  8954. cr.sendContainerState(containerMapKey)
  8955. }
  8956. ee.EncodeUint(uint64(k2))
  8957. if cr != nil {
  8958. cr.sendContainerState(containerMapValue)
  8959. }
  8960. e.encode(v2)
  8961. }
  8962. }
  8963. if cr != nil {
  8964. cr.sendContainerState(containerMapEnd)
  8965. }
  8966. }
  8967. func (f *encFnInfo) fastpathEncMapUint32IntR(rv reflect.Value) {
  8968. fastpathTV.EncMapUint32IntV(rv2i(rv).(map[uint32]int), fastpathCheckNilFalse, f.e)
  8969. }
  8970. func (_ fastpathT) EncMapUint32IntV(v map[uint32]int, checkNil bool, e *Encoder) {
  8971. ee := e.e
  8972. cr := e.cr
  8973. if checkNil && v == nil {
  8974. ee.EncodeNil()
  8975. return
  8976. }
  8977. ee.EncodeMapStart(len(v))
  8978. if e.h.Canonical {
  8979. v2 := make([]uint64, len(v))
  8980. var i int
  8981. for k, _ := range v {
  8982. v2[i] = uint64(k)
  8983. i++
  8984. }
  8985. sort.Sort(uintSlice(v2))
  8986. for _, k2 := range v2 {
  8987. if cr != nil {
  8988. cr.sendContainerState(containerMapKey)
  8989. }
  8990. ee.EncodeUint(uint64(uint32(k2)))
  8991. if cr != nil {
  8992. cr.sendContainerState(containerMapValue)
  8993. }
  8994. ee.EncodeInt(int64(v[uint32(k2)]))
  8995. }
  8996. } else {
  8997. for k2, v2 := range v {
  8998. if cr != nil {
  8999. cr.sendContainerState(containerMapKey)
  9000. }
  9001. ee.EncodeUint(uint64(k2))
  9002. if cr != nil {
  9003. cr.sendContainerState(containerMapValue)
  9004. }
  9005. ee.EncodeInt(int64(v2))
  9006. }
  9007. }
  9008. if cr != nil {
  9009. cr.sendContainerState(containerMapEnd)
  9010. }
  9011. }
  9012. func (f *encFnInfo) fastpathEncMapUint32Int8R(rv reflect.Value) {
  9013. fastpathTV.EncMapUint32Int8V(rv2i(rv).(map[uint32]int8), fastpathCheckNilFalse, f.e)
  9014. }
  9015. func (_ fastpathT) EncMapUint32Int8V(v map[uint32]int8, checkNil bool, e *Encoder) {
  9016. ee := e.e
  9017. cr := e.cr
  9018. if checkNil && v == nil {
  9019. ee.EncodeNil()
  9020. return
  9021. }
  9022. ee.EncodeMapStart(len(v))
  9023. if e.h.Canonical {
  9024. v2 := make([]uint64, len(v))
  9025. var i int
  9026. for k, _ := range v {
  9027. v2[i] = uint64(k)
  9028. i++
  9029. }
  9030. sort.Sort(uintSlice(v2))
  9031. for _, k2 := range v2 {
  9032. if cr != nil {
  9033. cr.sendContainerState(containerMapKey)
  9034. }
  9035. ee.EncodeUint(uint64(uint32(k2)))
  9036. if cr != nil {
  9037. cr.sendContainerState(containerMapValue)
  9038. }
  9039. ee.EncodeInt(int64(v[uint32(k2)]))
  9040. }
  9041. } else {
  9042. for k2, v2 := range v {
  9043. if cr != nil {
  9044. cr.sendContainerState(containerMapKey)
  9045. }
  9046. ee.EncodeUint(uint64(k2))
  9047. if cr != nil {
  9048. cr.sendContainerState(containerMapValue)
  9049. }
  9050. ee.EncodeInt(int64(v2))
  9051. }
  9052. }
  9053. if cr != nil {
  9054. cr.sendContainerState(containerMapEnd)
  9055. }
  9056. }
  9057. func (f *encFnInfo) fastpathEncMapUint32Int16R(rv reflect.Value) {
  9058. fastpathTV.EncMapUint32Int16V(rv2i(rv).(map[uint32]int16), fastpathCheckNilFalse, f.e)
  9059. }
  9060. func (_ fastpathT) EncMapUint32Int16V(v map[uint32]int16, checkNil bool, e *Encoder) {
  9061. ee := e.e
  9062. cr := e.cr
  9063. if checkNil && v == nil {
  9064. ee.EncodeNil()
  9065. return
  9066. }
  9067. ee.EncodeMapStart(len(v))
  9068. if e.h.Canonical {
  9069. v2 := make([]uint64, len(v))
  9070. var i int
  9071. for k, _ := range v {
  9072. v2[i] = uint64(k)
  9073. i++
  9074. }
  9075. sort.Sort(uintSlice(v2))
  9076. for _, k2 := range v2 {
  9077. if cr != nil {
  9078. cr.sendContainerState(containerMapKey)
  9079. }
  9080. ee.EncodeUint(uint64(uint32(k2)))
  9081. if cr != nil {
  9082. cr.sendContainerState(containerMapValue)
  9083. }
  9084. ee.EncodeInt(int64(v[uint32(k2)]))
  9085. }
  9086. } else {
  9087. for k2, v2 := range v {
  9088. if cr != nil {
  9089. cr.sendContainerState(containerMapKey)
  9090. }
  9091. ee.EncodeUint(uint64(k2))
  9092. if cr != nil {
  9093. cr.sendContainerState(containerMapValue)
  9094. }
  9095. ee.EncodeInt(int64(v2))
  9096. }
  9097. }
  9098. if cr != nil {
  9099. cr.sendContainerState(containerMapEnd)
  9100. }
  9101. }
  9102. func (f *encFnInfo) fastpathEncMapUint32Int32R(rv reflect.Value) {
  9103. fastpathTV.EncMapUint32Int32V(rv2i(rv).(map[uint32]int32), fastpathCheckNilFalse, f.e)
  9104. }
  9105. func (_ fastpathT) EncMapUint32Int32V(v map[uint32]int32, checkNil bool, e *Encoder) {
  9106. ee := e.e
  9107. cr := e.cr
  9108. if checkNil && v == nil {
  9109. ee.EncodeNil()
  9110. return
  9111. }
  9112. ee.EncodeMapStart(len(v))
  9113. if e.h.Canonical {
  9114. v2 := make([]uint64, len(v))
  9115. var i int
  9116. for k, _ := range v {
  9117. v2[i] = uint64(k)
  9118. i++
  9119. }
  9120. sort.Sort(uintSlice(v2))
  9121. for _, k2 := range v2 {
  9122. if cr != nil {
  9123. cr.sendContainerState(containerMapKey)
  9124. }
  9125. ee.EncodeUint(uint64(uint32(k2)))
  9126. if cr != nil {
  9127. cr.sendContainerState(containerMapValue)
  9128. }
  9129. ee.EncodeInt(int64(v[uint32(k2)]))
  9130. }
  9131. } else {
  9132. for k2, v2 := range v {
  9133. if cr != nil {
  9134. cr.sendContainerState(containerMapKey)
  9135. }
  9136. ee.EncodeUint(uint64(k2))
  9137. if cr != nil {
  9138. cr.sendContainerState(containerMapValue)
  9139. }
  9140. ee.EncodeInt(int64(v2))
  9141. }
  9142. }
  9143. if cr != nil {
  9144. cr.sendContainerState(containerMapEnd)
  9145. }
  9146. }
  9147. func (f *encFnInfo) fastpathEncMapUint32Int64R(rv reflect.Value) {
  9148. fastpathTV.EncMapUint32Int64V(rv2i(rv).(map[uint32]int64), fastpathCheckNilFalse, f.e)
  9149. }
  9150. func (_ fastpathT) EncMapUint32Int64V(v map[uint32]int64, checkNil bool, e *Encoder) {
  9151. ee := e.e
  9152. cr := e.cr
  9153. if checkNil && v == nil {
  9154. ee.EncodeNil()
  9155. return
  9156. }
  9157. ee.EncodeMapStart(len(v))
  9158. if e.h.Canonical {
  9159. v2 := make([]uint64, len(v))
  9160. var i int
  9161. for k, _ := range v {
  9162. v2[i] = uint64(k)
  9163. i++
  9164. }
  9165. sort.Sort(uintSlice(v2))
  9166. for _, k2 := range v2 {
  9167. if cr != nil {
  9168. cr.sendContainerState(containerMapKey)
  9169. }
  9170. ee.EncodeUint(uint64(uint32(k2)))
  9171. if cr != nil {
  9172. cr.sendContainerState(containerMapValue)
  9173. }
  9174. ee.EncodeInt(int64(v[uint32(k2)]))
  9175. }
  9176. } else {
  9177. for k2, v2 := range v {
  9178. if cr != nil {
  9179. cr.sendContainerState(containerMapKey)
  9180. }
  9181. ee.EncodeUint(uint64(k2))
  9182. if cr != nil {
  9183. cr.sendContainerState(containerMapValue)
  9184. }
  9185. ee.EncodeInt(int64(v2))
  9186. }
  9187. }
  9188. if cr != nil {
  9189. cr.sendContainerState(containerMapEnd)
  9190. }
  9191. }
  9192. func (f *encFnInfo) fastpathEncMapUint32Float32R(rv reflect.Value) {
  9193. fastpathTV.EncMapUint32Float32V(rv2i(rv).(map[uint32]float32), fastpathCheckNilFalse, f.e)
  9194. }
  9195. func (_ fastpathT) EncMapUint32Float32V(v map[uint32]float32, checkNil bool, e *Encoder) {
  9196. ee := e.e
  9197. cr := e.cr
  9198. if checkNil && v == nil {
  9199. ee.EncodeNil()
  9200. return
  9201. }
  9202. ee.EncodeMapStart(len(v))
  9203. if e.h.Canonical {
  9204. v2 := make([]uint64, len(v))
  9205. var i int
  9206. for k, _ := range v {
  9207. v2[i] = uint64(k)
  9208. i++
  9209. }
  9210. sort.Sort(uintSlice(v2))
  9211. for _, k2 := range v2 {
  9212. if cr != nil {
  9213. cr.sendContainerState(containerMapKey)
  9214. }
  9215. ee.EncodeUint(uint64(uint32(k2)))
  9216. if cr != nil {
  9217. cr.sendContainerState(containerMapValue)
  9218. }
  9219. ee.EncodeFloat32(v[uint32(k2)])
  9220. }
  9221. } else {
  9222. for k2, v2 := range v {
  9223. if cr != nil {
  9224. cr.sendContainerState(containerMapKey)
  9225. }
  9226. ee.EncodeUint(uint64(k2))
  9227. if cr != nil {
  9228. cr.sendContainerState(containerMapValue)
  9229. }
  9230. ee.EncodeFloat32(v2)
  9231. }
  9232. }
  9233. if cr != nil {
  9234. cr.sendContainerState(containerMapEnd)
  9235. }
  9236. }
  9237. func (f *encFnInfo) fastpathEncMapUint32Float64R(rv reflect.Value) {
  9238. fastpathTV.EncMapUint32Float64V(rv2i(rv).(map[uint32]float64), fastpathCheckNilFalse, f.e)
  9239. }
  9240. func (_ fastpathT) EncMapUint32Float64V(v map[uint32]float64, checkNil bool, e *Encoder) {
  9241. ee := e.e
  9242. cr := e.cr
  9243. if checkNil && v == nil {
  9244. ee.EncodeNil()
  9245. return
  9246. }
  9247. ee.EncodeMapStart(len(v))
  9248. if e.h.Canonical {
  9249. v2 := make([]uint64, len(v))
  9250. var i int
  9251. for k, _ := range v {
  9252. v2[i] = uint64(k)
  9253. i++
  9254. }
  9255. sort.Sort(uintSlice(v2))
  9256. for _, k2 := range v2 {
  9257. if cr != nil {
  9258. cr.sendContainerState(containerMapKey)
  9259. }
  9260. ee.EncodeUint(uint64(uint32(k2)))
  9261. if cr != nil {
  9262. cr.sendContainerState(containerMapValue)
  9263. }
  9264. ee.EncodeFloat64(v[uint32(k2)])
  9265. }
  9266. } else {
  9267. for k2, v2 := range v {
  9268. if cr != nil {
  9269. cr.sendContainerState(containerMapKey)
  9270. }
  9271. ee.EncodeUint(uint64(k2))
  9272. if cr != nil {
  9273. cr.sendContainerState(containerMapValue)
  9274. }
  9275. ee.EncodeFloat64(v2)
  9276. }
  9277. }
  9278. if cr != nil {
  9279. cr.sendContainerState(containerMapEnd)
  9280. }
  9281. }
  9282. func (f *encFnInfo) fastpathEncMapUint32BoolR(rv reflect.Value) {
  9283. fastpathTV.EncMapUint32BoolV(rv2i(rv).(map[uint32]bool), fastpathCheckNilFalse, f.e)
  9284. }
  9285. func (_ fastpathT) EncMapUint32BoolV(v map[uint32]bool, checkNil bool, e *Encoder) {
  9286. ee := e.e
  9287. cr := e.cr
  9288. if checkNil && v == nil {
  9289. ee.EncodeNil()
  9290. return
  9291. }
  9292. ee.EncodeMapStart(len(v))
  9293. if e.h.Canonical {
  9294. v2 := make([]uint64, len(v))
  9295. var i int
  9296. for k, _ := range v {
  9297. v2[i] = uint64(k)
  9298. i++
  9299. }
  9300. sort.Sort(uintSlice(v2))
  9301. for _, k2 := range v2 {
  9302. if cr != nil {
  9303. cr.sendContainerState(containerMapKey)
  9304. }
  9305. ee.EncodeUint(uint64(uint32(k2)))
  9306. if cr != nil {
  9307. cr.sendContainerState(containerMapValue)
  9308. }
  9309. ee.EncodeBool(v[uint32(k2)])
  9310. }
  9311. } else {
  9312. for k2, v2 := range v {
  9313. if cr != nil {
  9314. cr.sendContainerState(containerMapKey)
  9315. }
  9316. ee.EncodeUint(uint64(k2))
  9317. if cr != nil {
  9318. cr.sendContainerState(containerMapValue)
  9319. }
  9320. ee.EncodeBool(v2)
  9321. }
  9322. }
  9323. if cr != nil {
  9324. cr.sendContainerState(containerMapEnd)
  9325. }
  9326. }
  9327. func (f *encFnInfo) fastpathEncMapUint64IntfR(rv reflect.Value) {
  9328. fastpathTV.EncMapUint64IntfV(rv2i(rv).(map[uint64]interface{}), fastpathCheckNilFalse, f.e)
  9329. }
  9330. func (_ fastpathT) EncMapUint64IntfV(v map[uint64]interface{}, checkNil bool, e *Encoder) {
  9331. ee := e.e
  9332. cr := e.cr
  9333. if checkNil && v == nil {
  9334. ee.EncodeNil()
  9335. return
  9336. }
  9337. ee.EncodeMapStart(len(v))
  9338. if e.h.Canonical {
  9339. v2 := make([]uint64, len(v))
  9340. var i int
  9341. for k, _ := range v {
  9342. v2[i] = uint64(k)
  9343. i++
  9344. }
  9345. sort.Sort(uintSlice(v2))
  9346. for _, k2 := range v2 {
  9347. if cr != nil {
  9348. cr.sendContainerState(containerMapKey)
  9349. }
  9350. ee.EncodeUint(uint64(uint64(k2)))
  9351. if cr != nil {
  9352. cr.sendContainerState(containerMapValue)
  9353. }
  9354. e.encode(v[uint64(k2)])
  9355. }
  9356. } else {
  9357. for k2, v2 := range v {
  9358. if cr != nil {
  9359. cr.sendContainerState(containerMapKey)
  9360. }
  9361. ee.EncodeUint(uint64(k2))
  9362. if cr != nil {
  9363. cr.sendContainerState(containerMapValue)
  9364. }
  9365. e.encode(v2)
  9366. }
  9367. }
  9368. if cr != nil {
  9369. cr.sendContainerState(containerMapEnd)
  9370. }
  9371. }
  9372. func (f *encFnInfo) fastpathEncMapUint64StringR(rv reflect.Value) {
  9373. fastpathTV.EncMapUint64StringV(rv2i(rv).(map[uint64]string), fastpathCheckNilFalse, f.e)
  9374. }
  9375. func (_ fastpathT) EncMapUint64StringV(v map[uint64]string, checkNil bool, e *Encoder) {
  9376. ee := e.e
  9377. cr := e.cr
  9378. if checkNil && v == nil {
  9379. ee.EncodeNil()
  9380. return
  9381. }
  9382. ee.EncodeMapStart(len(v))
  9383. if e.h.Canonical {
  9384. v2 := make([]uint64, len(v))
  9385. var i int
  9386. for k, _ := range v {
  9387. v2[i] = uint64(k)
  9388. i++
  9389. }
  9390. sort.Sort(uintSlice(v2))
  9391. for _, k2 := range v2 {
  9392. if cr != nil {
  9393. cr.sendContainerState(containerMapKey)
  9394. }
  9395. ee.EncodeUint(uint64(uint64(k2)))
  9396. if cr != nil {
  9397. cr.sendContainerState(containerMapValue)
  9398. }
  9399. ee.EncodeString(c_UTF8, v[uint64(k2)])
  9400. }
  9401. } else {
  9402. for k2, v2 := range v {
  9403. if cr != nil {
  9404. cr.sendContainerState(containerMapKey)
  9405. }
  9406. ee.EncodeUint(uint64(k2))
  9407. if cr != nil {
  9408. cr.sendContainerState(containerMapValue)
  9409. }
  9410. ee.EncodeString(c_UTF8, v2)
  9411. }
  9412. }
  9413. if cr != nil {
  9414. cr.sendContainerState(containerMapEnd)
  9415. }
  9416. }
  9417. func (f *encFnInfo) fastpathEncMapUint64UintR(rv reflect.Value) {
  9418. fastpathTV.EncMapUint64UintV(rv2i(rv).(map[uint64]uint), fastpathCheckNilFalse, f.e)
  9419. }
  9420. func (_ fastpathT) EncMapUint64UintV(v map[uint64]uint, checkNil bool, e *Encoder) {
  9421. ee := e.e
  9422. cr := e.cr
  9423. if checkNil && v == nil {
  9424. ee.EncodeNil()
  9425. return
  9426. }
  9427. ee.EncodeMapStart(len(v))
  9428. if e.h.Canonical {
  9429. v2 := make([]uint64, len(v))
  9430. var i int
  9431. for k, _ := range v {
  9432. v2[i] = uint64(k)
  9433. i++
  9434. }
  9435. sort.Sort(uintSlice(v2))
  9436. for _, k2 := range v2 {
  9437. if cr != nil {
  9438. cr.sendContainerState(containerMapKey)
  9439. }
  9440. ee.EncodeUint(uint64(uint64(k2)))
  9441. if cr != nil {
  9442. cr.sendContainerState(containerMapValue)
  9443. }
  9444. ee.EncodeUint(uint64(v[uint64(k2)]))
  9445. }
  9446. } else {
  9447. for k2, v2 := range v {
  9448. if cr != nil {
  9449. cr.sendContainerState(containerMapKey)
  9450. }
  9451. ee.EncodeUint(uint64(k2))
  9452. if cr != nil {
  9453. cr.sendContainerState(containerMapValue)
  9454. }
  9455. ee.EncodeUint(uint64(v2))
  9456. }
  9457. }
  9458. if cr != nil {
  9459. cr.sendContainerState(containerMapEnd)
  9460. }
  9461. }
  9462. func (f *encFnInfo) fastpathEncMapUint64Uint8R(rv reflect.Value) {
  9463. fastpathTV.EncMapUint64Uint8V(rv2i(rv).(map[uint64]uint8), fastpathCheckNilFalse, f.e)
  9464. }
  9465. func (_ fastpathT) EncMapUint64Uint8V(v map[uint64]uint8, checkNil bool, e *Encoder) {
  9466. ee := e.e
  9467. cr := e.cr
  9468. if checkNil && v == nil {
  9469. ee.EncodeNil()
  9470. return
  9471. }
  9472. ee.EncodeMapStart(len(v))
  9473. if e.h.Canonical {
  9474. v2 := make([]uint64, len(v))
  9475. var i int
  9476. for k, _ := range v {
  9477. v2[i] = uint64(k)
  9478. i++
  9479. }
  9480. sort.Sort(uintSlice(v2))
  9481. for _, k2 := range v2 {
  9482. if cr != nil {
  9483. cr.sendContainerState(containerMapKey)
  9484. }
  9485. ee.EncodeUint(uint64(uint64(k2)))
  9486. if cr != nil {
  9487. cr.sendContainerState(containerMapValue)
  9488. }
  9489. ee.EncodeUint(uint64(v[uint64(k2)]))
  9490. }
  9491. } else {
  9492. for k2, v2 := range v {
  9493. if cr != nil {
  9494. cr.sendContainerState(containerMapKey)
  9495. }
  9496. ee.EncodeUint(uint64(k2))
  9497. if cr != nil {
  9498. cr.sendContainerState(containerMapValue)
  9499. }
  9500. ee.EncodeUint(uint64(v2))
  9501. }
  9502. }
  9503. if cr != nil {
  9504. cr.sendContainerState(containerMapEnd)
  9505. }
  9506. }
  9507. func (f *encFnInfo) fastpathEncMapUint64Uint16R(rv reflect.Value) {
  9508. fastpathTV.EncMapUint64Uint16V(rv2i(rv).(map[uint64]uint16), fastpathCheckNilFalse, f.e)
  9509. }
  9510. func (_ fastpathT) EncMapUint64Uint16V(v map[uint64]uint16, checkNil bool, e *Encoder) {
  9511. ee := e.e
  9512. cr := e.cr
  9513. if checkNil && v == nil {
  9514. ee.EncodeNil()
  9515. return
  9516. }
  9517. ee.EncodeMapStart(len(v))
  9518. if e.h.Canonical {
  9519. v2 := make([]uint64, len(v))
  9520. var i int
  9521. for k, _ := range v {
  9522. v2[i] = uint64(k)
  9523. i++
  9524. }
  9525. sort.Sort(uintSlice(v2))
  9526. for _, k2 := range v2 {
  9527. if cr != nil {
  9528. cr.sendContainerState(containerMapKey)
  9529. }
  9530. ee.EncodeUint(uint64(uint64(k2)))
  9531. if cr != nil {
  9532. cr.sendContainerState(containerMapValue)
  9533. }
  9534. ee.EncodeUint(uint64(v[uint64(k2)]))
  9535. }
  9536. } else {
  9537. for k2, v2 := range v {
  9538. if cr != nil {
  9539. cr.sendContainerState(containerMapKey)
  9540. }
  9541. ee.EncodeUint(uint64(k2))
  9542. if cr != nil {
  9543. cr.sendContainerState(containerMapValue)
  9544. }
  9545. ee.EncodeUint(uint64(v2))
  9546. }
  9547. }
  9548. if cr != nil {
  9549. cr.sendContainerState(containerMapEnd)
  9550. }
  9551. }
  9552. func (f *encFnInfo) fastpathEncMapUint64Uint32R(rv reflect.Value) {
  9553. fastpathTV.EncMapUint64Uint32V(rv2i(rv).(map[uint64]uint32), fastpathCheckNilFalse, f.e)
  9554. }
  9555. func (_ fastpathT) EncMapUint64Uint32V(v map[uint64]uint32, checkNil bool, e *Encoder) {
  9556. ee := e.e
  9557. cr := e.cr
  9558. if checkNil && v == nil {
  9559. ee.EncodeNil()
  9560. return
  9561. }
  9562. ee.EncodeMapStart(len(v))
  9563. if e.h.Canonical {
  9564. v2 := make([]uint64, len(v))
  9565. var i int
  9566. for k, _ := range v {
  9567. v2[i] = uint64(k)
  9568. i++
  9569. }
  9570. sort.Sort(uintSlice(v2))
  9571. for _, k2 := range v2 {
  9572. if cr != nil {
  9573. cr.sendContainerState(containerMapKey)
  9574. }
  9575. ee.EncodeUint(uint64(uint64(k2)))
  9576. if cr != nil {
  9577. cr.sendContainerState(containerMapValue)
  9578. }
  9579. ee.EncodeUint(uint64(v[uint64(k2)]))
  9580. }
  9581. } else {
  9582. for k2, v2 := range v {
  9583. if cr != nil {
  9584. cr.sendContainerState(containerMapKey)
  9585. }
  9586. ee.EncodeUint(uint64(k2))
  9587. if cr != nil {
  9588. cr.sendContainerState(containerMapValue)
  9589. }
  9590. ee.EncodeUint(uint64(v2))
  9591. }
  9592. }
  9593. if cr != nil {
  9594. cr.sendContainerState(containerMapEnd)
  9595. }
  9596. }
  9597. func (f *encFnInfo) fastpathEncMapUint64Uint64R(rv reflect.Value) {
  9598. fastpathTV.EncMapUint64Uint64V(rv2i(rv).(map[uint64]uint64), fastpathCheckNilFalse, f.e)
  9599. }
  9600. func (_ fastpathT) EncMapUint64Uint64V(v map[uint64]uint64, checkNil bool, e *Encoder) {
  9601. ee := e.e
  9602. cr := e.cr
  9603. if checkNil && v == nil {
  9604. ee.EncodeNil()
  9605. return
  9606. }
  9607. ee.EncodeMapStart(len(v))
  9608. if e.h.Canonical {
  9609. v2 := make([]uint64, len(v))
  9610. var i int
  9611. for k, _ := range v {
  9612. v2[i] = uint64(k)
  9613. i++
  9614. }
  9615. sort.Sort(uintSlice(v2))
  9616. for _, k2 := range v2 {
  9617. if cr != nil {
  9618. cr.sendContainerState(containerMapKey)
  9619. }
  9620. ee.EncodeUint(uint64(uint64(k2)))
  9621. if cr != nil {
  9622. cr.sendContainerState(containerMapValue)
  9623. }
  9624. ee.EncodeUint(uint64(v[uint64(k2)]))
  9625. }
  9626. } else {
  9627. for k2, v2 := range v {
  9628. if cr != nil {
  9629. cr.sendContainerState(containerMapKey)
  9630. }
  9631. ee.EncodeUint(uint64(k2))
  9632. if cr != nil {
  9633. cr.sendContainerState(containerMapValue)
  9634. }
  9635. ee.EncodeUint(uint64(v2))
  9636. }
  9637. }
  9638. if cr != nil {
  9639. cr.sendContainerState(containerMapEnd)
  9640. }
  9641. }
  9642. func (f *encFnInfo) fastpathEncMapUint64UintptrR(rv reflect.Value) {
  9643. fastpathTV.EncMapUint64UintptrV(rv2i(rv).(map[uint64]uintptr), fastpathCheckNilFalse, f.e)
  9644. }
  9645. func (_ fastpathT) EncMapUint64UintptrV(v map[uint64]uintptr, checkNil bool, e *Encoder) {
  9646. ee := e.e
  9647. cr := e.cr
  9648. if checkNil && v == nil {
  9649. ee.EncodeNil()
  9650. return
  9651. }
  9652. ee.EncodeMapStart(len(v))
  9653. if e.h.Canonical {
  9654. v2 := make([]uint64, len(v))
  9655. var i int
  9656. for k, _ := range v {
  9657. v2[i] = uint64(k)
  9658. i++
  9659. }
  9660. sort.Sort(uintSlice(v2))
  9661. for _, k2 := range v2 {
  9662. if cr != nil {
  9663. cr.sendContainerState(containerMapKey)
  9664. }
  9665. ee.EncodeUint(uint64(uint64(k2)))
  9666. if cr != nil {
  9667. cr.sendContainerState(containerMapValue)
  9668. }
  9669. e.encode(v[uint64(k2)])
  9670. }
  9671. } else {
  9672. for k2, v2 := range v {
  9673. if cr != nil {
  9674. cr.sendContainerState(containerMapKey)
  9675. }
  9676. ee.EncodeUint(uint64(k2))
  9677. if cr != nil {
  9678. cr.sendContainerState(containerMapValue)
  9679. }
  9680. e.encode(v2)
  9681. }
  9682. }
  9683. if cr != nil {
  9684. cr.sendContainerState(containerMapEnd)
  9685. }
  9686. }
  9687. func (f *encFnInfo) fastpathEncMapUint64IntR(rv reflect.Value) {
  9688. fastpathTV.EncMapUint64IntV(rv2i(rv).(map[uint64]int), fastpathCheckNilFalse, f.e)
  9689. }
  9690. func (_ fastpathT) EncMapUint64IntV(v map[uint64]int, checkNil bool, e *Encoder) {
  9691. ee := e.e
  9692. cr := e.cr
  9693. if checkNil && v == nil {
  9694. ee.EncodeNil()
  9695. return
  9696. }
  9697. ee.EncodeMapStart(len(v))
  9698. if e.h.Canonical {
  9699. v2 := make([]uint64, len(v))
  9700. var i int
  9701. for k, _ := range v {
  9702. v2[i] = uint64(k)
  9703. i++
  9704. }
  9705. sort.Sort(uintSlice(v2))
  9706. for _, k2 := range v2 {
  9707. if cr != nil {
  9708. cr.sendContainerState(containerMapKey)
  9709. }
  9710. ee.EncodeUint(uint64(uint64(k2)))
  9711. if cr != nil {
  9712. cr.sendContainerState(containerMapValue)
  9713. }
  9714. ee.EncodeInt(int64(v[uint64(k2)]))
  9715. }
  9716. } else {
  9717. for k2, v2 := range v {
  9718. if cr != nil {
  9719. cr.sendContainerState(containerMapKey)
  9720. }
  9721. ee.EncodeUint(uint64(k2))
  9722. if cr != nil {
  9723. cr.sendContainerState(containerMapValue)
  9724. }
  9725. ee.EncodeInt(int64(v2))
  9726. }
  9727. }
  9728. if cr != nil {
  9729. cr.sendContainerState(containerMapEnd)
  9730. }
  9731. }
  9732. func (f *encFnInfo) fastpathEncMapUint64Int8R(rv reflect.Value) {
  9733. fastpathTV.EncMapUint64Int8V(rv2i(rv).(map[uint64]int8), fastpathCheckNilFalse, f.e)
  9734. }
  9735. func (_ fastpathT) EncMapUint64Int8V(v map[uint64]int8, checkNil bool, e *Encoder) {
  9736. ee := e.e
  9737. cr := e.cr
  9738. if checkNil && v == nil {
  9739. ee.EncodeNil()
  9740. return
  9741. }
  9742. ee.EncodeMapStart(len(v))
  9743. if e.h.Canonical {
  9744. v2 := make([]uint64, len(v))
  9745. var i int
  9746. for k, _ := range v {
  9747. v2[i] = uint64(k)
  9748. i++
  9749. }
  9750. sort.Sort(uintSlice(v2))
  9751. for _, k2 := range v2 {
  9752. if cr != nil {
  9753. cr.sendContainerState(containerMapKey)
  9754. }
  9755. ee.EncodeUint(uint64(uint64(k2)))
  9756. if cr != nil {
  9757. cr.sendContainerState(containerMapValue)
  9758. }
  9759. ee.EncodeInt(int64(v[uint64(k2)]))
  9760. }
  9761. } else {
  9762. for k2, v2 := range v {
  9763. if cr != nil {
  9764. cr.sendContainerState(containerMapKey)
  9765. }
  9766. ee.EncodeUint(uint64(k2))
  9767. if cr != nil {
  9768. cr.sendContainerState(containerMapValue)
  9769. }
  9770. ee.EncodeInt(int64(v2))
  9771. }
  9772. }
  9773. if cr != nil {
  9774. cr.sendContainerState(containerMapEnd)
  9775. }
  9776. }
  9777. func (f *encFnInfo) fastpathEncMapUint64Int16R(rv reflect.Value) {
  9778. fastpathTV.EncMapUint64Int16V(rv2i(rv).(map[uint64]int16), fastpathCheckNilFalse, f.e)
  9779. }
  9780. func (_ fastpathT) EncMapUint64Int16V(v map[uint64]int16, checkNil bool, e *Encoder) {
  9781. ee := e.e
  9782. cr := e.cr
  9783. if checkNil && v == nil {
  9784. ee.EncodeNil()
  9785. return
  9786. }
  9787. ee.EncodeMapStart(len(v))
  9788. if e.h.Canonical {
  9789. v2 := make([]uint64, len(v))
  9790. var i int
  9791. for k, _ := range v {
  9792. v2[i] = uint64(k)
  9793. i++
  9794. }
  9795. sort.Sort(uintSlice(v2))
  9796. for _, k2 := range v2 {
  9797. if cr != nil {
  9798. cr.sendContainerState(containerMapKey)
  9799. }
  9800. ee.EncodeUint(uint64(uint64(k2)))
  9801. if cr != nil {
  9802. cr.sendContainerState(containerMapValue)
  9803. }
  9804. ee.EncodeInt(int64(v[uint64(k2)]))
  9805. }
  9806. } else {
  9807. for k2, v2 := range v {
  9808. if cr != nil {
  9809. cr.sendContainerState(containerMapKey)
  9810. }
  9811. ee.EncodeUint(uint64(k2))
  9812. if cr != nil {
  9813. cr.sendContainerState(containerMapValue)
  9814. }
  9815. ee.EncodeInt(int64(v2))
  9816. }
  9817. }
  9818. if cr != nil {
  9819. cr.sendContainerState(containerMapEnd)
  9820. }
  9821. }
  9822. func (f *encFnInfo) fastpathEncMapUint64Int32R(rv reflect.Value) {
  9823. fastpathTV.EncMapUint64Int32V(rv2i(rv).(map[uint64]int32), fastpathCheckNilFalse, f.e)
  9824. }
  9825. func (_ fastpathT) EncMapUint64Int32V(v map[uint64]int32, checkNil bool, e *Encoder) {
  9826. ee := e.e
  9827. cr := e.cr
  9828. if checkNil && v == nil {
  9829. ee.EncodeNil()
  9830. return
  9831. }
  9832. ee.EncodeMapStart(len(v))
  9833. if e.h.Canonical {
  9834. v2 := make([]uint64, len(v))
  9835. var i int
  9836. for k, _ := range v {
  9837. v2[i] = uint64(k)
  9838. i++
  9839. }
  9840. sort.Sort(uintSlice(v2))
  9841. for _, k2 := range v2 {
  9842. if cr != nil {
  9843. cr.sendContainerState(containerMapKey)
  9844. }
  9845. ee.EncodeUint(uint64(uint64(k2)))
  9846. if cr != nil {
  9847. cr.sendContainerState(containerMapValue)
  9848. }
  9849. ee.EncodeInt(int64(v[uint64(k2)]))
  9850. }
  9851. } else {
  9852. for k2, v2 := range v {
  9853. if cr != nil {
  9854. cr.sendContainerState(containerMapKey)
  9855. }
  9856. ee.EncodeUint(uint64(k2))
  9857. if cr != nil {
  9858. cr.sendContainerState(containerMapValue)
  9859. }
  9860. ee.EncodeInt(int64(v2))
  9861. }
  9862. }
  9863. if cr != nil {
  9864. cr.sendContainerState(containerMapEnd)
  9865. }
  9866. }
  9867. func (f *encFnInfo) fastpathEncMapUint64Int64R(rv reflect.Value) {
  9868. fastpathTV.EncMapUint64Int64V(rv2i(rv).(map[uint64]int64), fastpathCheckNilFalse, f.e)
  9869. }
  9870. func (_ fastpathT) EncMapUint64Int64V(v map[uint64]int64, checkNil bool, e *Encoder) {
  9871. ee := e.e
  9872. cr := e.cr
  9873. if checkNil && v == nil {
  9874. ee.EncodeNil()
  9875. return
  9876. }
  9877. ee.EncodeMapStart(len(v))
  9878. if e.h.Canonical {
  9879. v2 := make([]uint64, len(v))
  9880. var i int
  9881. for k, _ := range v {
  9882. v2[i] = uint64(k)
  9883. i++
  9884. }
  9885. sort.Sort(uintSlice(v2))
  9886. for _, k2 := range v2 {
  9887. if cr != nil {
  9888. cr.sendContainerState(containerMapKey)
  9889. }
  9890. ee.EncodeUint(uint64(uint64(k2)))
  9891. if cr != nil {
  9892. cr.sendContainerState(containerMapValue)
  9893. }
  9894. ee.EncodeInt(int64(v[uint64(k2)]))
  9895. }
  9896. } else {
  9897. for k2, v2 := range v {
  9898. if cr != nil {
  9899. cr.sendContainerState(containerMapKey)
  9900. }
  9901. ee.EncodeUint(uint64(k2))
  9902. if cr != nil {
  9903. cr.sendContainerState(containerMapValue)
  9904. }
  9905. ee.EncodeInt(int64(v2))
  9906. }
  9907. }
  9908. if cr != nil {
  9909. cr.sendContainerState(containerMapEnd)
  9910. }
  9911. }
  9912. func (f *encFnInfo) fastpathEncMapUint64Float32R(rv reflect.Value) {
  9913. fastpathTV.EncMapUint64Float32V(rv2i(rv).(map[uint64]float32), fastpathCheckNilFalse, f.e)
  9914. }
  9915. func (_ fastpathT) EncMapUint64Float32V(v map[uint64]float32, checkNil bool, e *Encoder) {
  9916. ee := e.e
  9917. cr := e.cr
  9918. if checkNil && v == nil {
  9919. ee.EncodeNil()
  9920. return
  9921. }
  9922. ee.EncodeMapStart(len(v))
  9923. if e.h.Canonical {
  9924. v2 := make([]uint64, len(v))
  9925. var i int
  9926. for k, _ := range v {
  9927. v2[i] = uint64(k)
  9928. i++
  9929. }
  9930. sort.Sort(uintSlice(v2))
  9931. for _, k2 := range v2 {
  9932. if cr != nil {
  9933. cr.sendContainerState(containerMapKey)
  9934. }
  9935. ee.EncodeUint(uint64(uint64(k2)))
  9936. if cr != nil {
  9937. cr.sendContainerState(containerMapValue)
  9938. }
  9939. ee.EncodeFloat32(v[uint64(k2)])
  9940. }
  9941. } else {
  9942. for k2, v2 := range v {
  9943. if cr != nil {
  9944. cr.sendContainerState(containerMapKey)
  9945. }
  9946. ee.EncodeUint(uint64(k2))
  9947. if cr != nil {
  9948. cr.sendContainerState(containerMapValue)
  9949. }
  9950. ee.EncodeFloat32(v2)
  9951. }
  9952. }
  9953. if cr != nil {
  9954. cr.sendContainerState(containerMapEnd)
  9955. }
  9956. }
  9957. func (f *encFnInfo) fastpathEncMapUint64Float64R(rv reflect.Value) {
  9958. fastpathTV.EncMapUint64Float64V(rv2i(rv).(map[uint64]float64), fastpathCheckNilFalse, f.e)
  9959. }
  9960. func (_ fastpathT) EncMapUint64Float64V(v map[uint64]float64, checkNil bool, e *Encoder) {
  9961. ee := e.e
  9962. cr := e.cr
  9963. if checkNil && v == nil {
  9964. ee.EncodeNil()
  9965. return
  9966. }
  9967. ee.EncodeMapStart(len(v))
  9968. if e.h.Canonical {
  9969. v2 := make([]uint64, len(v))
  9970. var i int
  9971. for k, _ := range v {
  9972. v2[i] = uint64(k)
  9973. i++
  9974. }
  9975. sort.Sort(uintSlice(v2))
  9976. for _, k2 := range v2 {
  9977. if cr != nil {
  9978. cr.sendContainerState(containerMapKey)
  9979. }
  9980. ee.EncodeUint(uint64(uint64(k2)))
  9981. if cr != nil {
  9982. cr.sendContainerState(containerMapValue)
  9983. }
  9984. ee.EncodeFloat64(v[uint64(k2)])
  9985. }
  9986. } else {
  9987. for k2, v2 := range v {
  9988. if cr != nil {
  9989. cr.sendContainerState(containerMapKey)
  9990. }
  9991. ee.EncodeUint(uint64(k2))
  9992. if cr != nil {
  9993. cr.sendContainerState(containerMapValue)
  9994. }
  9995. ee.EncodeFloat64(v2)
  9996. }
  9997. }
  9998. if cr != nil {
  9999. cr.sendContainerState(containerMapEnd)
  10000. }
  10001. }
  10002. func (f *encFnInfo) fastpathEncMapUint64BoolR(rv reflect.Value) {
  10003. fastpathTV.EncMapUint64BoolV(rv2i(rv).(map[uint64]bool), fastpathCheckNilFalse, f.e)
  10004. }
  10005. func (_ fastpathT) EncMapUint64BoolV(v map[uint64]bool, checkNil bool, e *Encoder) {
  10006. ee := e.e
  10007. cr := e.cr
  10008. if checkNil && v == nil {
  10009. ee.EncodeNil()
  10010. return
  10011. }
  10012. ee.EncodeMapStart(len(v))
  10013. if e.h.Canonical {
  10014. v2 := make([]uint64, len(v))
  10015. var i int
  10016. for k, _ := range v {
  10017. v2[i] = uint64(k)
  10018. i++
  10019. }
  10020. sort.Sort(uintSlice(v2))
  10021. for _, k2 := range v2 {
  10022. if cr != nil {
  10023. cr.sendContainerState(containerMapKey)
  10024. }
  10025. ee.EncodeUint(uint64(uint64(k2)))
  10026. if cr != nil {
  10027. cr.sendContainerState(containerMapValue)
  10028. }
  10029. ee.EncodeBool(v[uint64(k2)])
  10030. }
  10031. } else {
  10032. for k2, v2 := range v {
  10033. if cr != nil {
  10034. cr.sendContainerState(containerMapKey)
  10035. }
  10036. ee.EncodeUint(uint64(k2))
  10037. if cr != nil {
  10038. cr.sendContainerState(containerMapValue)
  10039. }
  10040. ee.EncodeBool(v2)
  10041. }
  10042. }
  10043. if cr != nil {
  10044. cr.sendContainerState(containerMapEnd)
  10045. }
  10046. }
  10047. func (f *encFnInfo) fastpathEncMapUintptrIntfR(rv reflect.Value) {
  10048. fastpathTV.EncMapUintptrIntfV(rv2i(rv).(map[uintptr]interface{}), fastpathCheckNilFalse, f.e)
  10049. }
  10050. func (_ fastpathT) EncMapUintptrIntfV(v map[uintptr]interface{}, checkNil bool, e *Encoder) {
  10051. ee := e.e
  10052. cr := e.cr
  10053. if checkNil && v == nil {
  10054. ee.EncodeNil()
  10055. return
  10056. }
  10057. ee.EncodeMapStart(len(v))
  10058. if e.h.Canonical {
  10059. v2 := make([]uint64, len(v))
  10060. var i int
  10061. for k, _ := range v {
  10062. v2[i] = uint64(k)
  10063. i++
  10064. }
  10065. sort.Sort(uintSlice(v2))
  10066. for _, k2 := range v2 {
  10067. if cr != nil {
  10068. cr.sendContainerState(containerMapKey)
  10069. }
  10070. e.encode(uintptr(k2))
  10071. if cr != nil {
  10072. cr.sendContainerState(containerMapValue)
  10073. }
  10074. e.encode(v[uintptr(k2)])
  10075. }
  10076. } else {
  10077. for k2, v2 := range v {
  10078. if cr != nil {
  10079. cr.sendContainerState(containerMapKey)
  10080. }
  10081. e.encode(k2)
  10082. if cr != nil {
  10083. cr.sendContainerState(containerMapValue)
  10084. }
  10085. e.encode(v2)
  10086. }
  10087. }
  10088. if cr != nil {
  10089. cr.sendContainerState(containerMapEnd)
  10090. }
  10091. }
  10092. func (f *encFnInfo) fastpathEncMapUintptrStringR(rv reflect.Value) {
  10093. fastpathTV.EncMapUintptrStringV(rv2i(rv).(map[uintptr]string), fastpathCheckNilFalse, f.e)
  10094. }
  10095. func (_ fastpathT) EncMapUintptrStringV(v map[uintptr]string, checkNil bool, e *Encoder) {
  10096. ee := e.e
  10097. cr := e.cr
  10098. if checkNil && v == nil {
  10099. ee.EncodeNil()
  10100. return
  10101. }
  10102. ee.EncodeMapStart(len(v))
  10103. if e.h.Canonical {
  10104. v2 := make([]uint64, len(v))
  10105. var i int
  10106. for k, _ := range v {
  10107. v2[i] = uint64(k)
  10108. i++
  10109. }
  10110. sort.Sort(uintSlice(v2))
  10111. for _, k2 := range v2 {
  10112. if cr != nil {
  10113. cr.sendContainerState(containerMapKey)
  10114. }
  10115. e.encode(uintptr(k2))
  10116. if cr != nil {
  10117. cr.sendContainerState(containerMapValue)
  10118. }
  10119. ee.EncodeString(c_UTF8, v[uintptr(k2)])
  10120. }
  10121. } else {
  10122. for k2, v2 := range v {
  10123. if cr != nil {
  10124. cr.sendContainerState(containerMapKey)
  10125. }
  10126. e.encode(k2)
  10127. if cr != nil {
  10128. cr.sendContainerState(containerMapValue)
  10129. }
  10130. ee.EncodeString(c_UTF8, v2)
  10131. }
  10132. }
  10133. if cr != nil {
  10134. cr.sendContainerState(containerMapEnd)
  10135. }
  10136. }
  10137. func (f *encFnInfo) fastpathEncMapUintptrUintR(rv reflect.Value) {
  10138. fastpathTV.EncMapUintptrUintV(rv2i(rv).(map[uintptr]uint), fastpathCheckNilFalse, f.e)
  10139. }
  10140. func (_ fastpathT) EncMapUintptrUintV(v map[uintptr]uint, checkNil bool, e *Encoder) {
  10141. ee := e.e
  10142. cr := e.cr
  10143. if checkNil && v == nil {
  10144. ee.EncodeNil()
  10145. return
  10146. }
  10147. ee.EncodeMapStart(len(v))
  10148. if e.h.Canonical {
  10149. v2 := make([]uint64, len(v))
  10150. var i int
  10151. for k, _ := range v {
  10152. v2[i] = uint64(k)
  10153. i++
  10154. }
  10155. sort.Sort(uintSlice(v2))
  10156. for _, k2 := range v2 {
  10157. if cr != nil {
  10158. cr.sendContainerState(containerMapKey)
  10159. }
  10160. e.encode(uintptr(k2))
  10161. if cr != nil {
  10162. cr.sendContainerState(containerMapValue)
  10163. }
  10164. ee.EncodeUint(uint64(v[uintptr(k2)]))
  10165. }
  10166. } else {
  10167. for k2, v2 := range v {
  10168. if cr != nil {
  10169. cr.sendContainerState(containerMapKey)
  10170. }
  10171. e.encode(k2)
  10172. if cr != nil {
  10173. cr.sendContainerState(containerMapValue)
  10174. }
  10175. ee.EncodeUint(uint64(v2))
  10176. }
  10177. }
  10178. if cr != nil {
  10179. cr.sendContainerState(containerMapEnd)
  10180. }
  10181. }
  10182. func (f *encFnInfo) fastpathEncMapUintptrUint8R(rv reflect.Value) {
  10183. fastpathTV.EncMapUintptrUint8V(rv2i(rv).(map[uintptr]uint8), fastpathCheckNilFalse, f.e)
  10184. }
  10185. func (_ fastpathT) EncMapUintptrUint8V(v map[uintptr]uint8, checkNil bool, e *Encoder) {
  10186. ee := e.e
  10187. cr := e.cr
  10188. if checkNil && v == nil {
  10189. ee.EncodeNil()
  10190. return
  10191. }
  10192. ee.EncodeMapStart(len(v))
  10193. if e.h.Canonical {
  10194. v2 := make([]uint64, len(v))
  10195. var i int
  10196. for k, _ := range v {
  10197. v2[i] = uint64(k)
  10198. i++
  10199. }
  10200. sort.Sort(uintSlice(v2))
  10201. for _, k2 := range v2 {
  10202. if cr != nil {
  10203. cr.sendContainerState(containerMapKey)
  10204. }
  10205. e.encode(uintptr(k2))
  10206. if cr != nil {
  10207. cr.sendContainerState(containerMapValue)
  10208. }
  10209. ee.EncodeUint(uint64(v[uintptr(k2)]))
  10210. }
  10211. } else {
  10212. for k2, v2 := range v {
  10213. if cr != nil {
  10214. cr.sendContainerState(containerMapKey)
  10215. }
  10216. e.encode(k2)
  10217. if cr != nil {
  10218. cr.sendContainerState(containerMapValue)
  10219. }
  10220. ee.EncodeUint(uint64(v2))
  10221. }
  10222. }
  10223. if cr != nil {
  10224. cr.sendContainerState(containerMapEnd)
  10225. }
  10226. }
  10227. func (f *encFnInfo) fastpathEncMapUintptrUint16R(rv reflect.Value) {
  10228. fastpathTV.EncMapUintptrUint16V(rv2i(rv).(map[uintptr]uint16), fastpathCheckNilFalse, f.e)
  10229. }
  10230. func (_ fastpathT) EncMapUintptrUint16V(v map[uintptr]uint16, checkNil bool, e *Encoder) {
  10231. ee := e.e
  10232. cr := e.cr
  10233. if checkNil && v == nil {
  10234. ee.EncodeNil()
  10235. return
  10236. }
  10237. ee.EncodeMapStart(len(v))
  10238. if e.h.Canonical {
  10239. v2 := make([]uint64, len(v))
  10240. var i int
  10241. for k, _ := range v {
  10242. v2[i] = uint64(k)
  10243. i++
  10244. }
  10245. sort.Sort(uintSlice(v2))
  10246. for _, k2 := range v2 {
  10247. if cr != nil {
  10248. cr.sendContainerState(containerMapKey)
  10249. }
  10250. e.encode(uintptr(k2))
  10251. if cr != nil {
  10252. cr.sendContainerState(containerMapValue)
  10253. }
  10254. ee.EncodeUint(uint64(v[uintptr(k2)]))
  10255. }
  10256. } else {
  10257. for k2, v2 := range v {
  10258. if cr != nil {
  10259. cr.sendContainerState(containerMapKey)
  10260. }
  10261. e.encode(k2)
  10262. if cr != nil {
  10263. cr.sendContainerState(containerMapValue)
  10264. }
  10265. ee.EncodeUint(uint64(v2))
  10266. }
  10267. }
  10268. if cr != nil {
  10269. cr.sendContainerState(containerMapEnd)
  10270. }
  10271. }
  10272. func (f *encFnInfo) fastpathEncMapUintptrUint32R(rv reflect.Value) {
  10273. fastpathTV.EncMapUintptrUint32V(rv2i(rv).(map[uintptr]uint32), fastpathCheckNilFalse, f.e)
  10274. }
  10275. func (_ fastpathT) EncMapUintptrUint32V(v map[uintptr]uint32, checkNil bool, e *Encoder) {
  10276. ee := e.e
  10277. cr := e.cr
  10278. if checkNil && v == nil {
  10279. ee.EncodeNil()
  10280. return
  10281. }
  10282. ee.EncodeMapStart(len(v))
  10283. if e.h.Canonical {
  10284. v2 := make([]uint64, len(v))
  10285. var i int
  10286. for k, _ := range v {
  10287. v2[i] = uint64(k)
  10288. i++
  10289. }
  10290. sort.Sort(uintSlice(v2))
  10291. for _, k2 := range v2 {
  10292. if cr != nil {
  10293. cr.sendContainerState(containerMapKey)
  10294. }
  10295. e.encode(uintptr(k2))
  10296. if cr != nil {
  10297. cr.sendContainerState(containerMapValue)
  10298. }
  10299. ee.EncodeUint(uint64(v[uintptr(k2)]))
  10300. }
  10301. } else {
  10302. for k2, v2 := range v {
  10303. if cr != nil {
  10304. cr.sendContainerState(containerMapKey)
  10305. }
  10306. e.encode(k2)
  10307. if cr != nil {
  10308. cr.sendContainerState(containerMapValue)
  10309. }
  10310. ee.EncodeUint(uint64(v2))
  10311. }
  10312. }
  10313. if cr != nil {
  10314. cr.sendContainerState(containerMapEnd)
  10315. }
  10316. }
  10317. func (f *encFnInfo) fastpathEncMapUintptrUint64R(rv reflect.Value) {
  10318. fastpathTV.EncMapUintptrUint64V(rv2i(rv).(map[uintptr]uint64), fastpathCheckNilFalse, f.e)
  10319. }
  10320. func (_ fastpathT) EncMapUintptrUint64V(v map[uintptr]uint64, checkNil bool, e *Encoder) {
  10321. ee := e.e
  10322. cr := e.cr
  10323. if checkNil && v == nil {
  10324. ee.EncodeNil()
  10325. return
  10326. }
  10327. ee.EncodeMapStart(len(v))
  10328. if e.h.Canonical {
  10329. v2 := make([]uint64, len(v))
  10330. var i int
  10331. for k, _ := range v {
  10332. v2[i] = uint64(k)
  10333. i++
  10334. }
  10335. sort.Sort(uintSlice(v2))
  10336. for _, k2 := range v2 {
  10337. if cr != nil {
  10338. cr.sendContainerState(containerMapKey)
  10339. }
  10340. e.encode(uintptr(k2))
  10341. if cr != nil {
  10342. cr.sendContainerState(containerMapValue)
  10343. }
  10344. ee.EncodeUint(uint64(v[uintptr(k2)]))
  10345. }
  10346. } else {
  10347. for k2, v2 := range v {
  10348. if cr != nil {
  10349. cr.sendContainerState(containerMapKey)
  10350. }
  10351. e.encode(k2)
  10352. if cr != nil {
  10353. cr.sendContainerState(containerMapValue)
  10354. }
  10355. ee.EncodeUint(uint64(v2))
  10356. }
  10357. }
  10358. if cr != nil {
  10359. cr.sendContainerState(containerMapEnd)
  10360. }
  10361. }
  10362. func (f *encFnInfo) fastpathEncMapUintptrUintptrR(rv reflect.Value) {
  10363. fastpathTV.EncMapUintptrUintptrV(rv2i(rv).(map[uintptr]uintptr), fastpathCheckNilFalse, f.e)
  10364. }
  10365. func (_ fastpathT) EncMapUintptrUintptrV(v map[uintptr]uintptr, checkNil bool, e *Encoder) {
  10366. ee := e.e
  10367. cr := e.cr
  10368. if checkNil && v == nil {
  10369. ee.EncodeNil()
  10370. return
  10371. }
  10372. ee.EncodeMapStart(len(v))
  10373. if e.h.Canonical {
  10374. v2 := make([]uint64, len(v))
  10375. var i int
  10376. for k, _ := range v {
  10377. v2[i] = uint64(k)
  10378. i++
  10379. }
  10380. sort.Sort(uintSlice(v2))
  10381. for _, k2 := range v2 {
  10382. if cr != nil {
  10383. cr.sendContainerState(containerMapKey)
  10384. }
  10385. e.encode(uintptr(k2))
  10386. if cr != nil {
  10387. cr.sendContainerState(containerMapValue)
  10388. }
  10389. e.encode(v[uintptr(k2)])
  10390. }
  10391. } else {
  10392. for k2, v2 := range v {
  10393. if cr != nil {
  10394. cr.sendContainerState(containerMapKey)
  10395. }
  10396. e.encode(k2)
  10397. if cr != nil {
  10398. cr.sendContainerState(containerMapValue)
  10399. }
  10400. e.encode(v2)
  10401. }
  10402. }
  10403. if cr != nil {
  10404. cr.sendContainerState(containerMapEnd)
  10405. }
  10406. }
  10407. func (f *encFnInfo) fastpathEncMapUintptrIntR(rv reflect.Value) {
  10408. fastpathTV.EncMapUintptrIntV(rv2i(rv).(map[uintptr]int), fastpathCheckNilFalse, f.e)
  10409. }
  10410. func (_ fastpathT) EncMapUintptrIntV(v map[uintptr]int, checkNil bool, e *Encoder) {
  10411. ee := e.e
  10412. cr := e.cr
  10413. if checkNil && v == nil {
  10414. ee.EncodeNil()
  10415. return
  10416. }
  10417. ee.EncodeMapStart(len(v))
  10418. if e.h.Canonical {
  10419. v2 := make([]uint64, len(v))
  10420. var i int
  10421. for k, _ := range v {
  10422. v2[i] = uint64(k)
  10423. i++
  10424. }
  10425. sort.Sort(uintSlice(v2))
  10426. for _, k2 := range v2 {
  10427. if cr != nil {
  10428. cr.sendContainerState(containerMapKey)
  10429. }
  10430. e.encode(uintptr(k2))
  10431. if cr != nil {
  10432. cr.sendContainerState(containerMapValue)
  10433. }
  10434. ee.EncodeInt(int64(v[uintptr(k2)]))
  10435. }
  10436. } else {
  10437. for k2, v2 := range v {
  10438. if cr != nil {
  10439. cr.sendContainerState(containerMapKey)
  10440. }
  10441. e.encode(k2)
  10442. if cr != nil {
  10443. cr.sendContainerState(containerMapValue)
  10444. }
  10445. ee.EncodeInt(int64(v2))
  10446. }
  10447. }
  10448. if cr != nil {
  10449. cr.sendContainerState(containerMapEnd)
  10450. }
  10451. }
  10452. func (f *encFnInfo) fastpathEncMapUintptrInt8R(rv reflect.Value) {
  10453. fastpathTV.EncMapUintptrInt8V(rv2i(rv).(map[uintptr]int8), fastpathCheckNilFalse, f.e)
  10454. }
  10455. func (_ fastpathT) EncMapUintptrInt8V(v map[uintptr]int8, checkNil bool, e *Encoder) {
  10456. ee := e.e
  10457. cr := e.cr
  10458. if checkNil && v == nil {
  10459. ee.EncodeNil()
  10460. return
  10461. }
  10462. ee.EncodeMapStart(len(v))
  10463. if e.h.Canonical {
  10464. v2 := make([]uint64, len(v))
  10465. var i int
  10466. for k, _ := range v {
  10467. v2[i] = uint64(k)
  10468. i++
  10469. }
  10470. sort.Sort(uintSlice(v2))
  10471. for _, k2 := range v2 {
  10472. if cr != nil {
  10473. cr.sendContainerState(containerMapKey)
  10474. }
  10475. e.encode(uintptr(k2))
  10476. if cr != nil {
  10477. cr.sendContainerState(containerMapValue)
  10478. }
  10479. ee.EncodeInt(int64(v[uintptr(k2)]))
  10480. }
  10481. } else {
  10482. for k2, v2 := range v {
  10483. if cr != nil {
  10484. cr.sendContainerState(containerMapKey)
  10485. }
  10486. e.encode(k2)
  10487. if cr != nil {
  10488. cr.sendContainerState(containerMapValue)
  10489. }
  10490. ee.EncodeInt(int64(v2))
  10491. }
  10492. }
  10493. if cr != nil {
  10494. cr.sendContainerState(containerMapEnd)
  10495. }
  10496. }
  10497. func (f *encFnInfo) fastpathEncMapUintptrInt16R(rv reflect.Value) {
  10498. fastpathTV.EncMapUintptrInt16V(rv2i(rv).(map[uintptr]int16), fastpathCheckNilFalse, f.e)
  10499. }
  10500. func (_ fastpathT) EncMapUintptrInt16V(v map[uintptr]int16, checkNil bool, e *Encoder) {
  10501. ee := e.e
  10502. cr := e.cr
  10503. if checkNil && v == nil {
  10504. ee.EncodeNil()
  10505. return
  10506. }
  10507. ee.EncodeMapStart(len(v))
  10508. if e.h.Canonical {
  10509. v2 := make([]uint64, len(v))
  10510. var i int
  10511. for k, _ := range v {
  10512. v2[i] = uint64(k)
  10513. i++
  10514. }
  10515. sort.Sort(uintSlice(v2))
  10516. for _, k2 := range v2 {
  10517. if cr != nil {
  10518. cr.sendContainerState(containerMapKey)
  10519. }
  10520. e.encode(uintptr(k2))
  10521. if cr != nil {
  10522. cr.sendContainerState(containerMapValue)
  10523. }
  10524. ee.EncodeInt(int64(v[uintptr(k2)]))
  10525. }
  10526. } else {
  10527. for k2, v2 := range v {
  10528. if cr != nil {
  10529. cr.sendContainerState(containerMapKey)
  10530. }
  10531. e.encode(k2)
  10532. if cr != nil {
  10533. cr.sendContainerState(containerMapValue)
  10534. }
  10535. ee.EncodeInt(int64(v2))
  10536. }
  10537. }
  10538. if cr != nil {
  10539. cr.sendContainerState(containerMapEnd)
  10540. }
  10541. }
  10542. func (f *encFnInfo) fastpathEncMapUintptrInt32R(rv reflect.Value) {
  10543. fastpathTV.EncMapUintptrInt32V(rv2i(rv).(map[uintptr]int32), fastpathCheckNilFalse, f.e)
  10544. }
  10545. func (_ fastpathT) EncMapUintptrInt32V(v map[uintptr]int32, checkNil bool, e *Encoder) {
  10546. ee := e.e
  10547. cr := e.cr
  10548. if checkNil && v == nil {
  10549. ee.EncodeNil()
  10550. return
  10551. }
  10552. ee.EncodeMapStart(len(v))
  10553. if e.h.Canonical {
  10554. v2 := make([]uint64, len(v))
  10555. var i int
  10556. for k, _ := range v {
  10557. v2[i] = uint64(k)
  10558. i++
  10559. }
  10560. sort.Sort(uintSlice(v2))
  10561. for _, k2 := range v2 {
  10562. if cr != nil {
  10563. cr.sendContainerState(containerMapKey)
  10564. }
  10565. e.encode(uintptr(k2))
  10566. if cr != nil {
  10567. cr.sendContainerState(containerMapValue)
  10568. }
  10569. ee.EncodeInt(int64(v[uintptr(k2)]))
  10570. }
  10571. } else {
  10572. for k2, v2 := range v {
  10573. if cr != nil {
  10574. cr.sendContainerState(containerMapKey)
  10575. }
  10576. e.encode(k2)
  10577. if cr != nil {
  10578. cr.sendContainerState(containerMapValue)
  10579. }
  10580. ee.EncodeInt(int64(v2))
  10581. }
  10582. }
  10583. if cr != nil {
  10584. cr.sendContainerState(containerMapEnd)
  10585. }
  10586. }
  10587. func (f *encFnInfo) fastpathEncMapUintptrInt64R(rv reflect.Value) {
  10588. fastpathTV.EncMapUintptrInt64V(rv2i(rv).(map[uintptr]int64), fastpathCheckNilFalse, f.e)
  10589. }
  10590. func (_ fastpathT) EncMapUintptrInt64V(v map[uintptr]int64, checkNil bool, e *Encoder) {
  10591. ee := e.e
  10592. cr := e.cr
  10593. if checkNil && v == nil {
  10594. ee.EncodeNil()
  10595. return
  10596. }
  10597. ee.EncodeMapStart(len(v))
  10598. if e.h.Canonical {
  10599. v2 := make([]uint64, len(v))
  10600. var i int
  10601. for k, _ := range v {
  10602. v2[i] = uint64(k)
  10603. i++
  10604. }
  10605. sort.Sort(uintSlice(v2))
  10606. for _, k2 := range v2 {
  10607. if cr != nil {
  10608. cr.sendContainerState(containerMapKey)
  10609. }
  10610. e.encode(uintptr(k2))
  10611. if cr != nil {
  10612. cr.sendContainerState(containerMapValue)
  10613. }
  10614. ee.EncodeInt(int64(v[uintptr(k2)]))
  10615. }
  10616. } else {
  10617. for k2, v2 := range v {
  10618. if cr != nil {
  10619. cr.sendContainerState(containerMapKey)
  10620. }
  10621. e.encode(k2)
  10622. if cr != nil {
  10623. cr.sendContainerState(containerMapValue)
  10624. }
  10625. ee.EncodeInt(int64(v2))
  10626. }
  10627. }
  10628. if cr != nil {
  10629. cr.sendContainerState(containerMapEnd)
  10630. }
  10631. }
  10632. func (f *encFnInfo) fastpathEncMapUintptrFloat32R(rv reflect.Value) {
  10633. fastpathTV.EncMapUintptrFloat32V(rv2i(rv).(map[uintptr]float32), fastpathCheckNilFalse, f.e)
  10634. }
  10635. func (_ fastpathT) EncMapUintptrFloat32V(v map[uintptr]float32, checkNil bool, e *Encoder) {
  10636. ee := e.e
  10637. cr := e.cr
  10638. if checkNil && v == nil {
  10639. ee.EncodeNil()
  10640. return
  10641. }
  10642. ee.EncodeMapStart(len(v))
  10643. if e.h.Canonical {
  10644. v2 := make([]uint64, len(v))
  10645. var i int
  10646. for k, _ := range v {
  10647. v2[i] = uint64(k)
  10648. i++
  10649. }
  10650. sort.Sort(uintSlice(v2))
  10651. for _, k2 := range v2 {
  10652. if cr != nil {
  10653. cr.sendContainerState(containerMapKey)
  10654. }
  10655. e.encode(uintptr(k2))
  10656. if cr != nil {
  10657. cr.sendContainerState(containerMapValue)
  10658. }
  10659. ee.EncodeFloat32(v[uintptr(k2)])
  10660. }
  10661. } else {
  10662. for k2, v2 := range v {
  10663. if cr != nil {
  10664. cr.sendContainerState(containerMapKey)
  10665. }
  10666. e.encode(k2)
  10667. if cr != nil {
  10668. cr.sendContainerState(containerMapValue)
  10669. }
  10670. ee.EncodeFloat32(v2)
  10671. }
  10672. }
  10673. if cr != nil {
  10674. cr.sendContainerState(containerMapEnd)
  10675. }
  10676. }
  10677. func (f *encFnInfo) fastpathEncMapUintptrFloat64R(rv reflect.Value) {
  10678. fastpathTV.EncMapUintptrFloat64V(rv2i(rv).(map[uintptr]float64), fastpathCheckNilFalse, f.e)
  10679. }
  10680. func (_ fastpathT) EncMapUintptrFloat64V(v map[uintptr]float64, checkNil bool, e *Encoder) {
  10681. ee := e.e
  10682. cr := e.cr
  10683. if checkNil && v == nil {
  10684. ee.EncodeNil()
  10685. return
  10686. }
  10687. ee.EncodeMapStart(len(v))
  10688. if e.h.Canonical {
  10689. v2 := make([]uint64, len(v))
  10690. var i int
  10691. for k, _ := range v {
  10692. v2[i] = uint64(k)
  10693. i++
  10694. }
  10695. sort.Sort(uintSlice(v2))
  10696. for _, k2 := range v2 {
  10697. if cr != nil {
  10698. cr.sendContainerState(containerMapKey)
  10699. }
  10700. e.encode(uintptr(k2))
  10701. if cr != nil {
  10702. cr.sendContainerState(containerMapValue)
  10703. }
  10704. ee.EncodeFloat64(v[uintptr(k2)])
  10705. }
  10706. } else {
  10707. for k2, v2 := range v {
  10708. if cr != nil {
  10709. cr.sendContainerState(containerMapKey)
  10710. }
  10711. e.encode(k2)
  10712. if cr != nil {
  10713. cr.sendContainerState(containerMapValue)
  10714. }
  10715. ee.EncodeFloat64(v2)
  10716. }
  10717. }
  10718. if cr != nil {
  10719. cr.sendContainerState(containerMapEnd)
  10720. }
  10721. }
  10722. func (f *encFnInfo) fastpathEncMapUintptrBoolR(rv reflect.Value) {
  10723. fastpathTV.EncMapUintptrBoolV(rv2i(rv).(map[uintptr]bool), fastpathCheckNilFalse, f.e)
  10724. }
  10725. func (_ fastpathT) EncMapUintptrBoolV(v map[uintptr]bool, checkNil bool, e *Encoder) {
  10726. ee := e.e
  10727. cr := e.cr
  10728. if checkNil && v == nil {
  10729. ee.EncodeNil()
  10730. return
  10731. }
  10732. ee.EncodeMapStart(len(v))
  10733. if e.h.Canonical {
  10734. v2 := make([]uint64, len(v))
  10735. var i int
  10736. for k, _ := range v {
  10737. v2[i] = uint64(k)
  10738. i++
  10739. }
  10740. sort.Sort(uintSlice(v2))
  10741. for _, k2 := range v2 {
  10742. if cr != nil {
  10743. cr.sendContainerState(containerMapKey)
  10744. }
  10745. e.encode(uintptr(k2))
  10746. if cr != nil {
  10747. cr.sendContainerState(containerMapValue)
  10748. }
  10749. ee.EncodeBool(v[uintptr(k2)])
  10750. }
  10751. } else {
  10752. for k2, v2 := range v {
  10753. if cr != nil {
  10754. cr.sendContainerState(containerMapKey)
  10755. }
  10756. e.encode(k2)
  10757. if cr != nil {
  10758. cr.sendContainerState(containerMapValue)
  10759. }
  10760. ee.EncodeBool(v2)
  10761. }
  10762. }
  10763. if cr != nil {
  10764. cr.sendContainerState(containerMapEnd)
  10765. }
  10766. }
  10767. func (f *encFnInfo) fastpathEncMapIntIntfR(rv reflect.Value) {
  10768. fastpathTV.EncMapIntIntfV(rv2i(rv).(map[int]interface{}), fastpathCheckNilFalse, f.e)
  10769. }
  10770. func (_ fastpathT) EncMapIntIntfV(v map[int]interface{}, checkNil bool, e *Encoder) {
  10771. ee := e.e
  10772. cr := e.cr
  10773. if checkNil && v == nil {
  10774. ee.EncodeNil()
  10775. return
  10776. }
  10777. ee.EncodeMapStart(len(v))
  10778. if e.h.Canonical {
  10779. v2 := make([]int64, len(v))
  10780. var i int
  10781. for k, _ := range v {
  10782. v2[i] = int64(k)
  10783. i++
  10784. }
  10785. sort.Sort(intSlice(v2))
  10786. for _, k2 := range v2 {
  10787. if cr != nil {
  10788. cr.sendContainerState(containerMapKey)
  10789. }
  10790. ee.EncodeInt(int64(int(k2)))
  10791. if cr != nil {
  10792. cr.sendContainerState(containerMapValue)
  10793. }
  10794. e.encode(v[int(k2)])
  10795. }
  10796. } else {
  10797. for k2, v2 := range v {
  10798. if cr != nil {
  10799. cr.sendContainerState(containerMapKey)
  10800. }
  10801. ee.EncodeInt(int64(k2))
  10802. if cr != nil {
  10803. cr.sendContainerState(containerMapValue)
  10804. }
  10805. e.encode(v2)
  10806. }
  10807. }
  10808. if cr != nil {
  10809. cr.sendContainerState(containerMapEnd)
  10810. }
  10811. }
  10812. func (f *encFnInfo) fastpathEncMapIntStringR(rv reflect.Value) {
  10813. fastpathTV.EncMapIntStringV(rv2i(rv).(map[int]string), fastpathCheckNilFalse, f.e)
  10814. }
  10815. func (_ fastpathT) EncMapIntStringV(v map[int]string, checkNil bool, e *Encoder) {
  10816. ee := e.e
  10817. cr := e.cr
  10818. if checkNil && v == nil {
  10819. ee.EncodeNil()
  10820. return
  10821. }
  10822. ee.EncodeMapStart(len(v))
  10823. if e.h.Canonical {
  10824. v2 := make([]int64, len(v))
  10825. var i int
  10826. for k, _ := range v {
  10827. v2[i] = int64(k)
  10828. i++
  10829. }
  10830. sort.Sort(intSlice(v2))
  10831. for _, k2 := range v2 {
  10832. if cr != nil {
  10833. cr.sendContainerState(containerMapKey)
  10834. }
  10835. ee.EncodeInt(int64(int(k2)))
  10836. if cr != nil {
  10837. cr.sendContainerState(containerMapValue)
  10838. }
  10839. ee.EncodeString(c_UTF8, v[int(k2)])
  10840. }
  10841. } else {
  10842. for k2, v2 := range v {
  10843. if cr != nil {
  10844. cr.sendContainerState(containerMapKey)
  10845. }
  10846. ee.EncodeInt(int64(k2))
  10847. if cr != nil {
  10848. cr.sendContainerState(containerMapValue)
  10849. }
  10850. ee.EncodeString(c_UTF8, v2)
  10851. }
  10852. }
  10853. if cr != nil {
  10854. cr.sendContainerState(containerMapEnd)
  10855. }
  10856. }
  10857. func (f *encFnInfo) fastpathEncMapIntUintR(rv reflect.Value) {
  10858. fastpathTV.EncMapIntUintV(rv2i(rv).(map[int]uint), fastpathCheckNilFalse, f.e)
  10859. }
  10860. func (_ fastpathT) EncMapIntUintV(v map[int]uint, checkNil bool, e *Encoder) {
  10861. ee := e.e
  10862. cr := e.cr
  10863. if checkNil && v == nil {
  10864. ee.EncodeNil()
  10865. return
  10866. }
  10867. ee.EncodeMapStart(len(v))
  10868. if e.h.Canonical {
  10869. v2 := make([]int64, len(v))
  10870. var i int
  10871. for k, _ := range v {
  10872. v2[i] = int64(k)
  10873. i++
  10874. }
  10875. sort.Sort(intSlice(v2))
  10876. for _, k2 := range v2 {
  10877. if cr != nil {
  10878. cr.sendContainerState(containerMapKey)
  10879. }
  10880. ee.EncodeInt(int64(int(k2)))
  10881. if cr != nil {
  10882. cr.sendContainerState(containerMapValue)
  10883. }
  10884. ee.EncodeUint(uint64(v[int(k2)]))
  10885. }
  10886. } else {
  10887. for k2, v2 := range v {
  10888. if cr != nil {
  10889. cr.sendContainerState(containerMapKey)
  10890. }
  10891. ee.EncodeInt(int64(k2))
  10892. if cr != nil {
  10893. cr.sendContainerState(containerMapValue)
  10894. }
  10895. ee.EncodeUint(uint64(v2))
  10896. }
  10897. }
  10898. if cr != nil {
  10899. cr.sendContainerState(containerMapEnd)
  10900. }
  10901. }
  10902. func (f *encFnInfo) fastpathEncMapIntUint8R(rv reflect.Value) {
  10903. fastpathTV.EncMapIntUint8V(rv2i(rv).(map[int]uint8), fastpathCheckNilFalse, f.e)
  10904. }
  10905. func (_ fastpathT) EncMapIntUint8V(v map[int]uint8, checkNil bool, e *Encoder) {
  10906. ee := e.e
  10907. cr := e.cr
  10908. if checkNil && v == nil {
  10909. ee.EncodeNil()
  10910. return
  10911. }
  10912. ee.EncodeMapStart(len(v))
  10913. if e.h.Canonical {
  10914. v2 := make([]int64, len(v))
  10915. var i int
  10916. for k, _ := range v {
  10917. v2[i] = int64(k)
  10918. i++
  10919. }
  10920. sort.Sort(intSlice(v2))
  10921. for _, k2 := range v2 {
  10922. if cr != nil {
  10923. cr.sendContainerState(containerMapKey)
  10924. }
  10925. ee.EncodeInt(int64(int(k2)))
  10926. if cr != nil {
  10927. cr.sendContainerState(containerMapValue)
  10928. }
  10929. ee.EncodeUint(uint64(v[int(k2)]))
  10930. }
  10931. } else {
  10932. for k2, v2 := range v {
  10933. if cr != nil {
  10934. cr.sendContainerState(containerMapKey)
  10935. }
  10936. ee.EncodeInt(int64(k2))
  10937. if cr != nil {
  10938. cr.sendContainerState(containerMapValue)
  10939. }
  10940. ee.EncodeUint(uint64(v2))
  10941. }
  10942. }
  10943. if cr != nil {
  10944. cr.sendContainerState(containerMapEnd)
  10945. }
  10946. }
  10947. func (f *encFnInfo) fastpathEncMapIntUint16R(rv reflect.Value) {
  10948. fastpathTV.EncMapIntUint16V(rv2i(rv).(map[int]uint16), fastpathCheckNilFalse, f.e)
  10949. }
  10950. func (_ fastpathT) EncMapIntUint16V(v map[int]uint16, checkNil bool, e *Encoder) {
  10951. ee := e.e
  10952. cr := e.cr
  10953. if checkNil && v == nil {
  10954. ee.EncodeNil()
  10955. return
  10956. }
  10957. ee.EncodeMapStart(len(v))
  10958. if e.h.Canonical {
  10959. v2 := make([]int64, len(v))
  10960. var i int
  10961. for k, _ := range v {
  10962. v2[i] = int64(k)
  10963. i++
  10964. }
  10965. sort.Sort(intSlice(v2))
  10966. for _, k2 := range v2 {
  10967. if cr != nil {
  10968. cr.sendContainerState(containerMapKey)
  10969. }
  10970. ee.EncodeInt(int64(int(k2)))
  10971. if cr != nil {
  10972. cr.sendContainerState(containerMapValue)
  10973. }
  10974. ee.EncodeUint(uint64(v[int(k2)]))
  10975. }
  10976. } else {
  10977. for k2, v2 := range v {
  10978. if cr != nil {
  10979. cr.sendContainerState(containerMapKey)
  10980. }
  10981. ee.EncodeInt(int64(k2))
  10982. if cr != nil {
  10983. cr.sendContainerState(containerMapValue)
  10984. }
  10985. ee.EncodeUint(uint64(v2))
  10986. }
  10987. }
  10988. if cr != nil {
  10989. cr.sendContainerState(containerMapEnd)
  10990. }
  10991. }
  10992. func (f *encFnInfo) fastpathEncMapIntUint32R(rv reflect.Value) {
  10993. fastpathTV.EncMapIntUint32V(rv2i(rv).(map[int]uint32), fastpathCheckNilFalse, f.e)
  10994. }
  10995. func (_ fastpathT) EncMapIntUint32V(v map[int]uint32, checkNil bool, e *Encoder) {
  10996. ee := e.e
  10997. cr := e.cr
  10998. if checkNil && v == nil {
  10999. ee.EncodeNil()
  11000. return
  11001. }
  11002. ee.EncodeMapStart(len(v))
  11003. if e.h.Canonical {
  11004. v2 := make([]int64, len(v))
  11005. var i int
  11006. for k, _ := range v {
  11007. v2[i] = int64(k)
  11008. i++
  11009. }
  11010. sort.Sort(intSlice(v2))
  11011. for _, k2 := range v2 {
  11012. if cr != nil {
  11013. cr.sendContainerState(containerMapKey)
  11014. }
  11015. ee.EncodeInt(int64(int(k2)))
  11016. if cr != nil {
  11017. cr.sendContainerState(containerMapValue)
  11018. }
  11019. ee.EncodeUint(uint64(v[int(k2)]))
  11020. }
  11021. } else {
  11022. for k2, v2 := range v {
  11023. if cr != nil {
  11024. cr.sendContainerState(containerMapKey)
  11025. }
  11026. ee.EncodeInt(int64(k2))
  11027. if cr != nil {
  11028. cr.sendContainerState(containerMapValue)
  11029. }
  11030. ee.EncodeUint(uint64(v2))
  11031. }
  11032. }
  11033. if cr != nil {
  11034. cr.sendContainerState(containerMapEnd)
  11035. }
  11036. }
  11037. func (f *encFnInfo) fastpathEncMapIntUint64R(rv reflect.Value) {
  11038. fastpathTV.EncMapIntUint64V(rv2i(rv).(map[int]uint64), fastpathCheckNilFalse, f.e)
  11039. }
  11040. func (_ fastpathT) EncMapIntUint64V(v map[int]uint64, checkNil bool, e *Encoder) {
  11041. ee := e.e
  11042. cr := e.cr
  11043. if checkNil && v == nil {
  11044. ee.EncodeNil()
  11045. return
  11046. }
  11047. ee.EncodeMapStart(len(v))
  11048. if e.h.Canonical {
  11049. v2 := make([]int64, len(v))
  11050. var i int
  11051. for k, _ := range v {
  11052. v2[i] = int64(k)
  11053. i++
  11054. }
  11055. sort.Sort(intSlice(v2))
  11056. for _, k2 := range v2 {
  11057. if cr != nil {
  11058. cr.sendContainerState(containerMapKey)
  11059. }
  11060. ee.EncodeInt(int64(int(k2)))
  11061. if cr != nil {
  11062. cr.sendContainerState(containerMapValue)
  11063. }
  11064. ee.EncodeUint(uint64(v[int(k2)]))
  11065. }
  11066. } else {
  11067. for k2, v2 := range v {
  11068. if cr != nil {
  11069. cr.sendContainerState(containerMapKey)
  11070. }
  11071. ee.EncodeInt(int64(k2))
  11072. if cr != nil {
  11073. cr.sendContainerState(containerMapValue)
  11074. }
  11075. ee.EncodeUint(uint64(v2))
  11076. }
  11077. }
  11078. if cr != nil {
  11079. cr.sendContainerState(containerMapEnd)
  11080. }
  11081. }
  11082. func (f *encFnInfo) fastpathEncMapIntUintptrR(rv reflect.Value) {
  11083. fastpathTV.EncMapIntUintptrV(rv2i(rv).(map[int]uintptr), fastpathCheckNilFalse, f.e)
  11084. }
  11085. func (_ fastpathT) EncMapIntUintptrV(v map[int]uintptr, checkNil bool, e *Encoder) {
  11086. ee := e.e
  11087. cr := e.cr
  11088. if checkNil && v == nil {
  11089. ee.EncodeNil()
  11090. return
  11091. }
  11092. ee.EncodeMapStart(len(v))
  11093. if e.h.Canonical {
  11094. v2 := make([]int64, len(v))
  11095. var i int
  11096. for k, _ := range v {
  11097. v2[i] = int64(k)
  11098. i++
  11099. }
  11100. sort.Sort(intSlice(v2))
  11101. for _, k2 := range v2 {
  11102. if cr != nil {
  11103. cr.sendContainerState(containerMapKey)
  11104. }
  11105. ee.EncodeInt(int64(int(k2)))
  11106. if cr != nil {
  11107. cr.sendContainerState(containerMapValue)
  11108. }
  11109. e.encode(v[int(k2)])
  11110. }
  11111. } else {
  11112. for k2, v2 := range v {
  11113. if cr != nil {
  11114. cr.sendContainerState(containerMapKey)
  11115. }
  11116. ee.EncodeInt(int64(k2))
  11117. if cr != nil {
  11118. cr.sendContainerState(containerMapValue)
  11119. }
  11120. e.encode(v2)
  11121. }
  11122. }
  11123. if cr != nil {
  11124. cr.sendContainerState(containerMapEnd)
  11125. }
  11126. }
  11127. func (f *encFnInfo) fastpathEncMapIntIntR(rv reflect.Value) {
  11128. fastpathTV.EncMapIntIntV(rv2i(rv).(map[int]int), fastpathCheckNilFalse, f.e)
  11129. }
  11130. func (_ fastpathT) EncMapIntIntV(v map[int]int, checkNil bool, e *Encoder) {
  11131. ee := e.e
  11132. cr := e.cr
  11133. if checkNil && v == nil {
  11134. ee.EncodeNil()
  11135. return
  11136. }
  11137. ee.EncodeMapStart(len(v))
  11138. if e.h.Canonical {
  11139. v2 := make([]int64, len(v))
  11140. var i int
  11141. for k, _ := range v {
  11142. v2[i] = int64(k)
  11143. i++
  11144. }
  11145. sort.Sort(intSlice(v2))
  11146. for _, k2 := range v2 {
  11147. if cr != nil {
  11148. cr.sendContainerState(containerMapKey)
  11149. }
  11150. ee.EncodeInt(int64(int(k2)))
  11151. if cr != nil {
  11152. cr.sendContainerState(containerMapValue)
  11153. }
  11154. ee.EncodeInt(int64(v[int(k2)]))
  11155. }
  11156. } else {
  11157. for k2, v2 := range v {
  11158. if cr != nil {
  11159. cr.sendContainerState(containerMapKey)
  11160. }
  11161. ee.EncodeInt(int64(k2))
  11162. if cr != nil {
  11163. cr.sendContainerState(containerMapValue)
  11164. }
  11165. ee.EncodeInt(int64(v2))
  11166. }
  11167. }
  11168. if cr != nil {
  11169. cr.sendContainerState(containerMapEnd)
  11170. }
  11171. }
  11172. func (f *encFnInfo) fastpathEncMapIntInt8R(rv reflect.Value) {
  11173. fastpathTV.EncMapIntInt8V(rv2i(rv).(map[int]int8), fastpathCheckNilFalse, f.e)
  11174. }
  11175. func (_ fastpathT) EncMapIntInt8V(v map[int]int8, checkNil bool, e *Encoder) {
  11176. ee := e.e
  11177. cr := e.cr
  11178. if checkNil && v == nil {
  11179. ee.EncodeNil()
  11180. return
  11181. }
  11182. ee.EncodeMapStart(len(v))
  11183. if e.h.Canonical {
  11184. v2 := make([]int64, len(v))
  11185. var i int
  11186. for k, _ := range v {
  11187. v2[i] = int64(k)
  11188. i++
  11189. }
  11190. sort.Sort(intSlice(v2))
  11191. for _, k2 := range v2 {
  11192. if cr != nil {
  11193. cr.sendContainerState(containerMapKey)
  11194. }
  11195. ee.EncodeInt(int64(int(k2)))
  11196. if cr != nil {
  11197. cr.sendContainerState(containerMapValue)
  11198. }
  11199. ee.EncodeInt(int64(v[int(k2)]))
  11200. }
  11201. } else {
  11202. for k2, v2 := range v {
  11203. if cr != nil {
  11204. cr.sendContainerState(containerMapKey)
  11205. }
  11206. ee.EncodeInt(int64(k2))
  11207. if cr != nil {
  11208. cr.sendContainerState(containerMapValue)
  11209. }
  11210. ee.EncodeInt(int64(v2))
  11211. }
  11212. }
  11213. if cr != nil {
  11214. cr.sendContainerState(containerMapEnd)
  11215. }
  11216. }
  11217. func (f *encFnInfo) fastpathEncMapIntInt16R(rv reflect.Value) {
  11218. fastpathTV.EncMapIntInt16V(rv2i(rv).(map[int]int16), fastpathCheckNilFalse, f.e)
  11219. }
  11220. func (_ fastpathT) EncMapIntInt16V(v map[int]int16, checkNil bool, e *Encoder) {
  11221. ee := e.e
  11222. cr := e.cr
  11223. if checkNil && v == nil {
  11224. ee.EncodeNil()
  11225. return
  11226. }
  11227. ee.EncodeMapStart(len(v))
  11228. if e.h.Canonical {
  11229. v2 := make([]int64, len(v))
  11230. var i int
  11231. for k, _ := range v {
  11232. v2[i] = int64(k)
  11233. i++
  11234. }
  11235. sort.Sort(intSlice(v2))
  11236. for _, k2 := range v2 {
  11237. if cr != nil {
  11238. cr.sendContainerState(containerMapKey)
  11239. }
  11240. ee.EncodeInt(int64(int(k2)))
  11241. if cr != nil {
  11242. cr.sendContainerState(containerMapValue)
  11243. }
  11244. ee.EncodeInt(int64(v[int(k2)]))
  11245. }
  11246. } else {
  11247. for k2, v2 := range v {
  11248. if cr != nil {
  11249. cr.sendContainerState(containerMapKey)
  11250. }
  11251. ee.EncodeInt(int64(k2))
  11252. if cr != nil {
  11253. cr.sendContainerState(containerMapValue)
  11254. }
  11255. ee.EncodeInt(int64(v2))
  11256. }
  11257. }
  11258. if cr != nil {
  11259. cr.sendContainerState(containerMapEnd)
  11260. }
  11261. }
  11262. func (f *encFnInfo) fastpathEncMapIntInt32R(rv reflect.Value) {
  11263. fastpathTV.EncMapIntInt32V(rv2i(rv).(map[int]int32), fastpathCheckNilFalse, f.e)
  11264. }
  11265. func (_ fastpathT) EncMapIntInt32V(v map[int]int32, checkNil bool, e *Encoder) {
  11266. ee := e.e
  11267. cr := e.cr
  11268. if checkNil && v == nil {
  11269. ee.EncodeNil()
  11270. return
  11271. }
  11272. ee.EncodeMapStart(len(v))
  11273. if e.h.Canonical {
  11274. v2 := make([]int64, len(v))
  11275. var i int
  11276. for k, _ := range v {
  11277. v2[i] = int64(k)
  11278. i++
  11279. }
  11280. sort.Sort(intSlice(v2))
  11281. for _, k2 := range v2 {
  11282. if cr != nil {
  11283. cr.sendContainerState(containerMapKey)
  11284. }
  11285. ee.EncodeInt(int64(int(k2)))
  11286. if cr != nil {
  11287. cr.sendContainerState(containerMapValue)
  11288. }
  11289. ee.EncodeInt(int64(v[int(k2)]))
  11290. }
  11291. } else {
  11292. for k2, v2 := range v {
  11293. if cr != nil {
  11294. cr.sendContainerState(containerMapKey)
  11295. }
  11296. ee.EncodeInt(int64(k2))
  11297. if cr != nil {
  11298. cr.sendContainerState(containerMapValue)
  11299. }
  11300. ee.EncodeInt(int64(v2))
  11301. }
  11302. }
  11303. if cr != nil {
  11304. cr.sendContainerState(containerMapEnd)
  11305. }
  11306. }
  11307. func (f *encFnInfo) fastpathEncMapIntInt64R(rv reflect.Value) {
  11308. fastpathTV.EncMapIntInt64V(rv2i(rv).(map[int]int64), fastpathCheckNilFalse, f.e)
  11309. }
  11310. func (_ fastpathT) EncMapIntInt64V(v map[int]int64, checkNil bool, e *Encoder) {
  11311. ee := e.e
  11312. cr := e.cr
  11313. if checkNil && v == nil {
  11314. ee.EncodeNil()
  11315. return
  11316. }
  11317. ee.EncodeMapStart(len(v))
  11318. if e.h.Canonical {
  11319. v2 := make([]int64, len(v))
  11320. var i int
  11321. for k, _ := range v {
  11322. v2[i] = int64(k)
  11323. i++
  11324. }
  11325. sort.Sort(intSlice(v2))
  11326. for _, k2 := range v2 {
  11327. if cr != nil {
  11328. cr.sendContainerState(containerMapKey)
  11329. }
  11330. ee.EncodeInt(int64(int(k2)))
  11331. if cr != nil {
  11332. cr.sendContainerState(containerMapValue)
  11333. }
  11334. ee.EncodeInt(int64(v[int(k2)]))
  11335. }
  11336. } else {
  11337. for k2, v2 := range v {
  11338. if cr != nil {
  11339. cr.sendContainerState(containerMapKey)
  11340. }
  11341. ee.EncodeInt(int64(k2))
  11342. if cr != nil {
  11343. cr.sendContainerState(containerMapValue)
  11344. }
  11345. ee.EncodeInt(int64(v2))
  11346. }
  11347. }
  11348. if cr != nil {
  11349. cr.sendContainerState(containerMapEnd)
  11350. }
  11351. }
  11352. func (f *encFnInfo) fastpathEncMapIntFloat32R(rv reflect.Value) {
  11353. fastpathTV.EncMapIntFloat32V(rv2i(rv).(map[int]float32), fastpathCheckNilFalse, f.e)
  11354. }
  11355. func (_ fastpathT) EncMapIntFloat32V(v map[int]float32, checkNil bool, e *Encoder) {
  11356. ee := e.e
  11357. cr := e.cr
  11358. if checkNil && v == nil {
  11359. ee.EncodeNil()
  11360. return
  11361. }
  11362. ee.EncodeMapStart(len(v))
  11363. if e.h.Canonical {
  11364. v2 := make([]int64, len(v))
  11365. var i int
  11366. for k, _ := range v {
  11367. v2[i] = int64(k)
  11368. i++
  11369. }
  11370. sort.Sort(intSlice(v2))
  11371. for _, k2 := range v2 {
  11372. if cr != nil {
  11373. cr.sendContainerState(containerMapKey)
  11374. }
  11375. ee.EncodeInt(int64(int(k2)))
  11376. if cr != nil {
  11377. cr.sendContainerState(containerMapValue)
  11378. }
  11379. ee.EncodeFloat32(v[int(k2)])
  11380. }
  11381. } else {
  11382. for k2, v2 := range v {
  11383. if cr != nil {
  11384. cr.sendContainerState(containerMapKey)
  11385. }
  11386. ee.EncodeInt(int64(k2))
  11387. if cr != nil {
  11388. cr.sendContainerState(containerMapValue)
  11389. }
  11390. ee.EncodeFloat32(v2)
  11391. }
  11392. }
  11393. if cr != nil {
  11394. cr.sendContainerState(containerMapEnd)
  11395. }
  11396. }
  11397. func (f *encFnInfo) fastpathEncMapIntFloat64R(rv reflect.Value) {
  11398. fastpathTV.EncMapIntFloat64V(rv2i(rv).(map[int]float64), fastpathCheckNilFalse, f.e)
  11399. }
  11400. func (_ fastpathT) EncMapIntFloat64V(v map[int]float64, checkNil bool, e *Encoder) {
  11401. ee := e.e
  11402. cr := e.cr
  11403. if checkNil && v == nil {
  11404. ee.EncodeNil()
  11405. return
  11406. }
  11407. ee.EncodeMapStart(len(v))
  11408. if e.h.Canonical {
  11409. v2 := make([]int64, len(v))
  11410. var i int
  11411. for k, _ := range v {
  11412. v2[i] = int64(k)
  11413. i++
  11414. }
  11415. sort.Sort(intSlice(v2))
  11416. for _, k2 := range v2 {
  11417. if cr != nil {
  11418. cr.sendContainerState(containerMapKey)
  11419. }
  11420. ee.EncodeInt(int64(int(k2)))
  11421. if cr != nil {
  11422. cr.sendContainerState(containerMapValue)
  11423. }
  11424. ee.EncodeFloat64(v[int(k2)])
  11425. }
  11426. } else {
  11427. for k2, v2 := range v {
  11428. if cr != nil {
  11429. cr.sendContainerState(containerMapKey)
  11430. }
  11431. ee.EncodeInt(int64(k2))
  11432. if cr != nil {
  11433. cr.sendContainerState(containerMapValue)
  11434. }
  11435. ee.EncodeFloat64(v2)
  11436. }
  11437. }
  11438. if cr != nil {
  11439. cr.sendContainerState(containerMapEnd)
  11440. }
  11441. }
  11442. func (f *encFnInfo) fastpathEncMapIntBoolR(rv reflect.Value) {
  11443. fastpathTV.EncMapIntBoolV(rv2i(rv).(map[int]bool), fastpathCheckNilFalse, f.e)
  11444. }
  11445. func (_ fastpathT) EncMapIntBoolV(v map[int]bool, checkNil bool, e *Encoder) {
  11446. ee := e.e
  11447. cr := e.cr
  11448. if checkNil && v == nil {
  11449. ee.EncodeNil()
  11450. return
  11451. }
  11452. ee.EncodeMapStart(len(v))
  11453. if e.h.Canonical {
  11454. v2 := make([]int64, len(v))
  11455. var i int
  11456. for k, _ := range v {
  11457. v2[i] = int64(k)
  11458. i++
  11459. }
  11460. sort.Sort(intSlice(v2))
  11461. for _, k2 := range v2 {
  11462. if cr != nil {
  11463. cr.sendContainerState(containerMapKey)
  11464. }
  11465. ee.EncodeInt(int64(int(k2)))
  11466. if cr != nil {
  11467. cr.sendContainerState(containerMapValue)
  11468. }
  11469. ee.EncodeBool(v[int(k2)])
  11470. }
  11471. } else {
  11472. for k2, v2 := range v {
  11473. if cr != nil {
  11474. cr.sendContainerState(containerMapKey)
  11475. }
  11476. ee.EncodeInt(int64(k2))
  11477. if cr != nil {
  11478. cr.sendContainerState(containerMapValue)
  11479. }
  11480. ee.EncodeBool(v2)
  11481. }
  11482. }
  11483. if cr != nil {
  11484. cr.sendContainerState(containerMapEnd)
  11485. }
  11486. }
  11487. func (f *encFnInfo) fastpathEncMapInt8IntfR(rv reflect.Value) {
  11488. fastpathTV.EncMapInt8IntfV(rv2i(rv).(map[int8]interface{}), fastpathCheckNilFalse, f.e)
  11489. }
  11490. func (_ fastpathT) EncMapInt8IntfV(v map[int8]interface{}, checkNil bool, e *Encoder) {
  11491. ee := e.e
  11492. cr := e.cr
  11493. if checkNil && v == nil {
  11494. ee.EncodeNil()
  11495. return
  11496. }
  11497. ee.EncodeMapStart(len(v))
  11498. if e.h.Canonical {
  11499. v2 := make([]int64, len(v))
  11500. var i int
  11501. for k, _ := range v {
  11502. v2[i] = int64(k)
  11503. i++
  11504. }
  11505. sort.Sort(intSlice(v2))
  11506. for _, k2 := range v2 {
  11507. if cr != nil {
  11508. cr.sendContainerState(containerMapKey)
  11509. }
  11510. ee.EncodeInt(int64(int8(k2)))
  11511. if cr != nil {
  11512. cr.sendContainerState(containerMapValue)
  11513. }
  11514. e.encode(v[int8(k2)])
  11515. }
  11516. } else {
  11517. for k2, v2 := range v {
  11518. if cr != nil {
  11519. cr.sendContainerState(containerMapKey)
  11520. }
  11521. ee.EncodeInt(int64(k2))
  11522. if cr != nil {
  11523. cr.sendContainerState(containerMapValue)
  11524. }
  11525. e.encode(v2)
  11526. }
  11527. }
  11528. if cr != nil {
  11529. cr.sendContainerState(containerMapEnd)
  11530. }
  11531. }
  11532. func (f *encFnInfo) fastpathEncMapInt8StringR(rv reflect.Value) {
  11533. fastpathTV.EncMapInt8StringV(rv2i(rv).(map[int8]string), fastpathCheckNilFalse, f.e)
  11534. }
  11535. func (_ fastpathT) EncMapInt8StringV(v map[int8]string, checkNil bool, e *Encoder) {
  11536. ee := e.e
  11537. cr := e.cr
  11538. if checkNil && v == nil {
  11539. ee.EncodeNil()
  11540. return
  11541. }
  11542. ee.EncodeMapStart(len(v))
  11543. if e.h.Canonical {
  11544. v2 := make([]int64, len(v))
  11545. var i int
  11546. for k, _ := range v {
  11547. v2[i] = int64(k)
  11548. i++
  11549. }
  11550. sort.Sort(intSlice(v2))
  11551. for _, k2 := range v2 {
  11552. if cr != nil {
  11553. cr.sendContainerState(containerMapKey)
  11554. }
  11555. ee.EncodeInt(int64(int8(k2)))
  11556. if cr != nil {
  11557. cr.sendContainerState(containerMapValue)
  11558. }
  11559. ee.EncodeString(c_UTF8, v[int8(k2)])
  11560. }
  11561. } else {
  11562. for k2, v2 := range v {
  11563. if cr != nil {
  11564. cr.sendContainerState(containerMapKey)
  11565. }
  11566. ee.EncodeInt(int64(k2))
  11567. if cr != nil {
  11568. cr.sendContainerState(containerMapValue)
  11569. }
  11570. ee.EncodeString(c_UTF8, v2)
  11571. }
  11572. }
  11573. if cr != nil {
  11574. cr.sendContainerState(containerMapEnd)
  11575. }
  11576. }
  11577. func (f *encFnInfo) fastpathEncMapInt8UintR(rv reflect.Value) {
  11578. fastpathTV.EncMapInt8UintV(rv2i(rv).(map[int8]uint), fastpathCheckNilFalse, f.e)
  11579. }
  11580. func (_ fastpathT) EncMapInt8UintV(v map[int8]uint, checkNil bool, e *Encoder) {
  11581. ee := e.e
  11582. cr := e.cr
  11583. if checkNil && v == nil {
  11584. ee.EncodeNil()
  11585. return
  11586. }
  11587. ee.EncodeMapStart(len(v))
  11588. if e.h.Canonical {
  11589. v2 := make([]int64, len(v))
  11590. var i int
  11591. for k, _ := range v {
  11592. v2[i] = int64(k)
  11593. i++
  11594. }
  11595. sort.Sort(intSlice(v2))
  11596. for _, k2 := range v2 {
  11597. if cr != nil {
  11598. cr.sendContainerState(containerMapKey)
  11599. }
  11600. ee.EncodeInt(int64(int8(k2)))
  11601. if cr != nil {
  11602. cr.sendContainerState(containerMapValue)
  11603. }
  11604. ee.EncodeUint(uint64(v[int8(k2)]))
  11605. }
  11606. } else {
  11607. for k2, v2 := range v {
  11608. if cr != nil {
  11609. cr.sendContainerState(containerMapKey)
  11610. }
  11611. ee.EncodeInt(int64(k2))
  11612. if cr != nil {
  11613. cr.sendContainerState(containerMapValue)
  11614. }
  11615. ee.EncodeUint(uint64(v2))
  11616. }
  11617. }
  11618. if cr != nil {
  11619. cr.sendContainerState(containerMapEnd)
  11620. }
  11621. }
  11622. func (f *encFnInfo) fastpathEncMapInt8Uint8R(rv reflect.Value) {
  11623. fastpathTV.EncMapInt8Uint8V(rv2i(rv).(map[int8]uint8), fastpathCheckNilFalse, f.e)
  11624. }
  11625. func (_ fastpathT) EncMapInt8Uint8V(v map[int8]uint8, checkNil bool, e *Encoder) {
  11626. ee := e.e
  11627. cr := e.cr
  11628. if checkNil && v == nil {
  11629. ee.EncodeNil()
  11630. return
  11631. }
  11632. ee.EncodeMapStart(len(v))
  11633. if e.h.Canonical {
  11634. v2 := make([]int64, len(v))
  11635. var i int
  11636. for k, _ := range v {
  11637. v2[i] = int64(k)
  11638. i++
  11639. }
  11640. sort.Sort(intSlice(v2))
  11641. for _, k2 := range v2 {
  11642. if cr != nil {
  11643. cr.sendContainerState(containerMapKey)
  11644. }
  11645. ee.EncodeInt(int64(int8(k2)))
  11646. if cr != nil {
  11647. cr.sendContainerState(containerMapValue)
  11648. }
  11649. ee.EncodeUint(uint64(v[int8(k2)]))
  11650. }
  11651. } else {
  11652. for k2, v2 := range v {
  11653. if cr != nil {
  11654. cr.sendContainerState(containerMapKey)
  11655. }
  11656. ee.EncodeInt(int64(k2))
  11657. if cr != nil {
  11658. cr.sendContainerState(containerMapValue)
  11659. }
  11660. ee.EncodeUint(uint64(v2))
  11661. }
  11662. }
  11663. if cr != nil {
  11664. cr.sendContainerState(containerMapEnd)
  11665. }
  11666. }
  11667. func (f *encFnInfo) fastpathEncMapInt8Uint16R(rv reflect.Value) {
  11668. fastpathTV.EncMapInt8Uint16V(rv2i(rv).(map[int8]uint16), fastpathCheckNilFalse, f.e)
  11669. }
  11670. func (_ fastpathT) EncMapInt8Uint16V(v map[int8]uint16, checkNil bool, e *Encoder) {
  11671. ee := e.e
  11672. cr := e.cr
  11673. if checkNil && v == nil {
  11674. ee.EncodeNil()
  11675. return
  11676. }
  11677. ee.EncodeMapStart(len(v))
  11678. if e.h.Canonical {
  11679. v2 := make([]int64, len(v))
  11680. var i int
  11681. for k, _ := range v {
  11682. v2[i] = int64(k)
  11683. i++
  11684. }
  11685. sort.Sort(intSlice(v2))
  11686. for _, k2 := range v2 {
  11687. if cr != nil {
  11688. cr.sendContainerState(containerMapKey)
  11689. }
  11690. ee.EncodeInt(int64(int8(k2)))
  11691. if cr != nil {
  11692. cr.sendContainerState(containerMapValue)
  11693. }
  11694. ee.EncodeUint(uint64(v[int8(k2)]))
  11695. }
  11696. } else {
  11697. for k2, v2 := range v {
  11698. if cr != nil {
  11699. cr.sendContainerState(containerMapKey)
  11700. }
  11701. ee.EncodeInt(int64(k2))
  11702. if cr != nil {
  11703. cr.sendContainerState(containerMapValue)
  11704. }
  11705. ee.EncodeUint(uint64(v2))
  11706. }
  11707. }
  11708. if cr != nil {
  11709. cr.sendContainerState(containerMapEnd)
  11710. }
  11711. }
  11712. func (f *encFnInfo) fastpathEncMapInt8Uint32R(rv reflect.Value) {
  11713. fastpathTV.EncMapInt8Uint32V(rv2i(rv).(map[int8]uint32), fastpathCheckNilFalse, f.e)
  11714. }
  11715. func (_ fastpathT) EncMapInt8Uint32V(v map[int8]uint32, checkNil bool, e *Encoder) {
  11716. ee := e.e
  11717. cr := e.cr
  11718. if checkNil && v == nil {
  11719. ee.EncodeNil()
  11720. return
  11721. }
  11722. ee.EncodeMapStart(len(v))
  11723. if e.h.Canonical {
  11724. v2 := make([]int64, len(v))
  11725. var i int
  11726. for k, _ := range v {
  11727. v2[i] = int64(k)
  11728. i++
  11729. }
  11730. sort.Sort(intSlice(v2))
  11731. for _, k2 := range v2 {
  11732. if cr != nil {
  11733. cr.sendContainerState(containerMapKey)
  11734. }
  11735. ee.EncodeInt(int64(int8(k2)))
  11736. if cr != nil {
  11737. cr.sendContainerState(containerMapValue)
  11738. }
  11739. ee.EncodeUint(uint64(v[int8(k2)]))
  11740. }
  11741. } else {
  11742. for k2, v2 := range v {
  11743. if cr != nil {
  11744. cr.sendContainerState(containerMapKey)
  11745. }
  11746. ee.EncodeInt(int64(k2))
  11747. if cr != nil {
  11748. cr.sendContainerState(containerMapValue)
  11749. }
  11750. ee.EncodeUint(uint64(v2))
  11751. }
  11752. }
  11753. if cr != nil {
  11754. cr.sendContainerState(containerMapEnd)
  11755. }
  11756. }
  11757. func (f *encFnInfo) fastpathEncMapInt8Uint64R(rv reflect.Value) {
  11758. fastpathTV.EncMapInt8Uint64V(rv2i(rv).(map[int8]uint64), fastpathCheckNilFalse, f.e)
  11759. }
  11760. func (_ fastpathT) EncMapInt8Uint64V(v map[int8]uint64, checkNil bool, e *Encoder) {
  11761. ee := e.e
  11762. cr := e.cr
  11763. if checkNil && v == nil {
  11764. ee.EncodeNil()
  11765. return
  11766. }
  11767. ee.EncodeMapStart(len(v))
  11768. if e.h.Canonical {
  11769. v2 := make([]int64, len(v))
  11770. var i int
  11771. for k, _ := range v {
  11772. v2[i] = int64(k)
  11773. i++
  11774. }
  11775. sort.Sort(intSlice(v2))
  11776. for _, k2 := range v2 {
  11777. if cr != nil {
  11778. cr.sendContainerState(containerMapKey)
  11779. }
  11780. ee.EncodeInt(int64(int8(k2)))
  11781. if cr != nil {
  11782. cr.sendContainerState(containerMapValue)
  11783. }
  11784. ee.EncodeUint(uint64(v[int8(k2)]))
  11785. }
  11786. } else {
  11787. for k2, v2 := range v {
  11788. if cr != nil {
  11789. cr.sendContainerState(containerMapKey)
  11790. }
  11791. ee.EncodeInt(int64(k2))
  11792. if cr != nil {
  11793. cr.sendContainerState(containerMapValue)
  11794. }
  11795. ee.EncodeUint(uint64(v2))
  11796. }
  11797. }
  11798. if cr != nil {
  11799. cr.sendContainerState(containerMapEnd)
  11800. }
  11801. }
  11802. func (f *encFnInfo) fastpathEncMapInt8UintptrR(rv reflect.Value) {
  11803. fastpathTV.EncMapInt8UintptrV(rv2i(rv).(map[int8]uintptr), fastpathCheckNilFalse, f.e)
  11804. }
  11805. func (_ fastpathT) EncMapInt8UintptrV(v map[int8]uintptr, checkNil bool, e *Encoder) {
  11806. ee := e.e
  11807. cr := e.cr
  11808. if checkNil && v == nil {
  11809. ee.EncodeNil()
  11810. return
  11811. }
  11812. ee.EncodeMapStart(len(v))
  11813. if e.h.Canonical {
  11814. v2 := make([]int64, len(v))
  11815. var i int
  11816. for k, _ := range v {
  11817. v2[i] = int64(k)
  11818. i++
  11819. }
  11820. sort.Sort(intSlice(v2))
  11821. for _, k2 := range v2 {
  11822. if cr != nil {
  11823. cr.sendContainerState(containerMapKey)
  11824. }
  11825. ee.EncodeInt(int64(int8(k2)))
  11826. if cr != nil {
  11827. cr.sendContainerState(containerMapValue)
  11828. }
  11829. e.encode(v[int8(k2)])
  11830. }
  11831. } else {
  11832. for k2, v2 := range v {
  11833. if cr != nil {
  11834. cr.sendContainerState(containerMapKey)
  11835. }
  11836. ee.EncodeInt(int64(k2))
  11837. if cr != nil {
  11838. cr.sendContainerState(containerMapValue)
  11839. }
  11840. e.encode(v2)
  11841. }
  11842. }
  11843. if cr != nil {
  11844. cr.sendContainerState(containerMapEnd)
  11845. }
  11846. }
  11847. func (f *encFnInfo) fastpathEncMapInt8IntR(rv reflect.Value) {
  11848. fastpathTV.EncMapInt8IntV(rv2i(rv).(map[int8]int), fastpathCheckNilFalse, f.e)
  11849. }
  11850. func (_ fastpathT) EncMapInt8IntV(v map[int8]int, checkNil bool, e *Encoder) {
  11851. ee := e.e
  11852. cr := e.cr
  11853. if checkNil && v == nil {
  11854. ee.EncodeNil()
  11855. return
  11856. }
  11857. ee.EncodeMapStart(len(v))
  11858. if e.h.Canonical {
  11859. v2 := make([]int64, len(v))
  11860. var i int
  11861. for k, _ := range v {
  11862. v2[i] = int64(k)
  11863. i++
  11864. }
  11865. sort.Sort(intSlice(v2))
  11866. for _, k2 := range v2 {
  11867. if cr != nil {
  11868. cr.sendContainerState(containerMapKey)
  11869. }
  11870. ee.EncodeInt(int64(int8(k2)))
  11871. if cr != nil {
  11872. cr.sendContainerState(containerMapValue)
  11873. }
  11874. ee.EncodeInt(int64(v[int8(k2)]))
  11875. }
  11876. } else {
  11877. for k2, v2 := range v {
  11878. if cr != nil {
  11879. cr.sendContainerState(containerMapKey)
  11880. }
  11881. ee.EncodeInt(int64(k2))
  11882. if cr != nil {
  11883. cr.sendContainerState(containerMapValue)
  11884. }
  11885. ee.EncodeInt(int64(v2))
  11886. }
  11887. }
  11888. if cr != nil {
  11889. cr.sendContainerState(containerMapEnd)
  11890. }
  11891. }
  11892. func (f *encFnInfo) fastpathEncMapInt8Int8R(rv reflect.Value) {
  11893. fastpathTV.EncMapInt8Int8V(rv2i(rv).(map[int8]int8), fastpathCheckNilFalse, f.e)
  11894. }
  11895. func (_ fastpathT) EncMapInt8Int8V(v map[int8]int8, checkNil bool, e *Encoder) {
  11896. ee := e.e
  11897. cr := e.cr
  11898. if checkNil && v == nil {
  11899. ee.EncodeNil()
  11900. return
  11901. }
  11902. ee.EncodeMapStart(len(v))
  11903. if e.h.Canonical {
  11904. v2 := make([]int64, len(v))
  11905. var i int
  11906. for k, _ := range v {
  11907. v2[i] = int64(k)
  11908. i++
  11909. }
  11910. sort.Sort(intSlice(v2))
  11911. for _, k2 := range v2 {
  11912. if cr != nil {
  11913. cr.sendContainerState(containerMapKey)
  11914. }
  11915. ee.EncodeInt(int64(int8(k2)))
  11916. if cr != nil {
  11917. cr.sendContainerState(containerMapValue)
  11918. }
  11919. ee.EncodeInt(int64(v[int8(k2)]))
  11920. }
  11921. } else {
  11922. for k2, v2 := range v {
  11923. if cr != nil {
  11924. cr.sendContainerState(containerMapKey)
  11925. }
  11926. ee.EncodeInt(int64(k2))
  11927. if cr != nil {
  11928. cr.sendContainerState(containerMapValue)
  11929. }
  11930. ee.EncodeInt(int64(v2))
  11931. }
  11932. }
  11933. if cr != nil {
  11934. cr.sendContainerState(containerMapEnd)
  11935. }
  11936. }
  11937. func (f *encFnInfo) fastpathEncMapInt8Int16R(rv reflect.Value) {
  11938. fastpathTV.EncMapInt8Int16V(rv2i(rv).(map[int8]int16), fastpathCheckNilFalse, f.e)
  11939. }
  11940. func (_ fastpathT) EncMapInt8Int16V(v map[int8]int16, checkNil bool, e *Encoder) {
  11941. ee := e.e
  11942. cr := e.cr
  11943. if checkNil && v == nil {
  11944. ee.EncodeNil()
  11945. return
  11946. }
  11947. ee.EncodeMapStart(len(v))
  11948. if e.h.Canonical {
  11949. v2 := make([]int64, len(v))
  11950. var i int
  11951. for k, _ := range v {
  11952. v2[i] = int64(k)
  11953. i++
  11954. }
  11955. sort.Sort(intSlice(v2))
  11956. for _, k2 := range v2 {
  11957. if cr != nil {
  11958. cr.sendContainerState(containerMapKey)
  11959. }
  11960. ee.EncodeInt(int64(int8(k2)))
  11961. if cr != nil {
  11962. cr.sendContainerState(containerMapValue)
  11963. }
  11964. ee.EncodeInt(int64(v[int8(k2)]))
  11965. }
  11966. } else {
  11967. for k2, v2 := range v {
  11968. if cr != nil {
  11969. cr.sendContainerState(containerMapKey)
  11970. }
  11971. ee.EncodeInt(int64(k2))
  11972. if cr != nil {
  11973. cr.sendContainerState(containerMapValue)
  11974. }
  11975. ee.EncodeInt(int64(v2))
  11976. }
  11977. }
  11978. if cr != nil {
  11979. cr.sendContainerState(containerMapEnd)
  11980. }
  11981. }
  11982. func (f *encFnInfo) fastpathEncMapInt8Int32R(rv reflect.Value) {
  11983. fastpathTV.EncMapInt8Int32V(rv2i(rv).(map[int8]int32), fastpathCheckNilFalse, f.e)
  11984. }
  11985. func (_ fastpathT) EncMapInt8Int32V(v map[int8]int32, checkNil bool, e *Encoder) {
  11986. ee := e.e
  11987. cr := e.cr
  11988. if checkNil && v == nil {
  11989. ee.EncodeNil()
  11990. return
  11991. }
  11992. ee.EncodeMapStart(len(v))
  11993. if e.h.Canonical {
  11994. v2 := make([]int64, len(v))
  11995. var i int
  11996. for k, _ := range v {
  11997. v2[i] = int64(k)
  11998. i++
  11999. }
  12000. sort.Sort(intSlice(v2))
  12001. for _, k2 := range v2 {
  12002. if cr != nil {
  12003. cr.sendContainerState(containerMapKey)
  12004. }
  12005. ee.EncodeInt(int64(int8(k2)))
  12006. if cr != nil {
  12007. cr.sendContainerState(containerMapValue)
  12008. }
  12009. ee.EncodeInt(int64(v[int8(k2)]))
  12010. }
  12011. } else {
  12012. for k2, v2 := range v {
  12013. if cr != nil {
  12014. cr.sendContainerState(containerMapKey)
  12015. }
  12016. ee.EncodeInt(int64(k2))
  12017. if cr != nil {
  12018. cr.sendContainerState(containerMapValue)
  12019. }
  12020. ee.EncodeInt(int64(v2))
  12021. }
  12022. }
  12023. if cr != nil {
  12024. cr.sendContainerState(containerMapEnd)
  12025. }
  12026. }
  12027. func (f *encFnInfo) fastpathEncMapInt8Int64R(rv reflect.Value) {
  12028. fastpathTV.EncMapInt8Int64V(rv2i(rv).(map[int8]int64), fastpathCheckNilFalse, f.e)
  12029. }
  12030. func (_ fastpathT) EncMapInt8Int64V(v map[int8]int64, checkNil bool, e *Encoder) {
  12031. ee := e.e
  12032. cr := e.cr
  12033. if checkNil && v == nil {
  12034. ee.EncodeNil()
  12035. return
  12036. }
  12037. ee.EncodeMapStart(len(v))
  12038. if e.h.Canonical {
  12039. v2 := make([]int64, len(v))
  12040. var i int
  12041. for k, _ := range v {
  12042. v2[i] = int64(k)
  12043. i++
  12044. }
  12045. sort.Sort(intSlice(v2))
  12046. for _, k2 := range v2 {
  12047. if cr != nil {
  12048. cr.sendContainerState(containerMapKey)
  12049. }
  12050. ee.EncodeInt(int64(int8(k2)))
  12051. if cr != nil {
  12052. cr.sendContainerState(containerMapValue)
  12053. }
  12054. ee.EncodeInt(int64(v[int8(k2)]))
  12055. }
  12056. } else {
  12057. for k2, v2 := range v {
  12058. if cr != nil {
  12059. cr.sendContainerState(containerMapKey)
  12060. }
  12061. ee.EncodeInt(int64(k2))
  12062. if cr != nil {
  12063. cr.sendContainerState(containerMapValue)
  12064. }
  12065. ee.EncodeInt(int64(v2))
  12066. }
  12067. }
  12068. if cr != nil {
  12069. cr.sendContainerState(containerMapEnd)
  12070. }
  12071. }
  12072. func (f *encFnInfo) fastpathEncMapInt8Float32R(rv reflect.Value) {
  12073. fastpathTV.EncMapInt8Float32V(rv2i(rv).(map[int8]float32), fastpathCheckNilFalse, f.e)
  12074. }
  12075. func (_ fastpathT) EncMapInt8Float32V(v map[int8]float32, checkNil bool, e *Encoder) {
  12076. ee := e.e
  12077. cr := e.cr
  12078. if checkNil && v == nil {
  12079. ee.EncodeNil()
  12080. return
  12081. }
  12082. ee.EncodeMapStart(len(v))
  12083. if e.h.Canonical {
  12084. v2 := make([]int64, len(v))
  12085. var i int
  12086. for k, _ := range v {
  12087. v2[i] = int64(k)
  12088. i++
  12089. }
  12090. sort.Sort(intSlice(v2))
  12091. for _, k2 := range v2 {
  12092. if cr != nil {
  12093. cr.sendContainerState(containerMapKey)
  12094. }
  12095. ee.EncodeInt(int64(int8(k2)))
  12096. if cr != nil {
  12097. cr.sendContainerState(containerMapValue)
  12098. }
  12099. ee.EncodeFloat32(v[int8(k2)])
  12100. }
  12101. } else {
  12102. for k2, v2 := range v {
  12103. if cr != nil {
  12104. cr.sendContainerState(containerMapKey)
  12105. }
  12106. ee.EncodeInt(int64(k2))
  12107. if cr != nil {
  12108. cr.sendContainerState(containerMapValue)
  12109. }
  12110. ee.EncodeFloat32(v2)
  12111. }
  12112. }
  12113. if cr != nil {
  12114. cr.sendContainerState(containerMapEnd)
  12115. }
  12116. }
  12117. func (f *encFnInfo) fastpathEncMapInt8Float64R(rv reflect.Value) {
  12118. fastpathTV.EncMapInt8Float64V(rv2i(rv).(map[int8]float64), fastpathCheckNilFalse, f.e)
  12119. }
  12120. func (_ fastpathT) EncMapInt8Float64V(v map[int8]float64, checkNil bool, e *Encoder) {
  12121. ee := e.e
  12122. cr := e.cr
  12123. if checkNil && v == nil {
  12124. ee.EncodeNil()
  12125. return
  12126. }
  12127. ee.EncodeMapStart(len(v))
  12128. if e.h.Canonical {
  12129. v2 := make([]int64, len(v))
  12130. var i int
  12131. for k, _ := range v {
  12132. v2[i] = int64(k)
  12133. i++
  12134. }
  12135. sort.Sort(intSlice(v2))
  12136. for _, k2 := range v2 {
  12137. if cr != nil {
  12138. cr.sendContainerState(containerMapKey)
  12139. }
  12140. ee.EncodeInt(int64(int8(k2)))
  12141. if cr != nil {
  12142. cr.sendContainerState(containerMapValue)
  12143. }
  12144. ee.EncodeFloat64(v[int8(k2)])
  12145. }
  12146. } else {
  12147. for k2, v2 := range v {
  12148. if cr != nil {
  12149. cr.sendContainerState(containerMapKey)
  12150. }
  12151. ee.EncodeInt(int64(k2))
  12152. if cr != nil {
  12153. cr.sendContainerState(containerMapValue)
  12154. }
  12155. ee.EncodeFloat64(v2)
  12156. }
  12157. }
  12158. if cr != nil {
  12159. cr.sendContainerState(containerMapEnd)
  12160. }
  12161. }
  12162. func (f *encFnInfo) fastpathEncMapInt8BoolR(rv reflect.Value) {
  12163. fastpathTV.EncMapInt8BoolV(rv2i(rv).(map[int8]bool), fastpathCheckNilFalse, f.e)
  12164. }
  12165. func (_ fastpathT) EncMapInt8BoolV(v map[int8]bool, checkNil bool, e *Encoder) {
  12166. ee := e.e
  12167. cr := e.cr
  12168. if checkNil && v == nil {
  12169. ee.EncodeNil()
  12170. return
  12171. }
  12172. ee.EncodeMapStart(len(v))
  12173. if e.h.Canonical {
  12174. v2 := make([]int64, len(v))
  12175. var i int
  12176. for k, _ := range v {
  12177. v2[i] = int64(k)
  12178. i++
  12179. }
  12180. sort.Sort(intSlice(v2))
  12181. for _, k2 := range v2 {
  12182. if cr != nil {
  12183. cr.sendContainerState(containerMapKey)
  12184. }
  12185. ee.EncodeInt(int64(int8(k2)))
  12186. if cr != nil {
  12187. cr.sendContainerState(containerMapValue)
  12188. }
  12189. ee.EncodeBool(v[int8(k2)])
  12190. }
  12191. } else {
  12192. for k2, v2 := range v {
  12193. if cr != nil {
  12194. cr.sendContainerState(containerMapKey)
  12195. }
  12196. ee.EncodeInt(int64(k2))
  12197. if cr != nil {
  12198. cr.sendContainerState(containerMapValue)
  12199. }
  12200. ee.EncodeBool(v2)
  12201. }
  12202. }
  12203. if cr != nil {
  12204. cr.sendContainerState(containerMapEnd)
  12205. }
  12206. }
  12207. func (f *encFnInfo) fastpathEncMapInt16IntfR(rv reflect.Value) {
  12208. fastpathTV.EncMapInt16IntfV(rv2i(rv).(map[int16]interface{}), fastpathCheckNilFalse, f.e)
  12209. }
  12210. func (_ fastpathT) EncMapInt16IntfV(v map[int16]interface{}, checkNil bool, e *Encoder) {
  12211. ee := e.e
  12212. cr := e.cr
  12213. if checkNil && v == nil {
  12214. ee.EncodeNil()
  12215. return
  12216. }
  12217. ee.EncodeMapStart(len(v))
  12218. if e.h.Canonical {
  12219. v2 := make([]int64, len(v))
  12220. var i int
  12221. for k, _ := range v {
  12222. v2[i] = int64(k)
  12223. i++
  12224. }
  12225. sort.Sort(intSlice(v2))
  12226. for _, k2 := range v2 {
  12227. if cr != nil {
  12228. cr.sendContainerState(containerMapKey)
  12229. }
  12230. ee.EncodeInt(int64(int16(k2)))
  12231. if cr != nil {
  12232. cr.sendContainerState(containerMapValue)
  12233. }
  12234. e.encode(v[int16(k2)])
  12235. }
  12236. } else {
  12237. for k2, v2 := range v {
  12238. if cr != nil {
  12239. cr.sendContainerState(containerMapKey)
  12240. }
  12241. ee.EncodeInt(int64(k2))
  12242. if cr != nil {
  12243. cr.sendContainerState(containerMapValue)
  12244. }
  12245. e.encode(v2)
  12246. }
  12247. }
  12248. if cr != nil {
  12249. cr.sendContainerState(containerMapEnd)
  12250. }
  12251. }
  12252. func (f *encFnInfo) fastpathEncMapInt16StringR(rv reflect.Value) {
  12253. fastpathTV.EncMapInt16StringV(rv2i(rv).(map[int16]string), fastpathCheckNilFalse, f.e)
  12254. }
  12255. func (_ fastpathT) EncMapInt16StringV(v map[int16]string, checkNil bool, e *Encoder) {
  12256. ee := e.e
  12257. cr := e.cr
  12258. if checkNil && v == nil {
  12259. ee.EncodeNil()
  12260. return
  12261. }
  12262. ee.EncodeMapStart(len(v))
  12263. if e.h.Canonical {
  12264. v2 := make([]int64, len(v))
  12265. var i int
  12266. for k, _ := range v {
  12267. v2[i] = int64(k)
  12268. i++
  12269. }
  12270. sort.Sort(intSlice(v2))
  12271. for _, k2 := range v2 {
  12272. if cr != nil {
  12273. cr.sendContainerState(containerMapKey)
  12274. }
  12275. ee.EncodeInt(int64(int16(k2)))
  12276. if cr != nil {
  12277. cr.sendContainerState(containerMapValue)
  12278. }
  12279. ee.EncodeString(c_UTF8, v[int16(k2)])
  12280. }
  12281. } else {
  12282. for k2, v2 := range v {
  12283. if cr != nil {
  12284. cr.sendContainerState(containerMapKey)
  12285. }
  12286. ee.EncodeInt(int64(k2))
  12287. if cr != nil {
  12288. cr.sendContainerState(containerMapValue)
  12289. }
  12290. ee.EncodeString(c_UTF8, v2)
  12291. }
  12292. }
  12293. if cr != nil {
  12294. cr.sendContainerState(containerMapEnd)
  12295. }
  12296. }
  12297. func (f *encFnInfo) fastpathEncMapInt16UintR(rv reflect.Value) {
  12298. fastpathTV.EncMapInt16UintV(rv2i(rv).(map[int16]uint), fastpathCheckNilFalse, f.e)
  12299. }
  12300. func (_ fastpathT) EncMapInt16UintV(v map[int16]uint, checkNil bool, e *Encoder) {
  12301. ee := e.e
  12302. cr := e.cr
  12303. if checkNil && v == nil {
  12304. ee.EncodeNil()
  12305. return
  12306. }
  12307. ee.EncodeMapStart(len(v))
  12308. if e.h.Canonical {
  12309. v2 := make([]int64, len(v))
  12310. var i int
  12311. for k, _ := range v {
  12312. v2[i] = int64(k)
  12313. i++
  12314. }
  12315. sort.Sort(intSlice(v2))
  12316. for _, k2 := range v2 {
  12317. if cr != nil {
  12318. cr.sendContainerState(containerMapKey)
  12319. }
  12320. ee.EncodeInt(int64(int16(k2)))
  12321. if cr != nil {
  12322. cr.sendContainerState(containerMapValue)
  12323. }
  12324. ee.EncodeUint(uint64(v[int16(k2)]))
  12325. }
  12326. } else {
  12327. for k2, v2 := range v {
  12328. if cr != nil {
  12329. cr.sendContainerState(containerMapKey)
  12330. }
  12331. ee.EncodeInt(int64(k2))
  12332. if cr != nil {
  12333. cr.sendContainerState(containerMapValue)
  12334. }
  12335. ee.EncodeUint(uint64(v2))
  12336. }
  12337. }
  12338. if cr != nil {
  12339. cr.sendContainerState(containerMapEnd)
  12340. }
  12341. }
  12342. func (f *encFnInfo) fastpathEncMapInt16Uint8R(rv reflect.Value) {
  12343. fastpathTV.EncMapInt16Uint8V(rv2i(rv).(map[int16]uint8), fastpathCheckNilFalse, f.e)
  12344. }
  12345. func (_ fastpathT) EncMapInt16Uint8V(v map[int16]uint8, checkNil bool, e *Encoder) {
  12346. ee := e.e
  12347. cr := e.cr
  12348. if checkNil && v == nil {
  12349. ee.EncodeNil()
  12350. return
  12351. }
  12352. ee.EncodeMapStart(len(v))
  12353. if e.h.Canonical {
  12354. v2 := make([]int64, len(v))
  12355. var i int
  12356. for k, _ := range v {
  12357. v2[i] = int64(k)
  12358. i++
  12359. }
  12360. sort.Sort(intSlice(v2))
  12361. for _, k2 := range v2 {
  12362. if cr != nil {
  12363. cr.sendContainerState(containerMapKey)
  12364. }
  12365. ee.EncodeInt(int64(int16(k2)))
  12366. if cr != nil {
  12367. cr.sendContainerState(containerMapValue)
  12368. }
  12369. ee.EncodeUint(uint64(v[int16(k2)]))
  12370. }
  12371. } else {
  12372. for k2, v2 := range v {
  12373. if cr != nil {
  12374. cr.sendContainerState(containerMapKey)
  12375. }
  12376. ee.EncodeInt(int64(k2))
  12377. if cr != nil {
  12378. cr.sendContainerState(containerMapValue)
  12379. }
  12380. ee.EncodeUint(uint64(v2))
  12381. }
  12382. }
  12383. if cr != nil {
  12384. cr.sendContainerState(containerMapEnd)
  12385. }
  12386. }
  12387. func (f *encFnInfo) fastpathEncMapInt16Uint16R(rv reflect.Value) {
  12388. fastpathTV.EncMapInt16Uint16V(rv2i(rv).(map[int16]uint16), fastpathCheckNilFalse, f.e)
  12389. }
  12390. func (_ fastpathT) EncMapInt16Uint16V(v map[int16]uint16, checkNil bool, e *Encoder) {
  12391. ee := e.e
  12392. cr := e.cr
  12393. if checkNil && v == nil {
  12394. ee.EncodeNil()
  12395. return
  12396. }
  12397. ee.EncodeMapStart(len(v))
  12398. if e.h.Canonical {
  12399. v2 := make([]int64, len(v))
  12400. var i int
  12401. for k, _ := range v {
  12402. v2[i] = int64(k)
  12403. i++
  12404. }
  12405. sort.Sort(intSlice(v2))
  12406. for _, k2 := range v2 {
  12407. if cr != nil {
  12408. cr.sendContainerState(containerMapKey)
  12409. }
  12410. ee.EncodeInt(int64(int16(k2)))
  12411. if cr != nil {
  12412. cr.sendContainerState(containerMapValue)
  12413. }
  12414. ee.EncodeUint(uint64(v[int16(k2)]))
  12415. }
  12416. } else {
  12417. for k2, v2 := range v {
  12418. if cr != nil {
  12419. cr.sendContainerState(containerMapKey)
  12420. }
  12421. ee.EncodeInt(int64(k2))
  12422. if cr != nil {
  12423. cr.sendContainerState(containerMapValue)
  12424. }
  12425. ee.EncodeUint(uint64(v2))
  12426. }
  12427. }
  12428. if cr != nil {
  12429. cr.sendContainerState(containerMapEnd)
  12430. }
  12431. }
  12432. func (f *encFnInfo) fastpathEncMapInt16Uint32R(rv reflect.Value) {
  12433. fastpathTV.EncMapInt16Uint32V(rv2i(rv).(map[int16]uint32), fastpathCheckNilFalse, f.e)
  12434. }
  12435. func (_ fastpathT) EncMapInt16Uint32V(v map[int16]uint32, checkNil bool, e *Encoder) {
  12436. ee := e.e
  12437. cr := e.cr
  12438. if checkNil && v == nil {
  12439. ee.EncodeNil()
  12440. return
  12441. }
  12442. ee.EncodeMapStart(len(v))
  12443. if e.h.Canonical {
  12444. v2 := make([]int64, len(v))
  12445. var i int
  12446. for k, _ := range v {
  12447. v2[i] = int64(k)
  12448. i++
  12449. }
  12450. sort.Sort(intSlice(v2))
  12451. for _, k2 := range v2 {
  12452. if cr != nil {
  12453. cr.sendContainerState(containerMapKey)
  12454. }
  12455. ee.EncodeInt(int64(int16(k2)))
  12456. if cr != nil {
  12457. cr.sendContainerState(containerMapValue)
  12458. }
  12459. ee.EncodeUint(uint64(v[int16(k2)]))
  12460. }
  12461. } else {
  12462. for k2, v2 := range v {
  12463. if cr != nil {
  12464. cr.sendContainerState(containerMapKey)
  12465. }
  12466. ee.EncodeInt(int64(k2))
  12467. if cr != nil {
  12468. cr.sendContainerState(containerMapValue)
  12469. }
  12470. ee.EncodeUint(uint64(v2))
  12471. }
  12472. }
  12473. if cr != nil {
  12474. cr.sendContainerState(containerMapEnd)
  12475. }
  12476. }
  12477. func (f *encFnInfo) fastpathEncMapInt16Uint64R(rv reflect.Value) {
  12478. fastpathTV.EncMapInt16Uint64V(rv2i(rv).(map[int16]uint64), fastpathCheckNilFalse, f.e)
  12479. }
  12480. func (_ fastpathT) EncMapInt16Uint64V(v map[int16]uint64, checkNil bool, e *Encoder) {
  12481. ee := e.e
  12482. cr := e.cr
  12483. if checkNil && v == nil {
  12484. ee.EncodeNil()
  12485. return
  12486. }
  12487. ee.EncodeMapStart(len(v))
  12488. if e.h.Canonical {
  12489. v2 := make([]int64, len(v))
  12490. var i int
  12491. for k, _ := range v {
  12492. v2[i] = int64(k)
  12493. i++
  12494. }
  12495. sort.Sort(intSlice(v2))
  12496. for _, k2 := range v2 {
  12497. if cr != nil {
  12498. cr.sendContainerState(containerMapKey)
  12499. }
  12500. ee.EncodeInt(int64(int16(k2)))
  12501. if cr != nil {
  12502. cr.sendContainerState(containerMapValue)
  12503. }
  12504. ee.EncodeUint(uint64(v[int16(k2)]))
  12505. }
  12506. } else {
  12507. for k2, v2 := range v {
  12508. if cr != nil {
  12509. cr.sendContainerState(containerMapKey)
  12510. }
  12511. ee.EncodeInt(int64(k2))
  12512. if cr != nil {
  12513. cr.sendContainerState(containerMapValue)
  12514. }
  12515. ee.EncodeUint(uint64(v2))
  12516. }
  12517. }
  12518. if cr != nil {
  12519. cr.sendContainerState(containerMapEnd)
  12520. }
  12521. }
  12522. func (f *encFnInfo) fastpathEncMapInt16UintptrR(rv reflect.Value) {
  12523. fastpathTV.EncMapInt16UintptrV(rv2i(rv).(map[int16]uintptr), fastpathCheckNilFalse, f.e)
  12524. }
  12525. func (_ fastpathT) EncMapInt16UintptrV(v map[int16]uintptr, checkNil bool, e *Encoder) {
  12526. ee := e.e
  12527. cr := e.cr
  12528. if checkNil && v == nil {
  12529. ee.EncodeNil()
  12530. return
  12531. }
  12532. ee.EncodeMapStart(len(v))
  12533. if e.h.Canonical {
  12534. v2 := make([]int64, len(v))
  12535. var i int
  12536. for k, _ := range v {
  12537. v2[i] = int64(k)
  12538. i++
  12539. }
  12540. sort.Sort(intSlice(v2))
  12541. for _, k2 := range v2 {
  12542. if cr != nil {
  12543. cr.sendContainerState(containerMapKey)
  12544. }
  12545. ee.EncodeInt(int64(int16(k2)))
  12546. if cr != nil {
  12547. cr.sendContainerState(containerMapValue)
  12548. }
  12549. e.encode(v[int16(k2)])
  12550. }
  12551. } else {
  12552. for k2, v2 := range v {
  12553. if cr != nil {
  12554. cr.sendContainerState(containerMapKey)
  12555. }
  12556. ee.EncodeInt(int64(k2))
  12557. if cr != nil {
  12558. cr.sendContainerState(containerMapValue)
  12559. }
  12560. e.encode(v2)
  12561. }
  12562. }
  12563. if cr != nil {
  12564. cr.sendContainerState(containerMapEnd)
  12565. }
  12566. }
  12567. func (f *encFnInfo) fastpathEncMapInt16IntR(rv reflect.Value) {
  12568. fastpathTV.EncMapInt16IntV(rv2i(rv).(map[int16]int), fastpathCheckNilFalse, f.e)
  12569. }
  12570. func (_ fastpathT) EncMapInt16IntV(v map[int16]int, checkNil bool, e *Encoder) {
  12571. ee := e.e
  12572. cr := e.cr
  12573. if checkNil && v == nil {
  12574. ee.EncodeNil()
  12575. return
  12576. }
  12577. ee.EncodeMapStart(len(v))
  12578. if e.h.Canonical {
  12579. v2 := make([]int64, len(v))
  12580. var i int
  12581. for k, _ := range v {
  12582. v2[i] = int64(k)
  12583. i++
  12584. }
  12585. sort.Sort(intSlice(v2))
  12586. for _, k2 := range v2 {
  12587. if cr != nil {
  12588. cr.sendContainerState(containerMapKey)
  12589. }
  12590. ee.EncodeInt(int64(int16(k2)))
  12591. if cr != nil {
  12592. cr.sendContainerState(containerMapValue)
  12593. }
  12594. ee.EncodeInt(int64(v[int16(k2)]))
  12595. }
  12596. } else {
  12597. for k2, v2 := range v {
  12598. if cr != nil {
  12599. cr.sendContainerState(containerMapKey)
  12600. }
  12601. ee.EncodeInt(int64(k2))
  12602. if cr != nil {
  12603. cr.sendContainerState(containerMapValue)
  12604. }
  12605. ee.EncodeInt(int64(v2))
  12606. }
  12607. }
  12608. if cr != nil {
  12609. cr.sendContainerState(containerMapEnd)
  12610. }
  12611. }
  12612. func (f *encFnInfo) fastpathEncMapInt16Int8R(rv reflect.Value) {
  12613. fastpathTV.EncMapInt16Int8V(rv2i(rv).(map[int16]int8), fastpathCheckNilFalse, f.e)
  12614. }
  12615. func (_ fastpathT) EncMapInt16Int8V(v map[int16]int8, checkNil bool, e *Encoder) {
  12616. ee := e.e
  12617. cr := e.cr
  12618. if checkNil && v == nil {
  12619. ee.EncodeNil()
  12620. return
  12621. }
  12622. ee.EncodeMapStart(len(v))
  12623. if e.h.Canonical {
  12624. v2 := make([]int64, len(v))
  12625. var i int
  12626. for k, _ := range v {
  12627. v2[i] = int64(k)
  12628. i++
  12629. }
  12630. sort.Sort(intSlice(v2))
  12631. for _, k2 := range v2 {
  12632. if cr != nil {
  12633. cr.sendContainerState(containerMapKey)
  12634. }
  12635. ee.EncodeInt(int64(int16(k2)))
  12636. if cr != nil {
  12637. cr.sendContainerState(containerMapValue)
  12638. }
  12639. ee.EncodeInt(int64(v[int16(k2)]))
  12640. }
  12641. } else {
  12642. for k2, v2 := range v {
  12643. if cr != nil {
  12644. cr.sendContainerState(containerMapKey)
  12645. }
  12646. ee.EncodeInt(int64(k2))
  12647. if cr != nil {
  12648. cr.sendContainerState(containerMapValue)
  12649. }
  12650. ee.EncodeInt(int64(v2))
  12651. }
  12652. }
  12653. if cr != nil {
  12654. cr.sendContainerState(containerMapEnd)
  12655. }
  12656. }
  12657. func (f *encFnInfo) fastpathEncMapInt16Int16R(rv reflect.Value) {
  12658. fastpathTV.EncMapInt16Int16V(rv2i(rv).(map[int16]int16), fastpathCheckNilFalse, f.e)
  12659. }
  12660. func (_ fastpathT) EncMapInt16Int16V(v map[int16]int16, checkNil bool, e *Encoder) {
  12661. ee := e.e
  12662. cr := e.cr
  12663. if checkNil && v == nil {
  12664. ee.EncodeNil()
  12665. return
  12666. }
  12667. ee.EncodeMapStart(len(v))
  12668. if e.h.Canonical {
  12669. v2 := make([]int64, len(v))
  12670. var i int
  12671. for k, _ := range v {
  12672. v2[i] = int64(k)
  12673. i++
  12674. }
  12675. sort.Sort(intSlice(v2))
  12676. for _, k2 := range v2 {
  12677. if cr != nil {
  12678. cr.sendContainerState(containerMapKey)
  12679. }
  12680. ee.EncodeInt(int64(int16(k2)))
  12681. if cr != nil {
  12682. cr.sendContainerState(containerMapValue)
  12683. }
  12684. ee.EncodeInt(int64(v[int16(k2)]))
  12685. }
  12686. } else {
  12687. for k2, v2 := range v {
  12688. if cr != nil {
  12689. cr.sendContainerState(containerMapKey)
  12690. }
  12691. ee.EncodeInt(int64(k2))
  12692. if cr != nil {
  12693. cr.sendContainerState(containerMapValue)
  12694. }
  12695. ee.EncodeInt(int64(v2))
  12696. }
  12697. }
  12698. if cr != nil {
  12699. cr.sendContainerState(containerMapEnd)
  12700. }
  12701. }
  12702. func (f *encFnInfo) fastpathEncMapInt16Int32R(rv reflect.Value) {
  12703. fastpathTV.EncMapInt16Int32V(rv2i(rv).(map[int16]int32), fastpathCheckNilFalse, f.e)
  12704. }
  12705. func (_ fastpathT) EncMapInt16Int32V(v map[int16]int32, checkNil bool, e *Encoder) {
  12706. ee := e.e
  12707. cr := e.cr
  12708. if checkNil && v == nil {
  12709. ee.EncodeNil()
  12710. return
  12711. }
  12712. ee.EncodeMapStart(len(v))
  12713. if e.h.Canonical {
  12714. v2 := make([]int64, len(v))
  12715. var i int
  12716. for k, _ := range v {
  12717. v2[i] = int64(k)
  12718. i++
  12719. }
  12720. sort.Sort(intSlice(v2))
  12721. for _, k2 := range v2 {
  12722. if cr != nil {
  12723. cr.sendContainerState(containerMapKey)
  12724. }
  12725. ee.EncodeInt(int64(int16(k2)))
  12726. if cr != nil {
  12727. cr.sendContainerState(containerMapValue)
  12728. }
  12729. ee.EncodeInt(int64(v[int16(k2)]))
  12730. }
  12731. } else {
  12732. for k2, v2 := range v {
  12733. if cr != nil {
  12734. cr.sendContainerState(containerMapKey)
  12735. }
  12736. ee.EncodeInt(int64(k2))
  12737. if cr != nil {
  12738. cr.sendContainerState(containerMapValue)
  12739. }
  12740. ee.EncodeInt(int64(v2))
  12741. }
  12742. }
  12743. if cr != nil {
  12744. cr.sendContainerState(containerMapEnd)
  12745. }
  12746. }
  12747. func (f *encFnInfo) fastpathEncMapInt16Int64R(rv reflect.Value) {
  12748. fastpathTV.EncMapInt16Int64V(rv2i(rv).(map[int16]int64), fastpathCheckNilFalse, f.e)
  12749. }
  12750. func (_ fastpathT) EncMapInt16Int64V(v map[int16]int64, checkNil bool, e *Encoder) {
  12751. ee := e.e
  12752. cr := e.cr
  12753. if checkNil && v == nil {
  12754. ee.EncodeNil()
  12755. return
  12756. }
  12757. ee.EncodeMapStart(len(v))
  12758. if e.h.Canonical {
  12759. v2 := make([]int64, len(v))
  12760. var i int
  12761. for k, _ := range v {
  12762. v2[i] = int64(k)
  12763. i++
  12764. }
  12765. sort.Sort(intSlice(v2))
  12766. for _, k2 := range v2 {
  12767. if cr != nil {
  12768. cr.sendContainerState(containerMapKey)
  12769. }
  12770. ee.EncodeInt(int64(int16(k2)))
  12771. if cr != nil {
  12772. cr.sendContainerState(containerMapValue)
  12773. }
  12774. ee.EncodeInt(int64(v[int16(k2)]))
  12775. }
  12776. } else {
  12777. for k2, v2 := range v {
  12778. if cr != nil {
  12779. cr.sendContainerState(containerMapKey)
  12780. }
  12781. ee.EncodeInt(int64(k2))
  12782. if cr != nil {
  12783. cr.sendContainerState(containerMapValue)
  12784. }
  12785. ee.EncodeInt(int64(v2))
  12786. }
  12787. }
  12788. if cr != nil {
  12789. cr.sendContainerState(containerMapEnd)
  12790. }
  12791. }
  12792. func (f *encFnInfo) fastpathEncMapInt16Float32R(rv reflect.Value) {
  12793. fastpathTV.EncMapInt16Float32V(rv2i(rv).(map[int16]float32), fastpathCheckNilFalse, f.e)
  12794. }
  12795. func (_ fastpathT) EncMapInt16Float32V(v map[int16]float32, checkNil bool, e *Encoder) {
  12796. ee := e.e
  12797. cr := e.cr
  12798. if checkNil && v == nil {
  12799. ee.EncodeNil()
  12800. return
  12801. }
  12802. ee.EncodeMapStart(len(v))
  12803. if e.h.Canonical {
  12804. v2 := make([]int64, len(v))
  12805. var i int
  12806. for k, _ := range v {
  12807. v2[i] = int64(k)
  12808. i++
  12809. }
  12810. sort.Sort(intSlice(v2))
  12811. for _, k2 := range v2 {
  12812. if cr != nil {
  12813. cr.sendContainerState(containerMapKey)
  12814. }
  12815. ee.EncodeInt(int64(int16(k2)))
  12816. if cr != nil {
  12817. cr.sendContainerState(containerMapValue)
  12818. }
  12819. ee.EncodeFloat32(v[int16(k2)])
  12820. }
  12821. } else {
  12822. for k2, v2 := range v {
  12823. if cr != nil {
  12824. cr.sendContainerState(containerMapKey)
  12825. }
  12826. ee.EncodeInt(int64(k2))
  12827. if cr != nil {
  12828. cr.sendContainerState(containerMapValue)
  12829. }
  12830. ee.EncodeFloat32(v2)
  12831. }
  12832. }
  12833. if cr != nil {
  12834. cr.sendContainerState(containerMapEnd)
  12835. }
  12836. }
  12837. func (f *encFnInfo) fastpathEncMapInt16Float64R(rv reflect.Value) {
  12838. fastpathTV.EncMapInt16Float64V(rv2i(rv).(map[int16]float64), fastpathCheckNilFalse, f.e)
  12839. }
  12840. func (_ fastpathT) EncMapInt16Float64V(v map[int16]float64, checkNil bool, e *Encoder) {
  12841. ee := e.e
  12842. cr := e.cr
  12843. if checkNil && v == nil {
  12844. ee.EncodeNil()
  12845. return
  12846. }
  12847. ee.EncodeMapStart(len(v))
  12848. if e.h.Canonical {
  12849. v2 := make([]int64, len(v))
  12850. var i int
  12851. for k, _ := range v {
  12852. v2[i] = int64(k)
  12853. i++
  12854. }
  12855. sort.Sort(intSlice(v2))
  12856. for _, k2 := range v2 {
  12857. if cr != nil {
  12858. cr.sendContainerState(containerMapKey)
  12859. }
  12860. ee.EncodeInt(int64(int16(k2)))
  12861. if cr != nil {
  12862. cr.sendContainerState(containerMapValue)
  12863. }
  12864. ee.EncodeFloat64(v[int16(k2)])
  12865. }
  12866. } else {
  12867. for k2, v2 := range v {
  12868. if cr != nil {
  12869. cr.sendContainerState(containerMapKey)
  12870. }
  12871. ee.EncodeInt(int64(k2))
  12872. if cr != nil {
  12873. cr.sendContainerState(containerMapValue)
  12874. }
  12875. ee.EncodeFloat64(v2)
  12876. }
  12877. }
  12878. if cr != nil {
  12879. cr.sendContainerState(containerMapEnd)
  12880. }
  12881. }
  12882. func (f *encFnInfo) fastpathEncMapInt16BoolR(rv reflect.Value) {
  12883. fastpathTV.EncMapInt16BoolV(rv2i(rv).(map[int16]bool), fastpathCheckNilFalse, f.e)
  12884. }
  12885. func (_ fastpathT) EncMapInt16BoolV(v map[int16]bool, checkNil bool, e *Encoder) {
  12886. ee := e.e
  12887. cr := e.cr
  12888. if checkNil && v == nil {
  12889. ee.EncodeNil()
  12890. return
  12891. }
  12892. ee.EncodeMapStart(len(v))
  12893. if e.h.Canonical {
  12894. v2 := make([]int64, len(v))
  12895. var i int
  12896. for k, _ := range v {
  12897. v2[i] = int64(k)
  12898. i++
  12899. }
  12900. sort.Sort(intSlice(v2))
  12901. for _, k2 := range v2 {
  12902. if cr != nil {
  12903. cr.sendContainerState(containerMapKey)
  12904. }
  12905. ee.EncodeInt(int64(int16(k2)))
  12906. if cr != nil {
  12907. cr.sendContainerState(containerMapValue)
  12908. }
  12909. ee.EncodeBool(v[int16(k2)])
  12910. }
  12911. } else {
  12912. for k2, v2 := range v {
  12913. if cr != nil {
  12914. cr.sendContainerState(containerMapKey)
  12915. }
  12916. ee.EncodeInt(int64(k2))
  12917. if cr != nil {
  12918. cr.sendContainerState(containerMapValue)
  12919. }
  12920. ee.EncodeBool(v2)
  12921. }
  12922. }
  12923. if cr != nil {
  12924. cr.sendContainerState(containerMapEnd)
  12925. }
  12926. }
  12927. func (f *encFnInfo) fastpathEncMapInt32IntfR(rv reflect.Value) {
  12928. fastpathTV.EncMapInt32IntfV(rv2i(rv).(map[int32]interface{}), fastpathCheckNilFalse, f.e)
  12929. }
  12930. func (_ fastpathT) EncMapInt32IntfV(v map[int32]interface{}, checkNil bool, e *Encoder) {
  12931. ee := e.e
  12932. cr := e.cr
  12933. if checkNil && v == nil {
  12934. ee.EncodeNil()
  12935. return
  12936. }
  12937. ee.EncodeMapStart(len(v))
  12938. if e.h.Canonical {
  12939. v2 := make([]int64, len(v))
  12940. var i int
  12941. for k, _ := range v {
  12942. v2[i] = int64(k)
  12943. i++
  12944. }
  12945. sort.Sort(intSlice(v2))
  12946. for _, k2 := range v2 {
  12947. if cr != nil {
  12948. cr.sendContainerState(containerMapKey)
  12949. }
  12950. ee.EncodeInt(int64(int32(k2)))
  12951. if cr != nil {
  12952. cr.sendContainerState(containerMapValue)
  12953. }
  12954. e.encode(v[int32(k2)])
  12955. }
  12956. } else {
  12957. for k2, v2 := range v {
  12958. if cr != nil {
  12959. cr.sendContainerState(containerMapKey)
  12960. }
  12961. ee.EncodeInt(int64(k2))
  12962. if cr != nil {
  12963. cr.sendContainerState(containerMapValue)
  12964. }
  12965. e.encode(v2)
  12966. }
  12967. }
  12968. if cr != nil {
  12969. cr.sendContainerState(containerMapEnd)
  12970. }
  12971. }
  12972. func (f *encFnInfo) fastpathEncMapInt32StringR(rv reflect.Value) {
  12973. fastpathTV.EncMapInt32StringV(rv2i(rv).(map[int32]string), fastpathCheckNilFalse, f.e)
  12974. }
  12975. func (_ fastpathT) EncMapInt32StringV(v map[int32]string, checkNil bool, e *Encoder) {
  12976. ee := e.e
  12977. cr := e.cr
  12978. if checkNil && v == nil {
  12979. ee.EncodeNil()
  12980. return
  12981. }
  12982. ee.EncodeMapStart(len(v))
  12983. if e.h.Canonical {
  12984. v2 := make([]int64, len(v))
  12985. var i int
  12986. for k, _ := range v {
  12987. v2[i] = int64(k)
  12988. i++
  12989. }
  12990. sort.Sort(intSlice(v2))
  12991. for _, k2 := range v2 {
  12992. if cr != nil {
  12993. cr.sendContainerState(containerMapKey)
  12994. }
  12995. ee.EncodeInt(int64(int32(k2)))
  12996. if cr != nil {
  12997. cr.sendContainerState(containerMapValue)
  12998. }
  12999. ee.EncodeString(c_UTF8, v[int32(k2)])
  13000. }
  13001. } else {
  13002. for k2, v2 := range v {
  13003. if cr != nil {
  13004. cr.sendContainerState(containerMapKey)
  13005. }
  13006. ee.EncodeInt(int64(k2))
  13007. if cr != nil {
  13008. cr.sendContainerState(containerMapValue)
  13009. }
  13010. ee.EncodeString(c_UTF8, v2)
  13011. }
  13012. }
  13013. if cr != nil {
  13014. cr.sendContainerState(containerMapEnd)
  13015. }
  13016. }
  13017. func (f *encFnInfo) fastpathEncMapInt32UintR(rv reflect.Value) {
  13018. fastpathTV.EncMapInt32UintV(rv2i(rv).(map[int32]uint), fastpathCheckNilFalse, f.e)
  13019. }
  13020. func (_ fastpathT) EncMapInt32UintV(v map[int32]uint, checkNil bool, e *Encoder) {
  13021. ee := e.e
  13022. cr := e.cr
  13023. if checkNil && v == nil {
  13024. ee.EncodeNil()
  13025. return
  13026. }
  13027. ee.EncodeMapStart(len(v))
  13028. if e.h.Canonical {
  13029. v2 := make([]int64, len(v))
  13030. var i int
  13031. for k, _ := range v {
  13032. v2[i] = int64(k)
  13033. i++
  13034. }
  13035. sort.Sort(intSlice(v2))
  13036. for _, k2 := range v2 {
  13037. if cr != nil {
  13038. cr.sendContainerState(containerMapKey)
  13039. }
  13040. ee.EncodeInt(int64(int32(k2)))
  13041. if cr != nil {
  13042. cr.sendContainerState(containerMapValue)
  13043. }
  13044. ee.EncodeUint(uint64(v[int32(k2)]))
  13045. }
  13046. } else {
  13047. for k2, v2 := range v {
  13048. if cr != nil {
  13049. cr.sendContainerState(containerMapKey)
  13050. }
  13051. ee.EncodeInt(int64(k2))
  13052. if cr != nil {
  13053. cr.sendContainerState(containerMapValue)
  13054. }
  13055. ee.EncodeUint(uint64(v2))
  13056. }
  13057. }
  13058. if cr != nil {
  13059. cr.sendContainerState(containerMapEnd)
  13060. }
  13061. }
  13062. func (f *encFnInfo) fastpathEncMapInt32Uint8R(rv reflect.Value) {
  13063. fastpathTV.EncMapInt32Uint8V(rv2i(rv).(map[int32]uint8), fastpathCheckNilFalse, f.e)
  13064. }
  13065. func (_ fastpathT) EncMapInt32Uint8V(v map[int32]uint8, checkNil bool, e *Encoder) {
  13066. ee := e.e
  13067. cr := e.cr
  13068. if checkNil && v == nil {
  13069. ee.EncodeNil()
  13070. return
  13071. }
  13072. ee.EncodeMapStart(len(v))
  13073. if e.h.Canonical {
  13074. v2 := make([]int64, len(v))
  13075. var i int
  13076. for k, _ := range v {
  13077. v2[i] = int64(k)
  13078. i++
  13079. }
  13080. sort.Sort(intSlice(v2))
  13081. for _, k2 := range v2 {
  13082. if cr != nil {
  13083. cr.sendContainerState(containerMapKey)
  13084. }
  13085. ee.EncodeInt(int64(int32(k2)))
  13086. if cr != nil {
  13087. cr.sendContainerState(containerMapValue)
  13088. }
  13089. ee.EncodeUint(uint64(v[int32(k2)]))
  13090. }
  13091. } else {
  13092. for k2, v2 := range v {
  13093. if cr != nil {
  13094. cr.sendContainerState(containerMapKey)
  13095. }
  13096. ee.EncodeInt(int64(k2))
  13097. if cr != nil {
  13098. cr.sendContainerState(containerMapValue)
  13099. }
  13100. ee.EncodeUint(uint64(v2))
  13101. }
  13102. }
  13103. if cr != nil {
  13104. cr.sendContainerState(containerMapEnd)
  13105. }
  13106. }
  13107. func (f *encFnInfo) fastpathEncMapInt32Uint16R(rv reflect.Value) {
  13108. fastpathTV.EncMapInt32Uint16V(rv2i(rv).(map[int32]uint16), fastpathCheckNilFalse, f.e)
  13109. }
  13110. func (_ fastpathT) EncMapInt32Uint16V(v map[int32]uint16, checkNil bool, e *Encoder) {
  13111. ee := e.e
  13112. cr := e.cr
  13113. if checkNil && v == nil {
  13114. ee.EncodeNil()
  13115. return
  13116. }
  13117. ee.EncodeMapStart(len(v))
  13118. if e.h.Canonical {
  13119. v2 := make([]int64, len(v))
  13120. var i int
  13121. for k, _ := range v {
  13122. v2[i] = int64(k)
  13123. i++
  13124. }
  13125. sort.Sort(intSlice(v2))
  13126. for _, k2 := range v2 {
  13127. if cr != nil {
  13128. cr.sendContainerState(containerMapKey)
  13129. }
  13130. ee.EncodeInt(int64(int32(k2)))
  13131. if cr != nil {
  13132. cr.sendContainerState(containerMapValue)
  13133. }
  13134. ee.EncodeUint(uint64(v[int32(k2)]))
  13135. }
  13136. } else {
  13137. for k2, v2 := range v {
  13138. if cr != nil {
  13139. cr.sendContainerState(containerMapKey)
  13140. }
  13141. ee.EncodeInt(int64(k2))
  13142. if cr != nil {
  13143. cr.sendContainerState(containerMapValue)
  13144. }
  13145. ee.EncodeUint(uint64(v2))
  13146. }
  13147. }
  13148. if cr != nil {
  13149. cr.sendContainerState(containerMapEnd)
  13150. }
  13151. }
  13152. func (f *encFnInfo) fastpathEncMapInt32Uint32R(rv reflect.Value) {
  13153. fastpathTV.EncMapInt32Uint32V(rv2i(rv).(map[int32]uint32), fastpathCheckNilFalse, f.e)
  13154. }
  13155. func (_ fastpathT) EncMapInt32Uint32V(v map[int32]uint32, checkNil bool, e *Encoder) {
  13156. ee := e.e
  13157. cr := e.cr
  13158. if checkNil && v == nil {
  13159. ee.EncodeNil()
  13160. return
  13161. }
  13162. ee.EncodeMapStart(len(v))
  13163. if e.h.Canonical {
  13164. v2 := make([]int64, len(v))
  13165. var i int
  13166. for k, _ := range v {
  13167. v2[i] = int64(k)
  13168. i++
  13169. }
  13170. sort.Sort(intSlice(v2))
  13171. for _, k2 := range v2 {
  13172. if cr != nil {
  13173. cr.sendContainerState(containerMapKey)
  13174. }
  13175. ee.EncodeInt(int64(int32(k2)))
  13176. if cr != nil {
  13177. cr.sendContainerState(containerMapValue)
  13178. }
  13179. ee.EncodeUint(uint64(v[int32(k2)]))
  13180. }
  13181. } else {
  13182. for k2, v2 := range v {
  13183. if cr != nil {
  13184. cr.sendContainerState(containerMapKey)
  13185. }
  13186. ee.EncodeInt(int64(k2))
  13187. if cr != nil {
  13188. cr.sendContainerState(containerMapValue)
  13189. }
  13190. ee.EncodeUint(uint64(v2))
  13191. }
  13192. }
  13193. if cr != nil {
  13194. cr.sendContainerState(containerMapEnd)
  13195. }
  13196. }
  13197. func (f *encFnInfo) fastpathEncMapInt32Uint64R(rv reflect.Value) {
  13198. fastpathTV.EncMapInt32Uint64V(rv2i(rv).(map[int32]uint64), fastpathCheckNilFalse, f.e)
  13199. }
  13200. func (_ fastpathT) EncMapInt32Uint64V(v map[int32]uint64, checkNil bool, e *Encoder) {
  13201. ee := e.e
  13202. cr := e.cr
  13203. if checkNil && v == nil {
  13204. ee.EncodeNil()
  13205. return
  13206. }
  13207. ee.EncodeMapStart(len(v))
  13208. if e.h.Canonical {
  13209. v2 := make([]int64, len(v))
  13210. var i int
  13211. for k, _ := range v {
  13212. v2[i] = int64(k)
  13213. i++
  13214. }
  13215. sort.Sort(intSlice(v2))
  13216. for _, k2 := range v2 {
  13217. if cr != nil {
  13218. cr.sendContainerState(containerMapKey)
  13219. }
  13220. ee.EncodeInt(int64(int32(k2)))
  13221. if cr != nil {
  13222. cr.sendContainerState(containerMapValue)
  13223. }
  13224. ee.EncodeUint(uint64(v[int32(k2)]))
  13225. }
  13226. } else {
  13227. for k2, v2 := range v {
  13228. if cr != nil {
  13229. cr.sendContainerState(containerMapKey)
  13230. }
  13231. ee.EncodeInt(int64(k2))
  13232. if cr != nil {
  13233. cr.sendContainerState(containerMapValue)
  13234. }
  13235. ee.EncodeUint(uint64(v2))
  13236. }
  13237. }
  13238. if cr != nil {
  13239. cr.sendContainerState(containerMapEnd)
  13240. }
  13241. }
  13242. func (f *encFnInfo) fastpathEncMapInt32UintptrR(rv reflect.Value) {
  13243. fastpathTV.EncMapInt32UintptrV(rv2i(rv).(map[int32]uintptr), fastpathCheckNilFalse, f.e)
  13244. }
  13245. func (_ fastpathT) EncMapInt32UintptrV(v map[int32]uintptr, checkNil bool, e *Encoder) {
  13246. ee := e.e
  13247. cr := e.cr
  13248. if checkNil && v == nil {
  13249. ee.EncodeNil()
  13250. return
  13251. }
  13252. ee.EncodeMapStart(len(v))
  13253. if e.h.Canonical {
  13254. v2 := make([]int64, len(v))
  13255. var i int
  13256. for k, _ := range v {
  13257. v2[i] = int64(k)
  13258. i++
  13259. }
  13260. sort.Sort(intSlice(v2))
  13261. for _, k2 := range v2 {
  13262. if cr != nil {
  13263. cr.sendContainerState(containerMapKey)
  13264. }
  13265. ee.EncodeInt(int64(int32(k2)))
  13266. if cr != nil {
  13267. cr.sendContainerState(containerMapValue)
  13268. }
  13269. e.encode(v[int32(k2)])
  13270. }
  13271. } else {
  13272. for k2, v2 := range v {
  13273. if cr != nil {
  13274. cr.sendContainerState(containerMapKey)
  13275. }
  13276. ee.EncodeInt(int64(k2))
  13277. if cr != nil {
  13278. cr.sendContainerState(containerMapValue)
  13279. }
  13280. e.encode(v2)
  13281. }
  13282. }
  13283. if cr != nil {
  13284. cr.sendContainerState(containerMapEnd)
  13285. }
  13286. }
  13287. func (f *encFnInfo) fastpathEncMapInt32IntR(rv reflect.Value) {
  13288. fastpathTV.EncMapInt32IntV(rv2i(rv).(map[int32]int), fastpathCheckNilFalse, f.e)
  13289. }
  13290. func (_ fastpathT) EncMapInt32IntV(v map[int32]int, checkNil bool, e *Encoder) {
  13291. ee := e.e
  13292. cr := e.cr
  13293. if checkNil && v == nil {
  13294. ee.EncodeNil()
  13295. return
  13296. }
  13297. ee.EncodeMapStart(len(v))
  13298. if e.h.Canonical {
  13299. v2 := make([]int64, len(v))
  13300. var i int
  13301. for k, _ := range v {
  13302. v2[i] = int64(k)
  13303. i++
  13304. }
  13305. sort.Sort(intSlice(v2))
  13306. for _, k2 := range v2 {
  13307. if cr != nil {
  13308. cr.sendContainerState(containerMapKey)
  13309. }
  13310. ee.EncodeInt(int64(int32(k2)))
  13311. if cr != nil {
  13312. cr.sendContainerState(containerMapValue)
  13313. }
  13314. ee.EncodeInt(int64(v[int32(k2)]))
  13315. }
  13316. } else {
  13317. for k2, v2 := range v {
  13318. if cr != nil {
  13319. cr.sendContainerState(containerMapKey)
  13320. }
  13321. ee.EncodeInt(int64(k2))
  13322. if cr != nil {
  13323. cr.sendContainerState(containerMapValue)
  13324. }
  13325. ee.EncodeInt(int64(v2))
  13326. }
  13327. }
  13328. if cr != nil {
  13329. cr.sendContainerState(containerMapEnd)
  13330. }
  13331. }
  13332. func (f *encFnInfo) fastpathEncMapInt32Int8R(rv reflect.Value) {
  13333. fastpathTV.EncMapInt32Int8V(rv2i(rv).(map[int32]int8), fastpathCheckNilFalse, f.e)
  13334. }
  13335. func (_ fastpathT) EncMapInt32Int8V(v map[int32]int8, checkNil bool, e *Encoder) {
  13336. ee := e.e
  13337. cr := e.cr
  13338. if checkNil && v == nil {
  13339. ee.EncodeNil()
  13340. return
  13341. }
  13342. ee.EncodeMapStart(len(v))
  13343. if e.h.Canonical {
  13344. v2 := make([]int64, len(v))
  13345. var i int
  13346. for k, _ := range v {
  13347. v2[i] = int64(k)
  13348. i++
  13349. }
  13350. sort.Sort(intSlice(v2))
  13351. for _, k2 := range v2 {
  13352. if cr != nil {
  13353. cr.sendContainerState(containerMapKey)
  13354. }
  13355. ee.EncodeInt(int64(int32(k2)))
  13356. if cr != nil {
  13357. cr.sendContainerState(containerMapValue)
  13358. }
  13359. ee.EncodeInt(int64(v[int32(k2)]))
  13360. }
  13361. } else {
  13362. for k2, v2 := range v {
  13363. if cr != nil {
  13364. cr.sendContainerState(containerMapKey)
  13365. }
  13366. ee.EncodeInt(int64(k2))
  13367. if cr != nil {
  13368. cr.sendContainerState(containerMapValue)
  13369. }
  13370. ee.EncodeInt(int64(v2))
  13371. }
  13372. }
  13373. if cr != nil {
  13374. cr.sendContainerState(containerMapEnd)
  13375. }
  13376. }
  13377. func (f *encFnInfo) fastpathEncMapInt32Int16R(rv reflect.Value) {
  13378. fastpathTV.EncMapInt32Int16V(rv2i(rv).(map[int32]int16), fastpathCheckNilFalse, f.e)
  13379. }
  13380. func (_ fastpathT) EncMapInt32Int16V(v map[int32]int16, checkNil bool, e *Encoder) {
  13381. ee := e.e
  13382. cr := e.cr
  13383. if checkNil && v == nil {
  13384. ee.EncodeNil()
  13385. return
  13386. }
  13387. ee.EncodeMapStart(len(v))
  13388. if e.h.Canonical {
  13389. v2 := make([]int64, len(v))
  13390. var i int
  13391. for k, _ := range v {
  13392. v2[i] = int64(k)
  13393. i++
  13394. }
  13395. sort.Sort(intSlice(v2))
  13396. for _, k2 := range v2 {
  13397. if cr != nil {
  13398. cr.sendContainerState(containerMapKey)
  13399. }
  13400. ee.EncodeInt(int64(int32(k2)))
  13401. if cr != nil {
  13402. cr.sendContainerState(containerMapValue)
  13403. }
  13404. ee.EncodeInt(int64(v[int32(k2)]))
  13405. }
  13406. } else {
  13407. for k2, v2 := range v {
  13408. if cr != nil {
  13409. cr.sendContainerState(containerMapKey)
  13410. }
  13411. ee.EncodeInt(int64(k2))
  13412. if cr != nil {
  13413. cr.sendContainerState(containerMapValue)
  13414. }
  13415. ee.EncodeInt(int64(v2))
  13416. }
  13417. }
  13418. if cr != nil {
  13419. cr.sendContainerState(containerMapEnd)
  13420. }
  13421. }
  13422. func (f *encFnInfo) fastpathEncMapInt32Int32R(rv reflect.Value) {
  13423. fastpathTV.EncMapInt32Int32V(rv2i(rv).(map[int32]int32), fastpathCheckNilFalse, f.e)
  13424. }
  13425. func (_ fastpathT) EncMapInt32Int32V(v map[int32]int32, checkNil bool, e *Encoder) {
  13426. ee := e.e
  13427. cr := e.cr
  13428. if checkNil && v == nil {
  13429. ee.EncodeNil()
  13430. return
  13431. }
  13432. ee.EncodeMapStart(len(v))
  13433. if e.h.Canonical {
  13434. v2 := make([]int64, len(v))
  13435. var i int
  13436. for k, _ := range v {
  13437. v2[i] = int64(k)
  13438. i++
  13439. }
  13440. sort.Sort(intSlice(v2))
  13441. for _, k2 := range v2 {
  13442. if cr != nil {
  13443. cr.sendContainerState(containerMapKey)
  13444. }
  13445. ee.EncodeInt(int64(int32(k2)))
  13446. if cr != nil {
  13447. cr.sendContainerState(containerMapValue)
  13448. }
  13449. ee.EncodeInt(int64(v[int32(k2)]))
  13450. }
  13451. } else {
  13452. for k2, v2 := range v {
  13453. if cr != nil {
  13454. cr.sendContainerState(containerMapKey)
  13455. }
  13456. ee.EncodeInt(int64(k2))
  13457. if cr != nil {
  13458. cr.sendContainerState(containerMapValue)
  13459. }
  13460. ee.EncodeInt(int64(v2))
  13461. }
  13462. }
  13463. if cr != nil {
  13464. cr.sendContainerState(containerMapEnd)
  13465. }
  13466. }
  13467. func (f *encFnInfo) fastpathEncMapInt32Int64R(rv reflect.Value) {
  13468. fastpathTV.EncMapInt32Int64V(rv2i(rv).(map[int32]int64), fastpathCheckNilFalse, f.e)
  13469. }
  13470. func (_ fastpathT) EncMapInt32Int64V(v map[int32]int64, checkNil bool, e *Encoder) {
  13471. ee := e.e
  13472. cr := e.cr
  13473. if checkNil && v == nil {
  13474. ee.EncodeNil()
  13475. return
  13476. }
  13477. ee.EncodeMapStart(len(v))
  13478. if e.h.Canonical {
  13479. v2 := make([]int64, len(v))
  13480. var i int
  13481. for k, _ := range v {
  13482. v2[i] = int64(k)
  13483. i++
  13484. }
  13485. sort.Sort(intSlice(v2))
  13486. for _, k2 := range v2 {
  13487. if cr != nil {
  13488. cr.sendContainerState(containerMapKey)
  13489. }
  13490. ee.EncodeInt(int64(int32(k2)))
  13491. if cr != nil {
  13492. cr.sendContainerState(containerMapValue)
  13493. }
  13494. ee.EncodeInt(int64(v[int32(k2)]))
  13495. }
  13496. } else {
  13497. for k2, v2 := range v {
  13498. if cr != nil {
  13499. cr.sendContainerState(containerMapKey)
  13500. }
  13501. ee.EncodeInt(int64(k2))
  13502. if cr != nil {
  13503. cr.sendContainerState(containerMapValue)
  13504. }
  13505. ee.EncodeInt(int64(v2))
  13506. }
  13507. }
  13508. if cr != nil {
  13509. cr.sendContainerState(containerMapEnd)
  13510. }
  13511. }
  13512. func (f *encFnInfo) fastpathEncMapInt32Float32R(rv reflect.Value) {
  13513. fastpathTV.EncMapInt32Float32V(rv2i(rv).(map[int32]float32), fastpathCheckNilFalse, f.e)
  13514. }
  13515. func (_ fastpathT) EncMapInt32Float32V(v map[int32]float32, checkNil bool, e *Encoder) {
  13516. ee := e.e
  13517. cr := e.cr
  13518. if checkNil && v == nil {
  13519. ee.EncodeNil()
  13520. return
  13521. }
  13522. ee.EncodeMapStart(len(v))
  13523. if e.h.Canonical {
  13524. v2 := make([]int64, len(v))
  13525. var i int
  13526. for k, _ := range v {
  13527. v2[i] = int64(k)
  13528. i++
  13529. }
  13530. sort.Sort(intSlice(v2))
  13531. for _, k2 := range v2 {
  13532. if cr != nil {
  13533. cr.sendContainerState(containerMapKey)
  13534. }
  13535. ee.EncodeInt(int64(int32(k2)))
  13536. if cr != nil {
  13537. cr.sendContainerState(containerMapValue)
  13538. }
  13539. ee.EncodeFloat32(v[int32(k2)])
  13540. }
  13541. } else {
  13542. for k2, v2 := range v {
  13543. if cr != nil {
  13544. cr.sendContainerState(containerMapKey)
  13545. }
  13546. ee.EncodeInt(int64(k2))
  13547. if cr != nil {
  13548. cr.sendContainerState(containerMapValue)
  13549. }
  13550. ee.EncodeFloat32(v2)
  13551. }
  13552. }
  13553. if cr != nil {
  13554. cr.sendContainerState(containerMapEnd)
  13555. }
  13556. }
  13557. func (f *encFnInfo) fastpathEncMapInt32Float64R(rv reflect.Value) {
  13558. fastpathTV.EncMapInt32Float64V(rv2i(rv).(map[int32]float64), fastpathCheckNilFalse, f.e)
  13559. }
  13560. func (_ fastpathT) EncMapInt32Float64V(v map[int32]float64, checkNil bool, e *Encoder) {
  13561. ee := e.e
  13562. cr := e.cr
  13563. if checkNil && v == nil {
  13564. ee.EncodeNil()
  13565. return
  13566. }
  13567. ee.EncodeMapStart(len(v))
  13568. if e.h.Canonical {
  13569. v2 := make([]int64, len(v))
  13570. var i int
  13571. for k, _ := range v {
  13572. v2[i] = int64(k)
  13573. i++
  13574. }
  13575. sort.Sort(intSlice(v2))
  13576. for _, k2 := range v2 {
  13577. if cr != nil {
  13578. cr.sendContainerState(containerMapKey)
  13579. }
  13580. ee.EncodeInt(int64(int32(k2)))
  13581. if cr != nil {
  13582. cr.sendContainerState(containerMapValue)
  13583. }
  13584. ee.EncodeFloat64(v[int32(k2)])
  13585. }
  13586. } else {
  13587. for k2, v2 := range v {
  13588. if cr != nil {
  13589. cr.sendContainerState(containerMapKey)
  13590. }
  13591. ee.EncodeInt(int64(k2))
  13592. if cr != nil {
  13593. cr.sendContainerState(containerMapValue)
  13594. }
  13595. ee.EncodeFloat64(v2)
  13596. }
  13597. }
  13598. if cr != nil {
  13599. cr.sendContainerState(containerMapEnd)
  13600. }
  13601. }
  13602. func (f *encFnInfo) fastpathEncMapInt32BoolR(rv reflect.Value) {
  13603. fastpathTV.EncMapInt32BoolV(rv2i(rv).(map[int32]bool), fastpathCheckNilFalse, f.e)
  13604. }
  13605. func (_ fastpathT) EncMapInt32BoolV(v map[int32]bool, checkNil bool, e *Encoder) {
  13606. ee := e.e
  13607. cr := e.cr
  13608. if checkNil && v == nil {
  13609. ee.EncodeNil()
  13610. return
  13611. }
  13612. ee.EncodeMapStart(len(v))
  13613. if e.h.Canonical {
  13614. v2 := make([]int64, len(v))
  13615. var i int
  13616. for k, _ := range v {
  13617. v2[i] = int64(k)
  13618. i++
  13619. }
  13620. sort.Sort(intSlice(v2))
  13621. for _, k2 := range v2 {
  13622. if cr != nil {
  13623. cr.sendContainerState(containerMapKey)
  13624. }
  13625. ee.EncodeInt(int64(int32(k2)))
  13626. if cr != nil {
  13627. cr.sendContainerState(containerMapValue)
  13628. }
  13629. ee.EncodeBool(v[int32(k2)])
  13630. }
  13631. } else {
  13632. for k2, v2 := range v {
  13633. if cr != nil {
  13634. cr.sendContainerState(containerMapKey)
  13635. }
  13636. ee.EncodeInt(int64(k2))
  13637. if cr != nil {
  13638. cr.sendContainerState(containerMapValue)
  13639. }
  13640. ee.EncodeBool(v2)
  13641. }
  13642. }
  13643. if cr != nil {
  13644. cr.sendContainerState(containerMapEnd)
  13645. }
  13646. }
  13647. func (f *encFnInfo) fastpathEncMapInt64IntfR(rv reflect.Value) {
  13648. fastpathTV.EncMapInt64IntfV(rv2i(rv).(map[int64]interface{}), fastpathCheckNilFalse, f.e)
  13649. }
  13650. func (_ fastpathT) EncMapInt64IntfV(v map[int64]interface{}, checkNil bool, e *Encoder) {
  13651. ee := e.e
  13652. cr := e.cr
  13653. if checkNil && v == nil {
  13654. ee.EncodeNil()
  13655. return
  13656. }
  13657. ee.EncodeMapStart(len(v))
  13658. if e.h.Canonical {
  13659. v2 := make([]int64, len(v))
  13660. var i int
  13661. for k, _ := range v {
  13662. v2[i] = int64(k)
  13663. i++
  13664. }
  13665. sort.Sort(intSlice(v2))
  13666. for _, k2 := range v2 {
  13667. if cr != nil {
  13668. cr.sendContainerState(containerMapKey)
  13669. }
  13670. ee.EncodeInt(int64(int64(k2)))
  13671. if cr != nil {
  13672. cr.sendContainerState(containerMapValue)
  13673. }
  13674. e.encode(v[int64(k2)])
  13675. }
  13676. } else {
  13677. for k2, v2 := range v {
  13678. if cr != nil {
  13679. cr.sendContainerState(containerMapKey)
  13680. }
  13681. ee.EncodeInt(int64(k2))
  13682. if cr != nil {
  13683. cr.sendContainerState(containerMapValue)
  13684. }
  13685. e.encode(v2)
  13686. }
  13687. }
  13688. if cr != nil {
  13689. cr.sendContainerState(containerMapEnd)
  13690. }
  13691. }
  13692. func (f *encFnInfo) fastpathEncMapInt64StringR(rv reflect.Value) {
  13693. fastpathTV.EncMapInt64StringV(rv2i(rv).(map[int64]string), fastpathCheckNilFalse, f.e)
  13694. }
  13695. func (_ fastpathT) EncMapInt64StringV(v map[int64]string, checkNil bool, e *Encoder) {
  13696. ee := e.e
  13697. cr := e.cr
  13698. if checkNil && v == nil {
  13699. ee.EncodeNil()
  13700. return
  13701. }
  13702. ee.EncodeMapStart(len(v))
  13703. if e.h.Canonical {
  13704. v2 := make([]int64, len(v))
  13705. var i int
  13706. for k, _ := range v {
  13707. v2[i] = int64(k)
  13708. i++
  13709. }
  13710. sort.Sort(intSlice(v2))
  13711. for _, k2 := range v2 {
  13712. if cr != nil {
  13713. cr.sendContainerState(containerMapKey)
  13714. }
  13715. ee.EncodeInt(int64(int64(k2)))
  13716. if cr != nil {
  13717. cr.sendContainerState(containerMapValue)
  13718. }
  13719. ee.EncodeString(c_UTF8, v[int64(k2)])
  13720. }
  13721. } else {
  13722. for k2, v2 := range v {
  13723. if cr != nil {
  13724. cr.sendContainerState(containerMapKey)
  13725. }
  13726. ee.EncodeInt(int64(k2))
  13727. if cr != nil {
  13728. cr.sendContainerState(containerMapValue)
  13729. }
  13730. ee.EncodeString(c_UTF8, v2)
  13731. }
  13732. }
  13733. if cr != nil {
  13734. cr.sendContainerState(containerMapEnd)
  13735. }
  13736. }
  13737. func (f *encFnInfo) fastpathEncMapInt64UintR(rv reflect.Value) {
  13738. fastpathTV.EncMapInt64UintV(rv2i(rv).(map[int64]uint), fastpathCheckNilFalse, f.e)
  13739. }
  13740. func (_ fastpathT) EncMapInt64UintV(v map[int64]uint, checkNil bool, e *Encoder) {
  13741. ee := e.e
  13742. cr := e.cr
  13743. if checkNil && v == nil {
  13744. ee.EncodeNil()
  13745. return
  13746. }
  13747. ee.EncodeMapStart(len(v))
  13748. if e.h.Canonical {
  13749. v2 := make([]int64, len(v))
  13750. var i int
  13751. for k, _ := range v {
  13752. v2[i] = int64(k)
  13753. i++
  13754. }
  13755. sort.Sort(intSlice(v2))
  13756. for _, k2 := range v2 {
  13757. if cr != nil {
  13758. cr.sendContainerState(containerMapKey)
  13759. }
  13760. ee.EncodeInt(int64(int64(k2)))
  13761. if cr != nil {
  13762. cr.sendContainerState(containerMapValue)
  13763. }
  13764. ee.EncodeUint(uint64(v[int64(k2)]))
  13765. }
  13766. } else {
  13767. for k2, v2 := range v {
  13768. if cr != nil {
  13769. cr.sendContainerState(containerMapKey)
  13770. }
  13771. ee.EncodeInt(int64(k2))
  13772. if cr != nil {
  13773. cr.sendContainerState(containerMapValue)
  13774. }
  13775. ee.EncodeUint(uint64(v2))
  13776. }
  13777. }
  13778. if cr != nil {
  13779. cr.sendContainerState(containerMapEnd)
  13780. }
  13781. }
  13782. func (f *encFnInfo) fastpathEncMapInt64Uint8R(rv reflect.Value) {
  13783. fastpathTV.EncMapInt64Uint8V(rv2i(rv).(map[int64]uint8), fastpathCheckNilFalse, f.e)
  13784. }
  13785. func (_ fastpathT) EncMapInt64Uint8V(v map[int64]uint8, checkNil bool, e *Encoder) {
  13786. ee := e.e
  13787. cr := e.cr
  13788. if checkNil && v == nil {
  13789. ee.EncodeNil()
  13790. return
  13791. }
  13792. ee.EncodeMapStart(len(v))
  13793. if e.h.Canonical {
  13794. v2 := make([]int64, len(v))
  13795. var i int
  13796. for k, _ := range v {
  13797. v2[i] = int64(k)
  13798. i++
  13799. }
  13800. sort.Sort(intSlice(v2))
  13801. for _, k2 := range v2 {
  13802. if cr != nil {
  13803. cr.sendContainerState(containerMapKey)
  13804. }
  13805. ee.EncodeInt(int64(int64(k2)))
  13806. if cr != nil {
  13807. cr.sendContainerState(containerMapValue)
  13808. }
  13809. ee.EncodeUint(uint64(v[int64(k2)]))
  13810. }
  13811. } else {
  13812. for k2, v2 := range v {
  13813. if cr != nil {
  13814. cr.sendContainerState(containerMapKey)
  13815. }
  13816. ee.EncodeInt(int64(k2))
  13817. if cr != nil {
  13818. cr.sendContainerState(containerMapValue)
  13819. }
  13820. ee.EncodeUint(uint64(v2))
  13821. }
  13822. }
  13823. if cr != nil {
  13824. cr.sendContainerState(containerMapEnd)
  13825. }
  13826. }
  13827. func (f *encFnInfo) fastpathEncMapInt64Uint16R(rv reflect.Value) {
  13828. fastpathTV.EncMapInt64Uint16V(rv2i(rv).(map[int64]uint16), fastpathCheckNilFalse, f.e)
  13829. }
  13830. func (_ fastpathT) EncMapInt64Uint16V(v map[int64]uint16, checkNil bool, e *Encoder) {
  13831. ee := e.e
  13832. cr := e.cr
  13833. if checkNil && v == nil {
  13834. ee.EncodeNil()
  13835. return
  13836. }
  13837. ee.EncodeMapStart(len(v))
  13838. if e.h.Canonical {
  13839. v2 := make([]int64, len(v))
  13840. var i int
  13841. for k, _ := range v {
  13842. v2[i] = int64(k)
  13843. i++
  13844. }
  13845. sort.Sort(intSlice(v2))
  13846. for _, k2 := range v2 {
  13847. if cr != nil {
  13848. cr.sendContainerState(containerMapKey)
  13849. }
  13850. ee.EncodeInt(int64(int64(k2)))
  13851. if cr != nil {
  13852. cr.sendContainerState(containerMapValue)
  13853. }
  13854. ee.EncodeUint(uint64(v[int64(k2)]))
  13855. }
  13856. } else {
  13857. for k2, v2 := range v {
  13858. if cr != nil {
  13859. cr.sendContainerState(containerMapKey)
  13860. }
  13861. ee.EncodeInt(int64(k2))
  13862. if cr != nil {
  13863. cr.sendContainerState(containerMapValue)
  13864. }
  13865. ee.EncodeUint(uint64(v2))
  13866. }
  13867. }
  13868. if cr != nil {
  13869. cr.sendContainerState(containerMapEnd)
  13870. }
  13871. }
  13872. func (f *encFnInfo) fastpathEncMapInt64Uint32R(rv reflect.Value) {
  13873. fastpathTV.EncMapInt64Uint32V(rv2i(rv).(map[int64]uint32), fastpathCheckNilFalse, f.e)
  13874. }
  13875. func (_ fastpathT) EncMapInt64Uint32V(v map[int64]uint32, checkNil bool, e *Encoder) {
  13876. ee := e.e
  13877. cr := e.cr
  13878. if checkNil && v == nil {
  13879. ee.EncodeNil()
  13880. return
  13881. }
  13882. ee.EncodeMapStart(len(v))
  13883. if e.h.Canonical {
  13884. v2 := make([]int64, len(v))
  13885. var i int
  13886. for k, _ := range v {
  13887. v2[i] = int64(k)
  13888. i++
  13889. }
  13890. sort.Sort(intSlice(v2))
  13891. for _, k2 := range v2 {
  13892. if cr != nil {
  13893. cr.sendContainerState(containerMapKey)
  13894. }
  13895. ee.EncodeInt(int64(int64(k2)))
  13896. if cr != nil {
  13897. cr.sendContainerState(containerMapValue)
  13898. }
  13899. ee.EncodeUint(uint64(v[int64(k2)]))
  13900. }
  13901. } else {
  13902. for k2, v2 := range v {
  13903. if cr != nil {
  13904. cr.sendContainerState(containerMapKey)
  13905. }
  13906. ee.EncodeInt(int64(k2))
  13907. if cr != nil {
  13908. cr.sendContainerState(containerMapValue)
  13909. }
  13910. ee.EncodeUint(uint64(v2))
  13911. }
  13912. }
  13913. if cr != nil {
  13914. cr.sendContainerState(containerMapEnd)
  13915. }
  13916. }
  13917. func (f *encFnInfo) fastpathEncMapInt64Uint64R(rv reflect.Value) {
  13918. fastpathTV.EncMapInt64Uint64V(rv2i(rv).(map[int64]uint64), fastpathCheckNilFalse, f.e)
  13919. }
  13920. func (_ fastpathT) EncMapInt64Uint64V(v map[int64]uint64, checkNil bool, e *Encoder) {
  13921. ee := e.e
  13922. cr := e.cr
  13923. if checkNil && v == nil {
  13924. ee.EncodeNil()
  13925. return
  13926. }
  13927. ee.EncodeMapStart(len(v))
  13928. if e.h.Canonical {
  13929. v2 := make([]int64, len(v))
  13930. var i int
  13931. for k, _ := range v {
  13932. v2[i] = int64(k)
  13933. i++
  13934. }
  13935. sort.Sort(intSlice(v2))
  13936. for _, k2 := range v2 {
  13937. if cr != nil {
  13938. cr.sendContainerState(containerMapKey)
  13939. }
  13940. ee.EncodeInt(int64(int64(k2)))
  13941. if cr != nil {
  13942. cr.sendContainerState(containerMapValue)
  13943. }
  13944. ee.EncodeUint(uint64(v[int64(k2)]))
  13945. }
  13946. } else {
  13947. for k2, v2 := range v {
  13948. if cr != nil {
  13949. cr.sendContainerState(containerMapKey)
  13950. }
  13951. ee.EncodeInt(int64(k2))
  13952. if cr != nil {
  13953. cr.sendContainerState(containerMapValue)
  13954. }
  13955. ee.EncodeUint(uint64(v2))
  13956. }
  13957. }
  13958. if cr != nil {
  13959. cr.sendContainerState(containerMapEnd)
  13960. }
  13961. }
  13962. func (f *encFnInfo) fastpathEncMapInt64UintptrR(rv reflect.Value) {
  13963. fastpathTV.EncMapInt64UintptrV(rv2i(rv).(map[int64]uintptr), fastpathCheckNilFalse, f.e)
  13964. }
  13965. func (_ fastpathT) EncMapInt64UintptrV(v map[int64]uintptr, checkNil bool, e *Encoder) {
  13966. ee := e.e
  13967. cr := e.cr
  13968. if checkNil && v == nil {
  13969. ee.EncodeNil()
  13970. return
  13971. }
  13972. ee.EncodeMapStart(len(v))
  13973. if e.h.Canonical {
  13974. v2 := make([]int64, len(v))
  13975. var i int
  13976. for k, _ := range v {
  13977. v2[i] = int64(k)
  13978. i++
  13979. }
  13980. sort.Sort(intSlice(v2))
  13981. for _, k2 := range v2 {
  13982. if cr != nil {
  13983. cr.sendContainerState(containerMapKey)
  13984. }
  13985. ee.EncodeInt(int64(int64(k2)))
  13986. if cr != nil {
  13987. cr.sendContainerState(containerMapValue)
  13988. }
  13989. e.encode(v[int64(k2)])
  13990. }
  13991. } else {
  13992. for k2, v2 := range v {
  13993. if cr != nil {
  13994. cr.sendContainerState(containerMapKey)
  13995. }
  13996. ee.EncodeInt(int64(k2))
  13997. if cr != nil {
  13998. cr.sendContainerState(containerMapValue)
  13999. }
  14000. e.encode(v2)
  14001. }
  14002. }
  14003. if cr != nil {
  14004. cr.sendContainerState(containerMapEnd)
  14005. }
  14006. }
  14007. func (f *encFnInfo) fastpathEncMapInt64IntR(rv reflect.Value) {
  14008. fastpathTV.EncMapInt64IntV(rv2i(rv).(map[int64]int), fastpathCheckNilFalse, f.e)
  14009. }
  14010. func (_ fastpathT) EncMapInt64IntV(v map[int64]int, checkNil bool, e *Encoder) {
  14011. ee := e.e
  14012. cr := e.cr
  14013. if checkNil && v == nil {
  14014. ee.EncodeNil()
  14015. return
  14016. }
  14017. ee.EncodeMapStart(len(v))
  14018. if e.h.Canonical {
  14019. v2 := make([]int64, len(v))
  14020. var i int
  14021. for k, _ := range v {
  14022. v2[i] = int64(k)
  14023. i++
  14024. }
  14025. sort.Sort(intSlice(v2))
  14026. for _, k2 := range v2 {
  14027. if cr != nil {
  14028. cr.sendContainerState(containerMapKey)
  14029. }
  14030. ee.EncodeInt(int64(int64(k2)))
  14031. if cr != nil {
  14032. cr.sendContainerState(containerMapValue)
  14033. }
  14034. ee.EncodeInt(int64(v[int64(k2)]))
  14035. }
  14036. } else {
  14037. for k2, v2 := range v {
  14038. if cr != nil {
  14039. cr.sendContainerState(containerMapKey)
  14040. }
  14041. ee.EncodeInt(int64(k2))
  14042. if cr != nil {
  14043. cr.sendContainerState(containerMapValue)
  14044. }
  14045. ee.EncodeInt(int64(v2))
  14046. }
  14047. }
  14048. if cr != nil {
  14049. cr.sendContainerState(containerMapEnd)
  14050. }
  14051. }
  14052. func (f *encFnInfo) fastpathEncMapInt64Int8R(rv reflect.Value) {
  14053. fastpathTV.EncMapInt64Int8V(rv2i(rv).(map[int64]int8), fastpathCheckNilFalse, f.e)
  14054. }
  14055. func (_ fastpathT) EncMapInt64Int8V(v map[int64]int8, checkNil bool, e *Encoder) {
  14056. ee := e.e
  14057. cr := e.cr
  14058. if checkNil && v == nil {
  14059. ee.EncodeNil()
  14060. return
  14061. }
  14062. ee.EncodeMapStart(len(v))
  14063. if e.h.Canonical {
  14064. v2 := make([]int64, len(v))
  14065. var i int
  14066. for k, _ := range v {
  14067. v2[i] = int64(k)
  14068. i++
  14069. }
  14070. sort.Sort(intSlice(v2))
  14071. for _, k2 := range v2 {
  14072. if cr != nil {
  14073. cr.sendContainerState(containerMapKey)
  14074. }
  14075. ee.EncodeInt(int64(int64(k2)))
  14076. if cr != nil {
  14077. cr.sendContainerState(containerMapValue)
  14078. }
  14079. ee.EncodeInt(int64(v[int64(k2)]))
  14080. }
  14081. } else {
  14082. for k2, v2 := range v {
  14083. if cr != nil {
  14084. cr.sendContainerState(containerMapKey)
  14085. }
  14086. ee.EncodeInt(int64(k2))
  14087. if cr != nil {
  14088. cr.sendContainerState(containerMapValue)
  14089. }
  14090. ee.EncodeInt(int64(v2))
  14091. }
  14092. }
  14093. if cr != nil {
  14094. cr.sendContainerState(containerMapEnd)
  14095. }
  14096. }
  14097. func (f *encFnInfo) fastpathEncMapInt64Int16R(rv reflect.Value) {
  14098. fastpathTV.EncMapInt64Int16V(rv2i(rv).(map[int64]int16), fastpathCheckNilFalse, f.e)
  14099. }
  14100. func (_ fastpathT) EncMapInt64Int16V(v map[int64]int16, checkNil bool, e *Encoder) {
  14101. ee := e.e
  14102. cr := e.cr
  14103. if checkNil && v == nil {
  14104. ee.EncodeNil()
  14105. return
  14106. }
  14107. ee.EncodeMapStart(len(v))
  14108. if e.h.Canonical {
  14109. v2 := make([]int64, len(v))
  14110. var i int
  14111. for k, _ := range v {
  14112. v2[i] = int64(k)
  14113. i++
  14114. }
  14115. sort.Sort(intSlice(v2))
  14116. for _, k2 := range v2 {
  14117. if cr != nil {
  14118. cr.sendContainerState(containerMapKey)
  14119. }
  14120. ee.EncodeInt(int64(int64(k2)))
  14121. if cr != nil {
  14122. cr.sendContainerState(containerMapValue)
  14123. }
  14124. ee.EncodeInt(int64(v[int64(k2)]))
  14125. }
  14126. } else {
  14127. for k2, v2 := range v {
  14128. if cr != nil {
  14129. cr.sendContainerState(containerMapKey)
  14130. }
  14131. ee.EncodeInt(int64(k2))
  14132. if cr != nil {
  14133. cr.sendContainerState(containerMapValue)
  14134. }
  14135. ee.EncodeInt(int64(v2))
  14136. }
  14137. }
  14138. if cr != nil {
  14139. cr.sendContainerState(containerMapEnd)
  14140. }
  14141. }
  14142. func (f *encFnInfo) fastpathEncMapInt64Int32R(rv reflect.Value) {
  14143. fastpathTV.EncMapInt64Int32V(rv2i(rv).(map[int64]int32), fastpathCheckNilFalse, f.e)
  14144. }
  14145. func (_ fastpathT) EncMapInt64Int32V(v map[int64]int32, checkNil bool, e *Encoder) {
  14146. ee := e.e
  14147. cr := e.cr
  14148. if checkNil && v == nil {
  14149. ee.EncodeNil()
  14150. return
  14151. }
  14152. ee.EncodeMapStart(len(v))
  14153. if e.h.Canonical {
  14154. v2 := make([]int64, len(v))
  14155. var i int
  14156. for k, _ := range v {
  14157. v2[i] = int64(k)
  14158. i++
  14159. }
  14160. sort.Sort(intSlice(v2))
  14161. for _, k2 := range v2 {
  14162. if cr != nil {
  14163. cr.sendContainerState(containerMapKey)
  14164. }
  14165. ee.EncodeInt(int64(int64(k2)))
  14166. if cr != nil {
  14167. cr.sendContainerState(containerMapValue)
  14168. }
  14169. ee.EncodeInt(int64(v[int64(k2)]))
  14170. }
  14171. } else {
  14172. for k2, v2 := range v {
  14173. if cr != nil {
  14174. cr.sendContainerState(containerMapKey)
  14175. }
  14176. ee.EncodeInt(int64(k2))
  14177. if cr != nil {
  14178. cr.sendContainerState(containerMapValue)
  14179. }
  14180. ee.EncodeInt(int64(v2))
  14181. }
  14182. }
  14183. if cr != nil {
  14184. cr.sendContainerState(containerMapEnd)
  14185. }
  14186. }
  14187. func (f *encFnInfo) fastpathEncMapInt64Int64R(rv reflect.Value) {
  14188. fastpathTV.EncMapInt64Int64V(rv2i(rv).(map[int64]int64), fastpathCheckNilFalse, f.e)
  14189. }
  14190. func (_ fastpathT) EncMapInt64Int64V(v map[int64]int64, checkNil bool, e *Encoder) {
  14191. ee := e.e
  14192. cr := e.cr
  14193. if checkNil && v == nil {
  14194. ee.EncodeNil()
  14195. return
  14196. }
  14197. ee.EncodeMapStart(len(v))
  14198. if e.h.Canonical {
  14199. v2 := make([]int64, len(v))
  14200. var i int
  14201. for k, _ := range v {
  14202. v2[i] = int64(k)
  14203. i++
  14204. }
  14205. sort.Sort(intSlice(v2))
  14206. for _, k2 := range v2 {
  14207. if cr != nil {
  14208. cr.sendContainerState(containerMapKey)
  14209. }
  14210. ee.EncodeInt(int64(int64(k2)))
  14211. if cr != nil {
  14212. cr.sendContainerState(containerMapValue)
  14213. }
  14214. ee.EncodeInt(int64(v[int64(k2)]))
  14215. }
  14216. } else {
  14217. for k2, v2 := range v {
  14218. if cr != nil {
  14219. cr.sendContainerState(containerMapKey)
  14220. }
  14221. ee.EncodeInt(int64(k2))
  14222. if cr != nil {
  14223. cr.sendContainerState(containerMapValue)
  14224. }
  14225. ee.EncodeInt(int64(v2))
  14226. }
  14227. }
  14228. if cr != nil {
  14229. cr.sendContainerState(containerMapEnd)
  14230. }
  14231. }
  14232. func (f *encFnInfo) fastpathEncMapInt64Float32R(rv reflect.Value) {
  14233. fastpathTV.EncMapInt64Float32V(rv2i(rv).(map[int64]float32), fastpathCheckNilFalse, f.e)
  14234. }
  14235. func (_ fastpathT) EncMapInt64Float32V(v map[int64]float32, checkNil bool, e *Encoder) {
  14236. ee := e.e
  14237. cr := e.cr
  14238. if checkNil && v == nil {
  14239. ee.EncodeNil()
  14240. return
  14241. }
  14242. ee.EncodeMapStart(len(v))
  14243. if e.h.Canonical {
  14244. v2 := make([]int64, len(v))
  14245. var i int
  14246. for k, _ := range v {
  14247. v2[i] = int64(k)
  14248. i++
  14249. }
  14250. sort.Sort(intSlice(v2))
  14251. for _, k2 := range v2 {
  14252. if cr != nil {
  14253. cr.sendContainerState(containerMapKey)
  14254. }
  14255. ee.EncodeInt(int64(int64(k2)))
  14256. if cr != nil {
  14257. cr.sendContainerState(containerMapValue)
  14258. }
  14259. ee.EncodeFloat32(v[int64(k2)])
  14260. }
  14261. } else {
  14262. for k2, v2 := range v {
  14263. if cr != nil {
  14264. cr.sendContainerState(containerMapKey)
  14265. }
  14266. ee.EncodeInt(int64(k2))
  14267. if cr != nil {
  14268. cr.sendContainerState(containerMapValue)
  14269. }
  14270. ee.EncodeFloat32(v2)
  14271. }
  14272. }
  14273. if cr != nil {
  14274. cr.sendContainerState(containerMapEnd)
  14275. }
  14276. }
  14277. func (f *encFnInfo) fastpathEncMapInt64Float64R(rv reflect.Value) {
  14278. fastpathTV.EncMapInt64Float64V(rv2i(rv).(map[int64]float64), fastpathCheckNilFalse, f.e)
  14279. }
  14280. func (_ fastpathT) EncMapInt64Float64V(v map[int64]float64, checkNil bool, e *Encoder) {
  14281. ee := e.e
  14282. cr := e.cr
  14283. if checkNil && v == nil {
  14284. ee.EncodeNil()
  14285. return
  14286. }
  14287. ee.EncodeMapStart(len(v))
  14288. if e.h.Canonical {
  14289. v2 := make([]int64, len(v))
  14290. var i int
  14291. for k, _ := range v {
  14292. v2[i] = int64(k)
  14293. i++
  14294. }
  14295. sort.Sort(intSlice(v2))
  14296. for _, k2 := range v2 {
  14297. if cr != nil {
  14298. cr.sendContainerState(containerMapKey)
  14299. }
  14300. ee.EncodeInt(int64(int64(k2)))
  14301. if cr != nil {
  14302. cr.sendContainerState(containerMapValue)
  14303. }
  14304. ee.EncodeFloat64(v[int64(k2)])
  14305. }
  14306. } else {
  14307. for k2, v2 := range v {
  14308. if cr != nil {
  14309. cr.sendContainerState(containerMapKey)
  14310. }
  14311. ee.EncodeInt(int64(k2))
  14312. if cr != nil {
  14313. cr.sendContainerState(containerMapValue)
  14314. }
  14315. ee.EncodeFloat64(v2)
  14316. }
  14317. }
  14318. if cr != nil {
  14319. cr.sendContainerState(containerMapEnd)
  14320. }
  14321. }
  14322. func (f *encFnInfo) fastpathEncMapInt64BoolR(rv reflect.Value) {
  14323. fastpathTV.EncMapInt64BoolV(rv2i(rv).(map[int64]bool), fastpathCheckNilFalse, f.e)
  14324. }
  14325. func (_ fastpathT) EncMapInt64BoolV(v map[int64]bool, checkNil bool, e *Encoder) {
  14326. ee := e.e
  14327. cr := e.cr
  14328. if checkNil && v == nil {
  14329. ee.EncodeNil()
  14330. return
  14331. }
  14332. ee.EncodeMapStart(len(v))
  14333. if e.h.Canonical {
  14334. v2 := make([]int64, len(v))
  14335. var i int
  14336. for k, _ := range v {
  14337. v2[i] = int64(k)
  14338. i++
  14339. }
  14340. sort.Sort(intSlice(v2))
  14341. for _, k2 := range v2 {
  14342. if cr != nil {
  14343. cr.sendContainerState(containerMapKey)
  14344. }
  14345. ee.EncodeInt(int64(int64(k2)))
  14346. if cr != nil {
  14347. cr.sendContainerState(containerMapValue)
  14348. }
  14349. ee.EncodeBool(v[int64(k2)])
  14350. }
  14351. } else {
  14352. for k2, v2 := range v {
  14353. if cr != nil {
  14354. cr.sendContainerState(containerMapKey)
  14355. }
  14356. ee.EncodeInt(int64(k2))
  14357. if cr != nil {
  14358. cr.sendContainerState(containerMapValue)
  14359. }
  14360. ee.EncodeBool(v2)
  14361. }
  14362. }
  14363. if cr != nil {
  14364. cr.sendContainerState(containerMapEnd)
  14365. }
  14366. }
  14367. func (f *encFnInfo) fastpathEncMapBoolIntfR(rv reflect.Value) {
  14368. fastpathTV.EncMapBoolIntfV(rv2i(rv).(map[bool]interface{}), fastpathCheckNilFalse, f.e)
  14369. }
  14370. func (_ fastpathT) EncMapBoolIntfV(v map[bool]interface{}, checkNil bool, e *Encoder) {
  14371. ee := e.e
  14372. cr := e.cr
  14373. if checkNil && v == nil {
  14374. ee.EncodeNil()
  14375. return
  14376. }
  14377. ee.EncodeMapStart(len(v))
  14378. if e.h.Canonical {
  14379. v2 := make([]bool, len(v))
  14380. var i int
  14381. for k, _ := range v {
  14382. v2[i] = bool(k)
  14383. i++
  14384. }
  14385. sort.Sort(boolSlice(v2))
  14386. for _, k2 := range v2 {
  14387. if cr != nil {
  14388. cr.sendContainerState(containerMapKey)
  14389. }
  14390. ee.EncodeBool(bool(k2))
  14391. if cr != nil {
  14392. cr.sendContainerState(containerMapValue)
  14393. }
  14394. e.encode(v[bool(k2)])
  14395. }
  14396. } else {
  14397. for k2, v2 := range v {
  14398. if cr != nil {
  14399. cr.sendContainerState(containerMapKey)
  14400. }
  14401. ee.EncodeBool(k2)
  14402. if cr != nil {
  14403. cr.sendContainerState(containerMapValue)
  14404. }
  14405. e.encode(v2)
  14406. }
  14407. }
  14408. if cr != nil {
  14409. cr.sendContainerState(containerMapEnd)
  14410. }
  14411. }
  14412. func (f *encFnInfo) fastpathEncMapBoolStringR(rv reflect.Value) {
  14413. fastpathTV.EncMapBoolStringV(rv2i(rv).(map[bool]string), fastpathCheckNilFalse, f.e)
  14414. }
  14415. func (_ fastpathT) EncMapBoolStringV(v map[bool]string, checkNil bool, e *Encoder) {
  14416. ee := e.e
  14417. cr := e.cr
  14418. if checkNil && v == nil {
  14419. ee.EncodeNil()
  14420. return
  14421. }
  14422. ee.EncodeMapStart(len(v))
  14423. if e.h.Canonical {
  14424. v2 := make([]bool, len(v))
  14425. var i int
  14426. for k, _ := range v {
  14427. v2[i] = bool(k)
  14428. i++
  14429. }
  14430. sort.Sort(boolSlice(v2))
  14431. for _, k2 := range v2 {
  14432. if cr != nil {
  14433. cr.sendContainerState(containerMapKey)
  14434. }
  14435. ee.EncodeBool(bool(k2))
  14436. if cr != nil {
  14437. cr.sendContainerState(containerMapValue)
  14438. }
  14439. ee.EncodeString(c_UTF8, v[bool(k2)])
  14440. }
  14441. } else {
  14442. for k2, v2 := range v {
  14443. if cr != nil {
  14444. cr.sendContainerState(containerMapKey)
  14445. }
  14446. ee.EncodeBool(k2)
  14447. if cr != nil {
  14448. cr.sendContainerState(containerMapValue)
  14449. }
  14450. ee.EncodeString(c_UTF8, v2)
  14451. }
  14452. }
  14453. if cr != nil {
  14454. cr.sendContainerState(containerMapEnd)
  14455. }
  14456. }
  14457. func (f *encFnInfo) fastpathEncMapBoolUintR(rv reflect.Value) {
  14458. fastpathTV.EncMapBoolUintV(rv2i(rv).(map[bool]uint), fastpathCheckNilFalse, f.e)
  14459. }
  14460. func (_ fastpathT) EncMapBoolUintV(v map[bool]uint, checkNil bool, e *Encoder) {
  14461. ee := e.e
  14462. cr := e.cr
  14463. if checkNil && v == nil {
  14464. ee.EncodeNil()
  14465. return
  14466. }
  14467. ee.EncodeMapStart(len(v))
  14468. if e.h.Canonical {
  14469. v2 := make([]bool, len(v))
  14470. var i int
  14471. for k, _ := range v {
  14472. v2[i] = bool(k)
  14473. i++
  14474. }
  14475. sort.Sort(boolSlice(v2))
  14476. for _, k2 := range v2 {
  14477. if cr != nil {
  14478. cr.sendContainerState(containerMapKey)
  14479. }
  14480. ee.EncodeBool(bool(k2))
  14481. if cr != nil {
  14482. cr.sendContainerState(containerMapValue)
  14483. }
  14484. ee.EncodeUint(uint64(v[bool(k2)]))
  14485. }
  14486. } else {
  14487. for k2, v2 := range v {
  14488. if cr != nil {
  14489. cr.sendContainerState(containerMapKey)
  14490. }
  14491. ee.EncodeBool(k2)
  14492. if cr != nil {
  14493. cr.sendContainerState(containerMapValue)
  14494. }
  14495. ee.EncodeUint(uint64(v2))
  14496. }
  14497. }
  14498. if cr != nil {
  14499. cr.sendContainerState(containerMapEnd)
  14500. }
  14501. }
  14502. func (f *encFnInfo) fastpathEncMapBoolUint8R(rv reflect.Value) {
  14503. fastpathTV.EncMapBoolUint8V(rv2i(rv).(map[bool]uint8), fastpathCheckNilFalse, f.e)
  14504. }
  14505. func (_ fastpathT) EncMapBoolUint8V(v map[bool]uint8, checkNil bool, e *Encoder) {
  14506. ee := e.e
  14507. cr := e.cr
  14508. if checkNil && v == nil {
  14509. ee.EncodeNil()
  14510. return
  14511. }
  14512. ee.EncodeMapStart(len(v))
  14513. if e.h.Canonical {
  14514. v2 := make([]bool, len(v))
  14515. var i int
  14516. for k, _ := range v {
  14517. v2[i] = bool(k)
  14518. i++
  14519. }
  14520. sort.Sort(boolSlice(v2))
  14521. for _, k2 := range v2 {
  14522. if cr != nil {
  14523. cr.sendContainerState(containerMapKey)
  14524. }
  14525. ee.EncodeBool(bool(k2))
  14526. if cr != nil {
  14527. cr.sendContainerState(containerMapValue)
  14528. }
  14529. ee.EncodeUint(uint64(v[bool(k2)]))
  14530. }
  14531. } else {
  14532. for k2, v2 := range v {
  14533. if cr != nil {
  14534. cr.sendContainerState(containerMapKey)
  14535. }
  14536. ee.EncodeBool(k2)
  14537. if cr != nil {
  14538. cr.sendContainerState(containerMapValue)
  14539. }
  14540. ee.EncodeUint(uint64(v2))
  14541. }
  14542. }
  14543. if cr != nil {
  14544. cr.sendContainerState(containerMapEnd)
  14545. }
  14546. }
  14547. func (f *encFnInfo) fastpathEncMapBoolUint16R(rv reflect.Value) {
  14548. fastpathTV.EncMapBoolUint16V(rv2i(rv).(map[bool]uint16), fastpathCheckNilFalse, f.e)
  14549. }
  14550. func (_ fastpathT) EncMapBoolUint16V(v map[bool]uint16, checkNil bool, e *Encoder) {
  14551. ee := e.e
  14552. cr := e.cr
  14553. if checkNil && v == nil {
  14554. ee.EncodeNil()
  14555. return
  14556. }
  14557. ee.EncodeMapStart(len(v))
  14558. if e.h.Canonical {
  14559. v2 := make([]bool, len(v))
  14560. var i int
  14561. for k, _ := range v {
  14562. v2[i] = bool(k)
  14563. i++
  14564. }
  14565. sort.Sort(boolSlice(v2))
  14566. for _, k2 := range v2 {
  14567. if cr != nil {
  14568. cr.sendContainerState(containerMapKey)
  14569. }
  14570. ee.EncodeBool(bool(k2))
  14571. if cr != nil {
  14572. cr.sendContainerState(containerMapValue)
  14573. }
  14574. ee.EncodeUint(uint64(v[bool(k2)]))
  14575. }
  14576. } else {
  14577. for k2, v2 := range v {
  14578. if cr != nil {
  14579. cr.sendContainerState(containerMapKey)
  14580. }
  14581. ee.EncodeBool(k2)
  14582. if cr != nil {
  14583. cr.sendContainerState(containerMapValue)
  14584. }
  14585. ee.EncodeUint(uint64(v2))
  14586. }
  14587. }
  14588. if cr != nil {
  14589. cr.sendContainerState(containerMapEnd)
  14590. }
  14591. }
  14592. func (f *encFnInfo) fastpathEncMapBoolUint32R(rv reflect.Value) {
  14593. fastpathTV.EncMapBoolUint32V(rv2i(rv).(map[bool]uint32), fastpathCheckNilFalse, f.e)
  14594. }
  14595. func (_ fastpathT) EncMapBoolUint32V(v map[bool]uint32, checkNil bool, e *Encoder) {
  14596. ee := e.e
  14597. cr := e.cr
  14598. if checkNil && v == nil {
  14599. ee.EncodeNil()
  14600. return
  14601. }
  14602. ee.EncodeMapStart(len(v))
  14603. if e.h.Canonical {
  14604. v2 := make([]bool, len(v))
  14605. var i int
  14606. for k, _ := range v {
  14607. v2[i] = bool(k)
  14608. i++
  14609. }
  14610. sort.Sort(boolSlice(v2))
  14611. for _, k2 := range v2 {
  14612. if cr != nil {
  14613. cr.sendContainerState(containerMapKey)
  14614. }
  14615. ee.EncodeBool(bool(k2))
  14616. if cr != nil {
  14617. cr.sendContainerState(containerMapValue)
  14618. }
  14619. ee.EncodeUint(uint64(v[bool(k2)]))
  14620. }
  14621. } else {
  14622. for k2, v2 := range v {
  14623. if cr != nil {
  14624. cr.sendContainerState(containerMapKey)
  14625. }
  14626. ee.EncodeBool(k2)
  14627. if cr != nil {
  14628. cr.sendContainerState(containerMapValue)
  14629. }
  14630. ee.EncodeUint(uint64(v2))
  14631. }
  14632. }
  14633. if cr != nil {
  14634. cr.sendContainerState(containerMapEnd)
  14635. }
  14636. }
  14637. func (f *encFnInfo) fastpathEncMapBoolUint64R(rv reflect.Value) {
  14638. fastpathTV.EncMapBoolUint64V(rv2i(rv).(map[bool]uint64), fastpathCheckNilFalse, f.e)
  14639. }
  14640. func (_ fastpathT) EncMapBoolUint64V(v map[bool]uint64, checkNil bool, e *Encoder) {
  14641. ee := e.e
  14642. cr := e.cr
  14643. if checkNil && v == nil {
  14644. ee.EncodeNil()
  14645. return
  14646. }
  14647. ee.EncodeMapStart(len(v))
  14648. if e.h.Canonical {
  14649. v2 := make([]bool, len(v))
  14650. var i int
  14651. for k, _ := range v {
  14652. v2[i] = bool(k)
  14653. i++
  14654. }
  14655. sort.Sort(boolSlice(v2))
  14656. for _, k2 := range v2 {
  14657. if cr != nil {
  14658. cr.sendContainerState(containerMapKey)
  14659. }
  14660. ee.EncodeBool(bool(k2))
  14661. if cr != nil {
  14662. cr.sendContainerState(containerMapValue)
  14663. }
  14664. ee.EncodeUint(uint64(v[bool(k2)]))
  14665. }
  14666. } else {
  14667. for k2, v2 := range v {
  14668. if cr != nil {
  14669. cr.sendContainerState(containerMapKey)
  14670. }
  14671. ee.EncodeBool(k2)
  14672. if cr != nil {
  14673. cr.sendContainerState(containerMapValue)
  14674. }
  14675. ee.EncodeUint(uint64(v2))
  14676. }
  14677. }
  14678. if cr != nil {
  14679. cr.sendContainerState(containerMapEnd)
  14680. }
  14681. }
  14682. func (f *encFnInfo) fastpathEncMapBoolUintptrR(rv reflect.Value) {
  14683. fastpathTV.EncMapBoolUintptrV(rv2i(rv).(map[bool]uintptr), fastpathCheckNilFalse, f.e)
  14684. }
  14685. func (_ fastpathT) EncMapBoolUintptrV(v map[bool]uintptr, checkNil bool, e *Encoder) {
  14686. ee := e.e
  14687. cr := e.cr
  14688. if checkNil && v == nil {
  14689. ee.EncodeNil()
  14690. return
  14691. }
  14692. ee.EncodeMapStart(len(v))
  14693. if e.h.Canonical {
  14694. v2 := make([]bool, len(v))
  14695. var i int
  14696. for k, _ := range v {
  14697. v2[i] = bool(k)
  14698. i++
  14699. }
  14700. sort.Sort(boolSlice(v2))
  14701. for _, k2 := range v2 {
  14702. if cr != nil {
  14703. cr.sendContainerState(containerMapKey)
  14704. }
  14705. ee.EncodeBool(bool(k2))
  14706. if cr != nil {
  14707. cr.sendContainerState(containerMapValue)
  14708. }
  14709. e.encode(v[bool(k2)])
  14710. }
  14711. } else {
  14712. for k2, v2 := range v {
  14713. if cr != nil {
  14714. cr.sendContainerState(containerMapKey)
  14715. }
  14716. ee.EncodeBool(k2)
  14717. if cr != nil {
  14718. cr.sendContainerState(containerMapValue)
  14719. }
  14720. e.encode(v2)
  14721. }
  14722. }
  14723. if cr != nil {
  14724. cr.sendContainerState(containerMapEnd)
  14725. }
  14726. }
  14727. func (f *encFnInfo) fastpathEncMapBoolIntR(rv reflect.Value) {
  14728. fastpathTV.EncMapBoolIntV(rv2i(rv).(map[bool]int), fastpathCheckNilFalse, f.e)
  14729. }
  14730. func (_ fastpathT) EncMapBoolIntV(v map[bool]int, checkNil bool, e *Encoder) {
  14731. ee := e.e
  14732. cr := e.cr
  14733. if checkNil && v == nil {
  14734. ee.EncodeNil()
  14735. return
  14736. }
  14737. ee.EncodeMapStart(len(v))
  14738. if e.h.Canonical {
  14739. v2 := make([]bool, len(v))
  14740. var i int
  14741. for k, _ := range v {
  14742. v2[i] = bool(k)
  14743. i++
  14744. }
  14745. sort.Sort(boolSlice(v2))
  14746. for _, k2 := range v2 {
  14747. if cr != nil {
  14748. cr.sendContainerState(containerMapKey)
  14749. }
  14750. ee.EncodeBool(bool(k2))
  14751. if cr != nil {
  14752. cr.sendContainerState(containerMapValue)
  14753. }
  14754. ee.EncodeInt(int64(v[bool(k2)]))
  14755. }
  14756. } else {
  14757. for k2, v2 := range v {
  14758. if cr != nil {
  14759. cr.sendContainerState(containerMapKey)
  14760. }
  14761. ee.EncodeBool(k2)
  14762. if cr != nil {
  14763. cr.sendContainerState(containerMapValue)
  14764. }
  14765. ee.EncodeInt(int64(v2))
  14766. }
  14767. }
  14768. if cr != nil {
  14769. cr.sendContainerState(containerMapEnd)
  14770. }
  14771. }
  14772. func (f *encFnInfo) fastpathEncMapBoolInt8R(rv reflect.Value) {
  14773. fastpathTV.EncMapBoolInt8V(rv2i(rv).(map[bool]int8), fastpathCheckNilFalse, f.e)
  14774. }
  14775. func (_ fastpathT) EncMapBoolInt8V(v map[bool]int8, checkNil bool, e *Encoder) {
  14776. ee := e.e
  14777. cr := e.cr
  14778. if checkNil && v == nil {
  14779. ee.EncodeNil()
  14780. return
  14781. }
  14782. ee.EncodeMapStart(len(v))
  14783. if e.h.Canonical {
  14784. v2 := make([]bool, len(v))
  14785. var i int
  14786. for k, _ := range v {
  14787. v2[i] = bool(k)
  14788. i++
  14789. }
  14790. sort.Sort(boolSlice(v2))
  14791. for _, k2 := range v2 {
  14792. if cr != nil {
  14793. cr.sendContainerState(containerMapKey)
  14794. }
  14795. ee.EncodeBool(bool(k2))
  14796. if cr != nil {
  14797. cr.sendContainerState(containerMapValue)
  14798. }
  14799. ee.EncodeInt(int64(v[bool(k2)]))
  14800. }
  14801. } else {
  14802. for k2, v2 := range v {
  14803. if cr != nil {
  14804. cr.sendContainerState(containerMapKey)
  14805. }
  14806. ee.EncodeBool(k2)
  14807. if cr != nil {
  14808. cr.sendContainerState(containerMapValue)
  14809. }
  14810. ee.EncodeInt(int64(v2))
  14811. }
  14812. }
  14813. if cr != nil {
  14814. cr.sendContainerState(containerMapEnd)
  14815. }
  14816. }
  14817. func (f *encFnInfo) fastpathEncMapBoolInt16R(rv reflect.Value) {
  14818. fastpathTV.EncMapBoolInt16V(rv2i(rv).(map[bool]int16), fastpathCheckNilFalse, f.e)
  14819. }
  14820. func (_ fastpathT) EncMapBoolInt16V(v map[bool]int16, checkNil bool, e *Encoder) {
  14821. ee := e.e
  14822. cr := e.cr
  14823. if checkNil && v == nil {
  14824. ee.EncodeNil()
  14825. return
  14826. }
  14827. ee.EncodeMapStart(len(v))
  14828. if e.h.Canonical {
  14829. v2 := make([]bool, len(v))
  14830. var i int
  14831. for k, _ := range v {
  14832. v2[i] = bool(k)
  14833. i++
  14834. }
  14835. sort.Sort(boolSlice(v2))
  14836. for _, k2 := range v2 {
  14837. if cr != nil {
  14838. cr.sendContainerState(containerMapKey)
  14839. }
  14840. ee.EncodeBool(bool(k2))
  14841. if cr != nil {
  14842. cr.sendContainerState(containerMapValue)
  14843. }
  14844. ee.EncodeInt(int64(v[bool(k2)]))
  14845. }
  14846. } else {
  14847. for k2, v2 := range v {
  14848. if cr != nil {
  14849. cr.sendContainerState(containerMapKey)
  14850. }
  14851. ee.EncodeBool(k2)
  14852. if cr != nil {
  14853. cr.sendContainerState(containerMapValue)
  14854. }
  14855. ee.EncodeInt(int64(v2))
  14856. }
  14857. }
  14858. if cr != nil {
  14859. cr.sendContainerState(containerMapEnd)
  14860. }
  14861. }
  14862. func (f *encFnInfo) fastpathEncMapBoolInt32R(rv reflect.Value) {
  14863. fastpathTV.EncMapBoolInt32V(rv2i(rv).(map[bool]int32), fastpathCheckNilFalse, f.e)
  14864. }
  14865. func (_ fastpathT) EncMapBoolInt32V(v map[bool]int32, checkNil bool, e *Encoder) {
  14866. ee := e.e
  14867. cr := e.cr
  14868. if checkNil && v == nil {
  14869. ee.EncodeNil()
  14870. return
  14871. }
  14872. ee.EncodeMapStart(len(v))
  14873. if e.h.Canonical {
  14874. v2 := make([]bool, len(v))
  14875. var i int
  14876. for k, _ := range v {
  14877. v2[i] = bool(k)
  14878. i++
  14879. }
  14880. sort.Sort(boolSlice(v2))
  14881. for _, k2 := range v2 {
  14882. if cr != nil {
  14883. cr.sendContainerState(containerMapKey)
  14884. }
  14885. ee.EncodeBool(bool(k2))
  14886. if cr != nil {
  14887. cr.sendContainerState(containerMapValue)
  14888. }
  14889. ee.EncodeInt(int64(v[bool(k2)]))
  14890. }
  14891. } else {
  14892. for k2, v2 := range v {
  14893. if cr != nil {
  14894. cr.sendContainerState(containerMapKey)
  14895. }
  14896. ee.EncodeBool(k2)
  14897. if cr != nil {
  14898. cr.sendContainerState(containerMapValue)
  14899. }
  14900. ee.EncodeInt(int64(v2))
  14901. }
  14902. }
  14903. if cr != nil {
  14904. cr.sendContainerState(containerMapEnd)
  14905. }
  14906. }
  14907. func (f *encFnInfo) fastpathEncMapBoolInt64R(rv reflect.Value) {
  14908. fastpathTV.EncMapBoolInt64V(rv2i(rv).(map[bool]int64), fastpathCheckNilFalse, f.e)
  14909. }
  14910. func (_ fastpathT) EncMapBoolInt64V(v map[bool]int64, checkNil bool, e *Encoder) {
  14911. ee := e.e
  14912. cr := e.cr
  14913. if checkNil && v == nil {
  14914. ee.EncodeNil()
  14915. return
  14916. }
  14917. ee.EncodeMapStart(len(v))
  14918. if e.h.Canonical {
  14919. v2 := make([]bool, len(v))
  14920. var i int
  14921. for k, _ := range v {
  14922. v2[i] = bool(k)
  14923. i++
  14924. }
  14925. sort.Sort(boolSlice(v2))
  14926. for _, k2 := range v2 {
  14927. if cr != nil {
  14928. cr.sendContainerState(containerMapKey)
  14929. }
  14930. ee.EncodeBool(bool(k2))
  14931. if cr != nil {
  14932. cr.sendContainerState(containerMapValue)
  14933. }
  14934. ee.EncodeInt(int64(v[bool(k2)]))
  14935. }
  14936. } else {
  14937. for k2, v2 := range v {
  14938. if cr != nil {
  14939. cr.sendContainerState(containerMapKey)
  14940. }
  14941. ee.EncodeBool(k2)
  14942. if cr != nil {
  14943. cr.sendContainerState(containerMapValue)
  14944. }
  14945. ee.EncodeInt(int64(v2))
  14946. }
  14947. }
  14948. if cr != nil {
  14949. cr.sendContainerState(containerMapEnd)
  14950. }
  14951. }
  14952. func (f *encFnInfo) fastpathEncMapBoolFloat32R(rv reflect.Value) {
  14953. fastpathTV.EncMapBoolFloat32V(rv2i(rv).(map[bool]float32), fastpathCheckNilFalse, f.e)
  14954. }
  14955. func (_ fastpathT) EncMapBoolFloat32V(v map[bool]float32, checkNil bool, e *Encoder) {
  14956. ee := e.e
  14957. cr := e.cr
  14958. if checkNil && v == nil {
  14959. ee.EncodeNil()
  14960. return
  14961. }
  14962. ee.EncodeMapStart(len(v))
  14963. if e.h.Canonical {
  14964. v2 := make([]bool, len(v))
  14965. var i int
  14966. for k, _ := range v {
  14967. v2[i] = bool(k)
  14968. i++
  14969. }
  14970. sort.Sort(boolSlice(v2))
  14971. for _, k2 := range v2 {
  14972. if cr != nil {
  14973. cr.sendContainerState(containerMapKey)
  14974. }
  14975. ee.EncodeBool(bool(k2))
  14976. if cr != nil {
  14977. cr.sendContainerState(containerMapValue)
  14978. }
  14979. ee.EncodeFloat32(v[bool(k2)])
  14980. }
  14981. } else {
  14982. for k2, v2 := range v {
  14983. if cr != nil {
  14984. cr.sendContainerState(containerMapKey)
  14985. }
  14986. ee.EncodeBool(k2)
  14987. if cr != nil {
  14988. cr.sendContainerState(containerMapValue)
  14989. }
  14990. ee.EncodeFloat32(v2)
  14991. }
  14992. }
  14993. if cr != nil {
  14994. cr.sendContainerState(containerMapEnd)
  14995. }
  14996. }
  14997. func (f *encFnInfo) fastpathEncMapBoolFloat64R(rv reflect.Value) {
  14998. fastpathTV.EncMapBoolFloat64V(rv2i(rv).(map[bool]float64), fastpathCheckNilFalse, f.e)
  14999. }
  15000. func (_ fastpathT) EncMapBoolFloat64V(v map[bool]float64, checkNil bool, e *Encoder) {
  15001. ee := e.e
  15002. cr := e.cr
  15003. if checkNil && v == nil {
  15004. ee.EncodeNil()
  15005. return
  15006. }
  15007. ee.EncodeMapStart(len(v))
  15008. if e.h.Canonical {
  15009. v2 := make([]bool, len(v))
  15010. var i int
  15011. for k, _ := range v {
  15012. v2[i] = bool(k)
  15013. i++
  15014. }
  15015. sort.Sort(boolSlice(v2))
  15016. for _, k2 := range v2 {
  15017. if cr != nil {
  15018. cr.sendContainerState(containerMapKey)
  15019. }
  15020. ee.EncodeBool(bool(k2))
  15021. if cr != nil {
  15022. cr.sendContainerState(containerMapValue)
  15023. }
  15024. ee.EncodeFloat64(v[bool(k2)])
  15025. }
  15026. } else {
  15027. for k2, v2 := range v {
  15028. if cr != nil {
  15029. cr.sendContainerState(containerMapKey)
  15030. }
  15031. ee.EncodeBool(k2)
  15032. if cr != nil {
  15033. cr.sendContainerState(containerMapValue)
  15034. }
  15035. ee.EncodeFloat64(v2)
  15036. }
  15037. }
  15038. if cr != nil {
  15039. cr.sendContainerState(containerMapEnd)
  15040. }
  15041. }
  15042. func (f *encFnInfo) fastpathEncMapBoolBoolR(rv reflect.Value) {
  15043. fastpathTV.EncMapBoolBoolV(rv2i(rv).(map[bool]bool), fastpathCheckNilFalse, f.e)
  15044. }
  15045. func (_ fastpathT) EncMapBoolBoolV(v map[bool]bool, checkNil bool, e *Encoder) {
  15046. ee := e.e
  15047. cr := e.cr
  15048. if checkNil && v == nil {
  15049. ee.EncodeNil()
  15050. return
  15051. }
  15052. ee.EncodeMapStart(len(v))
  15053. if e.h.Canonical {
  15054. v2 := make([]bool, len(v))
  15055. var i int
  15056. for k, _ := range v {
  15057. v2[i] = bool(k)
  15058. i++
  15059. }
  15060. sort.Sort(boolSlice(v2))
  15061. for _, k2 := range v2 {
  15062. if cr != nil {
  15063. cr.sendContainerState(containerMapKey)
  15064. }
  15065. ee.EncodeBool(bool(k2))
  15066. if cr != nil {
  15067. cr.sendContainerState(containerMapValue)
  15068. }
  15069. ee.EncodeBool(v[bool(k2)])
  15070. }
  15071. } else {
  15072. for k2, v2 := range v {
  15073. if cr != nil {
  15074. cr.sendContainerState(containerMapKey)
  15075. }
  15076. ee.EncodeBool(k2)
  15077. if cr != nil {
  15078. cr.sendContainerState(containerMapValue)
  15079. }
  15080. ee.EncodeBool(v2)
  15081. }
  15082. }
  15083. if cr != nil {
  15084. cr.sendContainerState(containerMapEnd)
  15085. }
  15086. }
  15087. // -- decode
  15088. // -- -- fast path type switch
  15089. func fastpathDecodeTypeSwitch(iv interface{}, d *Decoder) bool {
  15090. switch v := iv.(type) {
  15091. case []interface{}:
  15092. fastpathTV.DecSliceIntfV(v, fastpathCheckNilFalse, false, d)
  15093. case *[]interface{}:
  15094. v2, changed2 := fastpathTV.DecSliceIntfV(*v, fastpathCheckNilFalse, true, d)
  15095. if changed2 {
  15096. *v = v2
  15097. }
  15098. case map[interface{}]interface{}:
  15099. fastpathTV.DecMapIntfIntfV(v, fastpathCheckNilFalse, false, d)
  15100. case *map[interface{}]interface{}:
  15101. v2, changed2 := fastpathTV.DecMapIntfIntfV(*v, fastpathCheckNilFalse, true, d)
  15102. if changed2 {
  15103. *v = v2
  15104. }
  15105. case map[interface{}]string:
  15106. fastpathTV.DecMapIntfStringV(v, fastpathCheckNilFalse, false, d)
  15107. case *map[interface{}]string:
  15108. v2, changed2 := fastpathTV.DecMapIntfStringV(*v, fastpathCheckNilFalse, true, d)
  15109. if changed2 {
  15110. *v = v2
  15111. }
  15112. case map[interface{}]uint:
  15113. fastpathTV.DecMapIntfUintV(v, fastpathCheckNilFalse, false, d)
  15114. case *map[interface{}]uint:
  15115. v2, changed2 := fastpathTV.DecMapIntfUintV(*v, fastpathCheckNilFalse, true, d)
  15116. if changed2 {
  15117. *v = v2
  15118. }
  15119. case map[interface{}]uint8:
  15120. fastpathTV.DecMapIntfUint8V(v, fastpathCheckNilFalse, false, d)
  15121. case *map[interface{}]uint8:
  15122. v2, changed2 := fastpathTV.DecMapIntfUint8V(*v, fastpathCheckNilFalse, true, d)
  15123. if changed2 {
  15124. *v = v2
  15125. }
  15126. case map[interface{}]uint16:
  15127. fastpathTV.DecMapIntfUint16V(v, fastpathCheckNilFalse, false, d)
  15128. case *map[interface{}]uint16:
  15129. v2, changed2 := fastpathTV.DecMapIntfUint16V(*v, fastpathCheckNilFalse, true, d)
  15130. if changed2 {
  15131. *v = v2
  15132. }
  15133. case map[interface{}]uint32:
  15134. fastpathTV.DecMapIntfUint32V(v, fastpathCheckNilFalse, false, d)
  15135. case *map[interface{}]uint32:
  15136. v2, changed2 := fastpathTV.DecMapIntfUint32V(*v, fastpathCheckNilFalse, true, d)
  15137. if changed2 {
  15138. *v = v2
  15139. }
  15140. case map[interface{}]uint64:
  15141. fastpathTV.DecMapIntfUint64V(v, fastpathCheckNilFalse, false, d)
  15142. case *map[interface{}]uint64:
  15143. v2, changed2 := fastpathTV.DecMapIntfUint64V(*v, fastpathCheckNilFalse, true, d)
  15144. if changed2 {
  15145. *v = v2
  15146. }
  15147. case map[interface{}]uintptr:
  15148. fastpathTV.DecMapIntfUintptrV(v, fastpathCheckNilFalse, false, d)
  15149. case *map[interface{}]uintptr:
  15150. v2, changed2 := fastpathTV.DecMapIntfUintptrV(*v, fastpathCheckNilFalse, true, d)
  15151. if changed2 {
  15152. *v = v2
  15153. }
  15154. case map[interface{}]int:
  15155. fastpathTV.DecMapIntfIntV(v, fastpathCheckNilFalse, false, d)
  15156. case *map[interface{}]int:
  15157. v2, changed2 := fastpathTV.DecMapIntfIntV(*v, fastpathCheckNilFalse, true, d)
  15158. if changed2 {
  15159. *v = v2
  15160. }
  15161. case map[interface{}]int8:
  15162. fastpathTV.DecMapIntfInt8V(v, fastpathCheckNilFalse, false, d)
  15163. case *map[interface{}]int8:
  15164. v2, changed2 := fastpathTV.DecMapIntfInt8V(*v, fastpathCheckNilFalse, true, d)
  15165. if changed2 {
  15166. *v = v2
  15167. }
  15168. case map[interface{}]int16:
  15169. fastpathTV.DecMapIntfInt16V(v, fastpathCheckNilFalse, false, d)
  15170. case *map[interface{}]int16:
  15171. v2, changed2 := fastpathTV.DecMapIntfInt16V(*v, fastpathCheckNilFalse, true, d)
  15172. if changed2 {
  15173. *v = v2
  15174. }
  15175. case map[interface{}]int32:
  15176. fastpathTV.DecMapIntfInt32V(v, fastpathCheckNilFalse, false, d)
  15177. case *map[interface{}]int32:
  15178. v2, changed2 := fastpathTV.DecMapIntfInt32V(*v, fastpathCheckNilFalse, true, d)
  15179. if changed2 {
  15180. *v = v2
  15181. }
  15182. case map[interface{}]int64:
  15183. fastpathTV.DecMapIntfInt64V(v, fastpathCheckNilFalse, false, d)
  15184. case *map[interface{}]int64:
  15185. v2, changed2 := fastpathTV.DecMapIntfInt64V(*v, fastpathCheckNilFalse, true, d)
  15186. if changed2 {
  15187. *v = v2
  15188. }
  15189. case map[interface{}]float32:
  15190. fastpathTV.DecMapIntfFloat32V(v, fastpathCheckNilFalse, false, d)
  15191. case *map[interface{}]float32:
  15192. v2, changed2 := fastpathTV.DecMapIntfFloat32V(*v, fastpathCheckNilFalse, true, d)
  15193. if changed2 {
  15194. *v = v2
  15195. }
  15196. case map[interface{}]float64:
  15197. fastpathTV.DecMapIntfFloat64V(v, fastpathCheckNilFalse, false, d)
  15198. case *map[interface{}]float64:
  15199. v2, changed2 := fastpathTV.DecMapIntfFloat64V(*v, fastpathCheckNilFalse, true, d)
  15200. if changed2 {
  15201. *v = v2
  15202. }
  15203. case map[interface{}]bool:
  15204. fastpathTV.DecMapIntfBoolV(v, fastpathCheckNilFalse, false, d)
  15205. case *map[interface{}]bool:
  15206. v2, changed2 := fastpathTV.DecMapIntfBoolV(*v, fastpathCheckNilFalse, true, d)
  15207. if changed2 {
  15208. *v = v2
  15209. }
  15210. case []string:
  15211. fastpathTV.DecSliceStringV(v, fastpathCheckNilFalse, false, d)
  15212. case *[]string:
  15213. v2, changed2 := fastpathTV.DecSliceStringV(*v, fastpathCheckNilFalse, true, d)
  15214. if changed2 {
  15215. *v = v2
  15216. }
  15217. case map[string]interface{}:
  15218. fastpathTV.DecMapStringIntfV(v, fastpathCheckNilFalse, false, d)
  15219. case *map[string]interface{}:
  15220. v2, changed2 := fastpathTV.DecMapStringIntfV(*v, fastpathCheckNilFalse, true, d)
  15221. if changed2 {
  15222. *v = v2
  15223. }
  15224. case map[string]string:
  15225. fastpathTV.DecMapStringStringV(v, fastpathCheckNilFalse, false, d)
  15226. case *map[string]string:
  15227. v2, changed2 := fastpathTV.DecMapStringStringV(*v, fastpathCheckNilFalse, true, d)
  15228. if changed2 {
  15229. *v = v2
  15230. }
  15231. case map[string]uint:
  15232. fastpathTV.DecMapStringUintV(v, fastpathCheckNilFalse, false, d)
  15233. case *map[string]uint:
  15234. v2, changed2 := fastpathTV.DecMapStringUintV(*v, fastpathCheckNilFalse, true, d)
  15235. if changed2 {
  15236. *v = v2
  15237. }
  15238. case map[string]uint8:
  15239. fastpathTV.DecMapStringUint8V(v, fastpathCheckNilFalse, false, d)
  15240. case *map[string]uint8:
  15241. v2, changed2 := fastpathTV.DecMapStringUint8V(*v, fastpathCheckNilFalse, true, d)
  15242. if changed2 {
  15243. *v = v2
  15244. }
  15245. case map[string]uint16:
  15246. fastpathTV.DecMapStringUint16V(v, fastpathCheckNilFalse, false, d)
  15247. case *map[string]uint16:
  15248. v2, changed2 := fastpathTV.DecMapStringUint16V(*v, fastpathCheckNilFalse, true, d)
  15249. if changed2 {
  15250. *v = v2
  15251. }
  15252. case map[string]uint32:
  15253. fastpathTV.DecMapStringUint32V(v, fastpathCheckNilFalse, false, d)
  15254. case *map[string]uint32:
  15255. v2, changed2 := fastpathTV.DecMapStringUint32V(*v, fastpathCheckNilFalse, true, d)
  15256. if changed2 {
  15257. *v = v2
  15258. }
  15259. case map[string]uint64:
  15260. fastpathTV.DecMapStringUint64V(v, fastpathCheckNilFalse, false, d)
  15261. case *map[string]uint64:
  15262. v2, changed2 := fastpathTV.DecMapStringUint64V(*v, fastpathCheckNilFalse, true, d)
  15263. if changed2 {
  15264. *v = v2
  15265. }
  15266. case map[string]uintptr:
  15267. fastpathTV.DecMapStringUintptrV(v, fastpathCheckNilFalse, false, d)
  15268. case *map[string]uintptr:
  15269. v2, changed2 := fastpathTV.DecMapStringUintptrV(*v, fastpathCheckNilFalse, true, d)
  15270. if changed2 {
  15271. *v = v2
  15272. }
  15273. case map[string]int:
  15274. fastpathTV.DecMapStringIntV(v, fastpathCheckNilFalse, false, d)
  15275. case *map[string]int:
  15276. v2, changed2 := fastpathTV.DecMapStringIntV(*v, fastpathCheckNilFalse, true, d)
  15277. if changed2 {
  15278. *v = v2
  15279. }
  15280. case map[string]int8:
  15281. fastpathTV.DecMapStringInt8V(v, fastpathCheckNilFalse, false, d)
  15282. case *map[string]int8:
  15283. v2, changed2 := fastpathTV.DecMapStringInt8V(*v, fastpathCheckNilFalse, true, d)
  15284. if changed2 {
  15285. *v = v2
  15286. }
  15287. case map[string]int16:
  15288. fastpathTV.DecMapStringInt16V(v, fastpathCheckNilFalse, false, d)
  15289. case *map[string]int16:
  15290. v2, changed2 := fastpathTV.DecMapStringInt16V(*v, fastpathCheckNilFalse, true, d)
  15291. if changed2 {
  15292. *v = v2
  15293. }
  15294. case map[string]int32:
  15295. fastpathTV.DecMapStringInt32V(v, fastpathCheckNilFalse, false, d)
  15296. case *map[string]int32:
  15297. v2, changed2 := fastpathTV.DecMapStringInt32V(*v, fastpathCheckNilFalse, true, d)
  15298. if changed2 {
  15299. *v = v2
  15300. }
  15301. case map[string]int64:
  15302. fastpathTV.DecMapStringInt64V(v, fastpathCheckNilFalse, false, d)
  15303. case *map[string]int64:
  15304. v2, changed2 := fastpathTV.DecMapStringInt64V(*v, fastpathCheckNilFalse, true, d)
  15305. if changed2 {
  15306. *v = v2
  15307. }
  15308. case map[string]float32:
  15309. fastpathTV.DecMapStringFloat32V(v, fastpathCheckNilFalse, false, d)
  15310. case *map[string]float32:
  15311. v2, changed2 := fastpathTV.DecMapStringFloat32V(*v, fastpathCheckNilFalse, true, d)
  15312. if changed2 {
  15313. *v = v2
  15314. }
  15315. case map[string]float64:
  15316. fastpathTV.DecMapStringFloat64V(v, fastpathCheckNilFalse, false, d)
  15317. case *map[string]float64:
  15318. v2, changed2 := fastpathTV.DecMapStringFloat64V(*v, fastpathCheckNilFalse, true, d)
  15319. if changed2 {
  15320. *v = v2
  15321. }
  15322. case map[string]bool:
  15323. fastpathTV.DecMapStringBoolV(v, fastpathCheckNilFalse, false, d)
  15324. case *map[string]bool:
  15325. v2, changed2 := fastpathTV.DecMapStringBoolV(*v, fastpathCheckNilFalse, true, d)
  15326. if changed2 {
  15327. *v = v2
  15328. }
  15329. case []float32:
  15330. fastpathTV.DecSliceFloat32V(v, fastpathCheckNilFalse, false, d)
  15331. case *[]float32:
  15332. v2, changed2 := fastpathTV.DecSliceFloat32V(*v, fastpathCheckNilFalse, true, d)
  15333. if changed2 {
  15334. *v = v2
  15335. }
  15336. case map[float32]interface{}:
  15337. fastpathTV.DecMapFloat32IntfV(v, fastpathCheckNilFalse, false, d)
  15338. case *map[float32]interface{}:
  15339. v2, changed2 := fastpathTV.DecMapFloat32IntfV(*v, fastpathCheckNilFalse, true, d)
  15340. if changed2 {
  15341. *v = v2
  15342. }
  15343. case map[float32]string:
  15344. fastpathTV.DecMapFloat32StringV(v, fastpathCheckNilFalse, false, d)
  15345. case *map[float32]string:
  15346. v2, changed2 := fastpathTV.DecMapFloat32StringV(*v, fastpathCheckNilFalse, true, d)
  15347. if changed2 {
  15348. *v = v2
  15349. }
  15350. case map[float32]uint:
  15351. fastpathTV.DecMapFloat32UintV(v, fastpathCheckNilFalse, false, d)
  15352. case *map[float32]uint:
  15353. v2, changed2 := fastpathTV.DecMapFloat32UintV(*v, fastpathCheckNilFalse, true, d)
  15354. if changed2 {
  15355. *v = v2
  15356. }
  15357. case map[float32]uint8:
  15358. fastpathTV.DecMapFloat32Uint8V(v, fastpathCheckNilFalse, false, d)
  15359. case *map[float32]uint8:
  15360. v2, changed2 := fastpathTV.DecMapFloat32Uint8V(*v, fastpathCheckNilFalse, true, d)
  15361. if changed2 {
  15362. *v = v2
  15363. }
  15364. case map[float32]uint16:
  15365. fastpathTV.DecMapFloat32Uint16V(v, fastpathCheckNilFalse, false, d)
  15366. case *map[float32]uint16:
  15367. v2, changed2 := fastpathTV.DecMapFloat32Uint16V(*v, fastpathCheckNilFalse, true, d)
  15368. if changed2 {
  15369. *v = v2
  15370. }
  15371. case map[float32]uint32:
  15372. fastpathTV.DecMapFloat32Uint32V(v, fastpathCheckNilFalse, false, d)
  15373. case *map[float32]uint32:
  15374. v2, changed2 := fastpathTV.DecMapFloat32Uint32V(*v, fastpathCheckNilFalse, true, d)
  15375. if changed2 {
  15376. *v = v2
  15377. }
  15378. case map[float32]uint64:
  15379. fastpathTV.DecMapFloat32Uint64V(v, fastpathCheckNilFalse, false, d)
  15380. case *map[float32]uint64:
  15381. v2, changed2 := fastpathTV.DecMapFloat32Uint64V(*v, fastpathCheckNilFalse, true, d)
  15382. if changed2 {
  15383. *v = v2
  15384. }
  15385. case map[float32]uintptr:
  15386. fastpathTV.DecMapFloat32UintptrV(v, fastpathCheckNilFalse, false, d)
  15387. case *map[float32]uintptr:
  15388. v2, changed2 := fastpathTV.DecMapFloat32UintptrV(*v, fastpathCheckNilFalse, true, d)
  15389. if changed2 {
  15390. *v = v2
  15391. }
  15392. case map[float32]int:
  15393. fastpathTV.DecMapFloat32IntV(v, fastpathCheckNilFalse, false, d)
  15394. case *map[float32]int:
  15395. v2, changed2 := fastpathTV.DecMapFloat32IntV(*v, fastpathCheckNilFalse, true, d)
  15396. if changed2 {
  15397. *v = v2
  15398. }
  15399. case map[float32]int8:
  15400. fastpathTV.DecMapFloat32Int8V(v, fastpathCheckNilFalse, false, d)
  15401. case *map[float32]int8:
  15402. v2, changed2 := fastpathTV.DecMapFloat32Int8V(*v, fastpathCheckNilFalse, true, d)
  15403. if changed2 {
  15404. *v = v2
  15405. }
  15406. case map[float32]int16:
  15407. fastpathTV.DecMapFloat32Int16V(v, fastpathCheckNilFalse, false, d)
  15408. case *map[float32]int16:
  15409. v2, changed2 := fastpathTV.DecMapFloat32Int16V(*v, fastpathCheckNilFalse, true, d)
  15410. if changed2 {
  15411. *v = v2
  15412. }
  15413. case map[float32]int32:
  15414. fastpathTV.DecMapFloat32Int32V(v, fastpathCheckNilFalse, false, d)
  15415. case *map[float32]int32:
  15416. v2, changed2 := fastpathTV.DecMapFloat32Int32V(*v, fastpathCheckNilFalse, true, d)
  15417. if changed2 {
  15418. *v = v2
  15419. }
  15420. case map[float32]int64:
  15421. fastpathTV.DecMapFloat32Int64V(v, fastpathCheckNilFalse, false, d)
  15422. case *map[float32]int64:
  15423. v2, changed2 := fastpathTV.DecMapFloat32Int64V(*v, fastpathCheckNilFalse, true, d)
  15424. if changed2 {
  15425. *v = v2
  15426. }
  15427. case map[float32]float32:
  15428. fastpathTV.DecMapFloat32Float32V(v, fastpathCheckNilFalse, false, d)
  15429. case *map[float32]float32:
  15430. v2, changed2 := fastpathTV.DecMapFloat32Float32V(*v, fastpathCheckNilFalse, true, d)
  15431. if changed2 {
  15432. *v = v2
  15433. }
  15434. case map[float32]float64:
  15435. fastpathTV.DecMapFloat32Float64V(v, fastpathCheckNilFalse, false, d)
  15436. case *map[float32]float64:
  15437. v2, changed2 := fastpathTV.DecMapFloat32Float64V(*v, fastpathCheckNilFalse, true, d)
  15438. if changed2 {
  15439. *v = v2
  15440. }
  15441. case map[float32]bool:
  15442. fastpathTV.DecMapFloat32BoolV(v, fastpathCheckNilFalse, false, d)
  15443. case *map[float32]bool:
  15444. v2, changed2 := fastpathTV.DecMapFloat32BoolV(*v, fastpathCheckNilFalse, true, d)
  15445. if changed2 {
  15446. *v = v2
  15447. }
  15448. case []float64:
  15449. fastpathTV.DecSliceFloat64V(v, fastpathCheckNilFalse, false, d)
  15450. case *[]float64:
  15451. v2, changed2 := fastpathTV.DecSliceFloat64V(*v, fastpathCheckNilFalse, true, d)
  15452. if changed2 {
  15453. *v = v2
  15454. }
  15455. case map[float64]interface{}:
  15456. fastpathTV.DecMapFloat64IntfV(v, fastpathCheckNilFalse, false, d)
  15457. case *map[float64]interface{}:
  15458. v2, changed2 := fastpathTV.DecMapFloat64IntfV(*v, fastpathCheckNilFalse, true, d)
  15459. if changed2 {
  15460. *v = v2
  15461. }
  15462. case map[float64]string:
  15463. fastpathTV.DecMapFloat64StringV(v, fastpathCheckNilFalse, false, d)
  15464. case *map[float64]string:
  15465. v2, changed2 := fastpathTV.DecMapFloat64StringV(*v, fastpathCheckNilFalse, true, d)
  15466. if changed2 {
  15467. *v = v2
  15468. }
  15469. case map[float64]uint:
  15470. fastpathTV.DecMapFloat64UintV(v, fastpathCheckNilFalse, false, d)
  15471. case *map[float64]uint:
  15472. v2, changed2 := fastpathTV.DecMapFloat64UintV(*v, fastpathCheckNilFalse, true, d)
  15473. if changed2 {
  15474. *v = v2
  15475. }
  15476. case map[float64]uint8:
  15477. fastpathTV.DecMapFloat64Uint8V(v, fastpathCheckNilFalse, false, d)
  15478. case *map[float64]uint8:
  15479. v2, changed2 := fastpathTV.DecMapFloat64Uint8V(*v, fastpathCheckNilFalse, true, d)
  15480. if changed2 {
  15481. *v = v2
  15482. }
  15483. case map[float64]uint16:
  15484. fastpathTV.DecMapFloat64Uint16V(v, fastpathCheckNilFalse, false, d)
  15485. case *map[float64]uint16:
  15486. v2, changed2 := fastpathTV.DecMapFloat64Uint16V(*v, fastpathCheckNilFalse, true, d)
  15487. if changed2 {
  15488. *v = v2
  15489. }
  15490. case map[float64]uint32:
  15491. fastpathTV.DecMapFloat64Uint32V(v, fastpathCheckNilFalse, false, d)
  15492. case *map[float64]uint32:
  15493. v2, changed2 := fastpathTV.DecMapFloat64Uint32V(*v, fastpathCheckNilFalse, true, d)
  15494. if changed2 {
  15495. *v = v2
  15496. }
  15497. case map[float64]uint64:
  15498. fastpathTV.DecMapFloat64Uint64V(v, fastpathCheckNilFalse, false, d)
  15499. case *map[float64]uint64:
  15500. v2, changed2 := fastpathTV.DecMapFloat64Uint64V(*v, fastpathCheckNilFalse, true, d)
  15501. if changed2 {
  15502. *v = v2
  15503. }
  15504. case map[float64]uintptr:
  15505. fastpathTV.DecMapFloat64UintptrV(v, fastpathCheckNilFalse, false, d)
  15506. case *map[float64]uintptr:
  15507. v2, changed2 := fastpathTV.DecMapFloat64UintptrV(*v, fastpathCheckNilFalse, true, d)
  15508. if changed2 {
  15509. *v = v2
  15510. }
  15511. case map[float64]int:
  15512. fastpathTV.DecMapFloat64IntV(v, fastpathCheckNilFalse, false, d)
  15513. case *map[float64]int:
  15514. v2, changed2 := fastpathTV.DecMapFloat64IntV(*v, fastpathCheckNilFalse, true, d)
  15515. if changed2 {
  15516. *v = v2
  15517. }
  15518. case map[float64]int8:
  15519. fastpathTV.DecMapFloat64Int8V(v, fastpathCheckNilFalse, false, d)
  15520. case *map[float64]int8:
  15521. v2, changed2 := fastpathTV.DecMapFloat64Int8V(*v, fastpathCheckNilFalse, true, d)
  15522. if changed2 {
  15523. *v = v2
  15524. }
  15525. case map[float64]int16:
  15526. fastpathTV.DecMapFloat64Int16V(v, fastpathCheckNilFalse, false, d)
  15527. case *map[float64]int16:
  15528. v2, changed2 := fastpathTV.DecMapFloat64Int16V(*v, fastpathCheckNilFalse, true, d)
  15529. if changed2 {
  15530. *v = v2
  15531. }
  15532. case map[float64]int32:
  15533. fastpathTV.DecMapFloat64Int32V(v, fastpathCheckNilFalse, false, d)
  15534. case *map[float64]int32:
  15535. v2, changed2 := fastpathTV.DecMapFloat64Int32V(*v, fastpathCheckNilFalse, true, d)
  15536. if changed2 {
  15537. *v = v2
  15538. }
  15539. case map[float64]int64:
  15540. fastpathTV.DecMapFloat64Int64V(v, fastpathCheckNilFalse, false, d)
  15541. case *map[float64]int64:
  15542. v2, changed2 := fastpathTV.DecMapFloat64Int64V(*v, fastpathCheckNilFalse, true, d)
  15543. if changed2 {
  15544. *v = v2
  15545. }
  15546. case map[float64]float32:
  15547. fastpathTV.DecMapFloat64Float32V(v, fastpathCheckNilFalse, false, d)
  15548. case *map[float64]float32:
  15549. v2, changed2 := fastpathTV.DecMapFloat64Float32V(*v, fastpathCheckNilFalse, true, d)
  15550. if changed2 {
  15551. *v = v2
  15552. }
  15553. case map[float64]float64:
  15554. fastpathTV.DecMapFloat64Float64V(v, fastpathCheckNilFalse, false, d)
  15555. case *map[float64]float64:
  15556. v2, changed2 := fastpathTV.DecMapFloat64Float64V(*v, fastpathCheckNilFalse, true, d)
  15557. if changed2 {
  15558. *v = v2
  15559. }
  15560. case map[float64]bool:
  15561. fastpathTV.DecMapFloat64BoolV(v, fastpathCheckNilFalse, false, d)
  15562. case *map[float64]bool:
  15563. v2, changed2 := fastpathTV.DecMapFloat64BoolV(*v, fastpathCheckNilFalse, true, d)
  15564. if changed2 {
  15565. *v = v2
  15566. }
  15567. case []uint:
  15568. fastpathTV.DecSliceUintV(v, fastpathCheckNilFalse, false, d)
  15569. case *[]uint:
  15570. v2, changed2 := fastpathTV.DecSliceUintV(*v, fastpathCheckNilFalse, true, d)
  15571. if changed2 {
  15572. *v = v2
  15573. }
  15574. case map[uint]interface{}:
  15575. fastpathTV.DecMapUintIntfV(v, fastpathCheckNilFalse, false, d)
  15576. case *map[uint]interface{}:
  15577. v2, changed2 := fastpathTV.DecMapUintIntfV(*v, fastpathCheckNilFalse, true, d)
  15578. if changed2 {
  15579. *v = v2
  15580. }
  15581. case map[uint]string:
  15582. fastpathTV.DecMapUintStringV(v, fastpathCheckNilFalse, false, d)
  15583. case *map[uint]string:
  15584. v2, changed2 := fastpathTV.DecMapUintStringV(*v, fastpathCheckNilFalse, true, d)
  15585. if changed2 {
  15586. *v = v2
  15587. }
  15588. case map[uint]uint:
  15589. fastpathTV.DecMapUintUintV(v, fastpathCheckNilFalse, false, d)
  15590. case *map[uint]uint:
  15591. v2, changed2 := fastpathTV.DecMapUintUintV(*v, fastpathCheckNilFalse, true, d)
  15592. if changed2 {
  15593. *v = v2
  15594. }
  15595. case map[uint]uint8:
  15596. fastpathTV.DecMapUintUint8V(v, fastpathCheckNilFalse, false, d)
  15597. case *map[uint]uint8:
  15598. v2, changed2 := fastpathTV.DecMapUintUint8V(*v, fastpathCheckNilFalse, true, d)
  15599. if changed2 {
  15600. *v = v2
  15601. }
  15602. case map[uint]uint16:
  15603. fastpathTV.DecMapUintUint16V(v, fastpathCheckNilFalse, false, d)
  15604. case *map[uint]uint16:
  15605. v2, changed2 := fastpathTV.DecMapUintUint16V(*v, fastpathCheckNilFalse, true, d)
  15606. if changed2 {
  15607. *v = v2
  15608. }
  15609. case map[uint]uint32:
  15610. fastpathTV.DecMapUintUint32V(v, fastpathCheckNilFalse, false, d)
  15611. case *map[uint]uint32:
  15612. v2, changed2 := fastpathTV.DecMapUintUint32V(*v, fastpathCheckNilFalse, true, d)
  15613. if changed2 {
  15614. *v = v2
  15615. }
  15616. case map[uint]uint64:
  15617. fastpathTV.DecMapUintUint64V(v, fastpathCheckNilFalse, false, d)
  15618. case *map[uint]uint64:
  15619. v2, changed2 := fastpathTV.DecMapUintUint64V(*v, fastpathCheckNilFalse, true, d)
  15620. if changed2 {
  15621. *v = v2
  15622. }
  15623. case map[uint]uintptr:
  15624. fastpathTV.DecMapUintUintptrV(v, fastpathCheckNilFalse, false, d)
  15625. case *map[uint]uintptr:
  15626. v2, changed2 := fastpathTV.DecMapUintUintptrV(*v, fastpathCheckNilFalse, true, d)
  15627. if changed2 {
  15628. *v = v2
  15629. }
  15630. case map[uint]int:
  15631. fastpathTV.DecMapUintIntV(v, fastpathCheckNilFalse, false, d)
  15632. case *map[uint]int:
  15633. v2, changed2 := fastpathTV.DecMapUintIntV(*v, fastpathCheckNilFalse, true, d)
  15634. if changed2 {
  15635. *v = v2
  15636. }
  15637. case map[uint]int8:
  15638. fastpathTV.DecMapUintInt8V(v, fastpathCheckNilFalse, false, d)
  15639. case *map[uint]int8:
  15640. v2, changed2 := fastpathTV.DecMapUintInt8V(*v, fastpathCheckNilFalse, true, d)
  15641. if changed2 {
  15642. *v = v2
  15643. }
  15644. case map[uint]int16:
  15645. fastpathTV.DecMapUintInt16V(v, fastpathCheckNilFalse, false, d)
  15646. case *map[uint]int16:
  15647. v2, changed2 := fastpathTV.DecMapUintInt16V(*v, fastpathCheckNilFalse, true, d)
  15648. if changed2 {
  15649. *v = v2
  15650. }
  15651. case map[uint]int32:
  15652. fastpathTV.DecMapUintInt32V(v, fastpathCheckNilFalse, false, d)
  15653. case *map[uint]int32:
  15654. v2, changed2 := fastpathTV.DecMapUintInt32V(*v, fastpathCheckNilFalse, true, d)
  15655. if changed2 {
  15656. *v = v2
  15657. }
  15658. case map[uint]int64:
  15659. fastpathTV.DecMapUintInt64V(v, fastpathCheckNilFalse, false, d)
  15660. case *map[uint]int64:
  15661. v2, changed2 := fastpathTV.DecMapUintInt64V(*v, fastpathCheckNilFalse, true, d)
  15662. if changed2 {
  15663. *v = v2
  15664. }
  15665. case map[uint]float32:
  15666. fastpathTV.DecMapUintFloat32V(v, fastpathCheckNilFalse, false, d)
  15667. case *map[uint]float32:
  15668. v2, changed2 := fastpathTV.DecMapUintFloat32V(*v, fastpathCheckNilFalse, true, d)
  15669. if changed2 {
  15670. *v = v2
  15671. }
  15672. case map[uint]float64:
  15673. fastpathTV.DecMapUintFloat64V(v, fastpathCheckNilFalse, false, d)
  15674. case *map[uint]float64:
  15675. v2, changed2 := fastpathTV.DecMapUintFloat64V(*v, fastpathCheckNilFalse, true, d)
  15676. if changed2 {
  15677. *v = v2
  15678. }
  15679. case map[uint]bool:
  15680. fastpathTV.DecMapUintBoolV(v, fastpathCheckNilFalse, false, d)
  15681. case *map[uint]bool:
  15682. v2, changed2 := fastpathTV.DecMapUintBoolV(*v, fastpathCheckNilFalse, true, d)
  15683. if changed2 {
  15684. *v = v2
  15685. }
  15686. case map[uint8]interface{}:
  15687. fastpathTV.DecMapUint8IntfV(v, fastpathCheckNilFalse, false, d)
  15688. case *map[uint8]interface{}:
  15689. v2, changed2 := fastpathTV.DecMapUint8IntfV(*v, fastpathCheckNilFalse, true, d)
  15690. if changed2 {
  15691. *v = v2
  15692. }
  15693. case map[uint8]string:
  15694. fastpathTV.DecMapUint8StringV(v, fastpathCheckNilFalse, false, d)
  15695. case *map[uint8]string:
  15696. v2, changed2 := fastpathTV.DecMapUint8StringV(*v, fastpathCheckNilFalse, true, d)
  15697. if changed2 {
  15698. *v = v2
  15699. }
  15700. case map[uint8]uint:
  15701. fastpathTV.DecMapUint8UintV(v, fastpathCheckNilFalse, false, d)
  15702. case *map[uint8]uint:
  15703. v2, changed2 := fastpathTV.DecMapUint8UintV(*v, fastpathCheckNilFalse, true, d)
  15704. if changed2 {
  15705. *v = v2
  15706. }
  15707. case map[uint8]uint8:
  15708. fastpathTV.DecMapUint8Uint8V(v, fastpathCheckNilFalse, false, d)
  15709. case *map[uint8]uint8:
  15710. v2, changed2 := fastpathTV.DecMapUint8Uint8V(*v, fastpathCheckNilFalse, true, d)
  15711. if changed2 {
  15712. *v = v2
  15713. }
  15714. case map[uint8]uint16:
  15715. fastpathTV.DecMapUint8Uint16V(v, fastpathCheckNilFalse, false, d)
  15716. case *map[uint8]uint16:
  15717. v2, changed2 := fastpathTV.DecMapUint8Uint16V(*v, fastpathCheckNilFalse, true, d)
  15718. if changed2 {
  15719. *v = v2
  15720. }
  15721. case map[uint8]uint32:
  15722. fastpathTV.DecMapUint8Uint32V(v, fastpathCheckNilFalse, false, d)
  15723. case *map[uint8]uint32:
  15724. v2, changed2 := fastpathTV.DecMapUint8Uint32V(*v, fastpathCheckNilFalse, true, d)
  15725. if changed2 {
  15726. *v = v2
  15727. }
  15728. case map[uint8]uint64:
  15729. fastpathTV.DecMapUint8Uint64V(v, fastpathCheckNilFalse, false, d)
  15730. case *map[uint8]uint64:
  15731. v2, changed2 := fastpathTV.DecMapUint8Uint64V(*v, fastpathCheckNilFalse, true, d)
  15732. if changed2 {
  15733. *v = v2
  15734. }
  15735. case map[uint8]uintptr:
  15736. fastpathTV.DecMapUint8UintptrV(v, fastpathCheckNilFalse, false, d)
  15737. case *map[uint8]uintptr:
  15738. v2, changed2 := fastpathTV.DecMapUint8UintptrV(*v, fastpathCheckNilFalse, true, d)
  15739. if changed2 {
  15740. *v = v2
  15741. }
  15742. case map[uint8]int:
  15743. fastpathTV.DecMapUint8IntV(v, fastpathCheckNilFalse, false, d)
  15744. case *map[uint8]int:
  15745. v2, changed2 := fastpathTV.DecMapUint8IntV(*v, fastpathCheckNilFalse, true, d)
  15746. if changed2 {
  15747. *v = v2
  15748. }
  15749. case map[uint8]int8:
  15750. fastpathTV.DecMapUint8Int8V(v, fastpathCheckNilFalse, false, d)
  15751. case *map[uint8]int8:
  15752. v2, changed2 := fastpathTV.DecMapUint8Int8V(*v, fastpathCheckNilFalse, true, d)
  15753. if changed2 {
  15754. *v = v2
  15755. }
  15756. case map[uint8]int16:
  15757. fastpathTV.DecMapUint8Int16V(v, fastpathCheckNilFalse, false, d)
  15758. case *map[uint8]int16:
  15759. v2, changed2 := fastpathTV.DecMapUint8Int16V(*v, fastpathCheckNilFalse, true, d)
  15760. if changed2 {
  15761. *v = v2
  15762. }
  15763. case map[uint8]int32:
  15764. fastpathTV.DecMapUint8Int32V(v, fastpathCheckNilFalse, false, d)
  15765. case *map[uint8]int32:
  15766. v2, changed2 := fastpathTV.DecMapUint8Int32V(*v, fastpathCheckNilFalse, true, d)
  15767. if changed2 {
  15768. *v = v2
  15769. }
  15770. case map[uint8]int64:
  15771. fastpathTV.DecMapUint8Int64V(v, fastpathCheckNilFalse, false, d)
  15772. case *map[uint8]int64:
  15773. v2, changed2 := fastpathTV.DecMapUint8Int64V(*v, fastpathCheckNilFalse, true, d)
  15774. if changed2 {
  15775. *v = v2
  15776. }
  15777. case map[uint8]float32:
  15778. fastpathTV.DecMapUint8Float32V(v, fastpathCheckNilFalse, false, d)
  15779. case *map[uint8]float32:
  15780. v2, changed2 := fastpathTV.DecMapUint8Float32V(*v, fastpathCheckNilFalse, true, d)
  15781. if changed2 {
  15782. *v = v2
  15783. }
  15784. case map[uint8]float64:
  15785. fastpathTV.DecMapUint8Float64V(v, fastpathCheckNilFalse, false, d)
  15786. case *map[uint8]float64:
  15787. v2, changed2 := fastpathTV.DecMapUint8Float64V(*v, fastpathCheckNilFalse, true, d)
  15788. if changed2 {
  15789. *v = v2
  15790. }
  15791. case map[uint8]bool:
  15792. fastpathTV.DecMapUint8BoolV(v, fastpathCheckNilFalse, false, d)
  15793. case *map[uint8]bool:
  15794. v2, changed2 := fastpathTV.DecMapUint8BoolV(*v, fastpathCheckNilFalse, true, d)
  15795. if changed2 {
  15796. *v = v2
  15797. }
  15798. case []uint16:
  15799. fastpathTV.DecSliceUint16V(v, fastpathCheckNilFalse, false, d)
  15800. case *[]uint16:
  15801. v2, changed2 := fastpathTV.DecSliceUint16V(*v, fastpathCheckNilFalse, true, d)
  15802. if changed2 {
  15803. *v = v2
  15804. }
  15805. case map[uint16]interface{}:
  15806. fastpathTV.DecMapUint16IntfV(v, fastpathCheckNilFalse, false, d)
  15807. case *map[uint16]interface{}:
  15808. v2, changed2 := fastpathTV.DecMapUint16IntfV(*v, fastpathCheckNilFalse, true, d)
  15809. if changed2 {
  15810. *v = v2
  15811. }
  15812. case map[uint16]string:
  15813. fastpathTV.DecMapUint16StringV(v, fastpathCheckNilFalse, false, d)
  15814. case *map[uint16]string:
  15815. v2, changed2 := fastpathTV.DecMapUint16StringV(*v, fastpathCheckNilFalse, true, d)
  15816. if changed2 {
  15817. *v = v2
  15818. }
  15819. case map[uint16]uint:
  15820. fastpathTV.DecMapUint16UintV(v, fastpathCheckNilFalse, false, d)
  15821. case *map[uint16]uint:
  15822. v2, changed2 := fastpathTV.DecMapUint16UintV(*v, fastpathCheckNilFalse, true, d)
  15823. if changed2 {
  15824. *v = v2
  15825. }
  15826. case map[uint16]uint8:
  15827. fastpathTV.DecMapUint16Uint8V(v, fastpathCheckNilFalse, false, d)
  15828. case *map[uint16]uint8:
  15829. v2, changed2 := fastpathTV.DecMapUint16Uint8V(*v, fastpathCheckNilFalse, true, d)
  15830. if changed2 {
  15831. *v = v2
  15832. }
  15833. case map[uint16]uint16:
  15834. fastpathTV.DecMapUint16Uint16V(v, fastpathCheckNilFalse, false, d)
  15835. case *map[uint16]uint16:
  15836. v2, changed2 := fastpathTV.DecMapUint16Uint16V(*v, fastpathCheckNilFalse, true, d)
  15837. if changed2 {
  15838. *v = v2
  15839. }
  15840. case map[uint16]uint32:
  15841. fastpathTV.DecMapUint16Uint32V(v, fastpathCheckNilFalse, false, d)
  15842. case *map[uint16]uint32:
  15843. v2, changed2 := fastpathTV.DecMapUint16Uint32V(*v, fastpathCheckNilFalse, true, d)
  15844. if changed2 {
  15845. *v = v2
  15846. }
  15847. case map[uint16]uint64:
  15848. fastpathTV.DecMapUint16Uint64V(v, fastpathCheckNilFalse, false, d)
  15849. case *map[uint16]uint64:
  15850. v2, changed2 := fastpathTV.DecMapUint16Uint64V(*v, fastpathCheckNilFalse, true, d)
  15851. if changed2 {
  15852. *v = v2
  15853. }
  15854. case map[uint16]uintptr:
  15855. fastpathTV.DecMapUint16UintptrV(v, fastpathCheckNilFalse, false, d)
  15856. case *map[uint16]uintptr:
  15857. v2, changed2 := fastpathTV.DecMapUint16UintptrV(*v, fastpathCheckNilFalse, true, d)
  15858. if changed2 {
  15859. *v = v2
  15860. }
  15861. case map[uint16]int:
  15862. fastpathTV.DecMapUint16IntV(v, fastpathCheckNilFalse, false, d)
  15863. case *map[uint16]int:
  15864. v2, changed2 := fastpathTV.DecMapUint16IntV(*v, fastpathCheckNilFalse, true, d)
  15865. if changed2 {
  15866. *v = v2
  15867. }
  15868. case map[uint16]int8:
  15869. fastpathTV.DecMapUint16Int8V(v, fastpathCheckNilFalse, false, d)
  15870. case *map[uint16]int8:
  15871. v2, changed2 := fastpathTV.DecMapUint16Int8V(*v, fastpathCheckNilFalse, true, d)
  15872. if changed2 {
  15873. *v = v2
  15874. }
  15875. case map[uint16]int16:
  15876. fastpathTV.DecMapUint16Int16V(v, fastpathCheckNilFalse, false, d)
  15877. case *map[uint16]int16:
  15878. v2, changed2 := fastpathTV.DecMapUint16Int16V(*v, fastpathCheckNilFalse, true, d)
  15879. if changed2 {
  15880. *v = v2
  15881. }
  15882. case map[uint16]int32:
  15883. fastpathTV.DecMapUint16Int32V(v, fastpathCheckNilFalse, false, d)
  15884. case *map[uint16]int32:
  15885. v2, changed2 := fastpathTV.DecMapUint16Int32V(*v, fastpathCheckNilFalse, true, d)
  15886. if changed2 {
  15887. *v = v2
  15888. }
  15889. case map[uint16]int64:
  15890. fastpathTV.DecMapUint16Int64V(v, fastpathCheckNilFalse, false, d)
  15891. case *map[uint16]int64:
  15892. v2, changed2 := fastpathTV.DecMapUint16Int64V(*v, fastpathCheckNilFalse, true, d)
  15893. if changed2 {
  15894. *v = v2
  15895. }
  15896. case map[uint16]float32:
  15897. fastpathTV.DecMapUint16Float32V(v, fastpathCheckNilFalse, false, d)
  15898. case *map[uint16]float32:
  15899. v2, changed2 := fastpathTV.DecMapUint16Float32V(*v, fastpathCheckNilFalse, true, d)
  15900. if changed2 {
  15901. *v = v2
  15902. }
  15903. case map[uint16]float64:
  15904. fastpathTV.DecMapUint16Float64V(v, fastpathCheckNilFalse, false, d)
  15905. case *map[uint16]float64:
  15906. v2, changed2 := fastpathTV.DecMapUint16Float64V(*v, fastpathCheckNilFalse, true, d)
  15907. if changed2 {
  15908. *v = v2
  15909. }
  15910. case map[uint16]bool:
  15911. fastpathTV.DecMapUint16BoolV(v, fastpathCheckNilFalse, false, d)
  15912. case *map[uint16]bool:
  15913. v2, changed2 := fastpathTV.DecMapUint16BoolV(*v, fastpathCheckNilFalse, true, d)
  15914. if changed2 {
  15915. *v = v2
  15916. }
  15917. case []uint32:
  15918. fastpathTV.DecSliceUint32V(v, fastpathCheckNilFalse, false, d)
  15919. case *[]uint32:
  15920. v2, changed2 := fastpathTV.DecSliceUint32V(*v, fastpathCheckNilFalse, true, d)
  15921. if changed2 {
  15922. *v = v2
  15923. }
  15924. case map[uint32]interface{}:
  15925. fastpathTV.DecMapUint32IntfV(v, fastpathCheckNilFalse, false, d)
  15926. case *map[uint32]interface{}:
  15927. v2, changed2 := fastpathTV.DecMapUint32IntfV(*v, fastpathCheckNilFalse, true, d)
  15928. if changed2 {
  15929. *v = v2
  15930. }
  15931. case map[uint32]string:
  15932. fastpathTV.DecMapUint32StringV(v, fastpathCheckNilFalse, false, d)
  15933. case *map[uint32]string:
  15934. v2, changed2 := fastpathTV.DecMapUint32StringV(*v, fastpathCheckNilFalse, true, d)
  15935. if changed2 {
  15936. *v = v2
  15937. }
  15938. case map[uint32]uint:
  15939. fastpathTV.DecMapUint32UintV(v, fastpathCheckNilFalse, false, d)
  15940. case *map[uint32]uint:
  15941. v2, changed2 := fastpathTV.DecMapUint32UintV(*v, fastpathCheckNilFalse, true, d)
  15942. if changed2 {
  15943. *v = v2
  15944. }
  15945. case map[uint32]uint8:
  15946. fastpathTV.DecMapUint32Uint8V(v, fastpathCheckNilFalse, false, d)
  15947. case *map[uint32]uint8:
  15948. v2, changed2 := fastpathTV.DecMapUint32Uint8V(*v, fastpathCheckNilFalse, true, d)
  15949. if changed2 {
  15950. *v = v2
  15951. }
  15952. case map[uint32]uint16:
  15953. fastpathTV.DecMapUint32Uint16V(v, fastpathCheckNilFalse, false, d)
  15954. case *map[uint32]uint16:
  15955. v2, changed2 := fastpathTV.DecMapUint32Uint16V(*v, fastpathCheckNilFalse, true, d)
  15956. if changed2 {
  15957. *v = v2
  15958. }
  15959. case map[uint32]uint32:
  15960. fastpathTV.DecMapUint32Uint32V(v, fastpathCheckNilFalse, false, d)
  15961. case *map[uint32]uint32:
  15962. v2, changed2 := fastpathTV.DecMapUint32Uint32V(*v, fastpathCheckNilFalse, true, d)
  15963. if changed2 {
  15964. *v = v2
  15965. }
  15966. case map[uint32]uint64:
  15967. fastpathTV.DecMapUint32Uint64V(v, fastpathCheckNilFalse, false, d)
  15968. case *map[uint32]uint64:
  15969. v2, changed2 := fastpathTV.DecMapUint32Uint64V(*v, fastpathCheckNilFalse, true, d)
  15970. if changed2 {
  15971. *v = v2
  15972. }
  15973. case map[uint32]uintptr:
  15974. fastpathTV.DecMapUint32UintptrV(v, fastpathCheckNilFalse, false, d)
  15975. case *map[uint32]uintptr:
  15976. v2, changed2 := fastpathTV.DecMapUint32UintptrV(*v, fastpathCheckNilFalse, true, d)
  15977. if changed2 {
  15978. *v = v2
  15979. }
  15980. case map[uint32]int:
  15981. fastpathTV.DecMapUint32IntV(v, fastpathCheckNilFalse, false, d)
  15982. case *map[uint32]int:
  15983. v2, changed2 := fastpathTV.DecMapUint32IntV(*v, fastpathCheckNilFalse, true, d)
  15984. if changed2 {
  15985. *v = v2
  15986. }
  15987. case map[uint32]int8:
  15988. fastpathTV.DecMapUint32Int8V(v, fastpathCheckNilFalse, false, d)
  15989. case *map[uint32]int8:
  15990. v2, changed2 := fastpathTV.DecMapUint32Int8V(*v, fastpathCheckNilFalse, true, d)
  15991. if changed2 {
  15992. *v = v2
  15993. }
  15994. case map[uint32]int16:
  15995. fastpathTV.DecMapUint32Int16V(v, fastpathCheckNilFalse, false, d)
  15996. case *map[uint32]int16:
  15997. v2, changed2 := fastpathTV.DecMapUint32Int16V(*v, fastpathCheckNilFalse, true, d)
  15998. if changed2 {
  15999. *v = v2
  16000. }
  16001. case map[uint32]int32:
  16002. fastpathTV.DecMapUint32Int32V(v, fastpathCheckNilFalse, false, d)
  16003. case *map[uint32]int32:
  16004. v2, changed2 := fastpathTV.DecMapUint32Int32V(*v, fastpathCheckNilFalse, true, d)
  16005. if changed2 {
  16006. *v = v2
  16007. }
  16008. case map[uint32]int64:
  16009. fastpathTV.DecMapUint32Int64V(v, fastpathCheckNilFalse, false, d)
  16010. case *map[uint32]int64:
  16011. v2, changed2 := fastpathTV.DecMapUint32Int64V(*v, fastpathCheckNilFalse, true, d)
  16012. if changed2 {
  16013. *v = v2
  16014. }
  16015. case map[uint32]float32:
  16016. fastpathTV.DecMapUint32Float32V(v, fastpathCheckNilFalse, false, d)
  16017. case *map[uint32]float32:
  16018. v2, changed2 := fastpathTV.DecMapUint32Float32V(*v, fastpathCheckNilFalse, true, d)
  16019. if changed2 {
  16020. *v = v2
  16021. }
  16022. case map[uint32]float64:
  16023. fastpathTV.DecMapUint32Float64V(v, fastpathCheckNilFalse, false, d)
  16024. case *map[uint32]float64:
  16025. v2, changed2 := fastpathTV.DecMapUint32Float64V(*v, fastpathCheckNilFalse, true, d)
  16026. if changed2 {
  16027. *v = v2
  16028. }
  16029. case map[uint32]bool:
  16030. fastpathTV.DecMapUint32BoolV(v, fastpathCheckNilFalse, false, d)
  16031. case *map[uint32]bool:
  16032. v2, changed2 := fastpathTV.DecMapUint32BoolV(*v, fastpathCheckNilFalse, true, d)
  16033. if changed2 {
  16034. *v = v2
  16035. }
  16036. case []uint64:
  16037. fastpathTV.DecSliceUint64V(v, fastpathCheckNilFalse, false, d)
  16038. case *[]uint64:
  16039. v2, changed2 := fastpathTV.DecSliceUint64V(*v, fastpathCheckNilFalse, true, d)
  16040. if changed2 {
  16041. *v = v2
  16042. }
  16043. case map[uint64]interface{}:
  16044. fastpathTV.DecMapUint64IntfV(v, fastpathCheckNilFalse, false, d)
  16045. case *map[uint64]interface{}:
  16046. v2, changed2 := fastpathTV.DecMapUint64IntfV(*v, fastpathCheckNilFalse, true, d)
  16047. if changed2 {
  16048. *v = v2
  16049. }
  16050. case map[uint64]string:
  16051. fastpathTV.DecMapUint64StringV(v, fastpathCheckNilFalse, false, d)
  16052. case *map[uint64]string:
  16053. v2, changed2 := fastpathTV.DecMapUint64StringV(*v, fastpathCheckNilFalse, true, d)
  16054. if changed2 {
  16055. *v = v2
  16056. }
  16057. case map[uint64]uint:
  16058. fastpathTV.DecMapUint64UintV(v, fastpathCheckNilFalse, false, d)
  16059. case *map[uint64]uint:
  16060. v2, changed2 := fastpathTV.DecMapUint64UintV(*v, fastpathCheckNilFalse, true, d)
  16061. if changed2 {
  16062. *v = v2
  16063. }
  16064. case map[uint64]uint8:
  16065. fastpathTV.DecMapUint64Uint8V(v, fastpathCheckNilFalse, false, d)
  16066. case *map[uint64]uint8:
  16067. v2, changed2 := fastpathTV.DecMapUint64Uint8V(*v, fastpathCheckNilFalse, true, d)
  16068. if changed2 {
  16069. *v = v2
  16070. }
  16071. case map[uint64]uint16:
  16072. fastpathTV.DecMapUint64Uint16V(v, fastpathCheckNilFalse, false, d)
  16073. case *map[uint64]uint16:
  16074. v2, changed2 := fastpathTV.DecMapUint64Uint16V(*v, fastpathCheckNilFalse, true, d)
  16075. if changed2 {
  16076. *v = v2
  16077. }
  16078. case map[uint64]uint32:
  16079. fastpathTV.DecMapUint64Uint32V(v, fastpathCheckNilFalse, false, d)
  16080. case *map[uint64]uint32:
  16081. v2, changed2 := fastpathTV.DecMapUint64Uint32V(*v, fastpathCheckNilFalse, true, d)
  16082. if changed2 {
  16083. *v = v2
  16084. }
  16085. case map[uint64]uint64:
  16086. fastpathTV.DecMapUint64Uint64V(v, fastpathCheckNilFalse, false, d)
  16087. case *map[uint64]uint64:
  16088. v2, changed2 := fastpathTV.DecMapUint64Uint64V(*v, fastpathCheckNilFalse, true, d)
  16089. if changed2 {
  16090. *v = v2
  16091. }
  16092. case map[uint64]uintptr:
  16093. fastpathTV.DecMapUint64UintptrV(v, fastpathCheckNilFalse, false, d)
  16094. case *map[uint64]uintptr:
  16095. v2, changed2 := fastpathTV.DecMapUint64UintptrV(*v, fastpathCheckNilFalse, true, d)
  16096. if changed2 {
  16097. *v = v2
  16098. }
  16099. case map[uint64]int:
  16100. fastpathTV.DecMapUint64IntV(v, fastpathCheckNilFalse, false, d)
  16101. case *map[uint64]int:
  16102. v2, changed2 := fastpathTV.DecMapUint64IntV(*v, fastpathCheckNilFalse, true, d)
  16103. if changed2 {
  16104. *v = v2
  16105. }
  16106. case map[uint64]int8:
  16107. fastpathTV.DecMapUint64Int8V(v, fastpathCheckNilFalse, false, d)
  16108. case *map[uint64]int8:
  16109. v2, changed2 := fastpathTV.DecMapUint64Int8V(*v, fastpathCheckNilFalse, true, d)
  16110. if changed2 {
  16111. *v = v2
  16112. }
  16113. case map[uint64]int16:
  16114. fastpathTV.DecMapUint64Int16V(v, fastpathCheckNilFalse, false, d)
  16115. case *map[uint64]int16:
  16116. v2, changed2 := fastpathTV.DecMapUint64Int16V(*v, fastpathCheckNilFalse, true, d)
  16117. if changed2 {
  16118. *v = v2
  16119. }
  16120. case map[uint64]int32:
  16121. fastpathTV.DecMapUint64Int32V(v, fastpathCheckNilFalse, false, d)
  16122. case *map[uint64]int32:
  16123. v2, changed2 := fastpathTV.DecMapUint64Int32V(*v, fastpathCheckNilFalse, true, d)
  16124. if changed2 {
  16125. *v = v2
  16126. }
  16127. case map[uint64]int64:
  16128. fastpathTV.DecMapUint64Int64V(v, fastpathCheckNilFalse, false, d)
  16129. case *map[uint64]int64:
  16130. v2, changed2 := fastpathTV.DecMapUint64Int64V(*v, fastpathCheckNilFalse, true, d)
  16131. if changed2 {
  16132. *v = v2
  16133. }
  16134. case map[uint64]float32:
  16135. fastpathTV.DecMapUint64Float32V(v, fastpathCheckNilFalse, false, d)
  16136. case *map[uint64]float32:
  16137. v2, changed2 := fastpathTV.DecMapUint64Float32V(*v, fastpathCheckNilFalse, true, d)
  16138. if changed2 {
  16139. *v = v2
  16140. }
  16141. case map[uint64]float64:
  16142. fastpathTV.DecMapUint64Float64V(v, fastpathCheckNilFalse, false, d)
  16143. case *map[uint64]float64:
  16144. v2, changed2 := fastpathTV.DecMapUint64Float64V(*v, fastpathCheckNilFalse, true, d)
  16145. if changed2 {
  16146. *v = v2
  16147. }
  16148. case map[uint64]bool:
  16149. fastpathTV.DecMapUint64BoolV(v, fastpathCheckNilFalse, false, d)
  16150. case *map[uint64]bool:
  16151. v2, changed2 := fastpathTV.DecMapUint64BoolV(*v, fastpathCheckNilFalse, true, d)
  16152. if changed2 {
  16153. *v = v2
  16154. }
  16155. case []uintptr:
  16156. fastpathTV.DecSliceUintptrV(v, fastpathCheckNilFalse, false, d)
  16157. case *[]uintptr:
  16158. v2, changed2 := fastpathTV.DecSliceUintptrV(*v, fastpathCheckNilFalse, true, d)
  16159. if changed2 {
  16160. *v = v2
  16161. }
  16162. case map[uintptr]interface{}:
  16163. fastpathTV.DecMapUintptrIntfV(v, fastpathCheckNilFalse, false, d)
  16164. case *map[uintptr]interface{}:
  16165. v2, changed2 := fastpathTV.DecMapUintptrIntfV(*v, fastpathCheckNilFalse, true, d)
  16166. if changed2 {
  16167. *v = v2
  16168. }
  16169. case map[uintptr]string:
  16170. fastpathTV.DecMapUintptrStringV(v, fastpathCheckNilFalse, false, d)
  16171. case *map[uintptr]string:
  16172. v2, changed2 := fastpathTV.DecMapUintptrStringV(*v, fastpathCheckNilFalse, true, d)
  16173. if changed2 {
  16174. *v = v2
  16175. }
  16176. case map[uintptr]uint:
  16177. fastpathTV.DecMapUintptrUintV(v, fastpathCheckNilFalse, false, d)
  16178. case *map[uintptr]uint:
  16179. v2, changed2 := fastpathTV.DecMapUintptrUintV(*v, fastpathCheckNilFalse, true, d)
  16180. if changed2 {
  16181. *v = v2
  16182. }
  16183. case map[uintptr]uint8:
  16184. fastpathTV.DecMapUintptrUint8V(v, fastpathCheckNilFalse, false, d)
  16185. case *map[uintptr]uint8:
  16186. v2, changed2 := fastpathTV.DecMapUintptrUint8V(*v, fastpathCheckNilFalse, true, d)
  16187. if changed2 {
  16188. *v = v2
  16189. }
  16190. case map[uintptr]uint16:
  16191. fastpathTV.DecMapUintptrUint16V(v, fastpathCheckNilFalse, false, d)
  16192. case *map[uintptr]uint16:
  16193. v2, changed2 := fastpathTV.DecMapUintptrUint16V(*v, fastpathCheckNilFalse, true, d)
  16194. if changed2 {
  16195. *v = v2
  16196. }
  16197. case map[uintptr]uint32:
  16198. fastpathTV.DecMapUintptrUint32V(v, fastpathCheckNilFalse, false, d)
  16199. case *map[uintptr]uint32:
  16200. v2, changed2 := fastpathTV.DecMapUintptrUint32V(*v, fastpathCheckNilFalse, true, d)
  16201. if changed2 {
  16202. *v = v2
  16203. }
  16204. case map[uintptr]uint64:
  16205. fastpathTV.DecMapUintptrUint64V(v, fastpathCheckNilFalse, false, d)
  16206. case *map[uintptr]uint64:
  16207. v2, changed2 := fastpathTV.DecMapUintptrUint64V(*v, fastpathCheckNilFalse, true, d)
  16208. if changed2 {
  16209. *v = v2
  16210. }
  16211. case map[uintptr]uintptr:
  16212. fastpathTV.DecMapUintptrUintptrV(v, fastpathCheckNilFalse, false, d)
  16213. case *map[uintptr]uintptr:
  16214. v2, changed2 := fastpathTV.DecMapUintptrUintptrV(*v, fastpathCheckNilFalse, true, d)
  16215. if changed2 {
  16216. *v = v2
  16217. }
  16218. case map[uintptr]int:
  16219. fastpathTV.DecMapUintptrIntV(v, fastpathCheckNilFalse, false, d)
  16220. case *map[uintptr]int:
  16221. v2, changed2 := fastpathTV.DecMapUintptrIntV(*v, fastpathCheckNilFalse, true, d)
  16222. if changed2 {
  16223. *v = v2
  16224. }
  16225. case map[uintptr]int8:
  16226. fastpathTV.DecMapUintptrInt8V(v, fastpathCheckNilFalse, false, d)
  16227. case *map[uintptr]int8:
  16228. v2, changed2 := fastpathTV.DecMapUintptrInt8V(*v, fastpathCheckNilFalse, true, d)
  16229. if changed2 {
  16230. *v = v2
  16231. }
  16232. case map[uintptr]int16:
  16233. fastpathTV.DecMapUintptrInt16V(v, fastpathCheckNilFalse, false, d)
  16234. case *map[uintptr]int16:
  16235. v2, changed2 := fastpathTV.DecMapUintptrInt16V(*v, fastpathCheckNilFalse, true, d)
  16236. if changed2 {
  16237. *v = v2
  16238. }
  16239. case map[uintptr]int32:
  16240. fastpathTV.DecMapUintptrInt32V(v, fastpathCheckNilFalse, false, d)
  16241. case *map[uintptr]int32:
  16242. v2, changed2 := fastpathTV.DecMapUintptrInt32V(*v, fastpathCheckNilFalse, true, d)
  16243. if changed2 {
  16244. *v = v2
  16245. }
  16246. case map[uintptr]int64:
  16247. fastpathTV.DecMapUintptrInt64V(v, fastpathCheckNilFalse, false, d)
  16248. case *map[uintptr]int64:
  16249. v2, changed2 := fastpathTV.DecMapUintptrInt64V(*v, fastpathCheckNilFalse, true, d)
  16250. if changed2 {
  16251. *v = v2
  16252. }
  16253. case map[uintptr]float32:
  16254. fastpathTV.DecMapUintptrFloat32V(v, fastpathCheckNilFalse, false, d)
  16255. case *map[uintptr]float32:
  16256. v2, changed2 := fastpathTV.DecMapUintptrFloat32V(*v, fastpathCheckNilFalse, true, d)
  16257. if changed2 {
  16258. *v = v2
  16259. }
  16260. case map[uintptr]float64:
  16261. fastpathTV.DecMapUintptrFloat64V(v, fastpathCheckNilFalse, false, d)
  16262. case *map[uintptr]float64:
  16263. v2, changed2 := fastpathTV.DecMapUintptrFloat64V(*v, fastpathCheckNilFalse, true, d)
  16264. if changed2 {
  16265. *v = v2
  16266. }
  16267. case map[uintptr]bool:
  16268. fastpathTV.DecMapUintptrBoolV(v, fastpathCheckNilFalse, false, d)
  16269. case *map[uintptr]bool:
  16270. v2, changed2 := fastpathTV.DecMapUintptrBoolV(*v, fastpathCheckNilFalse, true, d)
  16271. if changed2 {
  16272. *v = v2
  16273. }
  16274. case []int:
  16275. fastpathTV.DecSliceIntV(v, fastpathCheckNilFalse, false, d)
  16276. case *[]int:
  16277. v2, changed2 := fastpathTV.DecSliceIntV(*v, fastpathCheckNilFalse, true, d)
  16278. if changed2 {
  16279. *v = v2
  16280. }
  16281. case map[int]interface{}:
  16282. fastpathTV.DecMapIntIntfV(v, fastpathCheckNilFalse, false, d)
  16283. case *map[int]interface{}:
  16284. v2, changed2 := fastpathTV.DecMapIntIntfV(*v, fastpathCheckNilFalse, true, d)
  16285. if changed2 {
  16286. *v = v2
  16287. }
  16288. case map[int]string:
  16289. fastpathTV.DecMapIntStringV(v, fastpathCheckNilFalse, false, d)
  16290. case *map[int]string:
  16291. v2, changed2 := fastpathTV.DecMapIntStringV(*v, fastpathCheckNilFalse, true, d)
  16292. if changed2 {
  16293. *v = v2
  16294. }
  16295. case map[int]uint:
  16296. fastpathTV.DecMapIntUintV(v, fastpathCheckNilFalse, false, d)
  16297. case *map[int]uint:
  16298. v2, changed2 := fastpathTV.DecMapIntUintV(*v, fastpathCheckNilFalse, true, d)
  16299. if changed2 {
  16300. *v = v2
  16301. }
  16302. case map[int]uint8:
  16303. fastpathTV.DecMapIntUint8V(v, fastpathCheckNilFalse, false, d)
  16304. case *map[int]uint8:
  16305. v2, changed2 := fastpathTV.DecMapIntUint8V(*v, fastpathCheckNilFalse, true, d)
  16306. if changed2 {
  16307. *v = v2
  16308. }
  16309. case map[int]uint16:
  16310. fastpathTV.DecMapIntUint16V(v, fastpathCheckNilFalse, false, d)
  16311. case *map[int]uint16:
  16312. v2, changed2 := fastpathTV.DecMapIntUint16V(*v, fastpathCheckNilFalse, true, d)
  16313. if changed2 {
  16314. *v = v2
  16315. }
  16316. case map[int]uint32:
  16317. fastpathTV.DecMapIntUint32V(v, fastpathCheckNilFalse, false, d)
  16318. case *map[int]uint32:
  16319. v2, changed2 := fastpathTV.DecMapIntUint32V(*v, fastpathCheckNilFalse, true, d)
  16320. if changed2 {
  16321. *v = v2
  16322. }
  16323. case map[int]uint64:
  16324. fastpathTV.DecMapIntUint64V(v, fastpathCheckNilFalse, false, d)
  16325. case *map[int]uint64:
  16326. v2, changed2 := fastpathTV.DecMapIntUint64V(*v, fastpathCheckNilFalse, true, d)
  16327. if changed2 {
  16328. *v = v2
  16329. }
  16330. case map[int]uintptr:
  16331. fastpathTV.DecMapIntUintptrV(v, fastpathCheckNilFalse, false, d)
  16332. case *map[int]uintptr:
  16333. v2, changed2 := fastpathTV.DecMapIntUintptrV(*v, fastpathCheckNilFalse, true, d)
  16334. if changed2 {
  16335. *v = v2
  16336. }
  16337. case map[int]int:
  16338. fastpathTV.DecMapIntIntV(v, fastpathCheckNilFalse, false, d)
  16339. case *map[int]int:
  16340. v2, changed2 := fastpathTV.DecMapIntIntV(*v, fastpathCheckNilFalse, true, d)
  16341. if changed2 {
  16342. *v = v2
  16343. }
  16344. case map[int]int8:
  16345. fastpathTV.DecMapIntInt8V(v, fastpathCheckNilFalse, false, d)
  16346. case *map[int]int8:
  16347. v2, changed2 := fastpathTV.DecMapIntInt8V(*v, fastpathCheckNilFalse, true, d)
  16348. if changed2 {
  16349. *v = v2
  16350. }
  16351. case map[int]int16:
  16352. fastpathTV.DecMapIntInt16V(v, fastpathCheckNilFalse, false, d)
  16353. case *map[int]int16:
  16354. v2, changed2 := fastpathTV.DecMapIntInt16V(*v, fastpathCheckNilFalse, true, d)
  16355. if changed2 {
  16356. *v = v2
  16357. }
  16358. case map[int]int32:
  16359. fastpathTV.DecMapIntInt32V(v, fastpathCheckNilFalse, false, d)
  16360. case *map[int]int32:
  16361. v2, changed2 := fastpathTV.DecMapIntInt32V(*v, fastpathCheckNilFalse, true, d)
  16362. if changed2 {
  16363. *v = v2
  16364. }
  16365. case map[int]int64:
  16366. fastpathTV.DecMapIntInt64V(v, fastpathCheckNilFalse, false, d)
  16367. case *map[int]int64:
  16368. v2, changed2 := fastpathTV.DecMapIntInt64V(*v, fastpathCheckNilFalse, true, d)
  16369. if changed2 {
  16370. *v = v2
  16371. }
  16372. case map[int]float32:
  16373. fastpathTV.DecMapIntFloat32V(v, fastpathCheckNilFalse, false, d)
  16374. case *map[int]float32:
  16375. v2, changed2 := fastpathTV.DecMapIntFloat32V(*v, fastpathCheckNilFalse, true, d)
  16376. if changed2 {
  16377. *v = v2
  16378. }
  16379. case map[int]float64:
  16380. fastpathTV.DecMapIntFloat64V(v, fastpathCheckNilFalse, false, d)
  16381. case *map[int]float64:
  16382. v2, changed2 := fastpathTV.DecMapIntFloat64V(*v, fastpathCheckNilFalse, true, d)
  16383. if changed2 {
  16384. *v = v2
  16385. }
  16386. case map[int]bool:
  16387. fastpathTV.DecMapIntBoolV(v, fastpathCheckNilFalse, false, d)
  16388. case *map[int]bool:
  16389. v2, changed2 := fastpathTV.DecMapIntBoolV(*v, fastpathCheckNilFalse, true, d)
  16390. if changed2 {
  16391. *v = v2
  16392. }
  16393. case []int8:
  16394. fastpathTV.DecSliceInt8V(v, fastpathCheckNilFalse, false, d)
  16395. case *[]int8:
  16396. v2, changed2 := fastpathTV.DecSliceInt8V(*v, fastpathCheckNilFalse, true, d)
  16397. if changed2 {
  16398. *v = v2
  16399. }
  16400. case map[int8]interface{}:
  16401. fastpathTV.DecMapInt8IntfV(v, fastpathCheckNilFalse, false, d)
  16402. case *map[int8]interface{}:
  16403. v2, changed2 := fastpathTV.DecMapInt8IntfV(*v, fastpathCheckNilFalse, true, d)
  16404. if changed2 {
  16405. *v = v2
  16406. }
  16407. case map[int8]string:
  16408. fastpathTV.DecMapInt8StringV(v, fastpathCheckNilFalse, false, d)
  16409. case *map[int8]string:
  16410. v2, changed2 := fastpathTV.DecMapInt8StringV(*v, fastpathCheckNilFalse, true, d)
  16411. if changed2 {
  16412. *v = v2
  16413. }
  16414. case map[int8]uint:
  16415. fastpathTV.DecMapInt8UintV(v, fastpathCheckNilFalse, false, d)
  16416. case *map[int8]uint:
  16417. v2, changed2 := fastpathTV.DecMapInt8UintV(*v, fastpathCheckNilFalse, true, d)
  16418. if changed2 {
  16419. *v = v2
  16420. }
  16421. case map[int8]uint8:
  16422. fastpathTV.DecMapInt8Uint8V(v, fastpathCheckNilFalse, false, d)
  16423. case *map[int8]uint8:
  16424. v2, changed2 := fastpathTV.DecMapInt8Uint8V(*v, fastpathCheckNilFalse, true, d)
  16425. if changed2 {
  16426. *v = v2
  16427. }
  16428. case map[int8]uint16:
  16429. fastpathTV.DecMapInt8Uint16V(v, fastpathCheckNilFalse, false, d)
  16430. case *map[int8]uint16:
  16431. v2, changed2 := fastpathTV.DecMapInt8Uint16V(*v, fastpathCheckNilFalse, true, d)
  16432. if changed2 {
  16433. *v = v2
  16434. }
  16435. case map[int8]uint32:
  16436. fastpathTV.DecMapInt8Uint32V(v, fastpathCheckNilFalse, false, d)
  16437. case *map[int8]uint32:
  16438. v2, changed2 := fastpathTV.DecMapInt8Uint32V(*v, fastpathCheckNilFalse, true, d)
  16439. if changed2 {
  16440. *v = v2
  16441. }
  16442. case map[int8]uint64:
  16443. fastpathTV.DecMapInt8Uint64V(v, fastpathCheckNilFalse, false, d)
  16444. case *map[int8]uint64:
  16445. v2, changed2 := fastpathTV.DecMapInt8Uint64V(*v, fastpathCheckNilFalse, true, d)
  16446. if changed2 {
  16447. *v = v2
  16448. }
  16449. case map[int8]uintptr:
  16450. fastpathTV.DecMapInt8UintptrV(v, fastpathCheckNilFalse, false, d)
  16451. case *map[int8]uintptr:
  16452. v2, changed2 := fastpathTV.DecMapInt8UintptrV(*v, fastpathCheckNilFalse, true, d)
  16453. if changed2 {
  16454. *v = v2
  16455. }
  16456. case map[int8]int:
  16457. fastpathTV.DecMapInt8IntV(v, fastpathCheckNilFalse, false, d)
  16458. case *map[int8]int:
  16459. v2, changed2 := fastpathTV.DecMapInt8IntV(*v, fastpathCheckNilFalse, true, d)
  16460. if changed2 {
  16461. *v = v2
  16462. }
  16463. case map[int8]int8:
  16464. fastpathTV.DecMapInt8Int8V(v, fastpathCheckNilFalse, false, d)
  16465. case *map[int8]int8:
  16466. v2, changed2 := fastpathTV.DecMapInt8Int8V(*v, fastpathCheckNilFalse, true, d)
  16467. if changed2 {
  16468. *v = v2
  16469. }
  16470. case map[int8]int16:
  16471. fastpathTV.DecMapInt8Int16V(v, fastpathCheckNilFalse, false, d)
  16472. case *map[int8]int16:
  16473. v2, changed2 := fastpathTV.DecMapInt8Int16V(*v, fastpathCheckNilFalse, true, d)
  16474. if changed2 {
  16475. *v = v2
  16476. }
  16477. case map[int8]int32:
  16478. fastpathTV.DecMapInt8Int32V(v, fastpathCheckNilFalse, false, d)
  16479. case *map[int8]int32:
  16480. v2, changed2 := fastpathTV.DecMapInt8Int32V(*v, fastpathCheckNilFalse, true, d)
  16481. if changed2 {
  16482. *v = v2
  16483. }
  16484. case map[int8]int64:
  16485. fastpathTV.DecMapInt8Int64V(v, fastpathCheckNilFalse, false, d)
  16486. case *map[int8]int64:
  16487. v2, changed2 := fastpathTV.DecMapInt8Int64V(*v, fastpathCheckNilFalse, true, d)
  16488. if changed2 {
  16489. *v = v2
  16490. }
  16491. case map[int8]float32:
  16492. fastpathTV.DecMapInt8Float32V(v, fastpathCheckNilFalse, false, d)
  16493. case *map[int8]float32:
  16494. v2, changed2 := fastpathTV.DecMapInt8Float32V(*v, fastpathCheckNilFalse, true, d)
  16495. if changed2 {
  16496. *v = v2
  16497. }
  16498. case map[int8]float64:
  16499. fastpathTV.DecMapInt8Float64V(v, fastpathCheckNilFalse, false, d)
  16500. case *map[int8]float64:
  16501. v2, changed2 := fastpathTV.DecMapInt8Float64V(*v, fastpathCheckNilFalse, true, d)
  16502. if changed2 {
  16503. *v = v2
  16504. }
  16505. case map[int8]bool:
  16506. fastpathTV.DecMapInt8BoolV(v, fastpathCheckNilFalse, false, d)
  16507. case *map[int8]bool:
  16508. v2, changed2 := fastpathTV.DecMapInt8BoolV(*v, fastpathCheckNilFalse, true, d)
  16509. if changed2 {
  16510. *v = v2
  16511. }
  16512. case []int16:
  16513. fastpathTV.DecSliceInt16V(v, fastpathCheckNilFalse, false, d)
  16514. case *[]int16:
  16515. v2, changed2 := fastpathTV.DecSliceInt16V(*v, fastpathCheckNilFalse, true, d)
  16516. if changed2 {
  16517. *v = v2
  16518. }
  16519. case map[int16]interface{}:
  16520. fastpathTV.DecMapInt16IntfV(v, fastpathCheckNilFalse, false, d)
  16521. case *map[int16]interface{}:
  16522. v2, changed2 := fastpathTV.DecMapInt16IntfV(*v, fastpathCheckNilFalse, true, d)
  16523. if changed2 {
  16524. *v = v2
  16525. }
  16526. case map[int16]string:
  16527. fastpathTV.DecMapInt16StringV(v, fastpathCheckNilFalse, false, d)
  16528. case *map[int16]string:
  16529. v2, changed2 := fastpathTV.DecMapInt16StringV(*v, fastpathCheckNilFalse, true, d)
  16530. if changed2 {
  16531. *v = v2
  16532. }
  16533. case map[int16]uint:
  16534. fastpathTV.DecMapInt16UintV(v, fastpathCheckNilFalse, false, d)
  16535. case *map[int16]uint:
  16536. v2, changed2 := fastpathTV.DecMapInt16UintV(*v, fastpathCheckNilFalse, true, d)
  16537. if changed2 {
  16538. *v = v2
  16539. }
  16540. case map[int16]uint8:
  16541. fastpathTV.DecMapInt16Uint8V(v, fastpathCheckNilFalse, false, d)
  16542. case *map[int16]uint8:
  16543. v2, changed2 := fastpathTV.DecMapInt16Uint8V(*v, fastpathCheckNilFalse, true, d)
  16544. if changed2 {
  16545. *v = v2
  16546. }
  16547. case map[int16]uint16:
  16548. fastpathTV.DecMapInt16Uint16V(v, fastpathCheckNilFalse, false, d)
  16549. case *map[int16]uint16:
  16550. v2, changed2 := fastpathTV.DecMapInt16Uint16V(*v, fastpathCheckNilFalse, true, d)
  16551. if changed2 {
  16552. *v = v2
  16553. }
  16554. case map[int16]uint32:
  16555. fastpathTV.DecMapInt16Uint32V(v, fastpathCheckNilFalse, false, d)
  16556. case *map[int16]uint32:
  16557. v2, changed2 := fastpathTV.DecMapInt16Uint32V(*v, fastpathCheckNilFalse, true, d)
  16558. if changed2 {
  16559. *v = v2
  16560. }
  16561. case map[int16]uint64:
  16562. fastpathTV.DecMapInt16Uint64V(v, fastpathCheckNilFalse, false, d)
  16563. case *map[int16]uint64:
  16564. v2, changed2 := fastpathTV.DecMapInt16Uint64V(*v, fastpathCheckNilFalse, true, d)
  16565. if changed2 {
  16566. *v = v2
  16567. }
  16568. case map[int16]uintptr:
  16569. fastpathTV.DecMapInt16UintptrV(v, fastpathCheckNilFalse, false, d)
  16570. case *map[int16]uintptr:
  16571. v2, changed2 := fastpathTV.DecMapInt16UintptrV(*v, fastpathCheckNilFalse, true, d)
  16572. if changed2 {
  16573. *v = v2
  16574. }
  16575. case map[int16]int:
  16576. fastpathTV.DecMapInt16IntV(v, fastpathCheckNilFalse, false, d)
  16577. case *map[int16]int:
  16578. v2, changed2 := fastpathTV.DecMapInt16IntV(*v, fastpathCheckNilFalse, true, d)
  16579. if changed2 {
  16580. *v = v2
  16581. }
  16582. case map[int16]int8:
  16583. fastpathTV.DecMapInt16Int8V(v, fastpathCheckNilFalse, false, d)
  16584. case *map[int16]int8:
  16585. v2, changed2 := fastpathTV.DecMapInt16Int8V(*v, fastpathCheckNilFalse, true, d)
  16586. if changed2 {
  16587. *v = v2
  16588. }
  16589. case map[int16]int16:
  16590. fastpathTV.DecMapInt16Int16V(v, fastpathCheckNilFalse, false, d)
  16591. case *map[int16]int16:
  16592. v2, changed2 := fastpathTV.DecMapInt16Int16V(*v, fastpathCheckNilFalse, true, d)
  16593. if changed2 {
  16594. *v = v2
  16595. }
  16596. case map[int16]int32:
  16597. fastpathTV.DecMapInt16Int32V(v, fastpathCheckNilFalse, false, d)
  16598. case *map[int16]int32:
  16599. v2, changed2 := fastpathTV.DecMapInt16Int32V(*v, fastpathCheckNilFalse, true, d)
  16600. if changed2 {
  16601. *v = v2
  16602. }
  16603. case map[int16]int64:
  16604. fastpathTV.DecMapInt16Int64V(v, fastpathCheckNilFalse, false, d)
  16605. case *map[int16]int64:
  16606. v2, changed2 := fastpathTV.DecMapInt16Int64V(*v, fastpathCheckNilFalse, true, d)
  16607. if changed2 {
  16608. *v = v2
  16609. }
  16610. case map[int16]float32:
  16611. fastpathTV.DecMapInt16Float32V(v, fastpathCheckNilFalse, false, d)
  16612. case *map[int16]float32:
  16613. v2, changed2 := fastpathTV.DecMapInt16Float32V(*v, fastpathCheckNilFalse, true, d)
  16614. if changed2 {
  16615. *v = v2
  16616. }
  16617. case map[int16]float64:
  16618. fastpathTV.DecMapInt16Float64V(v, fastpathCheckNilFalse, false, d)
  16619. case *map[int16]float64:
  16620. v2, changed2 := fastpathTV.DecMapInt16Float64V(*v, fastpathCheckNilFalse, true, d)
  16621. if changed2 {
  16622. *v = v2
  16623. }
  16624. case map[int16]bool:
  16625. fastpathTV.DecMapInt16BoolV(v, fastpathCheckNilFalse, false, d)
  16626. case *map[int16]bool:
  16627. v2, changed2 := fastpathTV.DecMapInt16BoolV(*v, fastpathCheckNilFalse, true, d)
  16628. if changed2 {
  16629. *v = v2
  16630. }
  16631. case []int32:
  16632. fastpathTV.DecSliceInt32V(v, fastpathCheckNilFalse, false, d)
  16633. case *[]int32:
  16634. v2, changed2 := fastpathTV.DecSliceInt32V(*v, fastpathCheckNilFalse, true, d)
  16635. if changed2 {
  16636. *v = v2
  16637. }
  16638. case map[int32]interface{}:
  16639. fastpathTV.DecMapInt32IntfV(v, fastpathCheckNilFalse, false, d)
  16640. case *map[int32]interface{}:
  16641. v2, changed2 := fastpathTV.DecMapInt32IntfV(*v, fastpathCheckNilFalse, true, d)
  16642. if changed2 {
  16643. *v = v2
  16644. }
  16645. case map[int32]string:
  16646. fastpathTV.DecMapInt32StringV(v, fastpathCheckNilFalse, false, d)
  16647. case *map[int32]string:
  16648. v2, changed2 := fastpathTV.DecMapInt32StringV(*v, fastpathCheckNilFalse, true, d)
  16649. if changed2 {
  16650. *v = v2
  16651. }
  16652. case map[int32]uint:
  16653. fastpathTV.DecMapInt32UintV(v, fastpathCheckNilFalse, false, d)
  16654. case *map[int32]uint:
  16655. v2, changed2 := fastpathTV.DecMapInt32UintV(*v, fastpathCheckNilFalse, true, d)
  16656. if changed2 {
  16657. *v = v2
  16658. }
  16659. case map[int32]uint8:
  16660. fastpathTV.DecMapInt32Uint8V(v, fastpathCheckNilFalse, false, d)
  16661. case *map[int32]uint8:
  16662. v2, changed2 := fastpathTV.DecMapInt32Uint8V(*v, fastpathCheckNilFalse, true, d)
  16663. if changed2 {
  16664. *v = v2
  16665. }
  16666. case map[int32]uint16:
  16667. fastpathTV.DecMapInt32Uint16V(v, fastpathCheckNilFalse, false, d)
  16668. case *map[int32]uint16:
  16669. v2, changed2 := fastpathTV.DecMapInt32Uint16V(*v, fastpathCheckNilFalse, true, d)
  16670. if changed2 {
  16671. *v = v2
  16672. }
  16673. case map[int32]uint32:
  16674. fastpathTV.DecMapInt32Uint32V(v, fastpathCheckNilFalse, false, d)
  16675. case *map[int32]uint32:
  16676. v2, changed2 := fastpathTV.DecMapInt32Uint32V(*v, fastpathCheckNilFalse, true, d)
  16677. if changed2 {
  16678. *v = v2
  16679. }
  16680. case map[int32]uint64:
  16681. fastpathTV.DecMapInt32Uint64V(v, fastpathCheckNilFalse, false, d)
  16682. case *map[int32]uint64:
  16683. v2, changed2 := fastpathTV.DecMapInt32Uint64V(*v, fastpathCheckNilFalse, true, d)
  16684. if changed2 {
  16685. *v = v2
  16686. }
  16687. case map[int32]uintptr:
  16688. fastpathTV.DecMapInt32UintptrV(v, fastpathCheckNilFalse, false, d)
  16689. case *map[int32]uintptr:
  16690. v2, changed2 := fastpathTV.DecMapInt32UintptrV(*v, fastpathCheckNilFalse, true, d)
  16691. if changed2 {
  16692. *v = v2
  16693. }
  16694. case map[int32]int:
  16695. fastpathTV.DecMapInt32IntV(v, fastpathCheckNilFalse, false, d)
  16696. case *map[int32]int:
  16697. v2, changed2 := fastpathTV.DecMapInt32IntV(*v, fastpathCheckNilFalse, true, d)
  16698. if changed2 {
  16699. *v = v2
  16700. }
  16701. case map[int32]int8:
  16702. fastpathTV.DecMapInt32Int8V(v, fastpathCheckNilFalse, false, d)
  16703. case *map[int32]int8:
  16704. v2, changed2 := fastpathTV.DecMapInt32Int8V(*v, fastpathCheckNilFalse, true, d)
  16705. if changed2 {
  16706. *v = v2
  16707. }
  16708. case map[int32]int16:
  16709. fastpathTV.DecMapInt32Int16V(v, fastpathCheckNilFalse, false, d)
  16710. case *map[int32]int16:
  16711. v2, changed2 := fastpathTV.DecMapInt32Int16V(*v, fastpathCheckNilFalse, true, d)
  16712. if changed2 {
  16713. *v = v2
  16714. }
  16715. case map[int32]int32:
  16716. fastpathTV.DecMapInt32Int32V(v, fastpathCheckNilFalse, false, d)
  16717. case *map[int32]int32:
  16718. v2, changed2 := fastpathTV.DecMapInt32Int32V(*v, fastpathCheckNilFalse, true, d)
  16719. if changed2 {
  16720. *v = v2
  16721. }
  16722. case map[int32]int64:
  16723. fastpathTV.DecMapInt32Int64V(v, fastpathCheckNilFalse, false, d)
  16724. case *map[int32]int64:
  16725. v2, changed2 := fastpathTV.DecMapInt32Int64V(*v, fastpathCheckNilFalse, true, d)
  16726. if changed2 {
  16727. *v = v2
  16728. }
  16729. case map[int32]float32:
  16730. fastpathTV.DecMapInt32Float32V(v, fastpathCheckNilFalse, false, d)
  16731. case *map[int32]float32:
  16732. v2, changed2 := fastpathTV.DecMapInt32Float32V(*v, fastpathCheckNilFalse, true, d)
  16733. if changed2 {
  16734. *v = v2
  16735. }
  16736. case map[int32]float64:
  16737. fastpathTV.DecMapInt32Float64V(v, fastpathCheckNilFalse, false, d)
  16738. case *map[int32]float64:
  16739. v2, changed2 := fastpathTV.DecMapInt32Float64V(*v, fastpathCheckNilFalse, true, d)
  16740. if changed2 {
  16741. *v = v2
  16742. }
  16743. case map[int32]bool:
  16744. fastpathTV.DecMapInt32BoolV(v, fastpathCheckNilFalse, false, d)
  16745. case *map[int32]bool:
  16746. v2, changed2 := fastpathTV.DecMapInt32BoolV(*v, fastpathCheckNilFalse, true, d)
  16747. if changed2 {
  16748. *v = v2
  16749. }
  16750. case []int64:
  16751. fastpathTV.DecSliceInt64V(v, fastpathCheckNilFalse, false, d)
  16752. case *[]int64:
  16753. v2, changed2 := fastpathTV.DecSliceInt64V(*v, fastpathCheckNilFalse, true, d)
  16754. if changed2 {
  16755. *v = v2
  16756. }
  16757. case map[int64]interface{}:
  16758. fastpathTV.DecMapInt64IntfV(v, fastpathCheckNilFalse, false, d)
  16759. case *map[int64]interface{}:
  16760. v2, changed2 := fastpathTV.DecMapInt64IntfV(*v, fastpathCheckNilFalse, true, d)
  16761. if changed2 {
  16762. *v = v2
  16763. }
  16764. case map[int64]string:
  16765. fastpathTV.DecMapInt64StringV(v, fastpathCheckNilFalse, false, d)
  16766. case *map[int64]string:
  16767. v2, changed2 := fastpathTV.DecMapInt64StringV(*v, fastpathCheckNilFalse, true, d)
  16768. if changed2 {
  16769. *v = v2
  16770. }
  16771. case map[int64]uint:
  16772. fastpathTV.DecMapInt64UintV(v, fastpathCheckNilFalse, false, d)
  16773. case *map[int64]uint:
  16774. v2, changed2 := fastpathTV.DecMapInt64UintV(*v, fastpathCheckNilFalse, true, d)
  16775. if changed2 {
  16776. *v = v2
  16777. }
  16778. case map[int64]uint8:
  16779. fastpathTV.DecMapInt64Uint8V(v, fastpathCheckNilFalse, false, d)
  16780. case *map[int64]uint8:
  16781. v2, changed2 := fastpathTV.DecMapInt64Uint8V(*v, fastpathCheckNilFalse, true, d)
  16782. if changed2 {
  16783. *v = v2
  16784. }
  16785. case map[int64]uint16:
  16786. fastpathTV.DecMapInt64Uint16V(v, fastpathCheckNilFalse, false, d)
  16787. case *map[int64]uint16:
  16788. v2, changed2 := fastpathTV.DecMapInt64Uint16V(*v, fastpathCheckNilFalse, true, d)
  16789. if changed2 {
  16790. *v = v2
  16791. }
  16792. case map[int64]uint32:
  16793. fastpathTV.DecMapInt64Uint32V(v, fastpathCheckNilFalse, false, d)
  16794. case *map[int64]uint32:
  16795. v2, changed2 := fastpathTV.DecMapInt64Uint32V(*v, fastpathCheckNilFalse, true, d)
  16796. if changed2 {
  16797. *v = v2
  16798. }
  16799. case map[int64]uint64:
  16800. fastpathTV.DecMapInt64Uint64V(v, fastpathCheckNilFalse, false, d)
  16801. case *map[int64]uint64:
  16802. v2, changed2 := fastpathTV.DecMapInt64Uint64V(*v, fastpathCheckNilFalse, true, d)
  16803. if changed2 {
  16804. *v = v2
  16805. }
  16806. case map[int64]uintptr:
  16807. fastpathTV.DecMapInt64UintptrV(v, fastpathCheckNilFalse, false, d)
  16808. case *map[int64]uintptr:
  16809. v2, changed2 := fastpathTV.DecMapInt64UintptrV(*v, fastpathCheckNilFalse, true, d)
  16810. if changed2 {
  16811. *v = v2
  16812. }
  16813. case map[int64]int:
  16814. fastpathTV.DecMapInt64IntV(v, fastpathCheckNilFalse, false, d)
  16815. case *map[int64]int:
  16816. v2, changed2 := fastpathTV.DecMapInt64IntV(*v, fastpathCheckNilFalse, true, d)
  16817. if changed2 {
  16818. *v = v2
  16819. }
  16820. case map[int64]int8:
  16821. fastpathTV.DecMapInt64Int8V(v, fastpathCheckNilFalse, false, d)
  16822. case *map[int64]int8:
  16823. v2, changed2 := fastpathTV.DecMapInt64Int8V(*v, fastpathCheckNilFalse, true, d)
  16824. if changed2 {
  16825. *v = v2
  16826. }
  16827. case map[int64]int16:
  16828. fastpathTV.DecMapInt64Int16V(v, fastpathCheckNilFalse, false, d)
  16829. case *map[int64]int16:
  16830. v2, changed2 := fastpathTV.DecMapInt64Int16V(*v, fastpathCheckNilFalse, true, d)
  16831. if changed2 {
  16832. *v = v2
  16833. }
  16834. case map[int64]int32:
  16835. fastpathTV.DecMapInt64Int32V(v, fastpathCheckNilFalse, false, d)
  16836. case *map[int64]int32:
  16837. v2, changed2 := fastpathTV.DecMapInt64Int32V(*v, fastpathCheckNilFalse, true, d)
  16838. if changed2 {
  16839. *v = v2
  16840. }
  16841. case map[int64]int64:
  16842. fastpathTV.DecMapInt64Int64V(v, fastpathCheckNilFalse, false, d)
  16843. case *map[int64]int64:
  16844. v2, changed2 := fastpathTV.DecMapInt64Int64V(*v, fastpathCheckNilFalse, true, d)
  16845. if changed2 {
  16846. *v = v2
  16847. }
  16848. case map[int64]float32:
  16849. fastpathTV.DecMapInt64Float32V(v, fastpathCheckNilFalse, false, d)
  16850. case *map[int64]float32:
  16851. v2, changed2 := fastpathTV.DecMapInt64Float32V(*v, fastpathCheckNilFalse, true, d)
  16852. if changed2 {
  16853. *v = v2
  16854. }
  16855. case map[int64]float64:
  16856. fastpathTV.DecMapInt64Float64V(v, fastpathCheckNilFalse, false, d)
  16857. case *map[int64]float64:
  16858. v2, changed2 := fastpathTV.DecMapInt64Float64V(*v, fastpathCheckNilFalse, true, d)
  16859. if changed2 {
  16860. *v = v2
  16861. }
  16862. case map[int64]bool:
  16863. fastpathTV.DecMapInt64BoolV(v, fastpathCheckNilFalse, false, d)
  16864. case *map[int64]bool:
  16865. v2, changed2 := fastpathTV.DecMapInt64BoolV(*v, fastpathCheckNilFalse, true, d)
  16866. if changed2 {
  16867. *v = v2
  16868. }
  16869. case []bool:
  16870. fastpathTV.DecSliceBoolV(v, fastpathCheckNilFalse, false, d)
  16871. case *[]bool:
  16872. v2, changed2 := fastpathTV.DecSliceBoolV(*v, fastpathCheckNilFalse, true, d)
  16873. if changed2 {
  16874. *v = v2
  16875. }
  16876. case map[bool]interface{}:
  16877. fastpathTV.DecMapBoolIntfV(v, fastpathCheckNilFalse, false, d)
  16878. case *map[bool]interface{}:
  16879. v2, changed2 := fastpathTV.DecMapBoolIntfV(*v, fastpathCheckNilFalse, true, d)
  16880. if changed2 {
  16881. *v = v2
  16882. }
  16883. case map[bool]string:
  16884. fastpathTV.DecMapBoolStringV(v, fastpathCheckNilFalse, false, d)
  16885. case *map[bool]string:
  16886. v2, changed2 := fastpathTV.DecMapBoolStringV(*v, fastpathCheckNilFalse, true, d)
  16887. if changed2 {
  16888. *v = v2
  16889. }
  16890. case map[bool]uint:
  16891. fastpathTV.DecMapBoolUintV(v, fastpathCheckNilFalse, false, d)
  16892. case *map[bool]uint:
  16893. v2, changed2 := fastpathTV.DecMapBoolUintV(*v, fastpathCheckNilFalse, true, d)
  16894. if changed2 {
  16895. *v = v2
  16896. }
  16897. case map[bool]uint8:
  16898. fastpathTV.DecMapBoolUint8V(v, fastpathCheckNilFalse, false, d)
  16899. case *map[bool]uint8:
  16900. v2, changed2 := fastpathTV.DecMapBoolUint8V(*v, fastpathCheckNilFalse, true, d)
  16901. if changed2 {
  16902. *v = v2
  16903. }
  16904. case map[bool]uint16:
  16905. fastpathTV.DecMapBoolUint16V(v, fastpathCheckNilFalse, false, d)
  16906. case *map[bool]uint16:
  16907. v2, changed2 := fastpathTV.DecMapBoolUint16V(*v, fastpathCheckNilFalse, true, d)
  16908. if changed2 {
  16909. *v = v2
  16910. }
  16911. case map[bool]uint32:
  16912. fastpathTV.DecMapBoolUint32V(v, fastpathCheckNilFalse, false, d)
  16913. case *map[bool]uint32:
  16914. v2, changed2 := fastpathTV.DecMapBoolUint32V(*v, fastpathCheckNilFalse, true, d)
  16915. if changed2 {
  16916. *v = v2
  16917. }
  16918. case map[bool]uint64:
  16919. fastpathTV.DecMapBoolUint64V(v, fastpathCheckNilFalse, false, d)
  16920. case *map[bool]uint64:
  16921. v2, changed2 := fastpathTV.DecMapBoolUint64V(*v, fastpathCheckNilFalse, true, d)
  16922. if changed2 {
  16923. *v = v2
  16924. }
  16925. case map[bool]uintptr:
  16926. fastpathTV.DecMapBoolUintptrV(v, fastpathCheckNilFalse, false, d)
  16927. case *map[bool]uintptr:
  16928. v2, changed2 := fastpathTV.DecMapBoolUintptrV(*v, fastpathCheckNilFalse, true, d)
  16929. if changed2 {
  16930. *v = v2
  16931. }
  16932. case map[bool]int:
  16933. fastpathTV.DecMapBoolIntV(v, fastpathCheckNilFalse, false, d)
  16934. case *map[bool]int:
  16935. v2, changed2 := fastpathTV.DecMapBoolIntV(*v, fastpathCheckNilFalse, true, d)
  16936. if changed2 {
  16937. *v = v2
  16938. }
  16939. case map[bool]int8:
  16940. fastpathTV.DecMapBoolInt8V(v, fastpathCheckNilFalse, false, d)
  16941. case *map[bool]int8:
  16942. v2, changed2 := fastpathTV.DecMapBoolInt8V(*v, fastpathCheckNilFalse, true, d)
  16943. if changed2 {
  16944. *v = v2
  16945. }
  16946. case map[bool]int16:
  16947. fastpathTV.DecMapBoolInt16V(v, fastpathCheckNilFalse, false, d)
  16948. case *map[bool]int16:
  16949. v2, changed2 := fastpathTV.DecMapBoolInt16V(*v, fastpathCheckNilFalse, true, d)
  16950. if changed2 {
  16951. *v = v2
  16952. }
  16953. case map[bool]int32:
  16954. fastpathTV.DecMapBoolInt32V(v, fastpathCheckNilFalse, false, d)
  16955. case *map[bool]int32:
  16956. v2, changed2 := fastpathTV.DecMapBoolInt32V(*v, fastpathCheckNilFalse, true, d)
  16957. if changed2 {
  16958. *v = v2
  16959. }
  16960. case map[bool]int64:
  16961. fastpathTV.DecMapBoolInt64V(v, fastpathCheckNilFalse, false, d)
  16962. case *map[bool]int64:
  16963. v2, changed2 := fastpathTV.DecMapBoolInt64V(*v, fastpathCheckNilFalse, true, d)
  16964. if changed2 {
  16965. *v = v2
  16966. }
  16967. case map[bool]float32:
  16968. fastpathTV.DecMapBoolFloat32V(v, fastpathCheckNilFalse, false, d)
  16969. case *map[bool]float32:
  16970. v2, changed2 := fastpathTV.DecMapBoolFloat32V(*v, fastpathCheckNilFalse, true, d)
  16971. if changed2 {
  16972. *v = v2
  16973. }
  16974. case map[bool]float64:
  16975. fastpathTV.DecMapBoolFloat64V(v, fastpathCheckNilFalse, false, d)
  16976. case *map[bool]float64:
  16977. v2, changed2 := fastpathTV.DecMapBoolFloat64V(*v, fastpathCheckNilFalse, true, d)
  16978. if changed2 {
  16979. *v = v2
  16980. }
  16981. case map[bool]bool:
  16982. fastpathTV.DecMapBoolBoolV(v, fastpathCheckNilFalse, false, d)
  16983. case *map[bool]bool:
  16984. v2, changed2 := fastpathTV.DecMapBoolBoolV(*v, fastpathCheckNilFalse, true, d)
  16985. if changed2 {
  16986. *v = v2
  16987. }
  16988. default:
  16989. _ = v // TODO: workaround https://github.com/golang/go/issues/12927 (remove after go 1.6 release)
  16990. return false
  16991. }
  16992. return true
  16993. }
  16994. // -- -- fast path functions
  16995. func (f *decFnInfo) fastpathDecSliceIntfR(rv reflect.Value) {
  16996. array := f.seq == seqTypeArray
  16997. if !array && rv.CanAddr() {
  16998. vp := rv2i(rv.Addr()).(*[]interface{})
  16999. v, changed := fastpathTV.DecSliceIntfV(*vp, fastpathCheckNilFalse, !array, f.d)
  17000. if changed {
  17001. *vp = v
  17002. }
  17003. } else {
  17004. v := rv2i(rv).([]interface{})
  17005. fastpathTV.DecSliceIntfV(v, fastpathCheckNilFalse, false, f.d)
  17006. }
  17007. }
  17008. func (f fastpathT) DecSliceIntfX(vp *[]interface{}, checkNil bool, d *Decoder) {
  17009. v, changed := f.DecSliceIntfV(*vp, checkNil, true, d)
  17010. if changed {
  17011. *vp = v
  17012. }
  17013. }
  17014. func (_ fastpathT) DecSliceIntfV(v []interface{}, checkNil bool, canChange bool, d *Decoder) (_ []interface{}, changed bool) {
  17015. dd := d.d
  17016. if checkNil && dd.TryDecodeAsNil() {
  17017. if v != nil {
  17018. changed = true
  17019. }
  17020. return nil, changed
  17021. }
  17022. slh, containerLenS := d.decSliceHelperStart()
  17023. if containerLenS == 0 {
  17024. if canChange {
  17025. if v == nil {
  17026. v = []interface{}{}
  17027. } else if len(v) != 0 {
  17028. v = v[:0]
  17029. }
  17030. changed = true
  17031. }
  17032. slh.End()
  17033. return v, changed
  17034. }
  17035. hasLen := containerLenS > 0
  17036. var xlen int
  17037. if hasLen && canChange {
  17038. if containerLenS > cap(v) {
  17039. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 16)
  17040. if xlen <= cap(v) {
  17041. v = v[:xlen]
  17042. } else {
  17043. v = make([]interface{}, xlen)
  17044. }
  17045. changed = true
  17046. } else if containerLenS != len(v) {
  17047. v = v[:containerLenS]
  17048. changed = true
  17049. }
  17050. }
  17051. j := 0
  17052. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17053. if j == 0 && len(v) == 0 {
  17054. if hasLen {
  17055. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 16)
  17056. } else {
  17057. xlen = 8
  17058. }
  17059. v = make([]interface{}, xlen)
  17060. changed = true
  17061. }
  17062. // if indefinite, etc, then expand the slice if necessary
  17063. var decodeIntoBlank bool
  17064. if j >= len(v) {
  17065. if canChange {
  17066. v = append(v, nil)
  17067. changed = true
  17068. } else {
  17069. d.arrayCannotExpand(len(v), j+1)
  17070. decodeIntoBlank = true
  17071. }
  17072. }
  17073. slh.ElemContainerState(j)
  17074. if decodeIntoBlank {
  17075. d.swallow()
  17076. } else {
  17077. d.decode(&v[j])
  17078. }
  17079. }
  17080. if canChange {
  17081. if j < len(v) {
  17082. v = v[:j]
  17083. changed = true
  17084. } else if j == 0 && v == nil {
  17085. v = make([]interface{}, 0)
  17086. changed = true
  17087. }
  17088. }
  17089. slh.End()
  17090. return v, changed
  17091. }
  17092. func (f *decFnInfo) fastpathDecSliceStringR(rv reflect.Value) {
  17093. array := f.seq == seqTypeArray
  17094. if !array && rv.CanAddr() {
  17095. vp := rv2i(rv.Addr()).(*[]string)
  17096. v, changed := fastpathTV.DecSliceStringV(*vp, fastpathCheckNilFalse, !array, f.d)
  17097. if changed {
  17098. *vp = v
  17099. }
  17100. } else {
  17101. v := rv2i(rv).([]string)
  17102. fastpathTV.DecSliceStringV(v, fastpathCheckNilFalse, false, f.d)
  17103. }
  17104. }
  17105. func (f fastpathT) DecSliceStringX(vp *[]string, checkNil bool, d *Decoder) {
  17106. v, changed := f.DecSliceStringV(*vp, checkNil, true, d)
  17107. if changed {
  17108. *vp = v
  17109. }
  17110. }
  17111. func (_ fastpathT) DecSliceStringV(v []string, checkNil bool, canChange bool, d *Decoder) (_ []string, changed bool) {
  17112. dd := d.d
  17113. if checkNil && dd.TryDecodeAsNil() {
  17114. if v != nil {
  17115. changed = true
  17116. }
  17117. return nil, changed
  17118. }
  17119. slh, containerLenS := d.decSliceHelperStart()
  17120. if containerLenS == 0 {
  17121. if canChange {
  17122. if v == nil {
  17123. v = []string{}
  17124. } else if len(v) != 0 {
  17125. v = v[:0]
  17126. }
  17127. changed = true
  17128. }
  17129. slh.End()
  17130. return v, changed
  17131. }
  17132. hasLen := containerLenS > 0
  17133. var xlen int
  17134. if hasLen && canChange {
  17135. if containerLenS > cap(v) {
  17136. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 16)
  17137. if xlen <= cap(v) {
  17138. v = v[:xlen]
  17139. } else {
  17140. v = make([]string, xlen)
  17141. }
  17142. changed = true
  17143. } else if containerLenS != len(v) {
  17144. v = v[:containerLenS]
  17145. changed = true
  17146. }
  17147. }
  17148. j := 0
  17149. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17150. if j == 0 && len(v) == 0 {
  17151. if hasLen {
  17152. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 16)
  17153. } else {
  17154. xlen = 8
  17155. }
  17156. v = make([]string, xlen)
  17157. changed = true
  17158. }
  17159. // if indefinite, etc, then expand the slice if necessary
  17160. var decodeIntoBlank bool
  17161. if j >= len(v) {
  17162. if canChange {
  17163. v = append(v, "")
  17164. changed = true
  17165. } else {
  17166. d.arrayCannotExpand(len(v), j+1)
  17167. decodeIntoBlank = true
  17168. }
  17169. }
  17170. slh.ElemContainerState(j)
  17171. if decodeIntoBlank {
  17172. d.swallow()
  17173. } else {
  17174. v[j] = dd.DecodeString()
  17175. }
  17176. }
  17177. if canChange {
  17178. if j < len(v) {
  17179. v = v[:j]
  17180. changed = true
  17181. } else if j == 0 && v == nil {
  17182. v = make([]string, 0)
  17183. changed = true
  17184. }
  17185. }
  17186. slh.End()
  17187. return v, changed
  17188. }
  17189. func (f *decFnInfo) fastpathDecSliceFloat32R(rv reflect.Value) {
  17190. array := f.seq == seqTypeArray
  17191. if !array && rv.CanAddr() {
  17192. vp := rv2i(rv.Addr()).(*[]float32)
  17193. v, changed := fastpathTV.DecSliceFloat32V(*vp, fastpathCheckNilFalse, !array, f.d)
  17194. if changed {
  17195. *vp = v
  17196. }
  17197. } else {
  17198. v := rv2i(rv).([]float32)
  17199. fastpathTV.DecSliceFloat32V(v, fastpathCheckNilFalse, false, f.d)
  17200. }
  17201. }
  17202. func (f fastpathT) DecSliceFloat32X(vp *[]float32, checkNil bool, d *Decoder) {
  17203. v, changed := f.DecSliceFloat32V(*vp, checkNil, true, d)
  17204. if changed {
  17205. *vp = v
  17206. }
  17207. }
  17208. func (_ fastpathT) DecSliceFloat32V(v []float32, checkNil bool, canChange bool, d *Decoder) (_ []float32, changed bool) {
  17209. dd := d.d
  17210. if checkNil && dd.TryDecodeAsNil() {
  17211. if v != nil {
  17212. changed = true
  17213. }
  17214. return nil, changed
  17215. }
  17216. slh, containerLenS := d.decSliceHelperStart()
  17217. if containerLenS == 0 {
  17218. if canChange {
  17219. if v == nil {
  17220. v = []float32{}
  17221. } else if len(v) != 0 {
  17222. v = v[:0]
  17223. }
  17224. changed = true
  17225. }
  17226. slh.End()
  17227. return v, changed
  17228. }
  17229. hasLen := containerLenS > 0
  17230. var xlen int
  17231. if hasLen && canChange {
  17232. if containerLenS > cap(v) {
  17233. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 4)
  17234. if xlen <= cap(v) {
  17235. v = v[:xlen]
  17236. } else {
  17237. v = make([]float32, xlen)
  17238. }
  17239. changed = true
  17240. } else if containerLenS != len(v) {
  17241. v = v[:containerLenS]
  17242. changed = true
  17243. }
  17244. }
  17245. j := 0
  17246. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17247. if j == 0 && len(v) == 0 {
  17248. if hasLen {
  17249. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 4)
  17250. } else {
  17251. xlen = 8
  17252. }
  17253. v = make([]float32, xlen)
  17254. changed = true
  17255. }
  17256. // if indefinite, etc, then expand the slice if necessary
  17257. var decodeIntoBlank bool
  17258. if j >= len(v) {
  17259. if canChange {
  17260. v = append(v, 0)
  17261. changed = true
  17262. } else {
  17263. d.arrayCannotExpand(len(v), j+1)
  17264. decodeIntoBlank = true
  17265. }
  17266. }
  17267. slh.ElemContainerState(j)
  17268. if decodeIntoBlank {
  17269. d.swallow()
  17270. } else {
  17271. v[j] = float32(dd.DecodeFloat(true))
  17272. }
  17273. }
  17274. if canChange {
  17275. if j < len(v) {
  17276. v = v[:j]
  17277. changed = true
  17278. } else if j == 0 && v == nil {
  17279. v = make([]float32, 0)
  17280. changed = true
  17281. }
  17282. }
  17283. slh.End()
  17284. return v, changed
  17285. }
  17286. func (f *decFnInfo) fastpathDecSliceFloat64R(rv reflect.Value) {
  17287. array := f.seq == seqTypeArray
  17288. if !array && rv.CanAddr() {
  17289. vp := rv2i(rv.Addr()).(*[]float64)
  17290. v, changed := fastpathTV.DecSliceFloat64V(*vp, fastpathCheckNilFalse, !array, f.d)
  17291. if changed {
  17292. *vp = v
  17293. }
  17294. } else {
  17295. v := rv2i(rv).([]float64)
  17296. fastpathTV.DecSliceFloat64V(v, fastpathCheckNilFalse, false, f.d)
  17297. }
  17298. }
  17299. func (f fastpathT) DecSliceFloat64X(vp *[]float64, checkNil bool, d *Decoder) {
  17300. v, changed := f.DecSliceFloat64V(*vp, checkNil, true, d)
  17301. if changed {
  17302. *vp = v
  17303. }
  17304. }
  17305. func (_ fastpathT) DecSliceFloat64V(v []float64, checkNil bool, canChange bool, d *Decoder) (_ []float64, changed bool) {
  17306. dd := d.d
  17307. if checkNil && dd.TryDecodeAsNil() {
  17308. if v != nil {
  17309. changed = true
  17310. }
  17311. return nil, changed
  17312. }
  17313. slh, containerLenS := d.decSliceHelperStart()
  17314. if containerLenS == 0 {
  17315. if canChange {
  17316. if v == nil {
  17317. v = []float64{}
  17318. } else if len(v) != 0 {
  17319. v = v[:0]
  17320. }
  17321. changed = true
  17322. }
  17323. slh.End()
  17324. return v, changed
  17325. }
  17326. hasLen := containerLenS > 0
  17327. var xlen int
  17328. if hasLen && canChange {
  17329. if containerLenS > cap(v) {
  17330. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17331. if xlen <= cap(v) {
  17332. v = v[:xlen]
  17333. } else {
  17334. v = make([]float64, xlen)
  17335. }
  17336. changed = true
  17337. } else if containerLenS != len(v) {
  17338. v = v[:containerLenS]
  17339. changed = true
  17340. }
  17341. }
  17342. j := 0
  17343. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17344. if j == 0 && len(v) == 0 {
  17345. if hasLen {
  17346. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17347. } else {
  17348. xlen = 8
  17349. }
  17350. v = make([]float64, xlen)
  17351. changed = true
  17352. }
  17353. // if indefinite, etc, then expand the slice if necessary
  17354. var decodeIntoBlank bool
  17355. if j >= len(v) {
  17356. if canChange {
  17357. v = append(v, 0)
  17358. changed = true
  17359. } else {
  17360. d.arrayCannotExpand(len(v), j+1)
  17361. decodeIntoBlank = true
  17362. }
  17363. }
  17364. slh.ElemContainerState(j)
  17365. if decodeIntoBlank {
  17366. d.swallow()
  17367. } else {
  17368. v[j] = dd.DecodeFloat(false)
  17369. }
  17370. }
  17371. if canChange {
  17372. if j < len(v) {
  17373. v = v[:j]
  17374. changed = true
  17375. } else if j == 0 && v == nil {
  17376. v = make([]float64, 0)
  17377. changed = true
  17378. }
  17379. }
  17380. slh.End()
  17381. return v, changed
  17382. }
  17383. func (f *decFnInfo) fastpathDecSliceUintR(rv reflect.Value) {
  17384. array := f.seq == seqTypeArray
  17385. if !array && rv.CanAddr() {
  17386. vp := rv2i(rv.Addr()).(*[]uint)
  17387. v, changed := fastpathTV.DecSliceUintV(*vp, fastpathCheckNilFalse, !array, f.d)
  17388. if changed {
  17389. *vp = v
  17390. }
  17391. } else {
  17392. v := rv2i(rv).([]uint)
  17393. fastpathTV.DecSliceUintV(v, fastpathCheckNilFalse, false, f.d)
  17394. }
  17395. }
  17396. func (f fastpathT) DecSliceUintX(vp *[]uint, checkNil bool, d *Decoder) {
  17397. v, changed := f.DecSliceUintV(*vp, checkNil, true, d)
  17398. if changed {
  17399. *vp = v
  17400. }
  17401. }
  17402. func (_ fastpathT) DecSliceUintV(v []uint, checkNil bool, canChange bool, d *Decoder) (_ []uint, changed bool) {
  17403. dd := d.d
  17404. if checkNil && dd.TryDecodeAsNil() {
  17405. if v != nil {
  17406. changed = true
  17407. }
  17408. return nil, changed
  17409. }
  17410. slh, containerLenS := d.decSliceHelperStart()
  17411. if containerLenS == 0 {
  17412. if canChange {
  17413. if v == nil {
  17414. v = []uint{}
  17415. } else if len(v) != 0 {
  17416. v = v[:0]
  17417. }
  17418. changed = true
  17419. }
  17420. slh.End()
  17421. return v, changed
  17422. }
  17423. hasLen := containerLenS > 0
  17424. var xlen int
  17425. if hasLen && canChange {
  17426. if containerLenS > cap(v) {
  17427. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17428. if xlen <= cap(v) {
  17429. v = v[:xlen]
  17430. } else {
  17431. v = make([]uint, xlen)
  17432. }
  17433. changed = true
  17434. } else if containerLenS != len(v) {
  17435. v = v[:containerLenS]
  17436. changed = true
  17437. }
  17438. }
  17439. j := 0
  17440. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17441. if j == 0 && len(v) == 0 {
  17442. if hasLen {
  17443. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17444. } else {
  17445. xlen = 8
  17446. }
  17447. v = make([]uint, xlen)
  17448. changed = true
  17449. }
  17450. // if indefinite, etc, then expand the slice if necessary
  17451. var decodeIntoBlank bool
  17452. if j >= len(v) {
  17453. if canChange {
  17454. v = append(v, 0)
  17455. changed = true
  17456. } else {
  17457. d.arrayCannotExpand(len(v), j+1)
  17458. decodeIntoBlank = true
  17459. }
  17460. }
  17461. slh.ElemContainerState(j)
  17462. if decodeIntoBlank {
  17463. d.swallow()
  17464. } else {
  17465. v[j] = uint(dd.DecodeUint(uintBitsize))
  17466. }
  17467. }
  17468. if canChange {
  17469. if j < len(v) {
  17470. v = v[:j]
  17471. changed = true
  17472. } else if j == 0 && v == nil {
  17473. v = make([]uint, 0)
  17474. changed = true
  17475. }
  17476. }
  17477. slh.End()
  17478. return v, changed
  17479. }
  17480. func (f *decFnInfo) fastpathDecSliceUint16R(rv reflect.Value) {
  17481. array := f.seq == seqTypeArray
  17482. if !array && rv.CanAddr() {
  17483. vp := rv2i(rv.Addr()).(*[]uint16)
  17484. v, changed := fastpathTV.DecSliceUint16V(*vp, fastpathCheckNilFalse, !array, f.d)
  17485. if changed {
  17486. *vp = v
  17487. }
  17488. } else {
  17489. v := rv2i(rv).([]uint16)
  17490. fastpathTV.DecSliceUint16V(v, fastpathCheckNilFalse, false, f.d)
  17491. }
  17492. }
  17493. func (f fastpathT) DecSliceUint16X(vp *[]uint16, checkNil bool, d *Decoder) {
  17494. v, changed := f.DecSliceUint16V(*vp, checkNil, true, d)
  17495. if changed {
  17496. *vp = v
  17497. }
  17498. }
  17499. func (_ fastpathT) DecSliceUint16V(v []uint16, checkNil bool, canChange bool, d *Decoder) (_ []uint16, changed bool) {
  17500. dd := d.d
  17501. if checkNil && dd.TryDecodeAsNil() {
  17502. if v != nil {
  17503. changed = true
  17504. }
  17505. return nil, changed
  17506. }
  17507. slh, containerLenS := d.decSliceHelperStart()
  17508. if containerLenS == 0 {
  17509. if canChange {
  17510. if v == nil {
  17511. v = []uint16{}
  17512. } else if len(v) != 0 {
  17513. v = v[:0]
  17514. }
  17515. changed = true
  17516. }
  17517. slh.End()
  17518. return v, changed
  17519. }
  17520. hasLen := containerLenS > 0
  17521. var xlen int
  17522. if hasLen && canChange {
  17523. if containerLenS > cap(v) {
  17524. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 2)
  17525. if xlen <= cap(v) {
  17526. v = v[:xlen]
  17527. } else {
  17528. v = make([]uint16, xlen)
  17529. }
  17530. changed = true
  17531. } else if containerLenS != len(v) {
  17532. v = v[:containerLenS]
  17533. changed = true
  17534. }
  17535. }
  17536. j := 0
  17537. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17538. if j == 0 && len(v) == 0 {
  17539. if hasLen {
  17540. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 2)
  17541. } else {
  17542. xlen = 8
  17543. }
  17544. v = make([]uint16, xlen)
  17545. changed = true
  17546. }
  17547. // if indefinite, etc, then expand the slice if necessary
  17548. var decodeIntoBlank bool
  17549. if j >= len(v) {
  17550. if canChange {
  17551. v = append(v, 0)
  17552. changed = true
  17553. } else {
  17554. d.arrayCannotExpand(len(v), j+1)
  17555. decodeIntoBlank = true
  17556. }
  17557. }
  17558. slh.ElemContainerState(j)
  17559. if decodeIntoBlank {
  17560. d.swallow()
  17561. } else {
  17562. v[j] = uint16(dd.DecodeUint(16))
  17563. }
  17564. }
  17565. if canChange {
  17566. if j < len(v) {
  17567. v = v[:j]
  17568. changed = true
  17569. } else if j == 0 && v == nil {
  17570. v = make([]uint16, 0)
  17571. changed = true
  17572. }
  17573. }
  17574. slh.End()
  17575. return v, changed
  17576. }
  17577. func (f *decFnInfo) fastpathDecSliceUint32R(rv reflect.Value) {
  17578. array := f.seq == seqTypeArray
  17579. if !array && rv.CanAddr() {
  17580. vp := rv2i(rv.Addr()).(*[]uint32)
  17581. v, changed := fastpathTV.DecSliceUint32V(*vp, fastpathCheckNilFalse, !array, f.d)
  17582. if changed {
  17583. *vp = v
  17584. }
  17585. } else {
  17586. v := rv2i(rv).([]uint32)
  17587. fastpathTV.DecSliceUint32V(v, fastpathCheckNilFalse, false, f.d)
  17588. }
  17589. }
  17590. func (f fastpathT) DecSliceUint32X(vp *[]uint32, checkNil bool, d *Decoder) {
  17591. v, changed := f.DecSliceUint32V(*vp, checkNil, true, d)
  17592. if changed {
  17593. *vp = v
  17594. }
  17595. }
  17596. func (_ fastpathT) DecSliceUint32V(v []uint32, checkNil bool, canChange bool, d *Decoder) (_ []uint32, changed bool) {
  17597. dd := d.d
  17598. if checkNil && dd.TryDecodeAsNil() {
  17599. if v != nil {
  17600. changed = true
  17601. }
  17602. return nil, changed
  17603. }
  17604. slh, containerLenS := d.decSliceHelperStart()
  17605. if containerLenS == 0 {
  17606. if canChange {
  17607. if v == nil {
  17608. v = []uint32{}
  17609. } else if len(v) != 0 {
  17610. v = v[:0]
  17611. }
  17612. changed = true
  17613. }
  17614. slh.End()
  17615. return v, changed
  17616. }
  17617. hasLen := containerLenS > 0
  17618. var xlen int
  17619. if hasLen && canChange {
  17620. if containerLenS > cap(v) {
  17621. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 4)
  17622. if xlen <= cap(v) {
  17623. v = v[:xlen]
  17624. } else {
  17625. v = make([]uint32, xlen)
  17626. }
  17627. changed = true
  17628. } else if containerLenS != len(v) {
  17629. v = v[:containerLenS]
  17630. changed = true
  17631. }
  17632. }
  17633. j := 0
  17634. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17635. if j == 0 && len(v) == 0 {
  17636. if hasLen {
  17637. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 4)
  17638. } else {
  17639. xlen = 8
  17640. }
  17641. v = make([]uint32, xlen)
  17642. changed = true
  17643. }
  17644. // if indefinite, etc, then expand the slice if necessary
  17645. var decodeIntoBlank bool
  17646. if j >= len(v) {
  17647. if canChange {
  17648. v = append(v, 0)
  17649. changed = true
  17650. } else {
  17651. d.arrayCannotExpand(len(v), j+1)
  17652. decodeIntoBlank = true
  17653. }
  17654. }
  17655. slh.ElemContainerState(j)
  17656. if decodeIntoBlank {
  17657. d.swallow()
  17658. } else {
  17659. v[j] = uint32(dd.DecodeUint(32))
  17660. }
  17661. }
  17662. if canChange {
  17663. if j < len(v) {
  17664. v = v[:j]
  17665. changed = true
  17666. } else if j == 0 && v == nil {
  17667. v = make([]uint32, 0)
  17668. changed = true
  17669. }
  17670. }
  17671. slh.End()
  17672. return v, changed
  17673. }
  17674. func (f *decFnInfo) fastpathDecSliceUint64R(rv reflect.Value) {
  17675. array := f.seq == seqTypeArray
  17676. if !array && rv.CanAddr() {
  17677. vp := rv2i(rv.Addr()).(*[]uint64)
  17678. v, changed := fastpathTV.DecSliceUint64V(*vp, fastpathCheckNilFalse, !array, f.d)
  17679. if changed {
  17680. *vp = v
  17681. }
  17682. } else {
  17683. v := rv2i(rv).([]uint64)
  17684. fastpathTV.DecSliceUint64V(v, fastpathCheckNilFalse, false, f.d)
  17685. }
  17686. }
  17687. func (f fastpathT) DecSliceUint64X(vp *[]uint64, checkNil bool, d *Decoder) {
  17688. v, changed := f.DecSliceUint64V(*vp, checkNil, true, d)
  17689. if changed {
  17690. *vp = v
  17691. }
  17692. }
  17693. func (_ fastpathT) DecSliceUint64V(v []uint64, checkNil bool, canChange bool, d *Decoder) (_ []uint64, changed bool) {
  17694. dd := d.d
  17695. if checkNil && dd.TryDecodeAsNil() {
  17696. if v != nil {
  17697. changed = true
  17698. }
  17699. return nil, changed
  17700. }
  17701. slh, containerLenS := d.decSliceHelperStart()
  17702. if containerLenS == 0 {
  17703. if canChange {
  17704. if v == nil {
  17705. v = []uint64{}
  17706. } else if len(v) != 0 {
  17707. v = v[:0]
  17708. }
  17709. changed = true
  17710. }
  17711. slh.End()
  17712. return v, changed
  17713. }
  17714. hasLen := containerLenS > 0
  17715. var xlen int
  17716. if hasLen && canChange {
  17717. if containerLenS > cap(v) {
  17718. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17719. if xlen <= cap(v) {
  17720. v = v[:xlen]
  17721. } else {
  17722. v = make([]uint64, xlen)
  17723. }
  17724. changed = true
  17725. } else if containerLenS != len(v) {
  17726. v = v[:containerLenS]
  17727. changed = true
  17728. }
  17729. }
  17730. j := 0
  17731. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17732. if j == 0 && len(v) == 0 {
  17733. if hasLen {
  17734. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17735. } else {
  17736. xlen = 8
  17737. }
  17738. v = make([]uint64, xlen)
  17739. changed = true
  17740. }
  17741. // if indefinite, etc, then expand the slice if necessary
  17742. var decodeIntoBlank bool
  17743. if j >= len(v) {
  17744. if canChange {
  17745. v = append(v, 0)
  17746. changed = true
  17747. } else {
  17748. d.arrayCannotExpand(len(v), j+1)
  17749. decodeIntoBlank = true
  17750. }
  17751. }
  17752. slh.ElemContainerState(j)
  17753. if decodeIntoBlank {
  17754. d.swallow()
  17755. } else {
  17756. v[j] = dd.DecodeUint(64)
  17757. }
  17758. }
  17759. if canChange {
  17760. if j < len(v) {
  17761. v = v[:j]
  17762. changed = true
  17763. } else if j == 0 && v == nil {
  17764. v = make([]uint64, 0)
  17765. changed = true
  17766. }
  17767. }
  17768. slh.End()
  17769. return v, changed
  17770. }
  17771. func (f *decFnInfo) fastpathDecSliceUintptrR(rv reflect.Value) {
  17772. array := f.seq == seqTypeArray
  17773. if !array && rv.CanAddr() {
  17774. vp := rv2i(rv.Addr()).(*[]uintptr)
  17775. v, changed := fastpathTV.DecSliceUintptrV(*vp, fastpathCheckNilFalse, !array, f.d)
  17776. if changed {
  17777. *vp = v
  17778. }
  17779. } else {
  17780. v := rv2i(rv).([]uintptr)
  17781. fastpathTV.DecSliceUintptrV(v, fastpathCheckNilFalse, false, f.d)
  17782. }
  17783. }
  17784. func (f fastpathT) DecSliceUintptrX(vp *[]uintptr, checkNil bool, d *Decoder) {
  17785. v, changed := f.DecSliceUintptrV(*vp, checkNil, true, d)
  17786. if changed {
  17787. *vp = v
  17788. }
  17789. }
  17790. func (_ fastpathT) DecSliceUintptrV(v []uintptr, checkNil bool, canChange bool, d *Decoder) (_ []uintptr, changed bool) {
  17791. dd := d.d
  17792. if checkNil && dd.TryDecodeAsNil() {
  17793. if v != nil {
  17794. changed = true
  17795. }
  17796. return nil, changed
  17797. }
  17798. slh, containerLenS := d.decSliceHelperStart()
  17799. if containerLenS == 0 {
  17800. if canChange {
  17801. if v == nil {
  17802. v = []uintptr{}
  17803. } else if len(v) != 0 {
  17804. v = v[:0]
  17805. }
  17806. changed = true
  17807. }
  17808. slh.End()
  17809. return v, changed
  17810. }
  17811. hasLen := containerLenS > 0
  17812. var xlen int
  17813. if hasLen && canChange {
  17814. if containerLenS > cap(v) {
  17815. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17816. if xlen <= cap(v) {
  17817. v = v[:xlen]
  17818. } else {
  17819. v = make([]uintptr, xlen)
  17820. }
  17821. changed = true
  17822. } else if containerLenS != len(v) {
  17823. v = v[:containerLenS]
  17824. changed = true
  17825. }
  17826. }
  17827. j := 0
  17828. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17829. if j == 0 && len(v) == 0 {
  17830. if hasLen {
  17831. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17832. } else {
  17833. xlen = 8
  17834. }
  17835. v = make([]uintptr, xlen)
  17836. changed = true
  17837. }
  17838. // if indefinite, etc, then expand the slice if necessary
  17839. var decodeIntoBlank bool
  17840. if j >= len(v) {
  17841. if canChange {
  17842. v = append(v, 0)
  17843. changed = true
  17844. } else {
  17845. d.arrayCannotExpand(len(v), j+1)
  17846. decodeIntoBlank = true
  17847. }
  17848. }
  17849. slh.ElemContainerState(j)
  17850. if decodeIntoBlank {
  17851. d.swallow()
  17852. } else {
  17853. v[j] = uintptr(dd.DecodeUint(uintBitsize))
  17854. }
  17855. }
  17856. if canChange {
  17857. if j < len(v) {
  17858. v = v[:j]
  17859. changed = true
  17860. } else if j == 0 && v == nil {
  17861. v = make([]uintptr, 0)
  17862. changed = true
  17863. }
  17864. }
  17865. slh.End()
  17866. return v, changed
  17867. }
  17868. func (f *decFnInfo) fastpathDecSliceIntR(rv reflect.Value) {
  17869. array := f.seq == seqTypeArray
  17870. if !array && rv.CanAddr() {
  17871. vp := rv2i(rv.Addr()).(*[]int)
  17872. v, changed := fastpathTV.DecSliceIntV(*vp, fastpathCheckNilFalse, !array, f.d)
  17873. if changed {
  17874. *vp = v
  17875. }
  17876. } else {
  17877. v := rv2i(rv).([]int)
  17878. fastpathTV.DecSliceIntV(v, fastpathCheckNilFalse, false, f.d)
  17879. }
  17880. }
  17881. func (f fastpathT) DecSliceIntX(vp *[]int, checkNil bool, d *Decoder) {
  17882. v, changed := f.DecSliceIntV(*vp, checkNil, true, d)
  17883. if changed {
  17884. *vp = v
  17885. }
  17886. }
  17887. func (_ fastpathT) DecSliceIntV(v []int, checkNil bool, canChange bool, d *Decoder) (_ []int, changed bool) {
  17888. dd := d.d
  17889. if checkNil && dd.TryDecodeAsNil() {
  17890. if v != nil {
  17891. changed = true
  17892. }
  17893. return nil, changed
  17894. }
  17895. slh, containerLenS := d.decSliceHelperStart()
  17896. if containerLenS == 0 {
  17897. if canChange {
  17898. if v == nil {
  17899. v = []int{}
  17900. } else if len(v) != 0 {
  17901. v = v[:0]
  17902. }
  17903. changed = true
  17904. }
  17905. slh.End()
  17906. return v, changed
  17907. }
  17908. hasLen := containerLenS > 0
  17909. var xlen int
  17910. if hasLen && canChange {
  17911. if containerLenS > cap(v) {
  17912. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17913. if xlen <= cap(v) {
  17914. v = v[:xlen]
  17915. } else {
  17916. v = make([]int, xlen)
  17917. }
  17918. changed = true
  17919. } else if containerLenS != len(v) {
  17920. v = v[:containerLenS]
  17921. changed = true
  17922. }
  17923. }
  17924. j := 0
  17925. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  17926. if j == 0 && len(v) == 0 {
  17927. if hasLen {
  17928. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  17929. } else {
  17930. xlen = 8
  17931. }
  17932. v = make([]int, xlen)
  17933. changed = true
  17934. }
  17935. // if indefinite, etc, then expand the slice if necessary
  17936. var decodeIntoBlank bool
  17937. if j >= len(v) {
  17938. if canChange {
  17939. v = append(v, 0)
  17940. changed = true
  17941. } else {
  17942. d.arrayCannotExpand(len(v), j+1)
  17943. decodeIntoBlank = true
  17944. }
  17945. }
  17946. slh.ElemContainerState(j)
  17947. if decodeIntoBlank {
  17948. d.swallow()
  17949. } else {
  17950. v[j] = int(dd.DecodeInt(intBitsize))
  17951. }
  17952. }
  17953. if canChange {
  17954. if j < len(v) {
  17955. v = v[:j]
  17956. changed = true
  17957. } else if j == 0 && v == nil {
  17958. v = make([]int, 0)
  17959. changed = true
  17960. }
  17961. }
  17962. slh.End()
  17963. return v, changed
  17964. }
  17965. func (f *decFnInfo) fastpathDecSliceInt8R(rv reflect.Value) {
  17966. array := f.seq == seqTypeArray
  17967. if !array && rv.CanAddr() {
  17968. vp := rv2i(rv.Addr()).(*[]int8)
  17969. v, changed := fastpathTV.DecSliceInt8V(*vp, fastpathCheckNilFalse, !array, f.d)
  17970. if changed {
  17971. *vp = v
  17972. }
  17973. } else {
  17974. v := rv2i(rv).([]int8)
  17975. fastpathTV.DecSliceInt8V(v, fastpathCheckNilFalse, false, f.d)
  17976. }
  17977. }
  17978. func (f fastpathT) DecSliceInt8X(vp *[]int8, checkNil bool, d *Decoder) {
  17979. v, changed := f.DecSliceInt8V(*vp, checkNil, true, d)
  17980. if changed {
  17981. *vp = v
  17982. }
  17983. }
  17984. func (_ fastpathT) DecSliceInt8V(v []int8, checkNil bool, canChange bool, d *Decoder) (_ []int8, changed bool) {
  17985. dd := d.d
  17986. if checkNil && dd.TryDecodeAsNil() {
  17987. if v != nil {
  17988. changed = true
  17989. }
  17990. return nil, changed
  17991. }
  17992. slh, containerLenS := d.decSliceHelperStart()
  17993. if containerLenS == 0 {
  17994. if canChange {
  17995. if v == nil {
  17996. v = []int8{}
  17997. } else if len(v) != 0 {
  17998. v = v[:0]
  17999. }
  18000. changed = true
  18001. }
  18002. slh.End()
  18003. return v, changed
  18004. }
  18005. hasLen := containerLenS > 0
  18006. var xlen int
  18007. if hasLen && canChange {
  18008. if containerLenS > cap(v) {
  18009. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 1)
  18010. if xlen <= cap(v) {
  18011. v = v[:xlen]
  18012. } else {
  18013. v = make([]int8, xlen)
  18014. }
  18015. changed = true
  18016. } else if containerLenS != len(v) {
  18017. v = v[:containerLenS]
  18018. changed = true
  18019. }
  18020. }
  18021. j := 0
  18022. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  18023. if j == 0 && len(v) == 0 {
  18024. if hasLen {
  18025. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 1)
  18026. } else {
  18027. xlen = 8
  18028. }
  18029. v = make([]int8, xlen)
  18030. changed = true
  18031. }
  18032. // if indefinite, etc, then expand the slice if necessary
  18033. var decodeIntoBlank bool
  18034. if j >= len(v) {
  18035. if canChange {
  18036. v = append(v, 0)
  18037. changed = true
  18038. } else {
  18039. d.arrayCannotExpand(len(v), j+1)
  18040. decodeIntoBlank = true
  18041. }
  18042. }
  18043. slh.ElemContainerState(j)
  18044. if decodeIntoBlank {
  18045. d.swallow()
  18046. } else {
  18047. v[j] = int8(dd.DecodeInt(8))
  18048. }
  18049. }
  18050. if canChange {
  18051. if j < len(v) {
  18052. v = v[:j]
  18053. changed = true
  18054. } else if j == 0 && v == nil {
  18055. v = make([]int8, 0)
  18056. changed = true
  18057. }
  18058. }
  18059. slh.End()
  18060. return v, changed
  18061. }
  18062. func (f *decFnInfo) fastpathDecSliceInt16R(rv reflect.Value) {
  18063. array := f.seq == seqTypeArray
  18064. if !array && rv.CanAddr() {
  18065. vp := rv2i(rv.Addr()).(*[]int16)
  18066. v, changed := fastpathTV.DecSliceInt16V(*vp, fastpathCheckNilFalse, !array, f.d)
  18067. if changed {
  18068. *vp = v
  18069. }
  18070. } else {
  18071. v := rv2i(rv).([]int16)
  18072. fastpathTV.DecSliceInt16V(v, fastpathCheckNilFalse, false, f.d)
  18073. }
  18074. }
  18075. func (f fastpathT) DecSliceInt16X(vp *[]int16, checkNil bool, d *Decoder) {
  18076. v, changed := f.DecSliceInt16V(*vp, checkNil, true, d)
  18077. if changed {
  18078. *vp = v
  18079. }
  18080. }
  18081. func (_ fastpathT) DecSliceInt16V(v []int16, checkNil bool, canChange bool, d *Decoder) (_ []int16, changed bool) {
  18082. dd := d.d
  18083. if checkNil && dd.TryDecodeAsNil() {
  18084. if v != nil {
  18085. changed = true
  18086. }
  18087. return nil, changed
  18088. }
  18089. slh, containerLenS := d.decSliceHelperStart()
  18090. if containerLenS == 0 {
  18091. if canChange {
  18092. if v == nil {
  18093. v = []int16{}
  18094. } else if len(v) != 0 {
  18095. v = v[:0]
  18096. }
  18097. changed = true
  18098. }
  18099. slh.End()
  18100. return v, changed
  18101. }
  18102. hasLen := containerLenS > 0
  18103. var xlen int
  18104. if hasLen && canChange {
  18105. if containerLenS > cap(v) {
  18106. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 2)
  18107. if xlen <= cap(v) {
  18108. v = v[:xlen]
  18109. } else {
  18110. v = make([]int16, xlen)
  18111. }
  18112. changed = true
  18113. } else if containerLenS != len(v) {
  18114. v = v[:containerLenS]
  18115. changed = true
  18116. }
  18117. }
  18118. j := 0
  18119. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  18120. if j == 0 && len(v) == 0 {
  18121. if hasLen {
  18122. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 2)
  18123. } else {
  18124. xlen = 8
  18125. }
  18126. v = make([]int16, xlen)
  18127. changed = true
  18128. }
  18129. // if indefinite, etc, then expand the slice if necessary
  18130. var decodeIntoBlank bool
  18131. if j >= len(v) {
  18132. if canChange {
  18133. v = append(v, 0)
  18134. changed = true
  18135. } else {
  18136. d.arrayCannotExpand(len(v), j+1)
  18137. decodeIntoBlank = true
  18138. }
  18139. }
  18140. slh.ElemContainerState(j)
  18141. if decodeIntoBlank {
  18142. d.swallow()
  18143. } else {
  18144. v[j] = int16(dd.DecodeInt(16))
  18145. }
  18146. }
  18147. if canChange {
  18148. if j < len(v) {
  18149. v = v[:j]
  18150. changed = true
  18151. } else if j == 0 && v == nil {
  18152. v = make([]int16, 0)
  18153. changed = true
  18154. }
  18155. }
  18156. slh.End()
  18157. return v, changed
  18158. }
  18159. func (f *decFnInfo) fastpathDecSliceInt32R(rv reflect.Value) {
  18160. array := f.seq == seqTypeArray
  18161. if !array && rv.CanAddr() {
  18162. vp := rv2i(rv.Addr()).(*[]int32)
  18163. v, changed := fastpathTV.DecSliceInt32V(*vp, fastpathCheckNilFalse, !array, f.d)
  18164. if changed {
  18165. *vp = v
  18166. }
  18167. } else {
  18168. v := rv2i(rv).([]int32)
  18169. fastpathTV.DecSliceInt32V(v, fastpathCheckNilFalse, false, f.d)
  18170. }
  18171. }
  18172. func (f fastpathT) DecSliceInt32X(vp *[]int32, checkNil bool, d *Decoder) {
  18173. v, changed := f.DecSliceInt32V(*vp, checkNil, true, d)
  18174. if changed {
  18175. *vp = v
  18176. }
  18177. }
  18178. func (_ fastpathT) DecSliceInt32V(v []int32, checkNil bool, canChange bool, d *Decoder) (_ []int32, changed bool) {
  18179. dd := d.d
  18180. if checkNil && dd.TryDecodeAsNil() {
  18181. if v != nil {
  18182. changed = true
  18183. }
  18184. return nil, changed
  18185. }
  18186. slh, containerLenS := d.decSliceHelperStart()
  18187. if containerLenS == 0 {
  18188. if canChange {
  18189. if v == nil {
  18190. v = []int32{}
  18191. } else if len(v) != 0 {
  18192. v = v[:0]
  18193. }
  18194. changed = true
  18195. }
  18196. slh.End()
  18197. return v, changed
  18198. }
  18199. hasLen := containerLenS > 0
  18200. var xlen int
  18201. if hasLen && canChange {
  18202. if containerLenS > cap(v) {
  18203. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 4)
  18204. if xlen <= cap(v) {
  18205. v = v[:xlen]
  18206. } else {
  18207. v = make([]int32, xlen)
  18208. }
  18209. changed = true
  18210. } else if containerLenS != len(v) {
  18211. v = v[:containerLenS]
  18212. changed = true
  18213. }
  18214. }
  18215. j := 0
  18216. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  18217. if j == 0 && len(v) == 0 {
  18218. if hasLen {
  18219. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 4)
  18220. } else {
  18221. xlen = 8
  18222. }
  18223. v = make([]int32, xlen)
  18224. changed = true
  18225. }
  18226. // if indefinite, etc, then expand the slice if necessary
  18227. var decodeIntoBlank bool
  18228. if j >= len(v) {
  18229. if canChange {
  18230. v = append(v, 0)
  18231. changed = true
  18232. } else {
  18233. d.arrayCannotExpand(len(v), j+1)
  18234. decodeIntoBlank = true
  18235. }
  18236. }
  18237. slh.ElemContainerState(j)
  18238. if decodeIntoBlank {
  18239. d.swallow()
  18240. } else {
  18241. v[j] = int32(dd.DecodeInt(32))
  18242. }
  18243. }
  18244. if canChange {
  18245. if j < len(v) {
  18246. v = v[:j]
  18247. changed = true
  18248. } else if j == 0 && v == nil {
  18249. v = make([]int32, 0)
  18250. changed = true
  18251. }
  18252. }
  18253. slh.End()
  18254. return v, changed
  18255. }
  18256. func (f *decFnInfo) fastpathDecSliceInt64R(rv reflect.Value) {
  18257. array := f.seq == seqTypeArray
  18258. if !array && rv.CanAddr() {
  18259. vp := rv2i(rv.Addr()).(*[]int64)
  18260. v, changed := fastpathTV.DecSliceInt64V(*vp, fastpathCheckNilFalse, !array, f.d)
  18261. if changed {
  18262. *vp = v
  18263. }
  18264. } else {
  18265. v := rv2i(rv).([]int64)
  18266. fastpathTV.DecSliceInt64V(v, fastpathCheckNilFalse, false, f.d)
  18267. }
  18268. }
  18269. func (f fastpathT) DecSliceInt64X(vp *[]int64, checkNil bool, d *Decoder) {
  18270. v, changed := f.DecSliceInt64V(*vp, checkNil, true, d)
  18271. if changed {
  18272. *vp = v
  18273. }
  18274. }
  18275. func (_ fastpathT) DecSliceInt64V(v []int64, checkNil bool, canChange bool, d *Decoder) (_ []int64, changed bool) {
  18276. dd := d.d
  18277. if checkNil && dd.TryDecodeAsNil() {
  18278. if v != nil {
  18279. changed = true
  18280. }
  18281. return nil, changed
  18282. }
  18283. slh, containerLenS := d.decSliceHelperStart()
  18284. if containerLenS == 0 {
  18285. if canChange {
  18286. if v == nil {
  18287. v = []int64{}
  18288. } else if len(v) != 0 {
  18289. v = v[:0]
  18290. }
  18291. changed = true
  18292. }
  18293. slh.End()
  18294. return v, changed
  18295. }
  18296. hasLen := containerLenS > 0
  18297. var xlen int
  18298. if hasLen && canChange {
  18299. if containerLenS > cap(v) {
  18300. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  18301. if xlen <= cap(v) {
  18302. v = v[:xlen]
  18303. } else {
  18304. v = make([]int64, xlen)
  18305. }
  18306. changed = true
  18307. } else if containerLenS != len(v) {
  18308. v = v[:containerLenS]
  18309. changed = true
  18310. }
  18311. }
  18312. j := 0
  18313. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  18314. if j == 0 && len(v) == 0 {
  18315. if hasLen {
  18316. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 8)
  18317. } else {
  18318. xlen = 8
  18319. }
  18320. v = make([]int64, xlen)
  18321. changed = true
  18322. }
  18323. // if indefinite, etc, then expand the slice if necessary
  18324. var decodeIntoBlank bool
  18325. if j >= len(v) {
  18326. if canChange {
  18327. v = append(v, 0)
  18328. changed = true
  18329. } else {
  18330. d.arrayCannotExpand(len(v), j+1)
  18331. decodeIntoBlank = true
  18332. }
  18333. }
  18334. slh.ElemContainerState(j)
  18335. if decodeIntoBlank {
  18336. d.swallow()
  18337. } else {
  18338. v[j] = dd.DecodeInt(64)
  18339. }
  18340. }
  18341. if canChange {
  18342. if j < len(v) {
  18343. v = v[:j]
  18344. changed = true
  18345. } else if j == 0 && v == nil {
  18346. v = make([]int64, 0)
  18347. changed = true
  18348. }
  18349. }
  18350. slh.End()
  18351. return v, changed
  18352. }
  18353. func (f *decFnInfo) fastpathDecSliceBoolR(rv reflect.Value) {
  18354. array := f.seq == seqTypeArray
  18355. if !array && rv.CanAddr() {
  18356. vp := rv2i(rv.Addr()).(*[]bool)
  18357. v, changed := fastpathTV.DecSliceBoolV(*vp, fastpathCheckNilFalse, !array, f.d)
  18358. if changed {
  18359. *vp = v
  18360. }
  18361. } else {
  18362. v := rv2i(rv).([]bool)
  18363. fastpathTV.DecSliceBoolV(v, fastpathCheckNilFalse, false, f.d)
  18364. }
  18365. }
  18366. func (f fastpathT) DecSliceBoolX(vp *[]bool, checkNil bool, d *Decoder) {
  18367. v, changed := f.DecSliceBoolV(*vp, checkNil, true, d)
  18368. if changed {
  18369. *vp = v
  18370. }
  18371. }
  18372. func (_ fastpathT) DecSliceBoolV(v []bool, checkNil bool, canChange bool, d *Decoder) (_ []bool, changed bool) {
  18373. dd := d.d
  18374. if checkNil && dd.TryDecodeAsNil() {
  18375. if v != nil {
  18376. changed = true
  18377. }
  18378. return nil, changed
  18379. }
  18380. slh, containerLenS := d.decSliceHelperStart()
  18381. if containerLenS == 0 {
  18382. if canChange {
  18383. if v == nil {
  18384. v = []bool{}
  18385. } else if len(v) != 0 {
  18386. v = v[:0]
  18387. }
  18388. changed = true
  18389. }
  18390. slh.End()
  18391. return v, changed
  18392. }
  18393. hasLen := containerLenS > 0
  18394. var xlen int
  18395. if hasLen && canChange {
  18396. if containerLenS > cap(v) {
  18397. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 1)
  18398. if xlen <= cap(v) {
  18399. v = v[:xlen]
  18400. } else {
  18401. v = make([]bool, xlen)
  18402. }
  18403. changed = true
  18404. } else if containerLenS != len(v) {
  18405. v = v[:containerLenS]
  18406. changed = true
  18407. }
  18408. }
  18409. j := 0
  18410. for ; (hasLen && j < containerLenS) || !(hasLen || dd.CheckBreak()); j++ {
  18411. if j == 0 && len(v) == 0 {
  18412. if hasLen {
  18413. xlen = decInferLen(containerLenS, d.h.MaxInitLen, 1)
  18414. } else {
  18415. xlen = 8
  18416. }
  18417. v = make([]bool, xlen)
  18418. changed = true
  18419. }
  18420. // if indefinite, etc, then expand the slice if necessary
  18421. var decodeIntoBlank bool
  18422. if j >= len(v) {
  18423. if canChange {
  18424. v = append(v, false)
  18425. changed = true
  18426. } else {
  18427. d.arrayCannotExpand(len(v), j+1)
  18428. decodeIntoBlank = true
  18429. }
  18430. }
  18431. slh.ElemContainerState(j)
  18432. if decodeIntoBlank {
  18433. d.swallow()
  18434. } else {
  18435. v[j] = dd.DecodeBool()
  18436. }
  18437. }
  18438. if canChange {
  18439. if j < len(v) {
  18440. v = v[:j]
  18441. changed = true
  18442. } else if j == 0 && v == nil {
  18443. v = make([]bool, 0)
  18444. changed = true
  18445. }
  18446. }
  18447. slh.End()
  18448. return v, changed
  18449. }
  18450. func (f *decFnInfo) fastpathDecMapIntfIntfR(rv reflect.Value) {
  18451. if rv.CanAddr() {
  18452. vp := rv2i(rv.Addr()).(*map[interface{}]interface{})
  18453. v, changed := fastpathTV.DecMapIntfIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  18454. if changed {
  18455. *vp = v
  18456. }
  18457. } else {
  18458. v := rv2i(rv).(map[interface{}]interface{})
  18459. fastpathTV.DecMapIntfIntfV(v, fastpathCheckNilFalse, false, f.d)
  18460. }
  18461. }
  18462. func (f fastpathT) DecMapIntfIntfX(vp *map[interface{}]interface{}, checkNil bool, d *Decoder) {
  18463. v, changed := f.DecMapIntfIntfV(*vp, checkNil, true, d)
  18464. if changed {
  18465. *vp = v
  18466. }
  18467. }
  18468. func (_ fastpathT) DecMapIntfIntfV(v map[interface{}]interface{}, checkNil bool, canChange bool,
  18469. d *Decoder) (_ map[interface{}]interface{}, changed bool) {
  18470. dd := d.d
  18471. cr := d.cr
  18472. if checkNil && dd.TryDecodeAsNil() {
  18473. if v != nil {
  18474. changed = true
  18475. }
  18476. return nil, changed
  18477. }
  18478. containerLen := dd.ReadMapStart()
  18479. if canChange && v == nil {
  18480. xlen := decInferLen(containerLen, d.h.MaxInitLen, 32)
  18481. v = make(map[interface{}]interface{}, xlen)
  18482. changed = true
  18483. }
  18484. if containerLen == 0 {
  18485. if cr != nil {
  18486. cr.sendContainerState(containerMapEnd)
  18487. }
  18488. return v, changed
  18489. }
  18490. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  18491. var mk interface{}
  18492. var mv interface{}
  18493. hasLen := containerLen > 0
  18494. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  18495. if cr != nil {
  18496. cr.sendContainerState(containerMapKey)
  18497. }
  18498. mk = nil
  18499. d.decode(&mk)
  18500. if bv, bok := mk.([]byte); bok {
  18501. mk = d.string(bv)
  18502. }
  18503. if cr != nil {
  18504. cr.sendContainerState(containerMapValue)
  18505. }
  18506. if mapGet {
  18507. mv = v[mk]
  18508. } else {
  18509. mv = nil
  18510. }
  18511. d.decode(&mv)
  18512. if v != nil {
  18513. v[mk] = mv
  18514. }
  18515. }
  18516. if cr != nil {
  18517. cr.sendContainerState(containerMapEnd)
  18518. }
  18519. return v, changed
  18520. }
  18521. func (f *decFnInfo) fastpathDecMapIntfStringR(rv reflect.Value) {
  18522. if rv.CanAddr() {
  18523. vp := rv2i(rv.Addr()).(*map[interface{}]string)
  18524. v, changed := fastpathTV.DecMapIntfStringV(*vp, fastpathCheckNilFalse, true, f.d)
  18525. if changed {
  18526. *vp = v
  18527. }
  18528. } else {
  18529. v := rv2i(rv).(map[interface{}]string)
  18530. fastpathTV.DecMapIntfStringV(v, fastpathCheckNilFalse, false, f.d)
  18531. }
  18532. }
  18533. func (f fastpathT) DecMapIntfStringX(vp *map[interface{}]string, checkNil bool, d *Decoder) {
  18534. v, changed := f.DecMapIntfStringV(*vp, checkNil, true, d)
  18535. if changed {
  18536. *vp = v
  18537. }
  18538. }
  18539. func (_ fastpathT) DecMapIntfStringV(v map[interface{}]string, checkNil bool, canChange bool,
  18540. d *Decoder) (_ map[interface{}]string, changed bool) {
  18541. dd := d.d
  18542. cr := d.cr
  18543. if checkNil && dd.TryDecodeAsNil() {
  18544. if v != nil {
  18545. changed = true
  18546. }
  18547. return nil, changed
  18548. }
  18549. containerLen := dd.ReadMapStart()
  18550. if canChange && v == nil {
  18551. xlen := decInferLen(containerLen, d.h.MaxInitLen, 32)
  18552. v = make(map[interface{}]string, xlen)
  18553. changed = true
  18554. }
  18555. if containerLen == 0 {
  18556. if cr != nil {
  18557. cr.sendContainerState(containerMapEnd)
  18558. }
  18559. return v, changed
  18560. }
  18561. var mk interface{}
  18562. var mv string
  18563. hasLen := containerLen > 0
  18564. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  18565. if cr != nil {
  18566. cr.sendContainerState(containerMapKey)
  18567. }
  18568. mk = nil
  18569. d.decode(&mk)
  18570. if bv, bok := mk.([]byte); bok {
  18571. mk = d.string(bv)
  18572. }
  18573. if cr != nil {
  18574. cr.sendContainerState(containerMapValue)
  18575. }
  18576. mv = dd.DecodeString()
  18577. if v != nil {
  18578. v[mk] = mv
  18579. }
  18580. }
  18581. if cr != nil {
  18582. cr.sendContainerState(containerMapEnd)
  18583. }
  18584. return v, changed
  18585. }
  18586. func (f *decFnInfo) fastpathDecMapIntfUintR(rv reflect.Value) {
  18587. if rv.CanAddr() {
  18588. vp := rv2i(rv.Addr()).(*map[interface{}]uint)
  18589. v, changed := fastpathTV.DecMapIntfUintV(*vp, fastpathCheckNilFalse, true, f.d)
  18590. if changed {
  18591. *vp = v
  18592. }
  18593. } else {
  18594. v := rv2i(rv).(map[interface{}]uint)
  18595. fastpathTV.DecMapIntfUintV(v, fastpathCheckNilFalse, false, f.d)
  18596. }
  18597. }
  18598. func (f fastpathT) DecMapIntfUintX(vp *map[interface{}]uint, checkNil bool, d *Decoder) {
  18599. v, changed := f.DecMapIntfUintV(*vp, checkNil, true, d)
  18600. if changed {
  18601. *vp = v
  18602. }
  18603. }
  18604. func (_ fastpathT) DecMapIntfUintV(v map[interface{}]uint, checkNil bool, canChange bool,
  18605. d *Decoder) (_ map[interface{}]uint, changed bool) {
  18606. dd := d.d
  18607. cr := d.cr
  18608. if checkNil && dd.TryDecodeAsNil() {
  18609. if v != nil {
  18610. changed = true
  18611. }
  18612. return nil, changed
  18613. }
  18614. containerLen := dd.ReadMapStart()
  18615. if canChange && v == nil {
  18616. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  18617. v = make(map[interface{}]uint, xlen)
  18618. changed = true
  18619. }
  18620. if containerLen == 0 {
  18621. if cr != nil {
  18622. cr.sendContainerState(containerMapEnd)
  18623. }
  18624. return v, changed
  18625. }
  18626. var mk interface{}
  18627. var mv uint
  18628. hasLen := containerLen > 0
  18629. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  18630. if cr != nil {
  18631. cr.sendContainerState(containerMapKey)
  18632. }
  18633. mk = nil
  18634. d.decode(&mk)
  18635. if bv, bok := mk.([]byte); bok {
  18636. mk = d.string(bv)
  18637. }
  18638. if cr != nil {
  18639. cr.sendContainerState(containerMapValue)
  18640. }
  18641. mv = uint(dd.DecodeUint(uintBitsize))
  18642. if v != nil {
  18643. v[mk] = mv
  18644. }
  18645. }
  18646. if cr != nil {
  18647. cr.sendContainerState(containerMapEnd)
  18648. }
  18649. return v, changed
  18650. }
  18651. func (f *decFnInfo) fastpathDecMapIntfUint8R(rv reflect.Value) {
  18652. if rv.CanAddr() {
  18653. vp := rv2i(rv.Addr()).(*map[interface{}]uint8)
  18654. v, changed := fastpathTV.DecMapIntfUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  18655. if changed {
  18656. *vp = v
  18657. }
  18658. } else {
  18659. v := rv2i(rv).(map[interface{}]uint8)
  18660. fastpathTV.DecMapIntfUint8V(v, fastpathCheckNilFalse, false, f.d)
  18661. }
  18662. }
  18663. func (f fastpathT) DecMapIntfUint8X(vp *map[interface{}]uint8, checkNil bool, d *Decoder) {
  18664. v, changed := f.DecMapIntfUint8V(*vp, checkNil, true, d)
  18665. if changed {
  18666. *vp = v
  18667. }
  18668. }
  18669. func (_ fastpathT) DecMapIntfUint8V(v map[interface{}]uint8, checkNil bool, canChange bool,
  18670. d *Decoder) (_ map[interface{}]uint8, changed bool) {
  18671. dd := d.d
  18672. cr := d.cr
  18673. if checkNil && dd.TryDecodeAsNil() {
  18674. if v != nil {
  18675. changed = true
  18676. }
  18677. return nil, changed
  18678. }
  18679. containerLen := dd.ReadMapStart()
  18680. if canChange && v == nil {
  18681. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  18682. v = make(map[interface{}]uint8, xlen)
  18683. changed = true
  18684. }
  18685. if containerLen == 0 {
  18686. if cr != nil {
  18687. cr.sendContainerState(containerMapEnd)
  18688. }
  18689. return v, changed
  18690. }
  18691. var mk interface{}
  18692. var mv uint8
  18693. hasLen := containerLen > 0
  18694. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  18695. if cr != nil {
  18696. cr.sendContainerState(containerMapKey)
  18697. }
  18698. mk = nil
  18699. d.decode(&mk)
  18700. if bv, bok := mk.([]byte); bok {
  18701. mk = d.string(bv)
  18702. }
  18703. if cr != nil {
  18704. cr.sendContainerState(containerMapValue)
  18705. }
  18706. mv = uint8(dd.DecodeUint(8))
  18707. if v != nil {
  18708. v[mk] = mv
  18709. }
  18710. }
  18711. if cr != nil {
  18712. cr.sendContainerState(containerMapEnd)
  18713. }
  18714. return v, changed
  18715. }
  18716. func (f *decFnInfo) fastpathDecMapIntfUint16R(rv reflect.Value) {
  18717. if rv.CanAddr() {
  18718. vp := rv2i(rv.Addr()).(*map[interface{}]uint16)
  18719. v, changed := fastpathTV.DecMapIntfUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  18720. if changed {
  18721. *vp = v
  18722. }
  18723. } else {
  18724. v := rv2i(rv).(map[interface{}]uint16)
  18725. fastpathTV.DecMapIntfUint16V(v, fastpathCheckNilFalse, false, f.d)
  18726. }
  18727. }
  18728. func (f fastpathT) DecMapIntfUint16X(vp *map[interface{}]uint16, checkNil bool, d *Decoder) {
  18729. v, changed := f.DecMapIntfUint16V(*vp, checkNil, true, d)
  18730. if changed {
  18731. *vp = v
  18732. }
  18733. }
  18734. func (_ fastpathT) DecMapIntfUint16V(v map[interface{}]uint16, checkNil bool, canChange bool,
  18735. d *Decoder) (_ map[interface{}]uint16, changed bool) {
  18736. dd := d.d
  18737. cr := d.cr
  18738. if checkNil && dd.TryDecodeAsNil() {
  18739. if v != nil {
  18740. changed = true
  18741. }
  18742. return nil, changed
  18743. }
  18744. containerLen := dd.ReadMapStart()
  18745. if canChange && v == nil {
  18746. xlen := decInferLen(containerLen, d.h.MaxInitLen, 18)
  18747. v = make(map[interface{}]uint16, xlen)
  18748. changed = true
  18749. }
  18750. if containerLen == 0 {
  18751. if cr != nil {
  18752. cr.sendContainerState(containerMapEnd)
  18753. }
  18754. return v, changed
  18755. }
  18756. var mk interface{}
  18757. var mv uint16
  18758. hasLen := containerLen > 0
  18759. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  18760. if cr != nil {
  18761. cr.sendContainerState(containerMapKey)
  18762. }
  18763. mk = nil
  18764. d.decode(&mk)
  18765. if bv, bok := mk.([]byte); bok {
  18766. mk = d.string(bv)
  18767. }
  18768. if cr != nil {
  18769. cr.sendContainerState(containerMapValue)
  18770. }
  18771. mv = uint16(dd.DecodeUint(16))
  18772. if v != nil {
  18773. v[mk] = mv
  18774. }
  18775. }
  18776. if cr != nil {
  18777. cr.sendContainerState(containerMapEnd)
  18778. }
  18779. return v, changed
  18780. }
  18781. func (f *decFnInfo) fastpathDecMapIntfUint32R(rv reflect.Value) {
  18782. if rv.CanAddr() {
  18783. vp := rv2i(rv.Addr()).(*map[interface{}]uint32)
  18784. v, changed := fastpathTV.DecMapIntfUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  18785. if changed {
  18786. *vp = v
  18787. }
  18788. } else {
  18789. v := rv2i(rv).(map[interface{}]uint32)
  18790. fastpathTV.DecMapIntfUint32V(v, fastpathCheckNilFalse, false, f.d)
  18791. }
  18792. }
  18793. func (f fastpathT) DecMapIntfUint32X(vp *map[interface{}]uint32, checkNil bool, d *Decoder) {
  18794. v, changed := f.DecMapIntfUint32V(*vp, checkNil, true, d)
  18795. if changed {
  18796. *vp = v
  18797. }
  18798. }
  18799. func (_ fastpathT) DecMapIntfUint32V(v map[interface{}]uint32, checkNil bool, canChange bool,
  18800. d *Decoder) (_ map[interface{}]uint32, changed bool) {
  18801. dd := d.d
  18802. cr := d.cr
  18803. if checkNil && dd.TryDecodeAsNil() {
  18804. if v != nil {
  18805. changed = true
  18806. }
  18807. return nil, changed
  18808. }
  18809. containerLen := dd.ReadMapStart()
  18810. if canChange && v == nil {
  18811. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  18812. v = make(map[interface{}]uint32, xlen)
  18813. changed = true
  18814. }
  18815. if containerLen == 0 {
  18816. if cr != nil {
  18817. cr.sendContainerState(containerMapEnd)
  18818. }
  18819. return v, changed
  18820. }
  18821. var mk interface{}
  18822. var mv uint32
  18823. hasLen := containerLen > 0
  18824. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  18825. if cr != nil {
  18826. cr.sendContainerState(containerMapKey)
  18827. }
  18828. mk = nil
  18829. d.decode(&mk)
  18830. if bv, bok := mk.([]byte); bok {
  18831. mk = d.string(bv)
  18832. }
  18833. if cr != nil {
  18834. cr.sendContainerState(containerMapValue)
  18835. }
  18836. mv = uint32(dd.DecodeUint(32))
  18837. if v != nil {
  18838. v[mk] = mv
  18839. }
  18840. }
  18841. if cr != nil {
  18842. cr.sendContainerState(containerMapEnd)
  18843. }
  18844. return v, changed
  18845. }
  18846. func (f *decFnInfo) fastpathDecMapIntfUint64R(rv reflect.Value) {
  18847. if rv.CanAddr() {
  18848. vp := rv2i(rv.Addr()).(*map[interface{}]uint64)
  18849. v, changed := fastpathTV.DecMapIntfUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  18850. if changed {
  18851. *vp = v
  18852. }
  18853. } else {
  18854. v := rv2i(rv).(map[interface{}]uint64)
  18855. fastpathTV.DecMapIntfUint64V(v, fastpathCheckNilFalse, false, f.d)
  18856. }
  18857. }
  18858. func (f fastpathT) DecMapIntfUint64X(vp *map[interface{}]uint64, checkNil bool, d *Decoder) {
  18859. v, changed := f.DecMapIntfUint64V(*vp, checkNil, true, d)
  18860. if changed {
  18861. *vp = v
  18862. }
  18863. }
  18864. func (_ fastpathT) DecMapIntfUint64V(v map[interface{}]uint64, checkNil bool, canChange bool,
  18865. d *Decoder) (_ map[interface{}]uint64, changed bool) {
  18866. dd := d.d
  18867. cr := d.cr
  18868. if checkNil && dd.TryDecodeAsNil() {
  18869. if v != nil {
  18870. changed = true
  18871. }
  18872. return nil, changed
  18873. }
  18874. containerLen := dd.ReadMapStart()
  18875. if canChange && v == nil {
  18876. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  18877. v = make(map[interface{}]uint64, xlen)
  18878. changed = true
  18879. }
  18880. if containerLen == 0 {
  18881. if cr != nil {
  18882. cr.sendContainerState(containerMapEnd)
  18883. }
  18884. return v, changed
  18885. }
  18886. var mk interface{}
  18887. var mv uint64
  18888. hasLen := containerLen > 0
  18889. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  18890. if cr != nil {
  18891. cr.sendContainerState(containerMapKey)
  18892. }
  18893. mk = nil
  18894. d.decode(&mk)
  18895. if bv, bok := mk.([]byte); bok {
  18896. mk = d.string(bv)
  18897. }
  18898. if cr != nil {
  18899. cr.sendContainerState(containerMapValue)
  18900. }
  18901. mv = dd.DecodeUint(64)
  18902. if v != nil {
  18903. v[mk] = mv
  18904. }
  18905. }
  18906. if cr != nil {
  18907. cr.sendContainerState(containerMapEnd)
  18908. }
  18909. return v, changed
  18910. }
  18911. func (f *decFnInfo) fastpathDecMapIntfUintptrR(rv reflect.Value) {
  18912. if rv.CanAddr() {
  18913. vp := rv2i(rv.Addr()).(*map[interface{}]uintptr)
  18914. v, changed := fastpathTV.DecMapIntfUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  18915. if changed {
  18916. *vp = v
  18917. }
  18918. } else {
  18919. v := rv2i(rv).(map[interface{}]uintptr)
  18920. fastpathTV.DecMapIntfUintptrV(v, fastpathCheckNilFalse, false, f.d)
  18921. }
  18922. }
  18923. func (f fastpathT) DecMapIntfUintptrX(vp *map[interface{}]uintptr, checkNil bool, d *Decoder) {
  18924. v, changed := f.DecMapIntfUintptrV(*vp, checkNil, true, d)
  18925. if changed {
  18926. *vp = v
  18927. }
  18928. }
  18929. func (_ fastpathT) DecMapIntfUintptrV(v map[interface{}]uintptr, checkNil bool, canChange bool,
  18930. d *Decoder) (_ map[interface{}]uintptr, changed bool) {
  18931. dd := d.d
  18932. cr := d.cr
  18933. if checkNil && dd.TryDecodeAsNil() {
  18934. if v != nil {
  18935. changed = true
  18936. }
  18937. return nil, changed
  18938. }
  18939. containerLen := dd.ReadMapStart()
  18940. if canChange && v == nil {
  18941. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  18942. v = make(map[interface{}]uintptr, xlen)
  18943. changed = true
  18944. }
  18945. if containerLen == 0 {
  18946. if cr != nil {
  18947. cr.sendContainerState(containerMapEnd)
  18948. }
  18949. return v, changed
  18950. }
  18951. var mk interface{}
  18952. var mv uintptr
  18953. hasLen := containerLen > 0
  18954. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  18955. if cr != nil {
  18956. cr.sendContainerState(containerMapKey)
  18957. }
  18958. mk = nil
  18959. d.decode(&mk)
  18960. if bv, bok := mk.([]byte); bok {
  18961. mk = d.string(bv)
  18962. }
  18963. if cr != nil {
  18964. cr.sendContainerState(containerMapValue)
  18965. }
  18966. mv = uintptr(dd.DecodeUint(uintBitsize))
  18967. if v != nil {
  18968. v[mk] = mv
  18969. }
  18970. }
  18971. if cr != nil {
  18972. cr.sendContainerState(containerMapEnd)
  18973. }
  18974. return v, changed
  18975. }
  18976. func (f *decFnInfo) fastpathDecMapIntfIntR(rv reflect.Value) {
  18977. if rv.CanAddr() {
  18978. vp := rv2i(rv.Addr()).(*map[interface{}]int)
  18979. v, changed := fastpathTV.DecMapIntfIntV(*vp, fastpathCheckNilFalse, true, f.d)
  18980. if changed {
  18981. *vp = v
  18982. }
  18983. } else {
  18984. v := rv2i(rv).(map[interface{}]int)
  18985. fastpathTV.DecMapIntfIntV(v, fastpathCheckNilFalse, false, f.d)
  18986. }
  18987. }
  18988. func (f fastpathT) DecMapIntfIntX(vp *map[interface{}]int, checkNil bool, d *Decoder) {
  18989. v, changed := f.DecMapIntfIntV(*vp, checkNil, true, d)
  18990. if changed {
  18991. *vp = v
  18992. }
  18993. }
  18994. func (_ fastpathT) DecMapIntfIntV(v map[interface{}]int, checkNil bool, canChange bool,
  18995. d *Decoder) (_ map[interface{}]int, changed bool) {
  18996. dd := d.d
  18997. cr := d.cr
  18998. if checkNil && dd.TryDecodeAsNil() {
  18999. if v != nil {
  19000. changed = true
  19001. }
  19002. return nil, changed
  19003. }
  19004. containerLen := dd.ReadMapStart()
  19005. if canChange && v == nil {
  19006. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  19007. v = make(map[interface{}]int, xlen)
  19008. changed = true
  19009. }
  19010. if containerLen == 0 {
  19011. if cr != nil {
  19012. cr.sendContainerState(containerMapEnd)
  19013. }
  19014. return v, changed
  19015. }
  19016. var mk interface{}
  19017. var mv int
  19018. hasLen := containerLen > 0
  19019. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19020. if cr != nil {
  19021. cr.sendContainerState(containerMapKey)
  19022. }
  19023. mk = nil
  19024. d.decode(&mk)
  19025. if bv, bok := mk.([]byte); bok {
  19026. mk = d.string(bv)
  19027. }
  19028. if cr != nil {
  19029. cr.sendContainerState(containerMapValue)
  19030. }
  19031. mv = int(dd.DecodeInt(intBitsize))
  19032. if v != nil {
  19033. v[mk] = mv
  19034. }
  19035. }
  19036. if cr != nil {
  19037. cr.sendContainerState(containerMapEnd)
  19038. }
  19039. return v, changed
  19040. }
  19041. func (f *decFnInfo) fastpathDecMapIntfInt8R(rv reflect.Value) {
  19042. if rv.CanAddr() {
  19043. vp := rv2i(rv.Addr()).(*map[interface{}]int8)
  19044. v, changed := fastpathTV.DecMapIntfInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  19045. if changed {
  19046. *vp = v
  19047. }
  19048. } else {
  19049. v := rv2i(rv).(map[interface{}]int8)
  19050. fastpathTV.DecMapIntfInt8V(v, fastpathCheckNilFalse, false, f.d)
  19051. }
  19052. }
  19053. func (f fastpathT) DecMapIntfInt8X(vp *map[interface{}]int8, checkNil bool, d *Decoder) {
  19054. v, changed := f.DecMapIntfInt8V(*vp, checkNil, true, d)
  19055. if changed {
  19056. *vp = v
  19057. }
  19058. }
  19059. func (_ fastpathT) DecMapIntfInt8V(v map[interface{}]int8, checkNil bool, canChange bool,
  19060. d *Decoder) (_ map[interface{}]int8, changed bool) {
  19061. dd := d.d
  19062. cr := d.cr
  19063. if checkNil && dd.TryDecodeAsNil() {
  19064. if v != nil {
  19065. changed = true
  19066. }
  19067. return nil, changed
  19068. }
  19069. containerLen := dd.ReadMapStart()
  19070. if canChange && v == nil {
  19071. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  19072. v = make(map[interface{}]int8, xlen)
  19073. changed = true
  19074. }
  19075. if containerLen == 0 {
  19076. if cr != nil {
  19077. cr.sendContainerState(containerMapEnd)
  19078. }
  19079. return v, changed
  19080. }
  19081. var mk interface{}
  19082. var mv int8
  19083. hasLen := containerLen > 0
  19084. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19085. if cr != nil {
  19086. cr.sendContainerState(containerMapKey)
  19087. }
  19088. mk = nil
  19089. d.decode(&mk)
  19090. if bv, bok := mk.([]byte); bok {
  19091. mk = d.string(bv)
  19092. }
  19093. if cr != nil {
  19094. cr.sendContainerState(containerMapValue)
  19095. }
  19096. mv = int8(dd.DecodeInt(8))
  19097. if v != nil {
  19098. v[mk] = mv
  19099. }
  19100. }
  19101. if cr != nil {
  19102. cr.sendContainerState(containerMapEnd)
  19103. }
  19104. return v, changed
  19105. }
  19106. func (f *decFnInfo) fastpathDecMapIntfInt16R(rv reflect.Value) {
  19107. if rv.CanAddr() {
  19108. vp := rv2i(rv.Addr()).(*map[interface{}]int16)
  19109. v, changed := fastpathTV.DecMapIntfInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  19110. if changed {
  19111. *vp = v
  19112. }
  19113. } else {
  19114. v := rv2i(rv).(map[interface{}]int16)
  19115. fastpathTV.DecMapIntfInt16V(v, fastpathCheckNilFalse, false, f.d)
  19116. }
  19117. }
  19118. func (f fastpathT) DecMapIntfInt16X(vp *map[interface{}]int16, checkNil bool, d *Decoder) {
  19119. v, changed := f.DecMapIntfInt16V(*vp, checkNil, true, d)
  19120. if changed {
  19121. *vp = v
  19122. }
  19123. }
  19124. func (_ fastpathT) DecMapIntfInt16V(v map[interface{}]int16, checkNil bool, canChange bool,
  19125. d *Decoder) (_ map[interface{}]int16, changed bool) {
  19126. dd := d.d
  19127. cr := d.cr
  19128. if checkNil && dd.TryDecodeAsNil() {
  19129. if v != nil {
  19130. changed = true
  19131. }
  19132. return nil, changed
  19133. }
  19134. containerLen := dd.ReadMapStart()
  19135. if canChange && v == nil {
  19136. xlen := decInferLen(containerLen, d.h.MaxInitLen, 18)
  19137. v = make(map[interface{}]int16, xlen)
  19138. changed = true
  19139. }
  19140. if containerLen == 0 {
  19141. if cr != nil {
  19142. cr.sendContainerState(containerMapEnd)
  19143. }
  19144. return v, changed
  19145. }
  19146. var mk interface{}
  19147. var mv int16
  19148. hasLen := containerLen > 0
  19149. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19150. if cr != nil {
  19151. cr.sendContainerState(containerMapKey)
  19152. }
  19153. mk = nil
  19154. d.decode(&mk)
  19155. if bv, bok := mk.([]byte); bok {
  19156. mk = d.string(bv)
  19157. }
  19158. if cr != nil {
  19159. cr.sendContainerState(containerMapValue)
  19160. }
  19161. mv = int16(dd.DecodeInt(16))
  19162. if v != nil {
  19163. v[mk] = mv
  19164. }
  19165. }
  19166. if cr != nil {
  19167. cr.sendContainerState(containerMapEnd)
  19168. }
  19169. return v, changed
  19170. }
  19171. func (f *decFnInfo) fastpathDecMapIntfInt32R(rv reflect.Value) {
  19172. if rv.CanAddr() {
  19173. vp := rv2i(rv.Addr()).(*map[interface{}]int32)
  19174. v, changed := fastpathTV.DecMapIntfInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  19175. if changed {
  19176. *vp = v
  19177. }
  19178. } else {
  19179. v := rv2i(rv).(map[interface{}]int32)
  19180. fastpathTV.DecMapIntfInt32V(v, fastpathCheckNilFalse, false, f.d)
  19181. }
  19182. }
  19183. func (f fastpathT) DecMapIntfInt32X(vp *map[interface{}]int32, checkNil bool, d *Decoder) {
  19184. v, changed := f.DecMapIntfInt32V(*vp, checkNil, true, d)
  19185. if changed {
  19186. *vp = v
  19187. }
  19188. }
  19189. func (_ fastpathT) DecMapIntfInt32V(v map[interface{}]int32, checkNil bool, canChange bool,
  19190. d *Decoder) (_ map[interface{}]int32, changed bool) {
  19191. dd := d.d
  19192. cr := d.cr
  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, 20)
  19202. v = make(map[interface{}]int32, xlen)
  19203. changed = true
  19204. }
  19205. if containerLen == 0 {
  19206. if cr != nil {
  19207. cr.sendContainerState(containerMapEnd)
  19208. }
  19209. return v, changed
  19210. }
  19211. var mk interface{}
  19212. var mv int32
  19213. hasLen := containerLen > 0
  19214. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19215. if cr != nil {
  19216. cr.sendContainerState(containerMapKey)
  19217. }
  19218. mk = nil
  19219. d.decode(&mk)
  19220. if bv, bok := mk.([]byte); bok {
  19221. mk = d.string(bv)
  19222. }
  19223. if cr != nil {
  19224. cr.sendContainerState(containerMapValue)
  19225. }
  19226. mv = int32(dd.DecodeInt(32))
  19227. if v != nil {
  19228. v[mk] = mv
  19229. }
  19230. }
  19231. if cr != nil {
  19232. cr.sendContainerState(containerMapEnd)
  19233. }
  19234. return v, changed
  19235. }
  19236. func (f *decFnInfo) fastpathDecMapIntfInt64R(rv reflect.Value) {
  19237. if rv.CanAddr() {
  19238. vp := rv2i(rv.Addr()).(*map[interface{}]int64)
  19239. v, changed := fastpathTV.DecMapIntfInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  19240. if changed {
  19241. *vp = v
  19242. }
  19243. } else {
  19244. v := rv2i(rv).(map[interface{}]int64)
  19245. fastpathTV.DecMapIntfInt64V(v, fastpathCheckNilFalse, false, f.d)
  19246. }
  19247. }
  19248. func (f fastpathT) DecMapIntfInt64X(vp *map[interface{}]int64, checkNil bool, d *Decoder) {
  19249. v, changed := f.DecMapIntfInt64V(*vp, checkNil, true, d)
  19250. if changed {
  19251. *vp = v
  19252. }
  19253. }
  19254. func (_ fastpathT) DecMapIntfInt64V(v map[interface{}]int64, checkNil bool, canChange bool,
  19255. d *Decoder) (_ map[interface{}]int64, changed bool) {
  19256. dd := d.d
  19257. cr := d.cr
  19258. if checkNil && dd.TryDecodeAsNil() {
  19259. if v != nil {
  19260. changed = true
  19261. }
  19262. return nil, changed
  19263. }
  19264. containerLen := dd.ReadMapStart()
  19265. if canChange && v == nil {
  19266. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  19267. v = make(map[interface{}]int64, xlen)
  19268. changed = true
  19269. }
  19270. if containerLen == 0 {
  19271. if cr != nil {
  19272. cr.sendContainerState(containerMapEnd)
  19273. }
  19274. return v, changed
  19275. }
  19276. var mk interface{}
  19277. var mv int64
  19278. hasLen := containerLen > 0
  19279. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19280. if cr != nil {
  19281. cr.sendContainerState(containerMapKey)
  19282. }
  19283. mk = nil
  19284. d.decode(&mk)
  19285. if bv, bok := mk.([]byte); bok {
  19286. mk = d.string(bv)
  19287. }
  19288. if cr != nil {
  19289. cr.sendContainerState(containerMapValue)
  19290. }
  19291. mv = dd.DecodeInt(64)
  19292. if v != nil {
  19293. v[mk] = mv
  19294. }
  19295. }
  19296. if cr != nil {
  19297. cr.sendContainerState(containerMapEnd)
  19298. }
  19299. return v, changed
  19300. }
  19301. func (f *decFnInfo) fastpathDecMapIntfFloat32R(rv reflect.Value) {
  19302. if rv.CanAddr() {
  19303. vp := rv2i(rv.Addr()).(*map[interface{}]float32)
  19304. v, changed := fastpathTV.DecMapIntfFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  19305. if changed {
  19306. *vp = v
  19307. }
  19308. } else {
  19309. v := rv2i(rv).(map[interface{}]float32)
  19310. fastpathTV.DecMapIntfFloat32V(v, fastpathCheckNilFalse, false, f.d)
  19311. }
  19312. }
  19313. func (f fastpathT) DecMapIntfFloat32X(vp *map[interface{}]float32, checkNil bool, d *Decoder) {
  19314. v, changed := f.DecMapIntfFloat32V(*vp, checkNil, true, d)
  19315. if changed {
  19316. *vp = v
  19317. }
  19318. }
  19319. func (_ fastpathT) DecMapIntfFloat32V(v map[interface{}]float32, checkNil bool, canChange bool,
  19320. d *Decoder) (_ map[interface{}]float32, changed bool) {
  19321. dd := d.d
  19322. cr := d.cr
  19323. if checkNil && dd.TryDecodeAsNil() {
  19324. if v != nil {
  19325. changed = true
  19326. }
  19327. return nil, changed
  19328. }
  19329. containerLen := dd.ReadMapStart()
  19330. if canChange && v == nil {
  19331. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  19332. v = make(map[interface{}]float32, xlen)
  19333. changed = true
  19334. }
  19335. if containerLen == 0 {
  19336. if cr != nil {
  19337. cr.sendContainerState(containerMapEnd)
  19338. }
  19339. return v, changed
  19340. }
  19341. var mk interface{}
  19342. var mv float32
  19343. hasLen := containerLen > 0
  19344. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19345. if cr != nil {
  19346. cr.sendContainerState(containerMapKey)
  19347. }
  19348. mk = nil
  19349. d.decode(&mk)
  19350. if bv, bok := mk.([]byte); bok {
  19351. mk = d.string(bv)
  19352. }
  19353. if cr != nil {
  19354. cr.sendContainerState(containerMapValue)
  19355. }
  19356. mv = float32(dd.DecodeFloat(true))
  19357. if v != nil {
  19358. v[mk] = mv
  19359. }
  19360. }
  19361. if cr != nil {
  19362. cr.sendContainerState(containerMapEnd)
  19363. }
  19364. return v, changed
  19365. }
  19366. func (f *decFnInfo) fastpathDecMapIntfFloat64R(rv reflect.Value) {
  19367. if rv.CanAddr() {
  19368. vp := rv2i(rv.Addr()).(*map[interface{}]float64)
  19369. v, changed := fastpathTV.DecMapIntfFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  19370. if changed {
  19371. *vp = v
  19372. }
  19373. } else {
  19374. v := rv2i(rv).(map[interface{}]float64)
  19375. fastpathTV.DecMapIntfFloat64V(v, fastpathCheckNilFalse, false, f.d)
  19376. }
  19377. }
  19378. func (f fastpathT) DecMapIntfFloat64X(vp *map[interface{}]float64, checkNil bool, d *Decoder) {
  19379. v, changed := f.DecMapIntfFloat64V(*vp, checkNil, true, d)
  19380. if changed {
  19381. *vp = v
  19382. }
  19383. }
  19384. func (_ fastpathT) DecMapIntfFloat64V(v map[interface{}]float64, checkNil bool, canChange bool,
  19385. d *Decoder) (_ map[interface{}]float64, changed bool) {
  19386. dd := d.d
  19387. cr := d.cr
  19388. if checkNil && dd.TryDecodeAsNil() {
  19389. if v != nil {
  19390. changed = true
  19391. }
  19392. return nil, changed
  19393. }
  19394. containerLen := dd.ReadMapStart()
  19395. if canChange && v == nil {
  19396. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  19397. v = make(map[interface{}]float64, xlen)
  19398. changed = true
  19399. }
  19400. if containerLen == 0 {
  19401. if cr != nil {
  19402. cr.sendContainerState(containerMapEnd)
  19403. }
  19404. return v, changed
  19405. }
  19406. var mk interface{}
  19407. var mv float64
  19408. hasLen := containerLen > 0
  19409. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19410. if cr != nil {
  19411. cr.sendContainerState(containerMapKey)
  19412. }
  19413. mk = nil
  19414. d.decode(&mk)
  19415. if bv, bok := mk.([]byte); bok {
  19416. mk = d.string(bv)
  19417. }
  19418. if cr != nil {
  19419. cr.sendContainerState(containerMapValue)
  19420. }
  19421. mv = dd.DecodeFloat(false)
  19422. if v != nil {
  19423. v[mk] = mv
  19424. }
  19425. }
  19426. if cr != nil {
  19427. cr.sendContainerState(containerMapEnd)
  19428. }
  19429. return v, changed
  19430. }
  19431. func (f *decFnInfo) fastpathDecMapIntfBoolR(rv reflect.Value) {
  19432. if rv.CanAddr() {
  19433. vp := rv2i(rv.Addr()).(*map[interface{}]bool)
  19434. v, changed := fastpathTV.DecMapIntfBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  19435. if changed {
  19436. *vp = v
  19437. }
  19438. } else {
  19439. v := rv2i(rv).(map[interface{}]bool)
  19440. fastpathTV.DecMapIntfBoolV(v, fastpathCheckNilFalse, false, f.d)
  19441. }
  19442. }
  19443. func (f fastpathT) DecMapIntfBoolX(vp *map[interface{}]bool, checkNil bool, d *Decoder) {
  19444. v, changed := f.DecMapIntfBoolV(*vp, checkNil, true, d)
  19445. if changed {
  19446. *vp = v
  19447. }
  19448. }
  19449. func (_ fastpathT) DecMapIntfBoolV(v map[interface{}]bool, checkNil bool, canChange bool,
  19450. d *Decoder) (_ map[interface{}]bool, changed bool) {
  19451. dd := d.d
  19452. cr := d.cr
  19453. if checkNil && dd.TryDecodeAsNil() {
  19454. if v != nil {
  19455. changed = true
  19456. }
  19457. return nil, changed
  19458. }
  19459. containerLen := dd.ReadMapStart()
  19460. if canChange && v == nil {
  19461. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  19462. v = make(map[interface{}]bool, xlen)
  19463. changed = true
  19464. }
  19465. if containerLen == 0 {
  19466. if cr != nil {
  19467. cr.sendContainerState(containerMapEnd)
  19468. }
  19469. return v, changed
  19470. }
  19471. var mk interface{}
  19472. var mv bool
  19473. hasLen := containerLen > 0
  19474. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19475. if cr != nil {
  19476. cr.sendContainerState(containerMapKey)
  19477. }
  19478. mk = nil
  19479. d.decode(&mk)
  19480. if bv, bok := mk.([]byte); bok {
  19481. mk = d.string(bv)
  19482. }
  19483. if cr != nil {
  19484. cr.sendContainerState(containerMapValue)
  19485. }
  19486. mv = dd.DecodeBool()
  19487. if v != nil {
  19488. v[mk] = mv
  19489. }
  19490. }
  19491. if cr != nil {
  19492. cr.sendContainerState(containerMapEnd)
  19493. }
  19494. return v, changed
  19495. }
  19496. func (f *decFnInfo) fastpathDecMapStringIntfR(rv reflect.Value) {
  19497. if rv.CanAddr() {
  19498. vp := rv2i(rv.Addr()).(*map[string]interface{})
  19499. v, changed := fastpathTV.DecMapStringIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  19500. if changed {
  19501. *vp = v
  19502. }
  19503. } else {
  19504. v := rv2i(rv).(map[string]interface{})
  19505. fastpathTV.DecMapStringIntfV(v, fastpathCheckNilFalse, false, f.d)
  19506. }
  19507. }
  19508. func (f fastpathT) DecMapStringIntfX(vp *map[string]interface{}, checkNil bool, d *Decoder) {
  19509. v, changed := f.DecMapStringIntfV(*vp, checkNil, true, d)
  19510. if changed {
  19511. *vp = v
  19512. }
  19513. }
  19514. func (_ fastpathT) DecMapStringIntfV(v map[string]interface{}, checkNil bool, canChange bool,
  19515. d *Decoder) (_ map[string]interface{}, changed bool) {
  19516. dd := d.d
  19517. cr := d.cr
  19518. if checkNil && dd.TryDecodeAsNil() {
  19519. if v != nil {
  19520. changed = true
  19521. }
  19522. return nil, changed
  19523. }
  19524. containerLen := dd.ReadMapStart()
  19525. if canChange && v == nil {
  19526. xlen := decInferLen(containerLen, d.h.MaxInitLen, 32)
  19527. v = make(map[string]interface{}, xlen)
  19528. changed = true
  19529. }
  19530. if containerLen == 0 {
  19531. if cr != nil {
  19532. cr.sendContainerState(containerMapEnd)
  19533. }
  19534. return v, changed
  19535. }
  19536. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  19537. var mk string
  19538. var mv interface{}
  19539. hasLen := containerLen > 0
  19540. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19541. if cr != nil {
  19542. cr.sendContainerState(containerMapKey)
  19543. }
  19544. mk = dd.DecodeString()
  19545. if cr != nil {
  19546. cr.sendContainerState(containerMapValue)
  19547. }
  19548. if mapGet {
  19549. mv = v[mk]
  19550. } else {
  19551. mv = nil
  19552. }
  19553. d.decode(&mv)
  19554. if v != nil {
  19555. v[mk] = mv
  19556. }
  19557. }
  19558. if cr != nil {
  19559. cr.sendContainerState(containerMapEnd)
  19560. }
  19561. return v, changed
  19562. }
  19563. func (f *decFnInfo) fastpathDecMapStringStringR(rv reflect.Value) {
  19564. if rv.CanAddr() {
  19565. vp := rv2i(rv.Addr()).(*map[string]string)
  19566. v, changed := fastpathTV.DecMapStringStringV(*vp, fastpathCheckNilFalse, true, f.d)
  19567. if changed {
  19568. *vp = v
  19569. }
  19570. } else {
  19571. v := rv2i(rv).(map[string]string)
  19572. fastpathTV.DecMapStringStringV(v, fastpathCheckNilFalse, false, f.d)
  19573. }
  19574. }
  19575. func (f fastpathT) DecMapStringStringX(vp *map[string]string, checkNil bool, d *Decoder) {
  19576. v, changed := f.DecMapStringStringV(*vp, checkNil, true, d)
  19577. if changed {
  19578. *vp = v
  19579. }
  19580. }
  19581. func (_ fastpathT) DecMapStringStringV(v map[string]string, checkNil bool, canChange bool,
  19582. d *Decoder) (_ map[string]string, changed bool) {
  19583. dd := d.d
  19584. cr := d.cr
  19585. if checkNil && dd.TryDecodeAsNil() {
  19586. if v != nil {
  19587. changed = true
  19588. }
  19589. return nil, changed
  19590. }
  19591. containerLen := dd.ReadMapStart()
  19592. if canChange && v == nil {
  19593. xlen := decInferLen(containerLen, d.h.MaxInitLen, 32)
  19594. v = make(map[string]string, xlen)
  19595. changed = true
  19596. }
  19597. if containerLen == 0 {
  19598. if cr != nil {
  19599. cr.sendContainerState(containerMapEnd)
  19600. }
  19601. return v, changed
  19602. }
  19603. var mk string
  19604. var mv string
  19605. hasLen := containerLen > 0
  19606. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19607. if cr != nil {
  19608. cr.sendContainerState(containerMapKey)
  19609. }
  19610. mk = dd.DecodeString()
  19611. if cr != nil {
  19612. cr.sendContainerState(containerMapValue)
  19613. }
  19614. mv = dd.DecodeString()
  19615. if v != nil {
  19616. v[mk] = mv
  19617. }
  19618. }
  19619. if cr != nil {
  19620. cr.sendContainerState(containerMapEnd)
  19621. }
  19622. return v, changed
  19623. }
  19624. func (f *decFnInfo) fastpathDecMapStringUintR(rv reflect.Value) {
  19625. if rv.CanAddr() {
  19626. vp := rv2i(rv.Addr()).(*map[string]uint)
  19627. v, changed := fastpathTV.DecMapStringUintV(*vp, fastpathCheckNilFalse, true, f.d)
  19628. if changed {
  19629. *vp = v
  19630. }
  19631. } else {
  19632. v := rv2i(rv).(map[string]uint)
  19633. fastpathTV.DecMapStringUintV(v, fastpathCheckNilFalse, false, f.d)
  19634. }
  19635. }
  19636. func (f fastpathT) DecMapStringUintX(vp *map[string]uint, checkNil bool, d *Decoder) {
  19637. v, changed := f.DecMapStringUintV(*vp, checkNil, true, d)
  19638. if changed {
  19639. *vp = v
  19640. }
  19641. }
  19642. func (_ fastpathT) DecMapStringUintV(v map[string]uint, checkNil bool, canChange bool,
  19643. d *Decoder) (_ map[string]uint, changed bool) {
  19644. dd := d.d
  19645. cr := d.cr
  19646. if checkNil && dd.TryDecodeAsNil() {
  19647. if v != nil {
  19648. changed = true
  19649. }
  19650. return nil, changed
  19651. }
  19652. containerLen := dd.ReadMapStart()
  19653. if canChange && v == nil {
  19654. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  19655. v = make(map[string]uint, xlen)
  19656. changed = true
  19657. }
  19658. if containerLen == 0 {
  19659. if cr != nil {
  19660. cr.sendContainerState(containerMapEnd)
  19661. }
  19662. return v, changed
  19663. }
  19664. var mk string
  19665. var mv uint
  19666. hasLen := containerLen > 0
  19667. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19668. if cr != nil {
  19669. cr.sendContainerState(containerMapKey)
  19670. }
  19671. mk = dd.DecodeString()
  19672. if cr != nil {
  19673. cr.sendContainerState(containerMapValue)
  19674. }
  19675. mv = uint(dd.DecodeUint(uintBitsize))
  19676. if v != nil {
  19677. v[mk] = mv
  19678. }
  19679. }
  19680. if cr != nil {
  19681. cr.sendContainerState(containerMapEnd)
  19682. }
  19683. return v, changed
  19684. }
  19685. func (f *decFnInfo) fastpathDecMapStringUint8R(rv reflect.Value) {
  19686. if rv.CanAddr() {
  19687. vp := rv2i(rv.Addr()).(*map[string]uint8)
  19688. v, changed := fastpathTV.DecMapStringUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  19689. if changed {
  19690. *vp = v
  19691. }
  19692. } else {
  19693. v := rv2i(rv).(map[string]uint8)
  19694. fastpathTV.DecMapStringUint8V(v, fastpathCheckNilFalse, false, f.d)
  19695. }
  19696. }
  19697. func (f fastpathT) DecMapStringUint8X(vp *map[string]uint8, checkNil bool, d *Decoder) {
  19698. v, changed := f.DecMapStringUint8V(*vp, checkNil, true, d)
  19699. if changed {
  19700. *vp = v
  19701. }
  19702. }
  19703. func (_ fastpathT) DecMapStringUint8V(v map[string]uint8, checkNil bool, canChange bool,
  19704. d *Decoder) (_ map[string]uint8, changed bool) {
  19705. dd := d.d
  19706. cr := d.cr
  19707. if checkNil && dd.TryDecodeAsNil() {
  19708. if v != nil {
  19709. changed = true
  19710. }
  19711. return nil, changed
  19712. }
  19713. containerLen := dd.ReadMapStart()
  19714. if canChange && v == nil {
  19715. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  19716. v = make(map[string]uint8, xlen)
  19717. changed = true
  19718. }
  19719. if containerLen == 0 {
  19720. if cr != nil {
  19721. cr.sendContainerState(containerMapEnd)
  19722. }
  19723. return v, changed
  19724. }
  19725. var mk string
  19726. var mv uint8
  19727. hasLen := containerLen > 0
  19728. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19729. if cr != nil {
  19730. cr.sendContainerState(containerMapKey)
  19731. }
  19732. mk = dd.DecodeString()
  19733. if cr != nil {
  19734. cr.sendContainerState(containerMapValue)
  19735. }
  19736. mv = uint8(dd.DecodeUint(8))
  19737. if v != nil {
  19738. v[mk] = mv
  19739. }
  19740. }
  19741. if cr != nil {
  19742. cr.sendContainerState(containerMapEnd)
  19743. }
  19744. return v, changed
  19745. }
  19746. func (f *decFnInfo) fastpathDecMapStringUint16R(rv reflect.Value) {
  19747. if rv.CanAddr() {
  19748. vp := rv2i(rv.Addr()).(*map[string]uint16)
  19749. v, changed := fastpathTV.DecMapStringUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  19750. if changed {
  19751. *vp = v
  19752. }
  19753. } else {
  19754. v := rv2i(rv).(map[string]uint16)
  19755. fastpathTV.DecMapStringUint16V(v, fastpathCheckNilFalse, false, f.d)
  19756. }
  19757. }
  19758. func (f fastpathT) DecMapStringUint16X(vp *map[string]uint16, checkNil bool, d *Decoder) {
  19759. v, changed := f.DecMapStringUint16V(*vp, checkNil, true, d)
  19760. if changed {
  19761. *vp = v
  19762. }
  19763. }
  19764. func (_ fastpathT) DecMapStringUint16V(v map[string]uint16, checkNil bool, canChange bool,
  19765. d *Decoder) (_ map[string]uint16, changed bool) {
  19766. dd := d.d
  19767. cr := d.cr
  19768. if checkNil && dd.TryDecodeAsNil() {
  19769. if v != nil {
  19770. changed = true
  19771. }
  19772. return nil, changed
  19773. }
  19774. containerLen := dd.ReadMapStart()
  19775. if canChange && v == nil {
  19776. xlen := decInferLen(containerLen, d.h.MaxInitLen, 18)
  19777. v = make(map[string]uint16, xlen)
  19778. changed = true
  19779. }
  19780. if containerLen == 0 {
  19781. if cr != nil {
  19782. cr.sendContainerState(containerMapEnd)
  19783. }
  19784. return v, changed
  19785. }
  19786. var mk string
  19787. var mv uint16
  19788. hasLen := containerLen > 0
  19789. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19790. if cr != nil {
  19791. cr.sendContainerState(containerMapKey)
  19792. }
  19793. mk = dd.DecodeString()
  19794. if cr != nil {
  19795. cr.sendContainerState(containerMapValue)
  19796. }
  19797. mv = uint16(dd.DecodeUint(16))
  19798. if v != nil {
  19799. v[mk] = mv
  19800. }
  19801. }
  19802. if cr != nil {
  19803. cr.sendContainerState(containerMapEnd)
  19804. }
  19805. return v, changed
  19806. }
  19807. func (f *decFnInfo) fastpathDecMapStringUint32R(rv reflect.Value) {
  19808. if rv.CanAddr() {
  19809. vp := rv2i(rv.Addr()).(*map[string]uint32)
  19810. v, changed := fastpathTV.DecMapStringUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  19811. if changed {
  19812. *vp = v
  19813. }
  19814. } else {
  19815. v := rv2i(rv).(map[string]uint32)
  19816. fastpathTV.DecMapStringUint32V(v, fastpathCheckNilFalse, false, f.d)
  19817. }
  19818. }
  19819. func (f fastpathT) DecMapStringUint32X(vp *map[string]uint32, checkNil bool, d *Decoder) {
  19820. v, changed := f.DecMapStringUint32V(*vp, checkNil, true, d)
  19821. if changed {
  19822. *vp = v
  19823. }
  19824. }
  19825. func (_ fastpathT) DecMapStringUint32V(v map[string]uint32, checkNil bool, canChange bool,
  19826. d *Decoder) (_ map[string]uint32, changed bool) {
  19827. dd := d.d
  19828. cr := d.cr
  19829. if checkNil && dd.TryDecodeAsNil() {
  19830. if v != nil {
  19831. changed = true
  19832. }
  19833. return nil, changed
  19834. }
  19835. containerLen := dd.ReadMapStart()
  19836. if canChange && v == nil {
  19837. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  19838. v = make(map[string]uint32, xlen)
  19839. changed = true
  19840. }
  19841. if containerLen == 0 {
  19842. if cr != nil {
  19843. cr.sendContainerState(containerMapEnd)
  19844. }
  19845. return v, changed
  19846. }
  19847. var mk string
  19848. var mv uint32
  19849. hasLen := containerLen > 0
  19850. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19851. if cr != nil {
  19852. cr.sendContainerState(containerMapKey)
  19853. }
  19854. mk = dd.DecodeString()
  19855. if cr != nil {
  19856. cr.sendContainerState(containerMapValue)
  19857. }
  19858. mv = uint32(dd.DecodeUint(32))
  19859. if v != nil {
  19860. v[mk] = mv
  19861. }
  19862. }
  19863. if cr != nil {
  19864. cr.sendContainerState(containerMapEnd)
  19865. }
  19866. return v, changed
  19867. }
  19868. func (f *decFnInfo) fastpathDecMapStringUint64R(rv reflect.Value) {
  19869. if rv.CanAddr() {
  19870. vp := rv2i(rv.Addr()).(*map[string]uint64)
  19871. v, changed := fastpathTV.DecMapStringUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  19872. if changed {
  19873. *vp = v
  19874. }
  19875. } else {
  19876. v := rv2i(rv).(map[string]uint64)
  19877. fastpathTV.DecMapStringUint64V(v, fastpathCheckNilFalse, false, f.d)
  19878. }
  19879. }
  19880. func (f fastpathT) DecMapStringUint64X(vp *map[string]uint64, checkNil bool, d *Decoder) {
  19881. v, changed := f.DecMapStringUint64V(*vp, checkNil, true, d)
  19882. if changed {
  19883. *vp = v
  19884. }
  19885. }
  19886. func (_ fastpathT) DecMapStringUint64V(v map[string]uint64, checkNil bool, canChange bool,
  19887. d *Decoder) (_ map[string]uint64, changed bool) {
  19888. dd := d.d
  19889. cr := d.cr
  19890. if checkNil && dd.TryDecodeAsNil() {
  19891. if v != nil {
  19892. changed = true
  19893. }
  19894. return nil, changed
  19895. }
  19896. containerLen := dd.ReadMapStart()
  19897. if canChange && v == nil {
  19898. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  19899. v = make(map[string]uint64, xlen)
  19900. changed = true
  19901. }
  19902. if containerLen == 0 {
  19903. if cr != nil {
  19904. cr.sendContainerState(containerMapEnd)
  19905. }
  19906. return v, changed
  19907. }
  19908. var mk string
  19909. var mv uint64
  19910. hasLen := containerLen > 0
  19911. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19912. if cr != nil {
  19913. cr.sendContainerState(containerMapKey)
  19914. }
  19915. mk = dd.DecodeString()
  19916. if cr != nil {
  19917. cr.sendContainerState(containerMapValue)
  19918. }
  19919. mv = dd.DecodeUint(64)
  19920. if v != nil {
  19921. v[mk] = mv
  19922. }
  19923. }
  19924. if cr != nil {
  19925. cr.sendContainerState(containerMapEnd)
  19926. }
  19927. return v, changed
  19928. }
  19929. func (f *decFnInfo) fastpathDecMapStringUintptrR(rv reflect.Value) {
  19930. if rv.CanAddr() {
  19931. vp := rv2i(rv.Addr()).(*map[string]uintptr)
  19932. v, changed := fastpathTV.DecMapStringUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  19933. if changed {
  19934. *vp = v
  19935. }
  19936. } else {
  19937. v := rv2i(rv).(map[string]uintptr)
  19938. fastpathTV.DecMapStringUintptrV(v, fastpathCheckNilFalse, false, f.d)
  19939. }
  19940. }
  19941. func (f fastpathT) DecMapStringUintptrX(vp *map[string]uintptr, checkNil bool, d *Decoder) {
  19942. v, changed := f.DecMapStringUintptrV(*vp, checkNil, true, d)
  19943. if changed {
  19944. *vp = v
  19945. }
  19946. }
  19947. func (_ fastpathT) DecMapStringUintptrV(v map[string]uintptr, checkNil bool, canChange bool,
  19948. d *Decoder) (_ map[string]uintptr, changed bool) {
  19949. dd := d.d
  19950. cr := d.cr
  19951. if checkNil && dd.TryDecodeAsNil() {
  19952. if v != nil {
  19953. changed = true
  19954. }
  19955. return nil, changed
  19956. }
  19957. containerLen := dd.ReadMapStart()
  19958. if canChange && v == nil {
  19959. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  19960. v = make(map[string]uintptr, xlen)
  19961. changed = true
  19962. }
  19963. if containerLen == 0 {
  19964. if cr != nil {
  19965. cr.sendContainerState(containerMapEnd)
  19966. }
  19967. return v, changed
  19968. }
  19969. var mk string
  19970. var mv uintptr
  19971. hasLen := containerLen > 0
  19972. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  19973. if cr != nil {
  19974. cr.sendContainerState(containerMapKey)
  19975. }
  19976. mk = dd.DecodeString()
  19977. if cr != nil {
  19978. cr.sendContainerState(containerMapValue)
  19979. }
  19980. mv = uintptr(dd.DecodeUint(uintBitsize))
  19981. if v != nil {
  19982. v[mk] = mv
  19983. }
  19984. }
  19985. if cr != nil {
  19986. cr.sendContainerState(containerMapEnd)
  19987. }
  19988. return v, changed
  19989. }
  19990. func (f *decFnInfo) fastpathDecMapStringIntR(rv reflect.Value) {
  19991. if rv.CanAddr() {
  19992. vp := rv2i(rv.Addr()).(*map[string]int)
  19993. v, changed := fastpathTV.DecMapStringIntV(*vp, fastpathCheckNilFalse, true, f.d)
  19994. if changed {
  19995. *vp = v
  19996. }
  19997. } else {
  19998. v := rv2i(rv).(map[string]int)
  19999. fastpathTV.DecMapStringIntV(v, fastpathCheckNilFalse, false, f.d)
  20000. }
  20001. }
  20002. func (f fastpathT) DecMapStringIntX(vp *map[string]int, checkNil bool, d *Decoder) {
  20003. v, changed := f.DecMapStringIntV(*vp, checkNil, true, d)
  20004. if changed {
  20005. *vp = v
  20006. }
  20007. }
  20008. func (_ fastpathT) DecMapStringIntV(v map[string]int, checkNil bool, canChange bool,
  20009. d *Decoder) (_ map[string]int, changed bool) {
  20010. dd := d.d
  20011. cr := d.cr
  20012. if checkNil && dd.TryDecodeAsNil() {
  20013. if v != nil {
  20014. changed = true
  20015. }
  20016. return nil, changed
  20017. }
  20018. containerLen := dd.ReadMapStart()
  20019. if canChange && v == nil {
  20020. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  20021. v = make(map[string]int, xlen)
  20022. changed = true
  20023. }
  20024. if containerLen == 0 {
  20025. if cr != nil {
  20026. cr.sendContainerState(containerMapEnd)
  20027. }
  20028. return v, changed
  20029. }
  20030. var mk string
  20031. var mv int
  20032. hasLen := containerLen > 0
  20033. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20034. if cr != nil {
  20035. cr.sendContainerState(containerMapKey)
  20036. }
  20037. mk = dd.DecodeString()
  20038. if cr != nil {
  20039. cr.sendContainerState(containerMapValue)
  20040. }
  20041. mv = int(dd.DecodeInt(intBitsize))
  20042. if v != nil {
  20043. v[mk] = mv
  20044. }
  20045. }
  20046. if cr != nil {
  20047. cr.sendContainerState(containerMapEnd)
  20048. }
  20049. return v, changed
  20050. }
  20051. func (f *decFnInfo) fastpathDecMapStringInt8R(rv reflect.Value) {
  20052. if rv.CanAddr() {
  20053. vp := rv2i(rv.Addr()).(*map[string]int8)
  20054. v, changed := fastpathTV.DecMapStringInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  20055. if changed {
  20056. *vp = v
  20057. }
  20058. } else {
  20059. v := rv2i(rv).(map[string]int8)
  20060. fastpathTV.DecMapStringInt8V(v, fastpathCheckNilFalse, false, f.d)
  20061. }
  20062. }
  20063. func (f fastpathT) DecMapStringInt8X(vp *map[string]int8, checkNil bool, d *Decoder) {
  20064. v, changed := f.DecMapStringInt8V(*vp, checkNil, true, d)
  20065. if changed {
  20066. *vp = v
  20067. }
  20068. }
  20069. func (_ fastpathT) DecMapStringInt8V(v map[string]int8, checkNil bool, canChange bool,
  20070. d *Decoder) (_ map[string]int8, changed bool) {
  20071. dd := d.d
  20072. cr := d.cr
  20073. if checkNil && dd.TryDecodeAsNil() {
  20074. if v != nil {
  20075. changed = true
  20076. }
  20077. return nil, changed
  20078. }
  20079. containerLen := dd.ReadMapStart()
  20080. if canChange && v == nil {
  20081. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  20082. v = make(map[string]int8, xlen)
  20083. changed = true
  20084. }
  20085. if containerLen == 0 {
  20086. if cr != nil {
  20087. cr.sendContainerState(containerMapEnd)
  20088. }
  20089. return v, changed
  20090. }
  20091. var mk string
  20092. var mv int8
  20093. hasLen := containerLen > 0
  20094. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20095. if cr != nil {
  20096. cr.sendContainerState(containerMapKey)
  20097. }
  20098. mk = dd.DecodeString()
  20099. if cr != nil {
  20100. cr.sendContainerState(containerMapValue)
  20101. }
  20102. mv = int8(dd.DecodeInt(8))
  20103. if v != nil {
  20104. v[mk] = mv
  20105. }
  20106. }
  20107. if cr != nil {
  20108. cr.sendContainerState(containerMapEnd)
  20109. }
  20110. return v, changed
  20111. }
  20112. func (f *decFnInfo) fastpathDecMapStringInt16R(rv reflect.Value) {
  20113. if rv.CanAddr() {
  20114. vp := rv2i(rv.Addr()).(*map[string]int16)
  20115. v, changed := fastpathTV.DecMapStringInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  20116. if changed {
  20117. *vp = v
  20118. }
  20119. } else {
  20120. v := rv2i(rv).(map[string]int16)
  20121. fastpathTV.DecMapStringInt16V(v, fastpathCheckNilFalse, false, f.d)
  20122. }
  20123. }
  20124. func (f fastpathT) DecMapStringInt16X(vp *map[string]int16, checkNil bool, d *Decoder) {
  20125. v, changed := f.DecMapStringInt16V(*vp, checkNil, true, d)
  20126. if changed {
  20127. *vp = v
  20128. }
  20129. }
  20130. func (_ fastpathT) DecMapStringInt16V(v map[string]int16, checkNil bool, canChange bool,
  20131. d *Decoder) (_ map[string]int16, changed bool) {
  20132. dd := d.d
  20133. cr := d.cr
  20134. if checkNil && dd.TryDecodeAsNil() {
  20135. if v != nil {
  20136. changed = true
  20137. }
  20138. return nil, changed
  20139. }
  20140. containerLen := dd.ReadMapStart()
  20141. if canChange && v == nil {
  20142. xlen := decInferLen(containerLen, d.h.MaxInitLen, 18)
  20143. v = make(map[string]int16, xlen)
  20144. changed = true
  20145. }
  20146. if containerLen == 0 {
  20147. if cr != nil {
  20148. cr.sendContainerState(containerMapEnd)
  20149. }
  20150. return v, changed
  20151. }
  20152. var mk string
  20153. var mv int16
  20154. hasLen := containerLen > 0
  20155. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20156. if cr != nil {
  20157. cr.sendContainerState(containerMapKey)
  20158. }
  20159. mk = dd.DecodeString()
  20160. if cr != nil {
  20161. cr.sendContainerState(containerMapValue)
  20162. }
  20163. mv = int16(dd.DecodeInt(16))
  20164. if v != nil {
  20165. v[mk] = mv
  20166. }
  20167. }
  20168. if cr != nil {
  20169. cr.sendContainerState(containerMapEnd)
  20170. }
  20171. return v, changed
  20172. }
  20173. func (f *decFnInfo) fastpathDecMapStringInt32R(rv reflect.Value) {
  20174. if rv.CanAddr() {
  20175. vp := rv2i(rv.Addr()).(*map[string]int32)
  20176. v, changed := fastpathTV.DecMapStringInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  20177. if changed {
  20178. *vp = v
  20179. }
  20180. } else {
  20181. v := rv2i(rv).(map[string]int32)
  20182. fastpathTV.DecMapStringInt32V(v, fastpathCheckNilFalse, false, f.d)
  20183. }
  20184. }
  20185. func (f fastpathT) DecMapStringInt32X(vp *map[string]int32, checkNil bool, d *Decoder) {
  20186. v, changed := f.DecMapStringInt32V(*vp, checkNil, true, d)
  20187. if changed {
  20188. *vp = v
  20189. }
  20190. }
  20191. func (_ fastpathT) DecMapStringInt32V(v map[string]int32, checkNil bool, canChange bool,
  20192. d *Decoder) (_ map[string]int32, changed bool) {
  20193. dd := d.d
  20194. cr := d.cr
  20195. if checkNil && dd.TryDecodeAsNil() {
  20196. if v != nil {
  20197. changed = true
  20198. }
  20199. return nil, changed
  20200. }
  20201. containerLen := dd.ReadMapStart()
  20202. if canChange && v == nil {
  20203. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  20204. v = make(map[string]int32, xlen)
  20205. changed = true
  20206. }
  20207. if containerLen == 0 {
  20208. if cr != nil {
  20209. cr.sendContainerState(containerMapEnd)
  20210. }
  20211. return v, changed
  20212. }
  20213. var mk string
  20214. var mv int32
  20215. hasLen := containerLen > 0
  20216. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20217. if cr != nil {
  20218. cr.sendContainerState(containerMapKey)
  20219. }
  20220. mk = dd.DecodeString()
  20221. if cr != nil {
  20222. cr.sendContainerState(containerMapValue)
  20223. }
  20224. mv = int32(dd.DecodeInt(32))
  20225. if v != nil {
  20226. v[mk] = mv
  20227. }
  20228. }
  20229. if cr != nil {
  20230. cr.sendContainerState(containerMapEnd)
  20231. }
  20232. return v, changed
  20233. }
  20234. func (f *decFnInfo) fastpathDecMapStringInt64R(rv reflect.Value) {
  20235. if rv.CanAddr() {
  20236. vp := rv2i(rv.Addr()).(*map[string]int64)
  20237. v, changed := fastpathTV.DecMapStringInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  20238. if changed {
  20239. *vp = v
  20240. }
  20241. } else {
  20242. v := rv2i(rv).(map[string]int64)
  20243. fastpathTV.DecMapStringInt64V(v, fastpathCheckNilFalse, false, f.d)
  20244. }
  20245. }
  20246. func (f fastpathT) DecMapStringInt64X(vp *map[string]int64, checkNil bool, d *Decoder) {
  20247. v, changed := f.DecMapStringInt64V(*vp, checkNil, true, d)
  20248. if changed {
  20249. *vp = v
  20250. }
  20251. }
  20252. func (_ fastpathT) DecMapStringInt64V(v map[string]int64, checkNil bool, canChange bool,
  20253. d *Decoder) (_ map[string]int64, changed bool) {
  20254. dd := d.d
  20255. cr := d.cr
  20256. if checkNil && dd.TryDecodeAsNil() {
  20257. if v != nil {
  20258. changed = true
  20259. }
  20260. return nil, changed
  20261. }
  20262. containerLen := dd.ReadMapStart()
  20263. if canChange && v == nil {
  20264. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  20265. v = make(map[string]int64, xlen)
  20266. changed = true
  20267. }
  20268. if containerLen == 0 {
  20269. if cr != nil {
  20270. cr.sendContainerState(containerMapEnd)
  20271. }
  20272. return v, changed
  20273. }
  20274. var mk string
  20275. var mv int64
  20276. hasLen := containerLen > 0
  20277. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20278. if cr != nil {
  20279. cr.sendContainerState(containerMapKey)
  20280. }
  20281. mk = dd.DecodeString()
  20282. if cr != nil {
  20283. cr.sendContainerState(containerMapValue)
  20284. }
  20285. mv = dd.DecodeInt(64)
  20286. if v != nil {
  20287. v[mk] = mv
  20288. }
  20289. }
  20290. if cr != nil {
  20291. cr.sendContainerState(containerMapEnd)
  20292. }
  20293. return v, changed
  20294. }
  20295. func (f *decFnInfo) fastpathDecMapStringFloat32R(rv reflect.Value) {
  20296. if rv.CanAddr() {
  20297. vp := rv2i(rv.Addr()).(*map[string]float32)
  20298. v, changed := fastpathTV.DecMapStringFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  20299. if changed {
  20300. *vp = v
  20301. }
  20302. } else {
  20303. v := rv2i(rv).(map[string]float32)
  20304. fastpathTV.DecMapStringFloat32V(v, fastpathCheckNilFalse, false, f.d)
  20305. }
  20306. }
  20307. func (f fastpathT) DecMapStringFloat32X(vp *map[string]float32, checkNil bool, d *Decoder) {
  20308. v, changed := f.DecMapStringFloat32V(*vp, checkNil, true, d)
  20309. if changed {
  20310. *vp = v
  20311. }
  20312. }
  20313. func (_ fastpathT) DecMapStringFloat32V(v map[string]float32, checkNil bool, canChange bool,
  20314. d *Decoder) (_ map[string]float32, changed bool) {
  20315. dd := d.d
  20316. cr := d.cr
  20317. if checkNil && dd.TryDecodeAsNil() {
  20318. if v != nil {
  20319. changed = true
  20320. }
  20321. return nil, changed
  20322. }
  20323. containerLen := dd.ReadMapStart()
  20324. if canChange && v == nil {
  20325. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  20326. v = make(map[string]float32, xlen)
  20327. changed = true
  20328. }
  20329. if containerLen == 0 {
  20330. if cr != nil {
  20331. cr.sendContainerState(containerMapEnd)
  20332. }
  20333. return v, changed
  20334. }
  20335. var mk string
  20336. var mv float32
  20337. hasLen := containerLen > 0
  20338. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20339. if cr != nil {
  20340. cr.sendContainerState(containerMapKey)
  20341. }
  20342. mk = dd.DecodeString()
  20343. if cr != nil {
  20344. cr.sendContainerState(containerMapValue)
  20345. }
  20346. mv = float32(dd.DecodeFloat(true))
  20347. if v != nil {
  20348. v[mk] = mv
  20349. }
  20350. }
  20351. if cr != nil {
  20352. cr.sendContainerState(containerMapEnd)
  20353. }
  20354. return v, changed
  20355. }
  20356. func (f *decFnInfo) fastpathDecMapStringFloat64R(rv reflect.Value) {
  20357. if rv.CanAddr() {
  20358. vp := rv2i(rv.Addr()).(*map[string]float64)
  20359. v, changed := fastpathTV.DecMapStringFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  20360. if changed {
  20361. *vp = v
  20362. }
  20363. } else {
  20364. v := rv2i(rv).(map[string]float64)
  20365. fastpathTV.DecMapStringFloat64V(v, fastpathCheckNilFalse, false, f.d)
  20366. }
  20367. }
  20368. func (f fastpathT) DecMapStringFloat64X(vp *map[string]float64, checkNil bool, d *Decoder) {
  20369. v, changed := f.DecMapStringFloat64V(*vp, checkNil, true, d)
  20370. if changed {
  20371. *vp = v
  20372. }
  20373. }
  20374. func (_ fastpathT) DecMapStringFloat64V(v map[string]float64, checkNil bool, canChange bool,
  20375. d *Decoder) (_ map[string]float64, changed bool) {
  20376. dd := d.d
  20377. cr := d.cr
  20378. if checkNil && dd.TryDecodeAsNil() {
  20379. if v != nil {
  20380. changed = true
  20381. }
  20382. return nil, changed
  20383. }
  20384. containerLen := dd.ReadMapStart()
  20385. if canChange && v == nil {
  20386. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  20387. v = make(map[string]float64, xlen)
  20388. changed = true
  20389. }
  20390. if containerLen == 0 {
  20391. if cr != nil {
  20392. cr.sendContainerState(containerMapEnd)
  20393. }
  20394. return v, changed
  20395. }
  20396. var mk string
  20397. var mv float64
  20398. hasLen := containerLen > 0
  20399. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20400. if cr != nil {
  20401. cr.sendContainerState(containerMapKey)
  20402. }
  20403. mk = dd.DecodeString()
  20404. if cr != nil {
  20405. cr.sendContainerState(containerMapValue)
  20406. }
  20407. mv = dd.DecodeFloat(false)
  20408. if v != nil {
  20409. v[mk] = mv
  20410. }
  20411. }
  20412. if cr != nil {
  20413. cr.sendContainerState(containerMapEnd)
  20414. }
  20415. return v, changed
  20416. }
  20417. func (f *decFnInfo) fastpathDecMapStringBoolR(rv reflect.Value) {
  20418. if rv.CanAddr() {
  20419. vp := rv2i(rv.Addr()).(*map[string]bool)
  20420. v, changed := fastpathTV.DecMapStringBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  20421. if changed {
  20422. *vp = v
  20423. }
  20424. } else {
  20425. v := rv2i(rv).(map[string]bool)
  20426. fastpathTV.DecMapStringBoolV(v, fastpathCheckNilFalse, false, f.d)
  20427. }
  20428. }
  20429. func (f fastpathT) DecMapStringBoolX(vp *map[string]bool, checkNil bool, d *Decoder) {
  20430. v, changed := f.DecMapStringBoolV(*vp, checkNil, true, d)
  20431. if changed {
  20432. *vp = v
  20433. }
  20434. }
  20435. func (_ fastpathT) DecMapStringBoolV(v map[string]bool, checkNil bool, canChange bool,
  20436. d *Decoder) (_ map[string]bool, changed bool) {
  20437. dd := d.d
  20438. cr := d.cr
  20439. if checkNil && dd.TryDecodeAsNil() {
  20440. if v != nil {
  20441. changed = true
  20442. }
  20443. return nil, changed
  20444. }
  20445. containerLen := dd.ReadMapStart()
  20446. if canChange && v == nil {
  20447. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  20448. v = make(map[string]bool, xlen)
  20449. changed = true
  20450. }
  20451. if containerLen == 0 {
  20452. if cr != nil {
  20453. cr.sendContainerState(containerMapEnd)
  20454. }
  20455. return v, changed
  20456. }
  20457. var mk string
  20458. var mv bool
  20459. hasLen := containerLen > 0
  20460. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20461. if cr != nil {
  20462. cr.sendContainerState(containerMapKey)
  20463. }
  20464. mk = dd.DecodeString()
  20465. if cr != nil {
  20466. cr.sendContainerState(containerMapValue)
  20467. }
  20468. mv = dd.DecodeBool()
  20469. if v != nil {
  20470. v[mk] = mv
  20471. }
  20472. }
  20473. if cr != nil {
  20474. cr.sendContainerState(containerMapEnd)
  20475. }
  20476. return v, changed
  20477. }
  20478. func (f *decFnInfo) fastpathDecMapFloat32IntfR(rv reflect.Value) {
  20479. if rv.CanAddr() {
  20480. vp := rv2i(rv.Addr()).(*map[float32]interface{})
  20481. v, changed := fastpathTV.DecMapFloat32IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  20482. if changed {
  20483. *vp = v
  20484. }
  20485. } else {
  20486. v := rv2i(rv).(map[float32]interface{})
  20487. fastpathTV.DecMapFloat32IntfV(v, fastpathCheckNilFalse, false, f.d)
  20488. }
  20489. }
  20490. func (f fastpathT) DecMapFloat32IntfX(vp *map[float32]interface{}, checkNil bool, d *Decoder) {
  20491. v, changed := f.DecMapFloat32IntfV(*vp, checkNil, true, d)
  20492. if changed {
  20493. *vp = v
  20494. }
  20495. }
  20496. func (_ fastpathT) DecMapFloat32IntfV(v map[float32]interface{}, checkNil bool, canChange bool,
  20497. d *Decoder) (_ map[float32]interface{}, changed bool) {
  20498. dd := d.d
  20499. cr := d.cr
  20500. if checkNil && dd.TryDecodeAsNil() {
  20501. if v != nil {
  20502. changed = true
  20503. }
  20504. return nil, changed
  20505. }
  20506. containerLen := dd.ReadMapStart()
  20507. if canChange && v == nil {
  20508. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  20509. v = make(map[float32]interface{}, xlen)
  20510. changed = true
  20511. }
  20512. if containerLen == 0 {
  20513. if cr != nil {
  20514. cr.sendContainerState(containerMapEnd)
  20515. }
  20516. return v, changed
  20517. }
  20518. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  20519. var mk float32
  20520. var mv interface{}
  20521. hasLen := containerLen > 0
  20522. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20523. if cr != nil {
  20524. cr.sendContainerState(containerMapKey)
  20525. }
  20526. mk = float32(dd.DecodeFloat(true))
  20527. if cr != nil {
  20528. cr.sendContainerState(containerMapValue)
  20529. }
  20530. if mapGet {
  20531. mv = v[mk]
  20532. } else {
  20533. mv = nil
  20534. }
  20535. d.decode(&mv)
  20536. if v != nil {
  20537. v[mk] = mv
  20538. }
  20539. }
  20540. if cr != nil {
  20541. cr.sendContainerState(containerMapEnd)
  20542. }
  20543. return v, changed
  20544. }
  20545. func (f *decFnInfo) fastpathDecMapFloat32StringR(rv reflect.Value) {
  20546. if rv.CanAddr() {
  20547. vp := rv2i(rv.Addr()).(*map[float32]string)
  20548. v, changed := fastpathTV.DecMapFloat32StringV(*vp, fastpathCheckNilFalse, true, f.d)
  20549. if changed {
  20550. *vp = v
  20551. }
  20552. } else {
  20553. v := rv2i(rv).(map[float32]string)
  20554. fastpathTV.DecMapFloat32StringV(v, fastpathCheckNilFalse, false, f.d)
  20555. }
  20556. }
  20557. func (f fastpathT) DecMapFloat32StringX(vp *map[float32]string, checkNil bool, d *Decoder) {
  20558. v, changed := f.DecMapFloat32StringV(*vp, checkNil, true, d)
  20559. if changed {
  20560. *vp = v
  20561. }
  20562. }
  20563. func (_ fastpathT) DecMapFloat32StringV(v map[float32]string, checkNil bool, canChange bool,
  20564. d *Decoder) (_ map[float32]string, changed bool) {
  20565. dd := d.d
  20566. cr := d.cr
  20567. if checkNil && dd.TryDecodeAsNil() {
  20568. if v != nil {
  20569. changed = true
  20570. }
  20571. return nil, changed
  20572. }
  20573. containerLen := dd.ReadMapStart()
  20574. if canChange && v == nil {
  20575. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  20576. v = make(map[float32]string, xlen)
  20577. changed = true
  20578. }
  20579. if containerLen == 0 {
  20580. if cr != nil {
  20581. cr.sendContainerState(containerMapEnd)
  20582. }
  20583. return v, changed
  20584. }
  20585. var mk float32
  20586. var mv string
  20587. hasLen := containerLen > 0
  20588. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20589. if cr != nil {
  20590. cr.sendContainerState(containerMapKey)
  20591. }
  20592. mk = float32(dd.DecodeFloat(true))
  20593. if cr != nil {
  20594. cr.sendContainerState(containerMapValue)
  20595. }
  20596. mv = dd.DecodeString()
  20597. if v != nil {
  20598. v[mk] = mv
  20599. }
  20600. }
  20601. if cr != nil {
  20602. cr.sendContainerState(containerMapEnd)
  20603. }
  20604. return v, changed
  20605. }
  20606. func (f *decFnInfo) fastpathDecMapFloat32UintR(rv reflect.Value) {
  20607. if rv.CanAddr() {
  20608. vp := rv2i(rv.Addr()).(*map[float32]uint)
  20609. v, changed := fastpathTV.DecMapFloat32UintV(*vp, fastpathCheckNilFalse, true, f.d)
  20610. if changed {
  20611. *vp = v
  20612. }
  20613. } else {
  20614. v := rv2i(rv).(map[float32]uint)
  20615. fastpathTV.DecMapFloat32UintV(v, fastpathCheckNilFalse, false, f.d)
  20616. }
  20617. }
  20618. func (f fastpathT) DecMapFloat32UintX(vp *map[float32]uint, checkNil bool, d *Decoder) {
  20619. v, changed := f.DecMapFloat32UintV(*vp, checkNil, true, d)
  20620. if changed {
  20621. *vp = v
  20622. }
  20623. }
  20624. func (_ fastpathT) DecMapFloat32UintV(v map[float32]uint, checkNil bool, canChange bool,
  20625. d *Decoder) (_ map[float32]uint, changed bool) {
  20626. dd := d.d
  20627. cr := d.cr
  20628. if checkNil && dd.TryDecodeAsNil() {
  20629. if v != nil {
  20630. changed = true
  20631. }
  20632. return nil, changed
  20633. }
  20634. containerLen := dd.ReadMapStart()
  20635. if canChange && v == nil {
  20636. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  20637. v = make(map[float32]uint, xlen)
  20638. changed = true
  20639. }
  20640. if containerLen == 0 {
  20641. if cr != nil {
  20642. cr.sendContainerState(containerMapEnd)
  20643. }
  20644. return v, changed
  20645. }
  20646. var mk float32
  20647. var mv uint
  20648. hasLen := containerLen > 0
  20649. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20650. if cr != nil {
  20651. cr.sendContainerState(containerMapKey)
  20652. }
  20653. mk = float32(dd.DecodeFloat(true))
  20654. if cr != nil {
  20655. cr.sendContainerState(containerMapValue)
  20656. }
  20657. mv = uint(dd.DecodeUint(uintBitsize))
  20658. if v != nil {
  20659. v[mk] = mv
  20660. }
  20661. }
  20662. if cr != nil {
  20663. cr.sendContainerState(containerMapEnd)
  20664. }
  20665. return v, changed
  20666. }
  20667. func (f *decFnInfo) fastpathDecMapFloat32Uint8R(rv reflect.Value) {
  20668. if rv.CanAddr() {
  20669. vp := rv2i(rv.Addr()).(*map[float32]uint8)
  20670. v, changed := fastpathTV.DecMapFloat32Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  20671. if changed {
  20672. *vp = v
  20673. }
  20674. } else {
  20675. v := rv2i(rv).(map[float32]uint8)
  20676. fastpathTV.DecMapFloat32Uint8V(v, fastpathCheckNilFalse, false, f.d)
  20677. }
  20678. }
  20679. func (f fastpathT) DecMapFloat32Uint8X(vp *map[float32]uint8, checkNil bool, d *Decoder) {
  20680. v, changed := f.DecMapFloat32Uint8V(*vp, checkNil, true, d)
  20681. if changed {
  20682. *vp = v
  20683. }
  20684. }
  20685. func (_ fastpathT) DecMapFloat32Uint8V(v map[float32]uint8, checkNil bool, canChange bool,
  20686. d *Decoder) (_ map[float32]uint8, changed bool) {
  20687. dd := d.d
  20688. cr := d.cr
  20689. if checkNil && dd.TryDecodeAsNil() {
  20690. if v != nil {
  20691. changed = true
  20692. }
  20693. return nil, changed
  20694. }
  20695. containerLen := dd.ReadMapStart()
  20696. if canChange && v == nil {
  20697. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  20698. v = make(map[float32]uint8, xlen)
  20699. changed = true
  20700. }
  20701. if containerLen == 0 {
  20702. if cr != nil {
  20703. cr.sendContainerState(containerMapEnd)
  20704. }
  20705. return v, changed
  20706. }
  20707. var mk float32
  20708. var mv uint8
  20709. hasLen := containerLen > 0
  20710. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20711. if cr != nil {
  20712. cr.sendContainerState(containerMapKey)
  20713. }
  20714. mk = float32(dd.DecodeFloat(true))
  20715. if cr != nil {
  20716. cr.sendContainerState(containerMapValue)
  20717. }
  20718. mv = uint8(dd.DecodeUint(8))
  20719. if v != nil {
  20720. v[mk] = mv
  20721. }
  20722. }
  20723. if cr != nil {
  20724. cr.sendContainerState(containerMapEnd)
  20725. }
  20726. return v, changed
  20727. }
  20728. func (f *decFnInfo) fastpathDecMapFloat32Uint16R(rv reflect.Value) {
  20729. if rv.CanAddr() {
  20730. vp := rv2i(rv.Addr()).(*map[float32]uint16)
  20731. v, changed := fastpathTV.DecMapFloat32Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  20732. if changed {
  20733. *vp = v
  20734. }
  20735. } else {
  20736. v := rv2i(rv).(map[float32]uint16)
  20737. fastpathTV.DecMapFloat32Uint16V(v, fastpathCheckNilFalse, false, f.d)
  20738. }
  20739. }
  20740. func (f fastpathT) DecMapFloat32Uint16X(vp *map[float32]uint16, checkNil bool, d *Decoder) {
  20741. v, changed := f.DecMapFloat32Uint16V(*vp, checkNil, true, d)
  20742. if changed {
  20743. *vp = v
  20744. }
  20745. }
  20746. func (_ fastpathT) DecMapFloat32Uint16V(v map[float32]uint16, checkNil bool, canChange bool,
  20747. d *Decoder) (_ map[float32]uint16, changed bool) {
  20748. dd := d.d
  20749. cr := d.cr
  20750. if checkNil && dd.TryDecodeAsNil() {
  20751. if v != nil {
  20752. changed = true
  20753. }
  20754. return nil, changed
  20755. }
  20756. containerLen := dd.ReadMapStart()
  20757. if canChange && v == nil {
  20758. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  20759. v = make(map[float32]uint16, xlen)
  20760. changed = true
  20761. }
  20762. if containerLen == 0 {
  20763. if cr != nil {
  20764. cr.sendContainerState(containerMapEnd)
  20765. }
  20766. return v, changed
  20767. }
  20768. var mk float32
  20769. var mv uint16
  20770. hasLen := containerLen > 0
  20771. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20772. if cr != nil {
  20773. cr.sendContainerState(containerMapKey)
  20774. }
  20775. mk = float32(dd.DecodeFloat(true))
  20776. if cr != nil {
  20777. cr.sendContainerState(containerMapValue)
  20778. }
  20779. mv = uint16(dd.DecodeUint(16))
  20780. if v != nil {
  20781. v[mk] = mv
  20782. }
  20783. }
  20784. if cr != nil {
  20785. cr.sendContainerState(containerMapEnd)
  20786. }
  20787. return v, changed
  20788. }
  20789. func (f *decFnInfo) fastpathDecMapFloat32Uint32R(rv reflect.Value) {
  20790. if rv.CanAddr() {
  20791. vp := rv2i(rv.Addr()).(*map[float32]uint32)
  20792. v, changed := fastpathTV.DecMapFloat32Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  20793. if changed {
  20794. *vp = v
  20795. }
  20796. } else {
  20797. v := rv2i(rv).(map[float32]uint32)
  20798. fastpathTV.DecMapFloat32Uint32V(v, fastpathCheckNilFalse, false, f.d)
  20799. }
  20800. }
  20801. func (f fastpathT) DecMapFloat32Uint32X(vp *map[float32]uint32, checkNil bool, d *Decoder) {
  20802. v, changed := f.DecMapFloat32Uint32V(*vp, checkNil, true, d)
  20803. if changed {
  20804. *vp = v
  20805. }
  20806. }
  20807. func (_ fastpathT) DecMapFloat32Uint32V(v map[float32]uint32, checkNil bool, canChange bool,
  20808. d *Decoder) (_ map[float32]uint32, changed bool) {
  20809. dd := d.d
  20810. cr := d.cr
  20811. if checkNil && dd.TryDecodeAsNil() {
  20812. if v != nil {
  20813. changed = true
  20814. }
  20815. return nil, changed
  20816. }
  20817. containerLen := dd.ReadMapStart()
  20818. if canChange && v == nil {
  20819. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  20820. v = make(map[float32]uint32, xlen)
  20821. changed = true
  20822. }
  20823. if containerLen == 0 {
  20824. if cr != nil {
  20825. cr.sendContainerState(containerMapEnd)
  20826. }
  20827. return v, changed
  20828. }
  20829. var mk float32
  20830. var mv uint32
  20831. hasLen := containerLen > 0
  20832. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20833. if cr != nil {
  20834. cr.sendContainerState(containerMapKey)
  20835. }
  20836. mk = float32(dd.DecodeFloat(true))
  20837. if cr != nil {
  20838. cr.sendContainerState(containerMapValue)
  20839. }
  20840. mv = uint32(dd.DecodeUint(32))
  20841. if v != nil {
  20842. v[mk] = mv
  20843. }
  20844. }
  20845. if cr != nil {
  20846. cr.sendContainerState(containerMapEnd)
  20847. }
  20848. return v, changed
  20849. }
  20850. func (f *decFnInfo) fastpathDecMapFloat32Uint64R(rv reflect.Value) {
  20851. if rv.CanAddr() {
  20852. vp := rv2i(rv.Addr()).(*map[float32]uint64)
  20853. v, changed := fastpathTV.DecMapFloat32Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  20854. if changed {
  20855. *vp = v
  20856. }
  20857. } else {
  20858. v := rv2i(rv).(map[float32]uint64)
  20859. fastpathTV.DecMapFloat32Uint64V(v, fastpathCheckNilFalse, false, f.d)
  20860. }
  20861. }
  20862. func (f fastpathT) DecMapFloat32Uint64X(vp *map[float32]uint64, checkNil bool, d *Decoder) {
  20863. v, changed := f.DecMapFloat32Uint64V(*vp, checkNil, true, d)
  20864. if changed {
  20865. *vp = v
  20866. }
  20867. }
  20868. func (_ fastpathT) DecMapFloat32Uint64V(v map[float32]uint64, checkNil bool, canChange bool,
  20869. d *Decoder) (_ map[float32]uint64, changed bool) {
  20870. dd := d.d
  20871. cr := d.cr
  20872. if checkNil && dd.TryDecodeAsNil() {
  20873. if v != nil {
  20874. changed = true
  20875. }
  20876. return nil, changed
  20877. }
  20878. containerLen := dd.ReadMapStart()
  20879. if canChange && v == nil {
  20880. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  20881. v = make(map[float32]uint64, xlen)
  20882. changed = true
  20883. }
  20884. if containerLen == 0 {
  20885. if cr != nil {
  20886. cr.sendContainerState(containerMapEnd)
  20887. }
  20888. return v, changed
  20889. }
  20890. var mk float32
  20891. var mv uint64
  20892. hasLen := containerLen > 0
  20893. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20894. if cr != nil {
  20895. cr.sendContainerState(containerMapKey)
  20896. }
  20897. mk = float32(dd.DecodeFloat(true))
  20898. if cr != nil {
  20899. cr.sendContainerState(containerMapValue)
  20900. }
  20901. mv = dd.DecodeUint(64)
  20902. if v != nil {
  20903. v[mk] = mv
  20904. }
  20905. }
  20906. if cr != nil {
  20907. cr.sendContainerState(containerMapEnd)
  20908. }
  20909. return v, changed
  20910. }
  20911. func (f *decFnInfo) fastpathDecMapFloat32UintptrR(rv reflect.Value) {
  20912. if rv.CanAddr() {
  20913. vp := rv2i(rv.Addr()).(*map[float32]uintptr)
  20914. v, changed := fastpathTV.DecMapFloat32UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  20915. if changed {
  20916. *vp = v
  20917. }
  20918. } else {
  20919. v := rv2i(rv).(map[float32]uintptr)
  20920. fastpathTV.DecMapFloat32UintptrV(v, fastpathCheckNilFalse, false, f.d)
  20921. }
  20922. }
  20923. func (f fastpathT) DecMapFloat32UintptrX(vp *map[float32]uintptr, checkNil bool, d *Decoder) {
  20924. v, changed := f.DecMapFloat32UintptrV(*vp, checkNil, true, d)
  20925. if changed {
  20926. *vp = v
  20927. }
  20928. }
  20929. func (_ fastpathT) DecMapFloat32UintptrV(v map[float32]uintptr, checkNil bool, canChange bool,
  20930. d *Decoder) (_ map[float32]uintptr, changed bool) {
  20931. dd := d.d
  20932. cr := d.cr
  20933. if checkNil && dd.TryDecodeAsNil() {
  20934. if v != nil {
  20935. changed = true
  20936. }
  20937. return nil, changed
  20938. }
  20939. containerLen := dd.ReadMapStart()
  20940. if canChange && v == nil {
  20941. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  20942. v = make(map[float32]uintptr, xlen)
  20943. changed = true
  20944. }
  20945. if containerLen == 0 {
  20946. if cr != nil {
  20947. cr.sendContainerState(containerMapEnd)
  20948. }
  20949. return v, changed
  20950. }
  20951. var mk float32
  20952. var mv uintptr
  20953. hasLen := containerLen > 0
  20954. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  20955. if cr != nil {
  20956. cr.sendContainerState(containerMapKey)
  20957. }
  20958. mk = float32(dd.DecodeFloat(true))
  20959. if cr != nil {
  20960. cr.sendContainerState(containerMapValue)
  20961. }
  20962. mv = uintptr(dd.DecodeUint(uintBitsize))
  20963. if v != nil {
  20964. v[mk] = mv
  20965. }
  20966. }
  20967. if cr != nil {
  20968. cr.sendContainerState(containerMapEnd)
  20969. }
  20970. return v, changed
  20971. }
  20972. func (f *decFnInfo) fastpathDecMapFloat32IntR(rv reflect.Value) {
  20973. if rv.CanAddr() {
  20974. vp := rv2i(rv.Addr()).(*map[float32]int)
  20975. v, changed := fastpathTV.DecMapFloat32IntV(*vp, fastpathCheckNilFalse, true, f.d)
  20976. if changed {
  20977. *vp = v
  20978. }
  20979. } else {
  20980. v := rv2i(rv).(map[float32]int)
  20981. fastpathTV.DecMapFloat32IntV(v, fastpathCheckNilFalse, false, f.d)
  20982. }
  20983. }
  20984. func (f fastpathT) DecMapFloat32IntX(vp *map[float32]int, checkNil bool, d *Decoder) {
  20985. v, changed := f.DecMapFloat32IntV(*vp, checkNil, true, d)
  20986. if changed {
  20987. *vp = v
  20988. }
  20989. }
  20990. func (_ fastpathT) DecMapFloat32IntV(v map[float32]int, checkNil bool, canChange bool,
  20991. d *Decoder) (_ map[float32]int, changed bool) {
  20992. dd := d.d
  20993. cr := d.cr
  20994. if checkNil && dd.TryDecodeAsNil() {
  20995. if v != nil {
  20996. changed = true
  20997. }
  20998. return nil, changed
  20999. }
  21000. containerLen := dd.ReadMapStart()
  21001. if canChange && v == nil {
  21002. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  21003. v = make(map[float32]int, xlen)
  21004. changed = true
  21005. }
  21006. if containerLen == 0 {
  21007. if cr != nil {
  21008. cr.sendContainerState(containerMapEnd)
  21009. }
  21010. return v, changed
  21011. }
  21012. var mk float32
  21013. var mv int
  21014. hasLen := containerLen > 0
  21015. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21016. if cr != nil {
  21017. cr.sendContainerState(containerMapKey)
  21018. }
  21019. mk = float32(dd.DecodeFloat(true))
  21020. if cr != nil {
  21021. cr.sendContainerState(containerMapValue)
  21022. }
  21023. mv = int(dd.DecodeInt(intBitsize))
  21024. if v != nil {
  21025. v[mk] = mv
  21026. }
  21027. }
  21028. if cr != nil {
  21029. cr.sendContainerState(containerMapEnd)
  21030. }
  21031. return v, changed
  21032. }
  21033. func (f *decFnInfo) fastpathDecMapFloat32Int8R(rv reflect.Value) {
  21034. if rv.CanAddr() {
  21035. vp := rv2i(rv.Addr()).(*map[float32]int8)
  21036. v, changed := fastpathTV.DecMapFloat32Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  21037. if changed {
  21038. *vp = v
  21039. }
  21040. } else {
  21041. v := rv2i(rv).(map[float32]int8)
  21042. fastpathTV.DecMapFloat32Int8V(v, fastpathCheckNilFalse, false, f.d)
  21043. }
  21044. }
  21045. func (f fastpathT) DecMapFloat32Int8X(vp *map[float32]int8, checkNil bool, d *Decoder) {
  21046. v, changed := f.DecMapFloat32Int8V(*vp, checkNil, true, d)
  21047. if changed {
  21048. *vp = v
  21049. }
  21050. }
  21051. func (_ fastpathT) DecMapFloat32Int8V(v map[float32]int8, checkNil bool, canChange bool,
  21052. d *Decoder) (_ map[float32]int8, changed bool) {
  21053. dd := d.d
  21054. cr := d.cr
  21055. if checkNil && dd.TryDecodeAsNil() {
  21056. if v != nil {
  21057. changed = true
  21058. }
  21059. return nil, changed
  21060. }
  21061. containerLen := dd.ReadMapStart()
  21062. if canChange && v == nil {
  21063. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  21064. v = make(map[float32]int8, xlen)
  21065. changed = true
  21066. }
  21067. if containerLen == 0 {
  21068. if cr != nil {
  21069. cr.sendContainerState(containerMapEnd)
  21070. }
  21071. return v, changed
  21072. }
  21073. var mk float32
  21074. var mv int8
  21075. hasLen := containerLen > 0
  21076. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21077. if cr != nil {
  21078. cr.sendContainerState(containerMapKey)
  21079. }
  21080. mk = float32(dd.DecodeFloat(true))
  21081. if cr != nil {
  21082. cr.sendContainerState(containerMapValue)
  21083. }
  21084. mv = int8(dd.DecodeInt(8))
  21085. if v != nil {
  21086. v[mk] = mv
  21087. }
  21088. }
  21089. if cr != nil {
  21090. cr.sendContainerState(containerMapEnd)
  21091. }
  21092. return v, changed
  21093. }
  21094. func (f *decFnInfo) fastpathDecMapFloat32Int16R(rv reflect.Value) {
  21095. if rv.CanAddr() {
  21096. vp := rv2i(rv.Addr()).(*map[float32]int16)
  21097. v, changed := fastpathTV.DecMapFloat32Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  21098. if changed {
  21099. *vp = v
  21100. }
  21101. } else {
  21102. v := rv2i(rv).(map[float32]int16)
  21103. fastpathTV.DecMapFloat32Int16V(v, fastpathCheckNilFalse, false, f.d)
  21104. }
  21105. }
  21106. func (f fastpathT) DecMapFloat32Int16X(vp *map[float32]int16, checkNil bool, d *Decoder) {
  21107. v, changed := f.DecMapFloat32Int16V(*vp, checkNil, true, d)
  21108. if changed {
  21109. *vp = v
  21110. }
  21111. }
  21112. func (_ fastpathT) DecMapFloat32Int16V(v map[float32]int16, checkNil bool, canChange bool,
  21113. d *Decoder) (_ map[float32]int16, changed bool) {
  21114. dd := d.d
  21115. cr := d.cr
  21116. if checkNil && dd.TryDecodeAsNil() {
  21117. if v != nil {
  21118. changed = true
  21119. }
  21120. return nil, changed
  21121. }
  21122. containerLen := dd.ReadMapStart()
  21123. if canChange && v == nil {
  21124. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  21125. v = make(map[float32]int16, xlen)
  21126. changed = true
  21127. }
  21128. if containerLen == 0 {
  21129. if cr != nil {
  21130. cr.sendContainerState(containerMapEnd)
  21131. }
  21132. return v, changed
  21133. }
  21134. var mk float32
  21135. var mv int16
  21136. hasLen := containerLen > 0
  21137. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21138. if cr != nil {
  21139. cr.sendContainerState(containerMapKey)
  21140. }
  21141. mk = float32(dd.DecodeFloat(true))
  21142. if cr != nil {
  21143. cr.sendContainerState(containerMapValue)
  21144. }
  21145. mv = int16(dd.DecodeInt(16))
  21146. if v != nil {
  21147. v[mk] = mv
  21148. }
  21149. }
  21150. if cr != nil {
  21151. cr.sendContainerState(containerMapEnd)
  21152. }
  21153. return v, changed
  21154. }
  21155. func (f *decFnInfo) fastpathDecMapFloat32Int32R(rv reflect.Value) {
  21156. if rv.CanAddr() {
  21157. vp := rv2i(rv.Addr()).(*map[float32]int32)
  21158. v, changed := fastpathTV.DecMapFloat32Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  21159. if changed {
  21160. *vp = v
  21161. }
  21162. } else {
  21163. v := rv2i(rv).(map[float32]int32)
  21164. fastpathTV.DecMapFloat32Int32V(v, fastpathCheckNilFalse, false, f.d)
  21165. }
  21166. }
  21167. func (f fastpathT) DecMapFloat32Int32X(vp *map[float32]int32, checkNil bool, d *Decoder) {
  21168. v, changed := f.DecMapFloat32Int32V(*vp, checkNil, true, d)
  21169. if changed {
  21170. *vp = v
  21171. }
  21172. }
  21173. func (_ fastpathT) DecMapFloat32Int32V(v map[float32]int32, checkNil bool, canChange bool,
  21174. d *Decoder) (_ map[float32]int32, changed bool) {
  21175. dd := d.d
  21176. cr := d.cr
  21177. if checkNil && dd.TryDecodeAsNil() {
  21178. if v != nil {
  21179. changed = true
  21180. }
  21181. return nil, changed
  21182. }
  21183. containerLen := dd.ReadMapStart()
  21184. if canChange && v == nil {
  21185. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  21186. v = make(map[float32]int32, xlen)
  21187. changed = true
  21188. }
  21189. if containerLen == 0 {
  21190. if cr != nil {
  21191. cr.sendContainerState(containerMapEnd)
  21192. }
  21193. return v, changed
  21194. }
  21195. var mk float32
  21196. var mv int32
  21197. hasLen := containerLen > 0
  21198. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21199. if cr != nil {
  21200. cr.sendContainerState(containerMapKey)
  21201. }
  21202. mk = float32(dd.DecodeFloat(true))
  21203. if cr != nil {
  21204. cr.sendContainerState(containerMapValue)
  21205. }
  21206. mv = int32(dd.DecodeInt(32))
  21207. if v != nil {
  21208. v[mk] = mv
  21209. }
  21210. }
  21211. if cr != nil {
  21212. cr.sendContainerState(containerMapEnd)
  21213. }
  21214. return v, changed
  21215. }
  21216. func (f *decFnInfo) fastpathDecMapFloat32Int64R(rv reflect.Value) {
  21217. if rv.CanAddr() {
  21218. vp := rv2i(rv.Addr()).(*map[float32]int64)
  21219. v, changed := fastpathTV.DecMapFloat32Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  21220. if changed {
  21221. *vp = v
  21222. }
  21223. } else {
  21224. v := rv2i(rv).(map[float32]int64)
  21225. fastpathTV.DecMapFloat32Int64V(v, fastpathCheckNilFalse, false, f.d)
  21226. }
  21227. }
  21228. func (f fastpathT) DecMapFloat32Int64X(vp *map[float32]int64, checkNil bool, d *Decoder) {
  21229. v, changed := f.DecMapFloat32Int64V(*vp, checkNil, true, d)
  21230. if changed {
  21231. *vp = v
  21232. }
  21233. }
  21234. func (_ fastpathT) DecMapFloat32Int64V(v map[float32]int64, checkNil bool, canChange bool,
  21235. d *Decoder) (_ map[float32]int64, changed bool) {
  21236. dd := d.d
  21237. cr := d.cr
  21238. if checkNil && dd.TryDecodeAsNil() {
  21239. if v != nil {
  21240. changed = true
  21241. }
  21242. return nil, changed
  21243. }
  21244. containerLen := dd.ReadMapStart()
  21245. if canChange && v == nil {
  21246. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  21247. v = make(map[float32]int64, xlen)
  21248. changed = true
  21249. }
  21250. if containerLen == 0 {
  21251. if cr != nil {
  21252. cr.sendContainerState(containerMapEnd)
  21253. }
  21254. return v, changed
  21255. }
  21256. var mk float32
  21257. var mv int64
  21258. hasLen := containerLen > 0
  21259. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21260. if cr != nil {
  21261. cr.sendContainerState(containerMapKey)
  21262. }
  21263. mk = float32(dd.DecodeFloat(true))
  21264. if cr != nil {
  21265. cr.sendContainerState(containerMapValue)
  21266. }
  21267. mv = dd.DecodeInt(64)
  21268. if v != nil {
  21269. v[mk] = mv
  21270. }
  21271. }
  21272. if cr != nil {
  21273. cr.sendContainerState(containerMapEnd)
  21274. }
  21275. return v, changed
  21276. }
  21277. func (f *decFnInfo) fastpathDecMapFloat32Float32R(rv reflect.Value) {
  21278. if rv.CanAddr() {
  21279. vp := rv2i(rv.Addr()).(*map[float32]float32)
  21280. v, changed := fastpathTV.DecMapFloat32Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  21281. if changed {
  21282. *vp = v
  21283. }
  21284. } else {
  21285. v := rv2i(rv).(map[float32]float32)
  21286. fastpathTV.DecMapFloat32Float32V(v, fastpathCheckNilFalse, false, f.d)
  21287. }
  21288. }
  21289. func (f fastpathT) DecMapFloat32Float32X(vp *map[float32]float32, checkNil bool, d *Decoder) {
  21290. v, changed := f.DecMapFloat32Float32V(*vp, checkNil, true, d)
  21291. if changed {
  21292. *vp = v
  21293. }
  21294. }
  21295. func (_ fastpathT) DecMapFloat32Float32V(v map[float32]float32, checkNil bool, canChange bool,
  21296. d *Decoder) (_ map[float32]float32, changed bool) {
  21297. dd := d.d
  21298. cr := d.cr
  21299. if checkNil && dd.TryDecodeAsNil() {
  21300. if v != nil {
  21301. changed = true
  21302. }
  21303. return nil, changed
  21304. }
  21305. containerLen := dd.ReadMapStart()
  21306. if canChange && v == nil {
  21307. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  21308. v = make(map[float32]float32, xlen)
  21309. changed = true
  21310. }
  21311. if containerLen == 0 {
  21312. if cr != nil {
  21313. cr.sendContainerState(containerMapEnd)
  21314. }
  21315. return v, changed
  21316. }
  21317. var mk float32
  21318. var mv float32
  21319. hasLen := containerLen > 0
  21320. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21321. if cr != nil {
  21322. cr.sendContainerState(containerMapKey)
  21323. }
  21324. mk = float32(dd.DecodeFloat(true))
  21325. if cr != nil {
  21326. cr.sendContainerState(containerMapValue)
  21327. }
  21328. mv = float32(dd.DecodeFloat(true))
  21329. if v != nil {
  21330. v[mk] = mv
  21331. }
  21332. }
  21333. if cr != nil {
  21334. cr.sendContainerState(containerMapEnd)
  21335. }
  21336. return v, changed
  21337. }
  21338. func (f *decFnInfo) fastpathDecMapFloat32Float64R(rv reflect.Value) {
  21339. if rv.CanAddr() {
  21340. vp := rv2i(rv.Addr()).(*map[float32]float64)
  21341. v, changed := fastpathTV.DecMapFloat32Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  21342. if changed {
  21343. *vp = v
  21344. }
  21345. } else {
  21346. v := rv2i(rv).(map[float32]float64)
  21347. fastpathTV.DecMapFloat32Float64V(v, fastpathCheckNilFalse, false, f.d)
  21348. }
  21349. }
  21350. func (f fastpathT) DecMapFloat32Float64X(vp *map[float32]float64, checkNil bool, d *Decoder) {
  21351. v, changed := f.DecMapFloat32Float64V(*vp, checkNil, true, d)
  21352. if changed {
  21353. *vp = v
  21354. }
  21355. }
  21356. func (_ fastpathT) DecMapFloat32Float64V(v map[float32]float64, checkNil bool, canChange bool,
  21357. d *Decoder) (_ map[float32]float64, changed bool) {
  21358. dd := d.d
  21359. cr := d.cr
  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, 12)
  21369. v = make(map[float32]float64, xlen)
  21370. changed = true
  21371. }
  21372. if containerLen == 0 {
  21373. if cr != nil {
  21374. cr.sendContainerState(containerMapEnd)
  21375. }
  21376. return v, changed
  21377. }
  21378. var mk float32
  21379. var mv float64
  21380. hasLen := containerLen > 0
  21381. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21382. if cr != nil {
  21383. cr.sendContainerState(containerMapKey)
  21384. }
  21385. mk = float32(dd.DecodeFloat(true))
  21386. if cr != nil {
  21387. cr.sendContainerState(containerMapValue)
  21388. }
  21389. mv = dd.DecodeFloat(false)
  21390. if v != nil {
  21391. v[mk] = mv
  21392. }
  21393. }
  21394. if cr != nil {
  21395. cr.sendContainerState(containerMapEnd)
  21396. }
  21397. return v, changed
  21398. }
  21399. func (f *decFnInfo) fastpathDecMapFloat32BoolR(rv reflect.Value) {
  21400. if rv.CanAddr() {
  21401. vp := rv2i(rv.Addr()).(*map[float32]bool)
  21402. v, changed := fastpathTV.DecMapFloat32BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  21403. if changed {
  21404. *vp = v
  21405. }
  21406. } else {
  21407. v := rv2i(rv).(map[float32]bool)
  21408. fastpathTV.DecMapFloat32BoolV(v, fastpathCheckNilFalse, false, f.d)
  21409. }
  21410. }
  21411. func (f fastpathT) DecMapFloat32BoolX(vp *map[float32]bool, checkNil bool, d *Decoder) {
  21412. v, changed := f.DecMapFloat32BoolV(*vp, checkNil, true, d)
  21413. if changed {
  21414. *vp = v
  21415. }
  21416. }
  21417. func (_ fastpathT) DecMapFloat32BoolV(v map[float32]bool, checkNil bool, canChange bool,
  21418. d *Decoder) (_ map[float32]bool, changed bool) {
  21419. dd := d.d
  21420. cr := d.cr
  21421. if checkNil && dd.TryDecodeAsNil() {
  21422. if v != nil {
  21423. changed = true
  21424. }
  21425. return nil, changed
  21426. }
  21427. containerLen := dd.ReadMapStart()
  21428. if canChange && v == nil {
  21429. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  21430. v = make(map[float32]bool, xlen)
  21431. changed = true
  21432. }
  21433. if containerLen == 0 {
  21434. if cr != nil {
  21435. cr.sendContainerState(containerMapEnd)
  21436. }
  21437. return v, changed
  21438. }
  21439. var mk float32
  21440. var mv bool
  21441. hasLen := containerLen > 0
  21442. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21443. if cr != nil {
  21444. cr.sendContainerState(containerMapKey)
  21445. }
  21446. mk = float32(dd.DecodeFloat(true))
  21447. if cr != nil {
  21448. cr.sendContainerState(containerMapValue)
  21449. }
  21450. mv = dd.DecodeBool()
  21451. if v != nil {
  21452. v[mk] = mv
  21453. }
  21454. }
  21455. if cr != nil {
  21456. cr.sendContainerState(containerMapEnd)
  21457. }
  21458. return v, changed
  21459. }
  21460. func (f *decFnInfo) fastpathDecMapFloat64IntfR(rv reflect.Value) {
  21461. if rv.CanAddr() {
  21462. vp := rv2i(rv.Addr()).(*map[float64]interface{})
  21463. v, changed := fastpathTV.DecMapFloat64IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  21464. if changed {
  21465. *vp = v
  21466. }
  21467. } else {
  21468. v := rv2i(rv).(map[float64]interface{})
  21469. fastpathTV.DecMapFloat64IntfV(v, fastpathCheckNilFalse, false, f.d)
  21470. }
  21471. }
  21472. func (f fastpathT) DecMapFloat64IntfX(vp *map[float64]interface{}, checkNil bool, d *Decoder) {
  21473. v, changed := f.DecMapFloat64IntfV(*vp, checkNil, true, d)
  21474. if changed {
  21475. *vp = v
  21476. }
  21477. }
  21478. func (_ fastpathT) DecMapFloat64IntfV(v map[float64]interface{}, checkNil bool, canChange bool,
  21479. d *Decoder) (_ map[float64]interface{}, changed bool) {
  21480. dd := d.d
  21481. cr := d.cr
  21482. if checkNil && dd.TryDecodeAsNil() {
  21483. if v != nil {
  21484. changed = true
  21485. }
  21486. return nil, changed
  21487. }
  21488. containerLen := dd.ReadMapStart()
  21489. if canChange && v == nil {
  21490. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  21491. v = make(map[float64]interface{}, xlen)
  21492. changed = true
  21493. }
  21494. if containerLen == 0 {
  21495. if cr != nil {
  21496. cr.sendContainerState(containerMapEnd)
  21497. }
  21498. return v, changed
  21499. }
  21500. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  21501. var mk float64
  21502. var mv interface{}
  21503. hasLen := containerLen > 0
  21504. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21505. if cr != nil {
  21506. cr.sendContainerState(containerMapKey)
  21507. }
  21508. mk = dd.DecodeFloat(false)
  21509. if cr != nil {
  21510. cr.sendContainerState(containerMapValue)
  21511. }
  21512. if mapGet {
  21513. mv = v[mk]
  21514. } else {
  21515. mv = nil
  21516. }
  21517. d.decode(&mv)
  21518. if v != nil {
  21519. v[mk] = mv
  21520. }
  21521. }
  21522. if cr != nil {
  21523. cr.sendContainerState(containerMapEnd)
  21524. }
  21525. return v, changed
  21526. }
  21527. func (f *decFnInfo) fastpathDecMapFloat64StringR(rv reflect.Value) {
  21528. if rv.CanAddr() {
  21529. vp := rv2i(rv.Addr()).(*map[float64]string)
  21530. v, changed := fastpathTV.DecMapFloat64StringV(*vp, fastpathCheckNilFalse, true, f.d)
  21531. if changed {
  21532. *vp = v
  21533. }
  21534. } else {
  21535. v := rv2i(rv).(map[float64]string)
  21536. fastpathTV.DecMapFloat64StringV(v, fastpathCheckNilFalse, false, f.d)
  21537. }
  21538. }
  21539. func (f fastpathT) DecMapFloat64StringX(vp *map[float64]string, checkNil bool, d *Decoder) {
  21540. v, changed := f.DecMapFloat64StringV(*vp, checkNil, true, d)
  21541. if changed {
  21542. *vp = v
  21543. }
  21544. }
  21545. func (_ fastpathT) DecMapFloat64StringV(v map[float64]string, checkNil bool, canChange bool,
  21546. d *Decoder) (_ map[float64]string, changed bool) {
  21547. dd := d.d
  21548. cr := d.cr
  21549. if checkNil && dd.TryDecodeAsNil() {
  21550. if v != nil {
  21551. changed = true
  21552. }
  21553. return nil, changed
  21554. }
  21555. containerLen := dd.ReadMapStart()
  21556. if canChange && v == nil {
  21557. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  21558. v = make(map[float64]string, xlen)
  21559. changed = true
  21560. }
  21561. if containerLen == 0 {
  21562. if cr != nil {
  21563. cr.sendContainerState(containerMapEnd)
  21564. }
  21565. return v, changed
  21566. }
  21567. var mk float64
  21568. var mv string
  21569. hasLen := containerLen > 0
  21570. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21571. if cr != nil {
  21572. cr.sendContainerState(containerMapKey)
  21573. }
  21574. mk = dd.DecodeFloat(false)
  21575. if cr != nil {
  21576. cr.sendContainerState(containerMapValue)
  21577. }
  21578. mv = dd.DecodeString()
  21579. if v != nil {
  21580. v[mk] = mv
  21581. }
  21582. }
  21583. if cr != nil {
  21584. cr.sendContainerState(containerMapEnd)
  21585. }
  21586. return v, changed
  21587. }
  21588. func (f *decFnInfo) fastpathDecMapFloat64UintR(rv reflect.Value) {
  21589. if rv.CanAddr() {
  21590. vp := rv2i(rv.Addr()).(*map[float64]uint)
  21591. v, changed := fastpathTV.DecMapFloat64UintV(*vp, fastpathCheckNilFalse, true, f.d)
  21592. if changed {
  21593. *vp = v
  21594. }
  21595. } else {
  21596. v := rv2i(rv).(map[float64]uint)
  21597. fastpathTV.DecMapFloat64UintV(v, fastpathCheckNilFalse, false, f.d)
  21598. }
  21599. }
  21600. func (f fastpathT) DecMapFloat64UintX(vp *map[float64]uint, checkNil bool, d *Decoder) {
  21601. v, changed := f.DecMapFloat64UintV(*vp, checkNil, true, d)
  21602. if changed {
  21603. *vp = v
  21604. }
  21605. }
  21606. func (_ fastpathT) DecMapFloat64UintV(v map[float64]uint, checkNil bool, canChange bool,
  21607. d *Decoder) (_ map[float64]uint, changed bool) {
  21608. dd := d.d
  21609. cr := d.cr
  21610. if checkNil && dd.TryDecodeAsNil() {
  21611. if v != nil {
  21612. changed = true
  21613. }
  21614. return nil, changed
  21615. }
  21616. containerLen := dd.ReadMapStart()
  21617. if canChange && v == nil {
  21618. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  21619. v = make(map[float64]uint, xlen)
  21620. changed = true
  21621. }
  21622. if containerLen == 0 {
  21623. if cr != nil {
  21624. cr.sendContainerState(containerMapEnd)
  21625. }
  21626. return v, changed
  21627. }
  21628. var mk float64
  21629. var mv uint
  21630. hasLen := containerLen > 0
  21631. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21632. if cr != nil {
  21633. cr.sendContainerState(containerMapKey)
  21634. }
  21635. mk = dd.DecodeFloat(false)
  21636. if cr != nil {
  21637. cr.sendContainerState(containerMapValue)
  21638. }
  21639. mv = uint(dd.DecodeUint(uintBitsize))
  21640. if v != nil {
  21641. v[mk] = mv
  21642. }
  21643. }
  21644. if cr != nil {
  21645. cr.sendContainerState(containerMapEnd)
  21646. }
  21647. return v, changed
  21648. }
  21649. func (f *decFnInfo) fastpathDecMapFloat64Uint8R(rv reflect.Value) {
  21650. if rv.CanAddr() {
  21651. vp := rv2i(rv.Addr()).(*map[float64]uint8)
  21652. v, changed := fastpathTV.DecMapFloat64Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  21653. if changed {
  21654. *vp = v
  21655. }
  21656. } else {
  21657. v := rv2i(rv).(map[float64]uint8)
  21658. fastpathTV.DecMapFloat64Uint8V(v, fastpathCheckNilFalse, false, f.d)
  21659. }
  21660. }
  21661. func (f fastpathT) DecMapFloat64Uint8X(vp *map[float64]uint8, checkNil bool, d *Decoder) {
  21662. v, changed := f.DecMapFloat64Uint8V(*vp, checkNil, true, d)
  21663. if changed {
  21664. *vp = v
  21665. }
  21666. }
  21667. func (_ fastpathT) DecMapFloat64Uint8V(v map[float64]uint8, checkNil bool, canChange bool,
  21668. d *Decoder) (_ map[float64]uint8, changed bool) {
  21669. dd := d.d
  21670. cr := d.cr
  21671. if checkNil && dd.TryDecodeAsNil() {
  21672. if v != nil {
  21673. changed = true
  21674. }
  21675. return nil, changed
  21676. }
  21677. containerLen := dd.ReadMapStart()
  21678. if canChange && v == nil {
  21679. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  21680. v = make(map[float64]uint8, xlen)
  21681. changed = true
  21682. }
  21683. if containerLen == 0 {
  21684. if cr != nil {
  21685. cr.sendContainerState(containerMapEnd)
  21686. }
  21687. return v, changed
  21688. }
  21689. var mk float64
  21690. var mv uint8
  21691. hasLen := containerLen > 0
  21692. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21693. if cr != nil {
  21694. cr.sendContainerState(containerMapKey)
  21695. }
  21696. mk = dd.DecodeFloat(false)
  21697. if cr != nil {
  21698. cr.sendContainerState(containerMapValue)
  21699. }
  21700. mv = uint8(dd.DecodeUint(8))
  21701. if v != nil {
  21702. v[mk] = mv
  21703. }
  21704. }
  21705. if cr != nil {
  21706. cr.sendContainerState(containerMapEnd)
  21707. }
  21708. return v, changed
  21709. }
  21710. func (f *decFnInfo) fastpathDecMapFloat64Uint16R(rv reflect.Value) {
  21711. if rv.CanAddr() {
  21712. vp := rv2i(rv.Addr()).(*map[float64]uint16)
  21713. v, changed := fastpathTV.DecMapFloat64Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  21714. if changed {
  21715. *vp = v
  21716. }
  21717. } else {
  21718. v := rv2i(rv).(map[float64]uint16)
  21719. fastpathTV.DecMapFloat64Uint16V(v, fastpathCheckNilFalse, false, f.d)
  21720. }
  21721. }
  21722. func (f fastpathT) DecMapFloat64Uint16X(vp *map[float64]uint16, checkNil bool, d *Decoder) {
  21723. v, changed := f.DecMapFloat64Uint16V(*vp, checkNil, true, d)
  21724. if changed {
  21725. *vp = v
  21726. }
  21727. }
  21728. func (_ fastpathT) DecMapFloat64Uint16V(v map[float64]uint16, checkNil bool, canChange bool,
  21729. d *Decoder) (_ map[float64]uint16, changed bool) {
  21730. dd := d.d
  21731. cr := d.cr
  21732. if checkNil && dd.TryDecodeAsNil() {
  21733. if v != nil {
  21734. changed = true
  21735. }
  21736. return nil, changed
  21737. }
  21738. containerLen := dd.ReadMapStart()
  21739. if canChange && v == nil {
  21740. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  21741. v = make(map[float64]uint16, xlen)
  21742. changed = true
  21743. }
  21744. if containerLen == 0 {
  21745. if cr != nil {
  21746. cr.sendContainerState(containerMapEnd)
  21747. }
  21748. return v, changed
  21749. }
  21750. var mk float64
  21751. var mv uint16
  21752. hasLen := containerLen > 0
  21753. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21754. if cr != nil {
  21755. cr.sendContainerState(containerMapKey)
  21756. }
  21757. mk = dd.DecodeFloat(false)
  21758. if cr != nil {
  21759. cr.sendContainerState(containerMapValue)
  21760. }
  21761. mv = uint16(dd.DecodeUint(16))
  21762. if v != nil {
  21763. v[mk] = mv
  21764. }
  21765. }
  21766. if cr != nil {
  21767. cr.sendContainerState(containerMapEnd)
  21768. }
  21769. return v, changed
  21770. }
  21771. func (f *decFnInfo) fastpathDecMapFloat64Uint32R(rv reflect.Value) {
  21772. if rv.CanAddr() {
  21773. vp := rv2i(rv.Addr()).(*map[float64]uint32)
  21774. v, changed := fastpathTV.DecMapFloat64Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  21775. if changed {
  21776. *vp = v
  21777. }
  21778. } else {
  21779. v := rv2i(rv).(map[float64]uint32)
  21780. fastpathTV.DecMapFloat64Uint32V(v, fastpathCheckNilFalse, false, f.d)
  21781. }
  21782. }
  21783. func (f fastpathT) DecMapFloat64Uint32X(vp *map[float64]uint32, checkNil bool, d *Decoder) {
  21784. v, changed := f.DecMapFloat64Uint32V(*vp, checkNil, true, d)
  21785. if changed {
  21786. *vp = v
  21787. }
  21788. }
  21789. func (_ fastpathT) DecMapFloat64Uint32V(v map[float64]uint32, checkNil bool, canChange bool,
  21790. d *Decoder) (_ map[float64]uint32, changed bool) {
  21791. dd := d.d
  21792. cr := d.cr
  21793. if checkNil && dd.TryDecodeAsNil() {
  21794. if v != nil {
  21795. changed = true
  21796. }
  21797. return nil, changed
  21798. }
  21799. containerLen := dd.ReadMapStart()
  21800. if canChange && v == nil {
  21801. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  21802. v = make(map[float64]uint32, xlen)
  21803. changed = true
  21804. }
  21805. if containerLen == 0 {
  21806. if cr != nil {
  21807. cr.sendContainerState(containerMapEnd)
  21808. }
  21809. return v, changed
  21810. }
  21811. var mk float64
  21812. var mv uint32
  21813. hasLen := containerLen > 0
  21814. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21815. if cr != nil {
  21816. cr.sendContainerState(containerMapKey)
  21817. }
  21818. mk = dd.DecodeFloat(false)
  21819. if cr != nil {
  21820. cr.sendContainerState(containerMapValue)
  21821. }
  21822. mv = uint32(dd.DecodeUint(32))
  21823. if v != nil {
  21824. v[mk] = mv
  21825. }
  21826. }
  21827. if cr != nil {
  21828. cr.sendContainerState(containerMapEnd)
  21829. }
  21830. return v, changed
  21831. }
  21832. func (f *decFnInfo) fastpathDecMapFloat64Uint64R(rv reflect.Value) {
  21833. if rv.CanAddr() {
  21834. vp := rv2i(rv.Addr()).(*map[float64]uint64)
  21835. v, changed := fastpathTV.DecMapFloat64Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  21836. if changed {
  21837. *vp = v
  21838. }
  21839. } else {
  21840. v := rv2i(rv).(map[float64]uint64)
  21841. fastpathTV.DecMapFloat64Uint64V(v, fastpathCheckNilFalse, false, f.d)
  21842. }
  21843. }
  21844. func (f fastpathT) DecMapFloat64Uint64X(vp *map[float64]uint64, checkNil bool, d *Decoder) {
  21845. v, changed := f.DecMapFloat64Uint64V(*vp, checkNil, true, d)
  21846. if changed {
  21847. *vp = v
  21848. }
  21849. }
  21850. func (_ fastpathT) DecMapFloat64Uint64V(v map[float64]uint64, checkNil bool, canChange bool,
  21851. d *Decoder) (_ map[float64]uint64, changed bool) {
  21852. dd := d.d
  21853. cr := d.cr
  21854. if checkNil && dd.TryDecodeAsNil() {
  21855. if v != nil {
  21856. changed = true
  21857. }
  21858. return nil, changed
  21859. }
  21860. containerLen := dd.ReadMapStart()
  21861. if canChange && v == nil {
  21862. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  21863. v = make(map[float64]uint64, xlen)
  21864. changed = true
  21865. }
  21866. if containerLen == 0 {
  21867. if cr != nil {
  21868. cr.sendContainerState(containerMapEnd)
  21869. }
  21870. return v, changed
  21871. }
  21872. var mk float64
  21873. var mv uint64
  21874. hasLen := containerLen > 0
  21875. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21876. if cr != nil {
  21877. cr.sendContainerState(containerMapKey)
  21878. }
  21879. mk = dd.DecodeFloat(false)
  21880. if cr != nil {
  21881. cr.sendContainerState(containerMapValue)
  21882. }
  21883. mv = dd.DecodeUint(64)
  21884. if v != nil {
  21885. v[mk] = mv
  21886. }
  21887. }
  21888. if cr != nil {
  21889. cr.sendContainerState(containerMapEnd)
  21890. }
  21891. return v, changed
  21892. }
  21893. func (f *decFnInfo) fastpathDecMapFloat64UintptrR(rv reflect.Value) {
  21894. if rv.CanAddr() {
  21895. vp := rv2i(rv.Addr()).(*map[float64]uintptr)
  21896. v, changed := fastpathTV.DecMapFloat64UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  21897. if changed {
  21898. *vp = v
  21899. }
  21900. } else {
  21901. v := rv2i(rv).(map[float64]uintptr)
  21902. fastpathTV.DecMapFloat64UintptrV(v, fastpathCheckNilFalse, false, f.d)
  21903. }
  21904. }
  21905. func (f fastpathT) DecMapFloat64UintptrX(vp *map[float64]uintptr, checkNil bool, d *Decoder) {
  21906. v, changed := f.DecMapFloat64UintptrV(*vp, checkNil, true, d)
  21907. if changed {
  21908. *vp = v
  21909. }
  21910. }
  21911. func (_ fastpathT) DecMapFloat64UintptrV(v map[float64]uintptr, checkNil bool, canChange bool,
  21912. d *Decoder) (_ map[float64]uintptr, changed bool) {
  21913. dd := d.d
  21914. cr := d.cr
  21915. if checkNil && dd.TryDecodeAsNil() {
  21916. if v != nil {
  21917. changed = true
  21918. }
  21919. return nil, changed
  21920. }
  21921. containerLen := dd.ReadMapStart()
  21922. if canChange && v == nil {
  21923. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  21924. v = make(map[float64]uintptr, xlen)
  21925. changed = true
  21926. }
  21927. if containerLen == 0 {
  21928. if cr != nil {
  21929. cr.sendContainerState(containerMapEnd)
  21930. }
  21931. return v, changed
  21932. }
  21933. var mk float64
  21934. var mv uintptr
  21935. hasLen := containerLen > 0
  21936. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21937. if cr != nil {
  21938. cr.sendContainerState(containerMapKey)
  21939. }
  21940. mk = dd.DecodeFloat(false)
  21941. if cr != nil {
  21942. cr.sendContainerState(containerMapValue)
  21943. }
  21944. mv = uintptr(dd.DecodeUint(uintBitsize))
  21945. if v != nil {
  21946. v[mk] = mv
  21947. }
  21948. }
  21949. if cr != nil {
  21950. cr.sendContainerState(containerMapEnd)
  21951. }
  21952. return v, changed
  21953. }
  21954. func (f *decFnInfo) fastpathDecMapFloat64IntR(rv reflect.Value) {
  21955. if rv.CanAddr() {
  21956. vp := rv2i(rv.Addr()).(*map[float64]int)
  21957. v, changed := fastpathTV.DecMapFloat64IntV(*vp, fastpathCheckNilFalse, true, f.d)
  21958. if changed {
  21959. *vp = v
  21960. }
  21961. } else {
  21962. v := rv2i(rv).(map[float64]int)
  21963. fastpathTV.DecMapFloat64IntV(v, fastpathCheckNilFalse, false, f.d)
  21964. }
  21965. }
  21966. func (f fastpathT) DecMapFloat64IntX(vp *map[float64]int, checkNil bool, d *Decoder) {
  21967. v, changed := f.DecMapFloat64IntV(*vp, checkNil, true, d)
  21968. if changed {
  21969. *vp = v
  21970. }
  21971. }
  21972. func (_ fastpathT) DecMapFloat64IntV(v map[float64]int, checkNil bool, canChange bool,
  21973. d *Decoder) (_ map[float64]int, changed bool) {
  21974. dd := d.d
  21975. cr := d.cr
  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, 16)
  21985. v = make(map[float64]int, xlen)
  21986. changed = true
  21987. }
  21988. if containerLen == 0 {
  21989. if cr != nil {
  21990. cr.sendContainerState(containerMapEnd)
  21991. }
  21992. return v, changed
  21993. }
  21994. var mk float64
  21995. var mv int
  21996. hasLen := containerLen > 0
  21997. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  21998. if cr != nil {
  21999. cr.sendContainerState(containerMapKey)
  22000. }
  22001. mk = dd.DecodeFloat(false)
  22002. if cr != nil {
  22003. cr.sendContainerState(containerMapValue)
  22004. }
  22005. mv = int(dd.DecodeInt(intBitsize))
  22006. if v != nil {
  22007. v[mk] = mv
  22008. }
  22009. }
  22010. if cr != nil {
  22011. cr.sendContainerState(containerMapEnd)
  22012. }
  22013. return v, changed
  22014. }
  22015. func (f *decFnInfo) fastpathDecMapFloat64Int8R(rv reflect.Value) {
  22016. if rv.CanAddr() {
  22017. vp := rv2i(rv.Addr()).(*map[float64]int8)
  22018. v, changed := fastpathTV.DecMapFloat64Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  22019. if changed {
  22020. *vp = v
  22021. }
  22022. } else {
  22023. v := rv2i(rv).(map[float64]int8)
  22024. fastpathTV.DecMapFloat64Int8V(v, fastpathCheckNilFalse, false, f.d)
  22025. }
  22026. }
  22027. func (f fastpathT) DecMapFloat64Int8X(vp *map[float64]int8, checkNil bool, d *Decoder) {
  22028. v, changed := f.DecMapFloat64Int8V(*vp, checkNil, true, d)
  22029. if changed {
  22030. *vp = v
  22031. }
  22032. }
  22033. func (_ fastpathT) DecMapFloat64Int8V(v map[float64]int8, checkNil bool, canChange bool,
  22034. d *Decoder) (_ map[float64]int8, changed bool) {
  22035. dd := d.d
  22036. cr := d.cr
  22037. if checkNil && dd.TryDecodeAsNil() {
  22038. if v != nil {
  22039. changed = true
  22040. }
  22041. return nil, changed
  22042. }
  22043. containerLen := dd.ReadMapStart()
  22044. if canChange && v == nil {
  22045. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  22046. v = make(map[float64]int8, xlen)
  22047. changed = true
  22048. }
  22049. if containerLen == 0 {
  22050. if cr != nil {
  22051. cr.sendContainerState(containerMapEnd)
  22052. }
  22053. return v, changed
  22054. }
  22055. var mk float64
  22056. var mv int8
  22057. hasLen := containerLen > 0
  22058. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22059. if cr != nil {
  22060. cr.sendContainerState(containerMapKey)
  22061. }
  22062. mk = dd.DecodeFloat(false)
  22063. if cr != nil {
  22064. cr.sendContainerState(containerMapValue)
  22065. }
  22066. mv = int8(dd.DecodeInt(8))
  22067. if v != nil {
  22068. v[mk] = mv
  22069. }
  22070. }
  22071. if cr != nil {
  22072. cr.sendContainerState(containerMapEnd)
  22073. }
  22074. return v, changed
  22075. }
  22076. func (f *decFnInfo) fastpathDecMapFloat64Int16R(rv reflect.Value) {
  22077. if rv.CanAddr() {
  22078. vp := rv2i(rv.Addr()).(*map[float64]int16)
  22079. v, changed := fastpathTV.DecMapFloat64Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  22080. if changed {
  22081. *vp = v
  22082. }
  22083. } else {
  22084. v := rv2i(rv).(map[float64]int16)
  22085. fastpathTV.DecMapFloat64Int16V(v, fastpathCheckNilFalse, false, f.d)
  22086. }
  22087. }
  22088. func (f fastpathT) DecMapFloat64Int16X(vp *map[float64]int16, checkNil bool, d *Decoder) {
  22089. v, changed := f.DecMapFloat64Int16V(*vp, checkNil, true, d)
  22090. if changed {
  22091. *vp = v
  22092. }
  22093. }
  22094. func (_ fastpathT) DecMapFloat64Int16V(v map[float64]int16, checkNil bool, canChange bool,
  22095. d *Decoder) (_ map[float64]int16, changed bool) {
  22096. dd := d.d
  22097. cr := d.cr
  22098. if checkNil && dd.TryDecodeAsNil() {
  22099. if v != nil {
  22100. changed = true
  22101. }
  22102. return nil, changed
  22103. }
  22104. containerLen := dd.ReadMapStart()
  22105. if canChange && v == nil {
  22106. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  22107. v = make(map[float64]int16, xlen)
  22108. changed = true
  22109. }
  22110. if containerLen == 0 {
  22111. if cr != nil {
  22112. cr.sendContainerState(containerMapEnd)
  22113. }
  22114. return v, changed
  22115. }
  22116. var mk float64
  22117. var mv int16
  22118. hasLen := containerLen > 0
  22119. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22120. if cr != nil {
  22121. cr.sendContainerState(containerMapKey)
  22122. }
  22123. mk = dd.DecodeFloat(false)
  22124. if cr != nil {
  22125. cr.sendContainerState(containerMapValue)
  22126. }
  22127. mv = int16(dd.DecodeInt(16))
  22128. if v != nil {
  22129. v[mk] = mv
  22130. }
  22131. }
  22132. if cr != nil {
  22133. cr.sendContainerState(containerMapEnd)
  22134. }
  22135. return v, changed
  22136. }
  22137. func (f *decFnInfo) fastpathDecMapFloat64Int32R(rv reflect.Value) {
  22138. if rv.CanAddr() {
  22139. vp := rv2i(rv.Addr()).(*map[float64]int32)
  22140. v, changed := fastpathTV.DecMapFloat64Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  22141. if changed {
  22142. *vp = v
  22143. }
  22144. } else {
  22145. v := rv2i(rv).(map[float64]int32)
  22146. fastpathTV.DecMapFloat64Int32V(v, fastpathCheckNilFalse, false, f.d)
  22147. }
  22148. }
  22149. func (f fastpathT) DecMapFloat64Int32X(vp *map[float64]int32, checkNil bool, d *Decoder) {
  22150. v, changed := f.DecMapFloat64Int32V(*vp, checkNil, true, d)
  22151. if changed {
  22152. *vp = v
  22153. }
  22154. }
  22155. func (_ fastpathT) DecMapFloat64Int32V(v map[float64]int32, checkNil bool, canChange bool,
  22156. d *Decoder) (_ map[float64]int32, changed bool) {
  22157. dd := d.d
  22158. cr := d.cr
  22159. if checkNil && dd.TryDecodeAsNil() {
  22160. if v != nil {
  22161. changed = true
  22162. }
  22163. return nil, changed
  22164. }
  22165. containerLen := dd.ReadMapStart()
  22166. if canChange && v == nil {
  22167. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  22168. v = make(map[float64]int32, xlen)
  22169. changed = true
  22170. }
  22171. if containerLen == 0 {
  22172. if cr != nil {
  22173. cr.sendContainerState(containerMapEnd)
  22174. }
  22175. return v, changed
  22176. }
  22177. var mk float64
  22178. var mv int32
  22179. hasLen := containerLen > 0
  22180. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22181. if cr != nil {
  22182. cr.sendContainerState(containerMapKey)
  22183. }
  22184. mk = dd.DecodeFloat(false)
  22185. if cr != nil {
  22186. cr.sendContainerState(containerMapValue)
  22187. }
  22188. mv = int32(dd.DecodeInt(32))
  22189. if v != nil {
  22190. v[mk] = mv
  22191. }
  22192. }
  22193. if cr != nil {
  22194. cr.sendContainerState(containerMapEnd)
  22195. }
  22196. return v, changed
  22197. }
  22198. func (f *decFnInfo) fastpathDecMapFloat64Int64R(rv reflect.Value) {
  22199. if rv.CanAddr() {
  22200. vp := rv2i(rv.Addr()).(*map[float64]int64)
  22201. v, changed := fastpathTV.DecMapFloat64Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  22202. if changed {
  22203. *vp = v
  22204. }
  22205. } else {
  22206. v := rv2i(rv).(map[float64]int64)
  22207. fastpathTV.DecMapFloat64Int64V(v, fastpathCheckNilFalse, false, f.d)
  22208. }
  22209. }
  22210. func (f fastpathT) DecMapFloat64Int64X(vp *map[float64]int64, checkNil bool, d *Decoder) {
  22211. v, changed := f.DecMapFloat64Int64V(*vp, checkNil, true, d)
  22212. if changed {
  22213. *vp = v
  22214. }
  22215. }
  22216. func (_ fastpathT) DecMapFloat64Int64V(v map[float64]int64, checkNil bool, canChange bool,
  22217. d *Decoder) (_ map[float64]int64, changed bool) {
  22218. dd := d.d
  22219. cr := d.cr
  22220. if checkNil && dd.TryDecodeAsNil() {
  22221. if v != nil {
  22222. changed = true
  22223. }
  22224. return nil, changed
  22225. }
  22226. containerLen := dd.ReadMapStart()
  22227. if canChange && v == nil {
  22228. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22229. v = make(map[float64]int64, xlen)
  22230. changed = true
  22231. }
  22232. if containerLen == 0 {
  22233. if cr != nil {
  22234. cr.sendContainerState(containerMapEnd)
  22235. }
  22236. return v, changed
  22237. }
  22238. var mk float64
  22239. var mv int64
  22240. hasLen := containerLen > 0
  22241. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22242. if cr != nil {
  22243. cr.sendContainerState(containerMapKey)
  22244. }
  22245. mk = dd.DecodeFloat(false)
  22246. if cr != nil {
  22247. cr.sendContainerState(containerMapValue)
  22248. }
  22249. mv = dd.DecodeInt(64)
  22250. if v != nil {
  22251. v[mk] = mv
  22252. }
  22253. }
  22254. if cr != nil {
  22255. cr.sendContainerState(containerMapEnd)
  22256. }
  22257. return v, changed
  22258. }
  22259. func (f *decFnInfo) fastpathDecMapFloat64Float32R(rv reflect.Value) {
  22260. if rv.CanAddr() {
  22261. vp := rv2i(rv.Addr()).(*map[float64]float32)
  22262. v, changed := fastpathTV.DecMapFloat64Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  22263. if changed {
  22264. *vp = v
  22265. }
  22266. } else {
  22267. v := rv2i(rv).(map[float64]float32)
  22268. fastpathTV.DecMapFloat64Float32V(v, fastpathCheckNilFalse, false, f.d)
  22269. }
  22270. }
  22271. func (f fastpathT) DecMapFloat64Float32X(vp *map[float64]float32, checkNil bool, d *Decoder) {
  22272. v, changed := f.DecMapFloat64Float32V(*vp, checkNil, true, d)
  22273. if changed {
  22274. *vp = v
  22275. }
  22276. }
  22277. func (_ fastpathT) DecMapFloat64Float32V(v map[float64]float32, checkNil bool, canChange bool,
  22278. d *Decoder) (_ map[float64]float32, changed bool) {
  22279. dd := d.d
  22280. cr := d.cr
  22281. if checkNil && dd.TryDecodeAsNil() {
  22282. if v != nil {
  22283. changed = true
  22284. }
  22285. return nil, changed
  22286. }
  22287. containerLen := dd.ReadMapStart()
  22288. if canChange && v == nil {
  22289. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  22290. v = make(map[float64]float32, xlen)
  22291. changed = true
  22292. }
  22293. if containerLen == 0 {
  22294. if cr != nil {
  22295. cr.sendContainerState(containerMapEnd)
  22296. }
  22297. return v, changed
  22298. }
  22299. var mk float64
  22300. var mv float32
  22301. hasLen := containerLen > 0
  22302. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22303. if cr != nil {
  22304. cr.sendContainerState(containerMapKey)
  22305. }
  22306. mk = dd.DecodeFloat(false)
  22307. if cr != nil {
  22308. cr.sendContainerState(containerMapValue)
  22309. }
  22310. mv = float32(dd.DecodeFloat(true))
  22311. if v != nil {
  22312. v[mk] = mv
  22313. }
  22314. }
  22315. if cr != nil {
  22316. cr.sendContainerState(containerMapEnd)
  22317. }
  22318. return v, changed
  22319. }
  22320. func (f *decFnInfo) fastpathDecMapFloat64Float64R(rv reflect.Value) {
  22321. if rv.CanAddr() {
  22322. vp := rv2i(rv.Addr()).(*map[float64]float64)
  22323. v, changed := fastpathTV.DecMapFloat64Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  22324. if changed {
  22325. *vp = v
  22326. }
  22327. } else {
  22328. v := rv2i(rv).(map[float64]float64)
  22329. fastpathTV.DecMapFloat64Float64V(v, fastpathCheckNilFalse, false, f.d)
  22330. }
  22331. }
  22332. func (f fastpathT) DecMapFloat64Float64X(vp *map[float64]float64, checkNil bool, d *Decoder) {
  22333. v, changed := f.DecMapFloat64Float64V(*vp, checkNil, true, d)
  22334. if changed {
  22335. *vp = v
  22336. }
  22337. }
  22338. func (_ fastpathT) DecMapFloat64Float64V(v map[float64]float64, checkNil bool, canChange bool,
  22339. d *Decoder) (_ map[float64]float64, changed bool) {
  22340. dd := d.d
  22341. cr := d.cr
  22342. if checkNil && dd.TryDecodeAsNil() {
  22343. if v != nil {
  22344. changed = true
  22345. }
  22346. return nil, changed
  22347. }
  22348. containerLen := dd.ReadMapStart()
  22349. if canChange && v == nil {
  22350. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22351. v = make(map[float64]float64, xlen)
  22352. changed = true
  22353. }
  22354. if containerLen == 0 {
  22355. if cr != nil {
  22356. cr.sendContainerState(containerMapEnd)
  22357. }
  22358. return v, changed
  22359. }
  22360. var mk float64
  22361. var mv float64
  22362. hasLen := containerLen > 0
  22363. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22364. if cr != nil {
  22365. cr.sendContainerState(containerMapKey)
  22366. }
  22367. mk = dd.DecodeFloat(false)
  22368. if cr != nil {
  22369. cr.sendContainerState(containerMapValue)
  22370. }
  22371. mv = dd.DecodeFloat(false)
  22372. if v != nil {
  22373. v[mk] = mv
  22374. }
  22375. }
  22376. if cr != nil {
  22377. cr.sendContainerState(containerMapEnd)
  22378. }
  22379. return v, changed
  22380. }
  22381. func (f *decFnInfo) fastpathDecMapFloat64BoolR(rv reflect.Value) {
  22382. if rv.CanAddr() {
  22383. vp := rv2i(rv.Addr()).(*map[float64]bool)
  22384. v, changed := fastpathTV.DecMapFloat64BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  22385. if changed {
  22386. *vp = v
  22387. }
  22388. } else {
  22389. v := rv2i(rv).(map[float64]bool)
  22390. fastpathTV.DecMapFloat64BoolV(v, fastpathCheckNilFalse, false, f.d)
  22391. }
  22392. }
  22393. func (f fastpathT) DecMapFloat64BoolX(vp *map[float64]bool, checkNil bool, d *Decoder) {
  22394. v, changed := f.DecMapFloat64BoolV(*vp, checkNil, true, d)
  22395. if changed {
  22396. *vp = v
  22397. }
  22398. }
  22399. func (_ fastpathT) DecMapFloat64BoolV(v map[float64]bool, checkNil bool, canChange bool,
  22400. d *Decoder) (_ map[float64]bool, changed bool) {
  22401. dd := d.d
  22402. cr := d.cr
  22403. if checkNil && dd.TryDecodeAsNil() {
  22404. if v != nil {
  22405. changed = true
  22406. }
  22407. return nil, changed
  22408. }
  22409. containerLen := dd.ReadMapStart()
  22410. if canChange && v == nil {
  22411. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  22412. v = make(map[float64]bool, xlen)
  22413. changed = true
  22414. }
  22415. if containerLen == 0 {
  22416. if cr != nil {
  22417. cr.sendContainerState(containerMapEnd)
  22418. }
  22419. return v, changed
  22420. }
  22421. var mk float64
  22422. var mv bool
  22423. hasLen := containerLen > 0
  22424. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22425. if cr != nil {
  22426. cr.sendContainerState(containerMapKey)
  22427. }
  22428. mk = dd.DecodeFloat(false)
  22429. if cr != nil {
  22430. cr.sendContainerState(containerMapValue)
  22431. }
  22432. mv = dd.DecodeBool()
  22433. if v != nil {
  22434. v[mk] = mv
  22435. }
  22436. }
  22437. if cr != nil {
  22438. cr.sendContainerState(containerMapEnd)
  22439. }
  22440. return v, changed
  22441. }
  22442. func (f *decFnInfo) fastpathDecMapUintIntfR(rv reflect.Value) {
  22443. if rv.CanAddr() {
  22444. vp := rv2i(rv.Addr()).(*map[uint]interface{})
  22445. v, changed := fastpathTV.DecMapUintIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  22446. if changed {
  22447. *vp = v
  22448. }
  22449. } else {
  22450. v := rv2i(rv).(map[uint]interface{})
  22451. fastpathTV.DecMapUintIntfV(v, fastpathCheckNilFalse, false, f.d)
  22452. }
  22453. }
  22454. func (f fastpathT) DecMapUintIntfX(vp *map[uint]interface{}, checkNil bool, d *Decoder) {
  22455. v, changed := f.DecMapUintIntfV(*vp, checkNil, true, d)
  22456. if changed {
  22457. *vp = v
  22458. }
  22459. }
  22460. func (_ fastpathT) DecMapUintIntfV(v map[uint]interface{}, checkNil bool, canChange bool,
  22461. d *Decoder) (_ map[uint]interface{}, changed bool) {
  22462. dd := d.d
  22463. cr := d.cr
  22464. if checkNil && dd.TryDecodeAsNil() {
  22465. if v != nil {
  22466. changed = true
  22467. }
  22468. return nil, changed
  22469. }
  22470. containerLen := dd.ReadMapStart()
  22471. if canChange && v == nil {
  22472. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  22473. v = make(map[uint]interface{}, xlen)
  22474. changed = true
  22475. }
  22476. if containerLen == 0 {
  22477. if cr != nil {
  22478. cr.sendContainerState(containerMapEnd)
  22479. }
  22480. return v, changed
  22481. }
  22482. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  22483. var mk uint
  22484. var mv interface{}
  22485. hasLen := containerLen > 0
  22486. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22487. if cr != nil {
  22488. cr.sendContainerState(containerMapKey)
  22489. }
  22490. mk = uint(dd.DecodeUint(uintBitsize))
  22491. if cr != nil {
  22492. cr.sendContainerState(containerMapValue)
  22493. }
  22494. if mapGet {
  22495. mv = v[mk]
  22496. } else {
  22497. mv = nil
  22498. }
  22499. d.decode(&mv)
  22500. if v != nil {
  22501. v[mk] = mv
  22502. }
  22503. }
  22504. if cr != nil {
  22505. cr.sendContainerState(containerMapEnd)
  22506. }
  22507. return v, changed
  22508. }
  22509. func (f *decFnInfo) fastpathDecMapUintStringR(rv reflect.Value) {
  22510. if rv.CanAddr() {
  22511. vp := rv2i(rv.Addr()).(*map[uint]string)
  22512. v, changed := fastpathTV.DecMapUintStringV(*vp, fastpathCheckNilFalse, true, f.d)
  22513. if changed {
  22514. *vp = v
  22515. }
  22516. } else {
  22517. v := rv2i(rv).(map[uint]string)
  22518. fastpathTV.DecMapUintStringV(v, fastpathCheckNilFalse, false, f.d)
  22519. }
  22520. }
  22521. func (f fastpathT) DecMapUintStringX(vp *map[uint]string, checkNil bool, d *Decoder) {
  22522. v, changed := f.DecMapUintStringV(*vp, checkNil, true, d)
  22523. if changed {
  22524. *vp = v
  22525. }
  22526. }
  22527. func (_ fastpathT) DecMapUintStringV(v map[uint]string, checkNil bool, canChange bool,
  22528. d *Decoder) (_ map[uint]string, changed bool) {
  22529. dd := d.d
  22530. cr := d.cr
  22531. if checkNil && dd.TryDecodeAsNil() {
  22532. if v != nil {
  22533. changed = true
  22534. }
  22535. return nil, changed
  22536. }
  22537. containerLen := dd.ReadMapStart()
  22538. if canChange && v == nil {
  22539. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  22540. v = make(map[uint]string, xlen)
  22541. changed = true
  22542. }
  22543. if containerLen == 0 {
  22544. if cr != nil {
  22545. cr.sendContainerState(containerMapEnd)
  22546. }
  22547. return v, changed
  22548. }
  22549. var mk uint
  22550. var mv string
  22551. hasLen := containerLen > 0
  22552. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22553. if cr != nil {
  22554. cr.sendContainerState(containerMapKey)
  22555. }
  22556. mk = uint(dd.DecodeUint(uintBitsize))
  22557. if cr != nil {
  22558. cr.sendContainerState(containerMapValue)
  22559. }
  22560. mv = dd.DecodeString()
  22561. if v != nil {
  22562. v[mk] = mv
  22563. }
  22564. }
  22565. if cr != nil {
  22566. cr.sendContainerState(containerMapEnd)
  22567. }
  22568. return v, changed
  22569. }
  22570. func (f *decFnInfo) fastpathDecMapUintUintR(rv reflect.Value) {
  22571. if rv.CanAddr() {
  22572. vp := rv2i(rv.Addr()).(*map[uint]uint)
  22573. v, changed := fastpathTV.DecMapUintUintV(*vp, fastpathCheckNilFalse, true, f.d)
  22574. if changed {
  22575. *vp = v
  22576. }
  22577. } else {
  22578. v := rv2i(rv).(map[uint]uint)
  22579. fastpathTV.DecMapUintUintV(v, fastpathCheckNilFalse, false, f.d)
  22580. }
  22581. }
  22582. func (f fastpathT) DecMapUintUintX(vp *map[uint]uint, checkNil bool, d *Decoder) {
  22583. v, changed := f.DecMapUintUintV(*vp, checkNil, true, d)
  22584. if changed {
  22585. *vp = v
  22586. }
  22587. }
  22588. func (_ fastpathT) DecMapUintUintV(v map[uint]uint, checkNil bool, canChange bool,
  22589. d *Decoder) (_ map[uint]uint, changed bool) {
  22590. dd := d.d
  22591. cr := d.cr
  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[uint]uint, xlen)
  22602. changed = true
  22603. }
  22604. if containerLen == 0 {
  22605. if cr != nil {
  22606. cr.sendContainerState(containerMapEnd)
  22607. }
  22608. return v, changed
  22609. }
  22610. var mk uint
  22611. var mv uint
  22612. hasLen := containerLen > 0
  22613. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22614. if cr != nil {
  22615. cr.sendContainerState(containerMapKey)
  22616. }
  22617. mk = uint(dd.DecodeUint(uintBitsize))
  22618. if cr != nil {
  22619. cr.sendContainerState(containerMapValue)
  22620. }
  22621. mv = uint(dd.DecodeUint(uintBitsize))
  22622. if v != nil {
  22623. v[mk] = mv
  22624. }
  22625. }
  22626. if cr != nil {
  22627. cr.sendContainerState(containerMapEnd)
  22628. }
  22629. return v, changed
  22630. }
  22631. func (f *decFnInfo) fastpathDecMapUintUint8R(rv reflect.Value) {
  22632. if rv.CanAddr() {
  22633. vp := rv2i(rv.Addr()).(*map[uint]uint8)
  22634. v, changed := fastpathTV.DecMapUintUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  22635. if changed {
  22636. *vp = v
  22637. }
  22638. } else {
  22639. v := rv2i(rv).(map[uint]uint8)
  22640. fastpathTV.DecMapUintUint8V(v, fastpathCheckNilFalse, false, f.d)
  22641. }
  22642. }
  22643. func (f fastpathT) DecMapUintUint8X(vp *map[uint]uint8, checkNil bool, d *Decoder) {
  22644. v, changed := f.DecMapUintUint8V(*vp, checkNil, true, d)
  22645. if changed {
  22646. *vp = v
  22647. }
  22648. }
  22649. func (_ fastpathT) DecMapUintUint8V(v map[uint]uint8, checkNil bool, canChange bool,
  22650. d *Decoder) (_ map[uint]uint8, changed bool) {
  22651. dd := d.d
  22652. cr := d.cr
  22653. if checkNil && dd.TryDecodeAsNil() {
  22654. if v != nil {
  22655. changed = true
  22656. }
  22657. return nil, changed
  22658. }
  22659. containerLen := dd.ReadMapStart()
  22660. if canChange && v == nil {
  22661. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  22662. v = make(map[uint]uint8, xlen)
  22663. changed = true
  22664. }
  22665. if containerLen == 0 {
  22666. if cr != nil {
  22667. cr.sendContainerState(containerMapEnd)
  22668. }
  22669. return v, changed
  22670. }
  22671. var mk uint
  22672. var mv uint8
  22673. hasLen := containerLen > 0
  22674. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22675. if cr != nil {
  22676. cr.sendContainerState(containerMapKey)
  22677. }
  22678. mk = uint(dd.DecodeUint(uintBitsize))
  22679. if cr != nil {
  22680. cr.sendContainerState(containerMapValue)
  22681. }
  22682. mv = uint8(dd.DecodeUint(8))
  22683. if v != nil {
  22684. v[mk] = mv
  22685. }
  22686. }
  22687. if cr != nil {
  22688. cr.sendContainerState(containerMapEnd)
  22689. }
  22690. return v, changed
  22691. }
  22692. func (f *decFnInfo) fastpathDecMapUintUint16R(rv reflect.Value) {
  22693. if rv.CanAddr() {
  22694. vp := rv2i(rv.Addr()).(*map[uint]uint16)
  22695. v, changed := fastpathTV.DecMapUintUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  22696. if changed {
  22697. *vp = v
  22698. }
  22699. } else {
  22700. v := rv2i(rv).(map[uint]uint16)
  22701. fastpathTV.DecMapUintUint16V(v, fastpathCheckNilFalse, false, f.d)
  22702. }
  22703. }
  22704. func (f fastpathT) DecMapUintUint16X(vp *map[uint]uint16, checkNil bool, d *Decoder) {
  22705. v, changed := f.DecMapUintUint16V(*vp, checkNil, true, d)
  22706. if changed {
  22707. *vp = v
  22708. }
  22709. }
  22710. func (_ fastpathT) DecMapUintUint16V(v map[uint]uint16, checkNil bool, canChange bool,
  22711. d *Decoder) (_ map[uint]uint16, changed bool) {
  22712. dd := d.d
  22713. cr := d.cr
  22714. if checkNil && dd.TryDecodeAsNil() {
  22715. if v != nil {
  22716. changed = true
  22717. }
  22718. return nil, changed
  22719. }
  22720. containerLen := dd.ReadMapStart()
  22721. if canChange && v == nil {
  22722. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  22723. v = make(map[uint]uint16, xlen)
  22724. changed = true
  22725. }
  22726. if containerLen == 0 {
  22727. if cr != nil {
  22728. cr.sendContainerState(containerMapEnd)
  22729. }
  22730. return v, changed
  22731. }
  22732. var mk uint
  22733. var mv uint16
  22734. hasLen := containerLen > 0
  22735. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22736. if cr != nil {
  22737. cr.sendContainerState(containerMapKey)
  22738. }
  22739. mk = uint(dd.DecodeUint(uintBitsize))
  22740. if cr != nil {
  22741. cr.sendContainerState(containerMapValue)
  22742. }
  22743. mv = uint16(dd.DecodeUint(16))
  22744. if v != nil {
  22745. v[mk] = mv
  22746. }
  22747. }
  22748. if cr != nil {
  22749. cr.sendContainerState(containerMapEnd)
  22750. }
  22751. return v, changed
  22752. }
  22753. func (f *decFnInfo) fastpathDecMapUintUint32R(rv reflect.Value) {
  22754. if rv.CanAddr() {
  22755. vp := rv2i(rv.Addr()).(*map[uint]uint32)
  22756. v, changed := fastpathTV.DecMapUintUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  22757. if changed {
  22758. *vp = v
  22759. }
  22760. } else {
  22761. v := rv2i(rv).(map[uint]uint32)
  22762. fastpathTV.DecMapUintUint32V(v, fastpathCheckNilFalse, false, f.d)
  22763. }
  22764. }
  22765. func (f fastpathT) DecMapUintUint32X(vp *map[uint]uint32, checkNil bool, d *Decoder) {
  22766. v, changed := f.DecMapUintUint32V(*vp, checkNil, true, d)
  22767. if changed {
  22768. *vp = v
  22769. }
  22770. }
  22771. func (_ fastpathT) DecMapUintUint32V(v map[uint]uint32, checkNil bool, canChange bool,
  22772. d *Decoder) (_ map[uint]uint32, changed bool) {
  22773. dd := d.d
  22774. cr := d.cr
  22775. if checkNil && dd.TryDecodeAsNil() {
  22776. if v != nil {
  22777. changed = true
  22778. }
  22779. return nil, changed
  22780. }
  22781. containerLen := dd.ReadMapStart()
  22782. if canChange && v == nil {
  22783. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  22784. v = make(map[uint]uint32, xlen)
  22785. changed = true
  22786. }
  22787. if containerLen == 0 {
  22788. if cr != nil {
  22789. cr.sendContainerState(containerMapEnd)
  22790. }
  22791. return v, changed
  22792. }
  22793. var mk uint
  22794. var mv uint32
  22795. hasLen := containerLen > 0
  22796. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22797. if cr != nil {
  22798. cr.sendContainerState(containerMapKey)
  22799. }
  22800. mk = uint(dd.DecodeUint(uintBitsize))
  22801. if cr != nil {
  22802. cr.sendContainerState(containerMapValue)
  22803. }
  22804. mv = uint32(dd.DecodeUint(32))
  22805. if v != nil {
  22806. v[mk] = mv
  22807. }
  22808. }
  22809. if cr != nil {
  22810. cr.sendContainerState(containerMapEnd)
  22811. }
  22812. return v, changed
  22813. }
  22814. func (f *decFnInfo) fastpathDecMapUintUint64R(rv reflect.Value) {
  22815. if rv.CanAddr() {
  22816. vp := rv2i(rv.Addr()).(*map[uint]uint64)
  22817. v, changed := fastpathTV.DecMapUintUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  22818. if changed {
  22819. *vp = v
  22820. }
  22821. } else {
  22822. v := rv2i(rv).(map[uint]uint64)
  22823. fastpathTV.DecMapUintUint64V(v, fastpathCheckNilFalse, false, f.d)
  22824. }
  22825. }
  22826. func (f fastpathT) DecMapUintUint64X(vp *map[uint]uint64, checkNil bool, d *Decoder) {
  22827. v, changed := f.DecMapUintUint64V(*vp, checkNil, true, d)
  22828. if changed {
  22829. *vp = v
  22830. }
  22831. }
  22832. func (_ fastpathT) DecMapUintUint64V(v map[uint]uint64, checkNil bool, canChange bool,
  22833. d *Decoder) (_ map[uint]uint64, changed bool) {
  22834. dd := d.d
  22835. cr := d.cr
  22836. if checkNil && dd.TryDecodeAsNil() {
  22837. if v != nil {
  22838. changed = true
  22839. }
  22840. return nil, changed
  22841. }
  22842. containerLen := dd.ReadMapStart()
  22843. if canChange && v == nil {
  22844. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22845. v = make(map[uint]uint64, xlen)
  22846. changed = true
  22847. }
  22848. if containerLen == 0 {
  22849. if cr != nil {
  22850. cr.sendContainerState(containerMapEnd)
  22851. }
  22852. return v, changed
  22853. }
  22854. var mk uint
  22855. var mv uint64
  22856. hasLen := containerLen > 0
  22857. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22858. if cr != nil {
  22859. cr.sendContainerState(containerMapKey)
  22860. }
  22861. mk = uint(dd.DecodeUint(uintBitsize))
  22862. if cr != nil {
  22863. cr.sendContainerState(containerMapValue)
  22864. }
  22865. mv = dd.DecodeUint(64)
  22866. if v != nil {
  22867. v[mk] = mv
  22868. }
  22869. }
  22870. if cr != nil {
  22871. cr.sendContainerState(containerMapEnd)
  22872. }
  22873. return v, changed
  22874. }
  22875. func (f *decFnInfo) fastpathDecMapUintUintptrR(rv reflect.Value) {
  22876. if rv.CanAddr() {
  22877. vp := rv2i(rv.Addr()).(*map[uint]uintptr)
  22878. v, changed := fastpathTV.DecMapUintUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  22879. if changed {
  22880. *vp = v
  22881. }
  22882. } else {
  22883. v := rv2i(rv).(map[uint]uintptr)
  22884. fastpathTV.DecMapUintUintptrV(v, fastpathCheckNilFalse, false, f.d)
  22885. }
  22886. }
  22887. func (f fastpathT) DecMapUintUintptrX(vp *map[uint]uintptr, checkNil bool, d *Decoder) {
  22888. v, changed := f.DecMapUintUintptrV(*vp, checkNil, true, d)
  22889. if changed {
  22890. *vp = v
  22891. }
  22892. }
  22893. func (_ fastpathT) DecMapUintUintptrV(v map[uint]uintptr, checkNil bool, canChange bool,
  22894. d *Decoder) (_ map[uint]uintptr, changed bool) {
  22895. dd := d.d
  22896. cr := d.cr
  22897. if checkNil && dd.TryDecodeAsNil() {
  22898. if v != nil {
  22899. changed = true
  22900. }
  22901. return nil, changed
  22902. }
  22903. containerLen := dd.ReadMapStart()
  22904. if canChange && v == nil {
  22905. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22906. v = make(map[uint]uintptr, xlen)
  22907. changed = true
  22908. }
  22909. if containerLen == 0 {
  22910. if cr != nil {
  22911. cr.sendContainerState(containerMapEnd)
  22912. }
  22913. return v, changed
  22914. }
  22915. var mk uint
  22916. var mv uintptr
  22917. hasLen := containerLen > 0
  22918. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22919. if cr != nil {
  22920. cr.sendContainerState(containerMapKey)
  22921. }
  22922. mk = uint(dd.DecodeUint(uintBitsize))
  22923. if cr != nil {
  22924. cr.sendContainerState(containerMapValue)
  22925. }
  22926. mv = uintptr(dd.DecodeUint(uintBitsize))
  22927. if v != nil {
  22928. v[mk] = mv
  22929. }
  22930. }
  22931. if cr != nil {
  22932. cr.sendContainerState(containerMapEnd)
  22933. }
  22934. return v, changed
  22935. }
  22936. func (f *decFnInfo) fastpathDecMapUintIntR(rv reflect.Value) {
  22937. if rv.CanAddr() {
  22938. vp := rv2i(rv.Addr()).(*map[uint]int)
  22939. v, changed := fastpathTV.DecMapUintIntV(*vp, fastpathCheckNilFalse, true, f.d)
  22940. if changed {
  22941. *vp = v
  22942. }
  22943. } else {
  22944. v := rv2i(rv).(map[uint]int)
  22945. fastpathTV.DecMapUintIntV(v, fastpathCheckNilFalse, false, f.d)
  22946. }
  22947. }
  22948. func (f fastpathT) DecMapUintIntX(vp *map[uint]int, checkNil bool, d *Decoder) {
  22949. v, changed := f.DecMapUintIntV(*vp, checkNil, true, d)
  22950. if changed {
  22951. *vp = v
  22952. }
  22953. }
  22954. func (_ fastpathT) DecMapUintIntV(v map[uint]int, checkNil bool, canChange bool,
  22955. d *Decoder) (_ map[uint]int, changed bool) {
  22956. dd := d.d
  22957. cr := d.cr
  22958. if checkNil && dd.TryDecodeAsNil() {
  22959. if v != nil {
  22960. changed = true
  22961. }
  22962. return nil, changed
  22963. }
  22964. containerLen := dd.ReadMapStart()
  22965. if canChange && v == nil {
  22966. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  22967. v = make(map[uint]int, xlen)
  22968. changed = true
  22969. }
  22970. if containerLen == 0 {
  22971. if cr != nil {
  22972. cr.sendContainerState(containerMapEnd)
  22973. }
  22974. return v, changed
  22975. }
  22976. var mk uint
  22977. var mv int
  22978. hasLen := containerLen > 0
  22979. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  22980. if cr != nil {
  22981. cr.sendContainerState(containerMapKey)
  22982. }
  22983. mk = uint(dd.DecodeUint(uintBitsize))
  22984. if cr != nil {
  22985. cr.sendContainerState(containerMapValue)
  22986. }
  22987. mv = int(dd.DecodeInt(intBitsize))
  22988. if v != nil {
  22989. v[mk] = mv
  22990. }
  22991. }
  22992. if cr != nil {
  22993. cr.sendContainerState(containerMapEnd)
  22994. }
  22995. return v, changed
  22996. }
  22997. func (f *decFnInfo) fastpathDecMapUintInt8R(rv reflect.Value) {
  22998. if rv.CanAddr() {
  22999. vp := rv2i(rv.Addr()).(*map[uint]int8)
  23000. v, changed := fastpathTV.DecMapUintInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  23001. if changed {
  23002. *vp = v
  23003. }
  23004. } else {
  23005. v := rv2i(rv).(map[uint]int8)
  23006. fastpathTV.DecMapUintInt8V(v, fastpathCheckNilFalse, false, f.d)
  23007. }
  23008. }
  23009. func (f fastpathT) DecMapUintInt8X(vp *map[uint]int8, checkNil bool, d *Decoder) {
  23010. v, changed := f.DecMapUintInt8V(*vp, checkNil, true, d)
  23011. if changed {
  23012. *vp = v
  23013. }
  23014. }
  23015. func (_ fastpathT) DecMapUintInt8V(v map[uint]int8, checkNil bool, canChange bool,
  23016. d *Decoder) (_ map[uint]int8, changed bool) {
  23017. dd := d.d
  23018. cr := d.cr
  23019. if checkNil && dd.TryDecodeAsNil() {
  23020. if v != nil {
  23021. changed = true
  23022. }
  23023. return nil, changed
  23024. }
  23025. containerLen := dd.ReadMapStart()
  23026. if canChange && v == nil {
  23027. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23028. v = make(map[uint]int8, xlen)
  23029. changed = true
  23030. }
  23031. if containerLen == 0 {
  23032. if cr != nil {
  23033. cr.sendContainerState(containerMapEnd)
  23034. }
  23035. return v, changed
  23036. }
  23037. var mk uint
  23038. var mv int8
  23039. hasLen := containerLen > 0
  23040. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23041. if cr != nil {
  23042. cr.sendContainerState(containerMapKey)
  23043. }
  23044. mk = uint(dd.DecodeUint(uintBitsize))
  23045. if cr != nil {
  23046. cr.sendContainerState(containerMapValue)
  23047. }
  23048. mv = int8(dd.DecodeInt(8))
  23049. if v != nil {
  23050. v[mk] = mv
  23051. }
  23052. }
  23053. if cr != nil {
  23054. cr.sendContainerState(containerMapEnd)
  23055. }
  23056. return v, changed
  23057. }
  23058. func (f *decFnInfo) fastpathDecMapUintInt16R(rv reflect.Value) {
  23059. if rv.CanAddr() {
  23060. vp := rv2i(rv.Addr()).(*map[uint]int16)
  23061. v, changed := fastpathTV.DecMapUintInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  23062. if changed {
  23063. *vp = v
  23064. }
  23065. } else {
  23066. v := rv2i(rv).(map[uint]int16)
  23067. fastpathTV.DecMapUintInt16V(v, fastpathCheckNilFalse, false, f.d)
  23068. }
  23069. }
  23070. func (f fastpathT) DecMapUintInt16X(vp *map[uint]int16, checkNil bool, d *Decoder) {
  23071. v, changed := f.DecMapUintInt16V(*vp, checkNil, true, d)
  23072. if changed {
  23073. *vp = v
  23074. }
  23075. }
  23076. func (_ fastpathT) DecMapUintInt16V(v map[uint]int16, checkNil bool, canChange bool,
  23077. d *Decoder) (_ map[uint]int16, changed bool) {
  23078. dd := d.d
  23079. cr := d.cr
  23080. if checkNil && dd.TryDecodeAsNil() {
  23081. if v != nil {
  23082. changed = true
  23083. }
  23084. return nil, changed
  23085. }
  23086. containerLen := dd.ReadMapStart()
  23087. if canChange && v == nil {
  23088. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  23089. v = make(map[uint]int16, xlen)
  23090. changed = true
  23091. }
  23092. if containerLen == 0 {
  23093. if cr != nil {
  23094. cr.sendContainerState(containerMapEnd)
  23095. }
  23096. return v, changed
  23097. }
  23098. var mk uint
  23099. var mv int16
  23100. hasLen := containerLen > 0
  23101. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23102. if cr != nil {
  23103. cr.sendContainerState(containerMapKey)
  23104. }
  23105. mk = uint(dd.DecodeUint(uintBitsize))
  23106. if cr != nil {
  23107. cr.sendContainerState(containerMapValue)
  23108. }
  23109. mv = int16(dd.DecodeInt(16))
  23110. if v != nil {
  23111. v[mk] = mv
  23112. }
  23113. }
  23114. if cr != nil {
  23115. cr.sendContainerState(containerMapEnd)
  23116. }
  23117. return v, changed
  23118. }
  23119. func (f *decFnInfo) fastpathDecMapUintInt32R(rv reflect.Value) {
  23120. if rv.CanAddr() {
  23121. vp := rv2i(rv.Addr()).(*map[uint]int32)
  23122. v, changed := fastpathTV.DecMapUintInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  23123. if changed {
  23124. *vp = v
  23125. }
  23126. } else {
  23127. v := rv2i(rv).(map[uint]int32)
  23128. fastpathTV.DecMapUintInt32V(v, fastpathCheckNilFalse, false, f.d)
  23129. }
  23130. }
  23131. func (f fastpathT) DecMapUintInt32X(vp *map[uint]int32, checkNil bool, d *Decoder) {
  23132. v, changed := f.DecMapUintInt32V(*vp, checkNil, true, d)
  23133. if changed {
  23134. *vp = v
  23135. }
  23136. }
  23137. func (_ fastpathT) DecMapUintInt32V(v map[uint]int32, checkNil bool, canChange bool,
  23138. d *Decoder) (_ map[uint]int32, changed bool) {
  23139. dd := d.d
  23140. cr := d.cr
  23141. if checkNil && dd.TryDecodeAsNil() {
  23142. if v != nil {
  23143. changed = true
  23144. }
  23145. return nil, changed
  23146. }
  23147. containerLen := dd.ReadMapStart()
  23148. if canChange && v == nil {
  23149. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  23150. v = make(map[uint]int32, xlen)
  23151. changed = true
  23152. }
  23153. if containerLen == 0 {
  23154. if cr != nil {
  23155. cr.sendContainerState(containerMapEnd)
  23156. }
  23157. return v, changed
  23158. }
  23159. var mk uint
  23160. var mv int32
  23161. hasLen := containerLen > 0
  23162. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23163. if cr != nil {
  23164. cr.sendContainerState(containerMapKey)
  23165. }
  23166. mk = uint(dd.DecodeUint(uintBitsize))
  23167. if cr != nil {
  23168. cr.sendContainerState(containerMapValue)
  23169. }
  23170. mv = int32(dd.DecodeInt(32))
  23171. if v != nil {
  23172. v[mk] = mv
  23173. }
  23174. }
  23175. if cr != nil {
  23176. cr.sendContainerState(containerMapEnd)
  23177. }
  23178. return v, changed
  23179. }
  23180. func (f *decFnInfo) fastpathDecMapUintInt64R(rv reflect.Value) {
  23181. if rv.CanAddr() {
  23182. vp := rv2i(rv.Addr()).(*map[uint]int64)
  23183. v, changed := fastpathTV.DecMapUintInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  23184. if changed {
  23185. *vp = v
  23186. }
  23187. } else {
  23188. v := rv2i(rv).(map[uint]int64)
  23189. fastpathTV.DecMapUintInt64V(v, fastpathCheckNilFalse, false, f.d)
  23190. }
  23191. }
  23192. func (f fastpathT) DecMapUintInt64X(vp *map[uint]int64, checkNil bool, d *Decoder) {
  23193. v, changed := f.DecMapUintInt64V(*vp, checkNil, true, d)
  23194. if changed {
  23195. *vp = v
  23196. }
  23197. }
  23198. func (_ fastpathT) DecMapUintInt64V(v map[uint]int64, checkNil bool, canChange bool,
  23199. d *Decoder) (_ map[uint]int64, changed bool) {
  23200. dd := d.d
  23201. cr := d.cr
  23202. if checkNil && dd.TryDecodeAsNil() {
  23203. if v != nil {
  23204. changed = true
  23205. }
  23206. return nil, changed
  23207. }
  23208. containerLen := dd.ReadMapStart()
  23209. if canChange && v == nil {
  23210. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23211. v = make(map[uint]int64, xlen)
  23212. changed = true
  23213. }
  23214. if containerLen == 0 {
  23215. if cr != nil {
  23216. cr.sendContainerState(containerMapEnd)
  23217. }
  23218. return v, changed
  23219. }
  23220. var mk uint
  23221. var mv int64
  23222. hasLen := containerLen > 0
  23223. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23224. if cr != nil {
  23225. cr.sendContainerState(containerMapKey)
  23226. }
  23227. mk = uint(dd.DecodeUint(uintBitsize))
  23228. if cr != nil {
  23229. cr.sendContainerState(containerMapValue)
  23230. }
  23231. mv = dd.DecodeInt(64)
  23232. if v != nil {
  23233. v[mk] = mv
  23234. }
  23235. }
  23236. if cr != nil {
  23237. cr.sendContainerState(containerMapEnd)
  23238. }
  23239. return v, changed
  23240. }
  23241. func (f *decFnInfo) fastpathDecMapUintFloat32R(rv reflect.Value) {
  23242. if rv.CanAddr() {
  23243. vp := rv2i(rv.Addr()).(*map[uint]float32)
  23244. v, changed := fastpathTV.DecMapUintFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  23245. if changed {
  23246. *vp = v
  23247. }
  23248. } else {
  23249. v := rv2i(rv).(map[uint]float32)
  23250. fastpathTV.DecMapUintFloat32V(v, fastpathCheckNilFalse, false, f.d)
  23251. }
  23252. }
  23253. func (f fastpathT) DecMapUintFloat32X(vp *map[uint]float32, checkNil bool, d *Decoder) {
  23254. v, changed := f.DecMapUintFloat32V(*vp, checkNil, true, d)
  23255. if changed {
  23256. *vp = v
  23257. }
  23258. }
  23259. func (_ fastpathT) DecMapUintFloat32V(v map[uint]float32, checkNil bool, canChange bool,
  23260. d *Decoder) (_ map[uint]float32, changed bool) {
  23261. dd := d.d
  23262. cr := d.cr
  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, 12)
  23272. v = make(map[uint]float32, xlen)
  23273. changed = true
  23274. }
  23275. if containerLen == 0 {
  23276. if cr != nil {
  23277. cr.sendContainerState(containerMapEnd)
  23278. }
  23279. return v, changed
  23280. }
  23281. var mk uint
  23282. var mv float32
  23283. hasLen := containerLen > 0
  23284. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23285. if cr != nil {
  23286. cr.sendContainerState(containerMapKey)
  23287. }
  23288. mk = uint(dd.DecodeUint(uintBitsize))
  23289. if cr != nil {
  23290. cr.sendContainerState(containerMapValue)
  23291. }
  23292. mv = float32(dd.DecodeFloat(true))
  23293. if v != nil {
  23294. v[mk] = mv
  23295. }
  23296. }
  23297. if cr != nil {
  23298. cr.sendContainerState(containerMapEnd)
  23299. }
  23300. return v, changed
  23301. }
  23302. func (f *decFnInfo) fastpathDecMapUintFloat64R(rv reflect.Value) {
  23303. if rv.CanAddr() {
  23304. vp := rv2i(rv.Addr()).(*map[uint]float64)
  23305. v, changed := fastpathTV.DecMapUintFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  23306. if changed {
  23307. *vp = v
  23308. }
  23309. } else {
  23310. v := rv2i(rv).(map[uint]float64)
  23311. fastpathTV.DecMapUintFloat64V(v, fastpathCheckNilFalse, false, f.d)
  23312. }
  23313. }
  23314. func (f fastpathT) DecMapUintFloat64X(vp *map[uint]float64, checkNil bool, d *Decoder) {
  23315. v, changed := f.DecMapUintFloat64V(*vp, checkNil, true, d)
  23316. if changed {
  23317. *vp = v
  23318. }
  23319. }
  23320. func (_ fastpathT) DecMapUintFloat64V(v map[uint]float64, checkNil bool, canChange bool,
  23321. d *Decoder) (_ map[uint]float64, changed bool) {
  23322. dd := d.d
  23323. cr := d.cr
  23324. if checkNil && dd.TryDecodeAsNil() {
  23325. if v != nil {
  23326. changed = true
  23327. }
  23328. return nil, changed
  23329. }
  23330. containerLen := dd.ReadMapStart()
  23331. if canChange && v == nil {
  23332. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  23333. v = make(map[uint]float64, xlen)
  23334. changed = true
  23335. }
  23336. if containerLen == 0 {
  23337. if cr != nil {
  23338. cr.sendContainerState(containerMapEnd)
  23339. }
  23340. return v, changed
  23341. }
  23342. var mk uint
  23343. var mv float64
  23344. hasLen := containerLen > 0
  23345. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23346. if cr != nil {
  23347. cr.sendContainerState(containerMapKey)
  23348. }
  23349. mk = uint(dd.DecodeUint(uintBitsize))
  23350. if cr != nil {
  23351. cr.sendContainerState(containerMapValue)
  23352. }
  23353. mv = dd.DecodeFloat(false)
  23354. if v != nil {
  23355. v[mk] = mv
  23356. }
  23357. }
  23358. if cr != nil {
  23359. cr.sendContainerState(containerMapEnd)
  23360. }
  23361. return v, changed
  23362. }
  23363. func (f *decFnInfo) fastpathDecMapUintBoolR(rv reflect.Value) {
  23364. if rv.CanAddr() {
  23365. vp := rv2i(rv.Addr()).(*map[uint]bool)
  23366. v, changed := fastpathTV.DecMapUintBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  23367. if changed {
  23368. *vp = v
  23369. }
  23370. } else {
  23371. v := rv2i(rv).(map[uint]bool)
  23372. fastpathTV.DecMapUintBoolV(v, fastpathCheckNilFalse, false, f.d)
  23373. }
  23374. }
  23375. func (f fastpathT) DecMapUintBoolX(vp *map[uint]bool, checkNil bool, d *Decoder) {
  23376. v, changed := f.DecMapUintBoolV(*vp, checkNil, true, d)
  23377. if changed {
  23378. *vp = v
  23379. }
  23380. }
  23381. func (_ fastpathT) DecMapUintBoolV(v map[uint]bool, checkNil bool, canChange bool,
  23382. d *Decoder) (_ map[uint]bool, changed bool) {
  23383. dd := d.d
  23384. cr := d.cr
  23385. if checkNil && dd.TryDecodeAsNil() {
  23386. if v != nil {
  23387. changed = true
  23388. }
  23389. return nil, changed
  23390. }
  23391. containerLen := dd.ReadMapStart()
  23392. if canChange && v == nil {
  23393. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23394. v = make(map[uint]bool, xlen)
  23395. changed = true
  23396. }
  23397. if containerLen == 0 {
  23398. if cr != nil {
  23399. cr.sendContainerState(containerMapEnd)
  23400. }
  23401. return v, changed
  23402. }
  23403. var mk uint
  23404. var mv bool
  23405. hasLen := containerLen > 0
  23406. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23407. if cr != nil {
  23408. cr.sendContainerState(containerMapKey)
  23409. }
  23410. mk = uint(dd.DecodeUint(uintBitsize))
  23411. if cr != nil {
  23412. cr.sendContainerState(containerMapValue)
  23413. }
  23414. mv = dd.DecodeBool()
  23415. if v != nil {
  23416. v[mk] = mv
  23417. }
  23418. }
  23419. if cr != nil {
  23420. cr.sendContainerState(containerMapEnd)
  23421. }
  23422. return v, changed
  23423. }
  23424. func (f *decFnInfo) fastpathDecMapUint8IntfR(rv reflect.Value) {
  23425. if rv.CanAddr() {
  23426. vp := rv2i(rv.Addr()).(*map[uint8]interface{})
  23427. v, changed := fastpathTV.DecMapUint8IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  23428. if changed {
  23429. *vp = v
  23430. }
  23431. } else {
  23432. v := rv2i(rv).(map[uint8]interface{})
  23433. fastpathTV.DecMapUint8IntfV(v, fastpathCheckNilFalse, false, f.d)
  23434. }
  23435. }
  23436. func (f fastpathT) DecMapUint8IntfX(vp *map[uint8]interface{}, checkNil bool, d *Decoder) {
  23437. v, changed := f.DecMapUint8IntfV(*vp, checkNil, true, d)
  23438. if changed {
  23439. *vp = v
  23440. }
  23441. }
  23442. func (_ fastpathT) DecMapUint8IntfV(v map[uint8]interface{}, checkNil bool, canChange bool,
  23443. d *Decoder) (_ map[uint8]interface{}, changed bool) {
  23444. dd := d.d
  23445. cr := d.cr
  23446. if checkNil && dd.TryDecodeAsNil() {
  23447. if v != nil {
  23448. changed = true
  23449. }
  23450. return nil, changed
  23451. }
  23452. containerLen := dd.ReadMapStart()
  23453. if canChange && v == nil {
  23454. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  23455. v = make(map[uint8]interface{}, xlen)
  23456. changed = true
  23457. }
  23458. if containerLen == 0 {
  23459. if cr != nil {
  23460. cr.sendContainerState(containerMapEnd)
  23461. }
  23462. return v, changed
  23463. }
  23464. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  23465. var mk uint8
  23466. var mv interface{}
  23467. hasLen := containerLen > 0
  23468. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23469. if cr != nil {
  23470. cr.sendContainerState(containerMapKey)
  23471. }
  23472. mk = uint8(dd.DecodeUint(8))
  23473. if cr != nil {
  23474. cr.sendContainerState(containerMapValue)
  23475. }
  23476. if mapGet {
  23477. mv = v[mk]
  23478. } else {
  23479. mv = nil
  23480. }
  23481. d.decode(&mv)
  23482. if v != nil {
  23483. v[mk] = mv
  23484. }
  23485. }
  23486. if cr != nil {
  23487. cr.sendContainerState(containerMapEnd)
  23488. }
  23489. return v, changed
  23490. }
  23491. func (f *decFnInfo) fastpathDecMapUint8StringR(rv reflect.Value) {
  23492. if rv.CanAddr() {
  23493. vp := rv2i(rv.Addr()).(*map[uint8]string)
  23494. v, changed := fastpathTV.DecMapUint8StringV(*vp, fastpathCheckNilFalse, true, f.d)
  23495. if changed {
  23496. *vp = v
  23497. }
  23498. } else {
  23499. v := rv2i(rv).(map[uint8]string)
  23500. fastpathTV.DecMapUint8StringV(v, fastpathCheckNilFalse, false, f.d)
  23501. }
  23502. }
  23503. func (f fastpathT) DecMapUint8StringX(vp *map[uint8]string, checkNil bool, d *Decoder) {
  23504. v, changed := f.DecMapUint8StringV(*vp, checkNil, true, d)
  23505. if changed {
  23506. *vp = v
  23507. }
  23508. }
  23509. func (_ fastpathT) DecMapUint8StringV(v map[uint8]string, checkNil bool, canChange bool,
  23510. d *Decoder) (_ map[uint8]string, changed bool) {
  23511. dd := d.d
  23512. cr := d.cr
  23513. if checkNil && dd.TryDecodeAsNil() {
  23514. if v != nil {
  23515. changed = true
  23516. }
  23517. return nil, changed
  23518. }
  23519. containerLen := dd.ReadMapStart()
  23520. if canChange && v == nil {
  23521. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  23522. v = make(map[uint8]string, xlen)
  23523. changed = true
  23524. }
  23525. if containerLen == 0 {
  23526. if cr != nil {
  23527. cr.sendContainerState(containerMapEnd)
  23528. }
  23529. return v, changed
  23530. }
  23531. var mk uint8
  23532. var mv string
  23533. hasLen := containerLen > 0
  23534. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23535. if cr != nil {
  23536. cr.sendContainerState(containerMapKey)
  23537. }
  23538. mk = uint8(dd.DecodeUint(8))
  23539. if cr != nil {
  23540. cr.sendContainerState(containerMapValue)
  23541. }
  23542. mv = dd.DecodeString()
  23543. if v != nil {
  23544. v[mk] = mv
  23545. }
  23546. }
  23547. if cr != nil {
  23548. cr.sendContainerState(containerMapEnd)
  23549. }
  23550. return v, changed
  23551. }
  23552. func (f *decFnInfo) fastpathDecMapUint8UintR(rv reflect.Value) {
  23553. if rv.CanAddr() {
  23554. vp := rv2i(rv.Addr()).(*map[uint8]uint)
  23555. v, changed := fastpathTV.DecMapUint8UintV(*vp, fastpathCheckNilFalse, true, f.d)
  23556. if changed {
  23557. *vp = v
  23558. }
  23559. } else {
  23560. v := rv2i(rv).(map[uint8]uint)
  23561. fastpathTV.DecMapUint8UintV(v, fastpathCheckNilFalse, false, f.d)
  23562. }
  23563. }
  23564. func (f fastpathT) DecMapUint8UintX(vp *map[uint8]uint, checkNil bool, d *Decoder) {
  23565. v, changed := f.DecMapUint8UintV(*vp, checkNil, true, d)
  23566. if changed {
  23567. *vp = v
  23568. }
  23569. }
  23570. func (_ fastpathT) DecMapUint8UintV(v map[uint8]uint, checkNil bool, canChange bool,
  23571. d *Decoder) (_ map[uint8]uint, changed bool) {
  23572. dd := d.d
  23573. cr := d.cr
  23574. if checkNil && dd.TryDecodeAsNil() {
  23575. if v != nil {
  23576. changed = true
  23577. }
  23578. return nil, changed
  23579. }
  23580. containerLen := dd.ReadMapStart()
  23581. if canChange && v == nil {
  23582. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23583. v = make(map[uint8]uint, xlen)
  23584. changed = true
  23585. }
  23586. if containerLen == 0 {
  23587. if cr != nil {
  23588. cr.sendContainerState(containerMapEnd)
  23589. }
  23590. return v, changed
  23591. }
  23592. var mk uint8
  23593. var mv uint
  23594. hasLen := containerLen > 0
  23595. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23596. if cr != nil {
  23597. cr.sendContainerState(containerMapKey)
  23598. }
  23599. mk = uint8(dd.DecodeUint(8))
  23600. if cr != nil {
  23601. cr.sendContainerState(containerMapValue)
  23602. }
  23603. mv = uint(dd.DecodeUint(uintBitsize))
  23604. if v != nil {
  23605. v[mk] = mv
  23606. }
  23607. }
  23608. if cr != nil {
  23609. cr.sendContainerState(containerMapEnd)
  23610. }
  23611. return v, changed
  23612. }
  23613. func (f *decFnInfo) fastpathDecMapUint8Uint8R(rv reflect.Value) {
  23614. if rv.CanAddr() {
  23615. vp := rv2i(rv.Addr()).(*map[uint8]uint8)
  23616. v, changed := fastpathTV.DecMapUint8Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  23617. if changed {
  23618. *vp = v
  23619. }
  23620. } else {
  23621. v := rv2i(rv).(map[uint8]uint8)
  23622. fastpathTV.DecMapUint8Uint8V(v, fastpathCheckNilFalse, false, f.d)
  23623. }
  23624. }
  23625. func (f fastpathT) DecMapUint8Uint8X(vp *map[uint8]uint8, checkNil bool, d *Decoder) {
  23626. v, changed := f.DecMapUint8Uint8V(*vp, checkNil, true, d)
  23627. if changed {
  23628. *vp = v
  23629. }
  23630. }
  23631. func (_ fastpathT) DecMapUint8Uint8V(v map[uint8]uint8, checkNil bool, canChange bool,
  23632. d *Decoder) (_ map[uint8]uint8, changed bool) {
  23633. dd := d.d
  23634. cr := d.cr
  23635. if checkNil && dd.TryDecodeAsNil() {
  23636. if v != nil {
  23637. changed = true
  23638. }
  23639. return nil, changed
  23640. }
  23641. containerLen := dd.ReadMapStart()
  23642. if canChange && v == nil {
  23643. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  23644. v = make(map[uint8]uint8, xlen)
  23645. changed = true
  23646. }
  23647. if containerLen == 0 {
  23648. if cr != nil {
  23649. cr.sendContainerState(containerMapEnd)
  23650. }
  23651. return v, changed
  23652. }
  23653. var mk uint8
  23654. var mv uint8
  23655. hasLen := containerLen > 0
  23656. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23657. if cr != nil {
  23658. cr.sendContainerState(containerMapKey)
  23659. }
  23660. mk = uint8(dd.DecodeUint(8))
  23661. if cr != nil {
  23662. cr.sendContainerState(containerMapValue)
  23663. }
  23664. mv = uint8(dd.DecodeUint(8))
  23665. if v != nil {
  23666. v[mk] = mv
  23667. }
  23668. }
  23669. if cr != nil {
  23670. cr.sendContainerState(containerMapEnd)
  23671. }
  23672. return v, changed
  23673. }
  23674. func (f *decFnInfo) fastpathDecMapUint8Uint16R(rv reflect.Value) {
  23675. if rv.CanAddr() {
  23676. vp := rv2i(rv.Addr()).(*map[uint8]uint16)
  23677. v, changed := fastpathTV.DecMapUint8Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  23678. if changed {
  23679. *vp = v
  23680. }
  23681. } else {
  23682. v := rv2i(rv).(map[uint8]uint16)
  23683. fastpathTV.DecMapUint8Uint16V(v, fastpathCheckNilFalse, false, f.d)
  23684. }
  23685. }
  23686. func (f fastpathT) DecMapUint8Uint16X(vp *map[uint8]uint16, checkNil bool, d *Decoder) {
  23687. v, changed := f.DecMapUint8Uint16V(*vp, checkNil, true, d)
  23688. if changed {
  23689. *vp = v
  23690. }
  23691. }
  23692. func (_ fastpathT) DecMapUint8Uint16V(v map[uint8]uint16, checkNil bool, canChange bool,
  23693. d *Decoder) (_ map[uint8]uint16, changed bool) {
  23694. dd := d.d
  23695. cr := d.cr
  23696. if checkNil && dd.TryDecodeAsNil() {
  23697. if v != nil {
  23698. changed = true
  23699. }
  23700. return nil, changed
  23701. }
  23702. containerLen := dd.ReadMapStart()
  23703. if canChange && v == nil {
  23704. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  23705. v = make(map[uint8]uint16, xlen)
  23706. changed = true
  23707. }
  23708. if containerLen == 0 {
  23709. if cr != nil {
  23710. cr.sendContainerState(containerMapEnd)
  23711. }
  23712. return v, changed
  23713. }
  23714. var mk uint8
  23715. var mv uint16
  23716. hasLen := containerLen > 0
  23717. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23718. if cr != nil {
  23719. cr.sendContainerState(containerMapKey)
  23720. }
  23721. mk = uint8(dd.DecodeUint(8))
  23722. if cr != nil {
  23723. cr.sendContainerState(containerMapValue)
  23724. }
  23725. mv = uint16(dd.DecodeUint(16))
  23726. if v != nil {
  23727. v[mk] = mv
  23728. }
  23729. }
  23730. if cr != nil {
  23731. cr.sendContainerState(containerMapEnd)
  23732. }
  23733. return v, changed
  23734. }
  23735. func (f *decFnInfo) fastpathDecMapUint8Uint32R(rv reflect.Value) {
  23736. if rv.CanAddr() {
  23737. vp := rv2i(rv.Addr()).(*map[uint8]uint32)
  23738. v, changed := fastpathTV.DecMapUint8Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  23739. if changed {
  23740. *vp = v
  23741. }
  23742. } else {
  23743. v := rv2i(rv).(map[uint8]uint32)
  23744. fastpathTV.DecMapUint8Uint32V(v, fastpathCheckNilFalse, false, f.d)
  23745. }
  23746. }
  23747. func (f fastpathT) DecMapUint8Uint32X(vp *map[uint8]uint32, checkNil bool, d *Decoder) {
  23748. v, changed := f.DecMapUint8Uint32V(*vp, checkNil, true, d)
  23749. if changed {
  23750. *vp = v
  23751. }
  23752. }
  23753. func (_ fastpathT) DecMapUint8Uint32V(v map[uint8]uint32, checkNil bool, canChange bool,
  23754. d *Decoder) (_ map[uint8]uint32, changed bool) {
  23755. dd := d.d
  23756. cr := d.cr
  23757. if checkNil && dd.TryDecodeAsNil() {
  23758. if v != nil {
  23759. changed = true
  23760. }
  23761. return nil, changed
  23762. }
  23763. containerLen := dd.ReadMapStart()
  23764. if canChange && v == nil {
  23765. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  23766. v = make(map[uint8]uint32, xlen)
  23767. changed = true
  23768. }
  23769. if containerLen == 0 {
  23770. if cr != nil {
  23771. cr.sendContainerState(containerMapEnd)
  23772. }
  23773. return v, changed
  23774. }
  23775. var mk uint8
  23776. var mv uint32
  23777. hasLen := containerLen > 0
  23778. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23779. if cr != nil {
  23780. cr.sendContainerState(containerMapKey)
  23781. }
  23782. mk = uint8(dd.DecodeUint(8))
  23783. if cr != nil {
  23784. cr.sendContainerState(containerMapValue)
  23785. }
  23786. mv = uint32(dd.DecodeUint(32))
  23787. if v != nil {
  23788. v[mk] = mv
  23789. }
  23790. }
  23791. if cr != nil {
  23792. cr.sendContainerState(containerMapEnd)
  23793. }
  23794. return v, changed
  23795. }
  23796. func (f *decFnInfo) fastpathDecMapUint8Uint64R(rv reflect.Value) {
  23797. if rv.CanAddr() {
  23798. vp := rv2i(rv.Addr()).(*map[uint8]uint64)
  23799. v, changed := fastpathTV.DecMapUint8Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  23800. if changed {
  23801. *vp = v
  23802. }
  23803. } else {
  23804. v := rv2i(rv).(map[uint8]uint64)
  23805. fastpathTV.DecMapUint8Uint64V(v, fastpathCheckNilFalse, false, f.d)
  23806. }
  23807. }
  23808. func (f fastpathT) DecMapUint8Uint64X(vp *map[uint8]uint64, checkNil bool, d *Decoder) {
  23809. v, changed := f.DecMapUint8Uint64V(*vp, checkNil, true, d)
  23810. if changed {
  23811. *vp = v
  23812. }
  23813. }
  23814. func (_ fastpathT) DecMapUint8Uint64V(v map[uint8]uint64, checkNil bool, canChange bool,
  23815. d *Decoder) (_ map[uint8]uint64, changed bool) {
  23816. dd := d.d
  23817. cr := d.cr
  23818. if checkNil && dd.TryDecodeAsNil() {
  23819. if v != nil {
  23820. changed = true
  23821. }
  23822. return nil, changed
  23823. }
  23824. containerLen := dd.ReadMapStart()
  23825. if canChange && v == nil {
  23826. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23827. v = make(map[uint8]uint64, xlen)
  23828. changed = true
  23829. }
  23830. if containerLen == 0 {
  23831. if cr != nil {
  23832. cr.sendContainerState(containerMapEnd)
  23833. }
  23834. return v, changed
  23835. }
  23836. var mk uint8
  23837. var mv uint64
  23838. hasLen := containerLen > 0
  23839. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23840. if cr != nil {
  23841. cr.sendContainerState(containerMapKey)
  23842. }
  23843. mk = uint8(dd.DecodeUint(8))
  23844. if cr != nil {
  23845. cr.sendContainerState(containerMapValue)
  23846. }
  23847. mv = dd.DecodeUint(64)
  23848. if v != nil {
  23849. v[mk] = mv
  23850. }
  23851. }
  23852. if cr != nil {
  23853. cr.sendContainerState(containerMapEnd)
  23854. }
  23855. return v, changed
  23856. }
  23857. func (f *decFnInfo) fastpathDecMapUint8UintptrR(rv reflect.Value) {
  23858. if rv.CanAddr() {
  23859. vp := rv2i(rv.Addr()).(*map[uint8]uintptr)
  23860. v, changed := fastpathTV.DecMapUint8UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  23861. if changed {
  23862. *vp = v
  23863. }
  23864. } else {
  23865. v := rv2i(rv).(map[uint8]uintptr)
  23866. fastpathTV.DecMapUint8UintptrV(v, fastpathCheckNilFalse, false, f.d)
  23867. }
  23868. }
  23869. func (f fastpathT) DecMapUint8UintptrX(vp *map[uint8]uintptr, checkNil bool, d *Decoder) {
  23870. v, changed := f.DecMapUint8UintptrV(*vp, checkNil, true, d)
  23871. if changed {
  23872. *vp = v
  23873. }
  23874. }
  23875. func (_ fastpathT) DecMapUint8UintptrV(v map[uint8]uintptr, checkNil bool, canChange bool,
  23876. d *Decoder) (_ map[uint8]uintptr, changed bool) {
  23877. dd := d.d
  23878. cr := d.cr
  23879. if checkNil && dd.TryDecodeAsNil() {
  23880. if v != nil {
  23881. changed = true
  23882. }
  23883. return nil, changed
  23884. }
  23885. containerLen := dd.ReadMapStart()
  23886. if canChange && v == nil {
  23887. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23888. v = make(map[uint8]uintptr, xlen)
  23889. changed = true
  23890. }
  23891. if containerLen == 0 {
  23892. if cr != nil {
  23893. cr.sendContainerState(containerMapEnd)
  23894. }
  23895. return v, changed
  23896. }
  23897. var mk uint8
  23898. var mv uintptr
  23899. hasLen := containerLen > 0
  23900. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23901. if cr != nil {
  23902. cr.sendContainerState(containerMapKey)
  23903. }
  23904. mk = uint8(dd.DecodeUint(8))
  23905. if cr != nil {
  23906. cr.sendContainerState(containerMapValue)
  23907. }
  23908. mv = uintptr(dd.DecodeUint(uintBitsize))
  23909. if v != nil {
  23910. v[mk] = mv
  23911. }
  23912. }
  23913. if cr != nil {
  23914. cr.sendContainerState(containerMapEnd)
  23915. }
  23916. return v, changed
  23917. }
  23918. func (f *decFnInfo) fastpathDecMapUint8IntR(rv reflect.Value) {
  23919. if rv.CanAddr() {
  23920. vp := rv2i(rv.Addr()).(*map[uint8]int)
  23921. v, changed := fastpathTV.DecMapUint8IntV(*vp, fastpathCheckNilFalse, true, f.d)
  23922. if changed {
  23923. *vp = v
  23924. }
  23925. } else {
  23926. v := rv2i(rv).(map[uint8]int)
  23927. fastpathTV.DecMapUint8IntV(v, fastpathCheckNilFalse, false, f.d)
  23928. }
  23929. }
  23930. func (f fastpathT) DecMapUint8IntX(vp *map[uint8]int, checkNil bool, d *Decoder) {
  23931. v, changed := f.DecMapUint8IntV(*vp, checkNil, true, d)
  23932. if changed {
  23933. *vp = v
  23934. }
  23935. }
  23936. func (_ fastpathT) DecMapUint8IntV(v map[uint8]int, checkNil bool, canChange bool,
  23937. d *Decoder) (_ map[uint8]int, changed bool) {
  23938. dd := d.d
  23939. cr := d.cr
  23940. if checkNil && dd.TryDecodeAsNil() {
  23941. if v != nil {
  23942. changed = true
  23943. }
  23944. return nil, changed
  23945. }
  23946. containerLen := dd.ReadMapStart()
  23947. if canChange && v == nil {
  23948. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  23949. v = make(map[uint8]int, xlen)
  23950. changed = true
  23951. }
  23952. if containerLen == 0 {
  23953. if cr != nil {
  23954. cr.sendContainerState(containerMapEnd)
  23955. }
  23956. return v, changed
  23957. }
  23958. var mk uint8
  23959. var mv int
  23960. hasLen := containerLen > 0
  23961. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  23962. if cr != nil {
  23963. cr.sendContainerState(containerMapKey)
  23964. }
  23965. mk = uint8(dd.DecodeUint(8))
  23966. if cr != nil {
  23967. cr.sendContainerState(containerMapValue)
  23968. }
  23969. mv = int(dd.DecodeInt(intBitsize))
  23970. if v != nil {
  23971. v[mk] = mv
  23972. }
  23973. }
  23974. if cr != nil {
  23975. cr.sendContainerState(containerMapEnd)
  23976. }
  23977. return v, changed
  23978. }
  23979. func (f *decFnInfo) fastpathDecMapUint8Int8R(rv reflect.Value) {
  23980. if rv.CanAddr() {
  23981. vp := rv2i(rv.Addr()).(*map[uint8]int8)
  23982. v, changed := fastpathTV.DecMapUint8Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  23983. if changed {
  23984. *vp = v
  23985. }
  23986. } else {
  23987. v := rv2i(rv).(map[uint8]int8)
  23988. fastpathTV.DecMapUint8Int8V(v, fastpathCheckNilFalse, false, f.d)
  23989. }
  23990. }
  23991. func (f fastpathT) DecMapUint8Int8X(vp *map[uint8]int8, checkNil bool, d *Decoder) {
  23992. v, changed := f.DecMapUint8Int8V(*vp, checkNil, true, d)
  23993. if changed {
  23994. *vp = v
  23995. }
  23996. }
  23997. func (_ fastpathT) DecMapUint8Int8V(v map[uint8]int8, checkNil bool, canChange bool,
  23998. d *Decoder) (_ map[uint8]int8, changed bool) {
  23999. dd := d.d
  24000. cr := d.cr
  24001. if checkNil && dd.TryDecodeAsNil() {
  24002. if v != nil {
  24003. changed = true
  24004. }
  24005. return nil, changed
  24006. }
  24007. containerLen := dd.ReadMapStart()
  24008. if canChange && v == nil {
  24009. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  24010. v = make(map[uint8]int8, xlen)
  24011. changed = true
  24012. }
  24013. if containerLen == 0 {
  24014. if cr != nil {
  24015. cr.sendContainerState(containerMapEnd)
  24016. }
  24017. return v, changed
  24018. }
  24019. var mk uint8
  24020. var mv int8
  24021. hasLen := containerLen > 0
  24022. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24023. if cr != nil {
  24024. cr.sendContainerState(containerMapKey)
  24025. }
  24026. mk = uint8(dd.DecodeUint(8))
  24027. if cr != nil {
  24028. cr.sendContainerState(containerMapValue)
  24029. }
  24030. mv = int8(dd.DecodeInt(8))
  24031. if v != nil {
  24032. v[mk] = mv
  24033. }
  24034. }
  24035. if cr != nil {
  24036. cr.sendContainerState(containerMapEnd)
  24037. }
  24038. return v, changed
  24039. }
  24040. func (f *decFnInfo) fastpathDecMapUint8Int16R(rv reflect.Value) {
  24041. if rv.CanAddr() {
  24042. vp := rv2i(rv.Addr()).(*map[uint8]int16)
  24043. v, changed := fastpathTV.DecMapUint8Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  24044. if changed {
  24045. *vp = v
  24046. }
  24047. } else {
  24048. v := rv2i(rv).(map[uint8]int16)
  24049. fastpathTV.DecMapUint8Int16V(v, fastpathCheckNilFalse, false, f.d)
  24050. }
  24051. }
  24052. func (f fastpathT) DecMapUint8Int16X(vp *map[uint8]int16, checkNil bool, d *Decoder) {
  24053. v, changed := f.DecMapUint8Int16V(*vp, checkNil, true, d)
  24054. if changed {
  24055. *vp = v
  24056. }
  24057. }
  24058. func (_ fastpathT) DecMapUint8Int16V(v map[uint8]int16, checkNil bool, canChange bool,
  24059. d *Decoder) (_ map[uint8]int16, changed bool) {
  24060. dd := d.d
  24061. cr := d.cr
  24062. if checkNil && dd.TryDecodeAsNil() {
  24063. if v != nil {
  24064. changed = true
  24065. }
  24066. return nil, changed
  24067. }
  24068. containerLen := dd.ReadMapStart()
  24069. if canChange && v == nil {
  24070. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  24071. v = make(map[uint8]int16, xlen)
  24072. changed = true
  24073. }
  24074. if containerLen == 0 {
  24075. if cr != nil {
  24076. cr.sendContainerState(containerMapEnd)
  24077. }
  24078. return v, changed
  24079. }
  24080. var mk uint8
  24081. var mv int16
  24082. hasLen := containerLen > 0
  24083. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24084. if cr != nil {
  24085. cr.sendContainerState(containerMapKey)
  24086. }
  24087. mk = uint8(dd.DecodeUint(8))
  24088. if cr != nil {
  24089. cr.sendContainerState(containerMapValue)
  24090. }
  24091. mv = int16(dd.DecodeInt(16))
  24092. if v != nil {
  24093. v[mk] = mv
  24094. }
  24095. }
  24096. if cr != nil {
  24097. cr.sendContainerState(containerMapEnd)
  24098. }
  24099. return v, changed
  24100. }
  24101. func (f *decFnInfo) fastpathDecMapUint8Int32R(rv reflect.Value) {
  24102. if rv.CanAddr() {
  24103. vp := rv2i(rv.Addr()).(*map[uint8]int32)
  24104. v, changed := fastpathTV.DecMapUint8Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  24105. if changed {
  24106. *vp = v
  24107. }
  24108. } else {
  24109. v := rv2i(rv).(map[uint8]int32)
  24110. fastpathTV.DecMapUint8Int32V(v, fastpathCheckNilFalse, false, f.d)
  24111. }
  24112. }
  24113. func (f fastpathT) DecMapUint8Int32X(vp *map[uint8]int32, checkNil bool, d *Decoder) {
  24114. v, changed := f.DecMapUint8Int32V(*vp, checkNil, true, d)
  24115. if changed {
  24116. *vp = v
  24117. }
  24118. }
  24119. func (_ fastpathT) DecMapUint8Int32V(v map[uint8]int32, checkNil bool, canChange bool,
  24120. d *Decoder) (_ map[uint8]int32, changed bool) {
  24121. dd := d.d
  24122. cr := d.cr
  24123. if checkNil && dd.TryDecodeAsNil() {
  24124. if v != nil {
  24125. changed = true
  24126. }
  24127. return nil, changed
  24128. }
  24129. containerLen := dd.ReadMapStart()
  24130. if canChange && v == nil {
  24131. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  24132. v = make(map[uint8]int32, xlen)
  24133. changed = true
  24134. }
  24135. if containerLen == 0 {
  24136. if cr != nil {
  24137. cr.sendContainerState(containerMapEnd)
  24138. }
  24139. return v, changed
  24140. }
  24141. var mk uint8
  24142. var mv int32
  24143. hasLen := containerLen > 0
  24144. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24145. if cr != nil {
  24146. cr.sendContainerState(containerMapKey)
  24147. }
  24148. mk = uint8(dd.DecodeUint(8))
  24149. if cr != nil {
  24150. cr.sendContainerState(containerMapValue)
  24151. }
  24152. mv = int32(dd.DecodeInt(32))
  24153. if v != nil {
  24154. v[mk] = mv
  24155. }
  24156. }
  24157. if cr != nil {
  24158. cr.sendContainerState(containerMapEnd)
  24159. }
  24160. return v, changed
  24161. }
  24162. func (f *decFnInfo) fastpathDecMapUint8Int64R(rv reflect.Value) {
  24163. if rv.CanAddr() {
  24164. vp := rv2i(rv.Addr()).(*map[uint8]int64)
  24165. v, changed := fastpathTV.DecMapUint8Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  24166. if changed {
  24167. *vp = v
  24168. }
  24169. } else {
  24170. v := rv2i(rv).(map[uint8]int64)
  24171. fastpathTV.DecMapUint8Int64V(v, fastpathCheckNilFalse, false, f.d)
  24172. }
  24173. }
  24174. func (f fastpathT) DecMapUint8Int64X(vp *map[uint8]int64, checkNil bool, d *Decoder) {
  24175. v, changed := f.DecMapUint8Int64V(*vp, checkNil, true, d)
  24176. if changed {
  24177. *vp = v
  24178. }
  24179. }
  24180. func (_ fastpathT) DecMapUint8Int64V(v map[uint8]int64, checkNil bool, canChange bool,
  24181. d *Decoder) (_ map[uint8]int64, changed bool) {
  24182. dd := d.d
  24183. cr := d.cr
  24184. if checkNil && dd.TryDecodeAsNil() {
  24185. if v != nil {
  24186. changed = true
  24187. }
  24188. return nil, changed
  24189. }
  24190. containerLen := dd.ReadMapStart()
  24191. if canChange && v == nil {
  24192. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  24193. v = make(map[uint8]int64, xlen)
  24194. changed = true
  24195. }
  24196. if containerLen == 0 {
  24197. if cr != nil {
  24198. cr.sendContainerState(containerMapEnd)
  24199. }
  24200. return v, changed
  24201. }
  24202. var mk uint8
  24203. var mv int64
  24204. hasLen := containerLen > 0
  24205. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24206. if cr != nil {
  24207. cr.sendContainerState(containerMapKey)
  24208. }
  24209. mk = uint8(dd.DecodeUint(8))
  24210. if cr != nil {
  24211. cr.sendContainerState(containerMapValue)
  24212. }
  24213. mv = dd.DecodeInt(64)
  24214. if v != nil {
  24215. v[mk] = mv
  24216. }
  24217. }
  24218. if cr != nil {
  24219. cr.sendContainerState(containerMapEnd)
  24220. }
  24221. return v, changed
  24222. }
  24223. func (f *decFnInfo) fastpathDecMapUint8Float32R(rv reflect.Value) {
  24224. if rv.CanAddr() {
  24225. vp := rv2i(rv.Addr()).(*map[uint8]float32)
  24226. v, changed := fastpathTV.DecMapUint8Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  24227. if changed {
  24228. *vp = v
  24229. }
  24230. } else {
  24231. v := rv2i(rv).(map[uint8]float32)
  24232. fastpathTV.DecMapUint8Float32V(v, fastpathCheckNilFalse, false, f.d)
  24233. }
  24234. }
  24235. func (f fastpathT) DecMapUint8Float32X(vp *map[uint8]float32, checkNil bool, d *Decoder) {
  24236. v, changed := f.DecMapUint8Float32V(*vp, checkNil, true, d)
  24237. if changed {
  24238. *vp = v
  24239. }
  24240. }
  24241. func (_ fastpathT) DecMapUint8Float32V(v map[uint8]float32, checkNil bool, canChange bool,
  24242. d *Decoder) (_ map[uint8]float32, changed bool) {
  24243. dd := d.d
  24244. cr := d.cr
  24245. if checkNil && dd.TryDecodeAsNil() {
  24246. if v != nil {
  24247. changed = true
  24248. }
  24249. return nil, changed
  24250. }
  24251. containerLen := dd.ReadMapStart()
  24252. if canChange && v == nil {
  24253. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  24254. v = make(map[uint8]float32, xlen)
  24255. changed = true
  24256. }
  24257. if containerLen == 0 {
  24258. if cr != nil {
  24259. cr.sendContainerState(containerMapEnd)
  24260. }
  24261. return v, changed
  24262. }
  24263. var mk uint8
  24264. var mv float32
  24265. hasLen := containerLen > 0
  24266. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24267. if cr != nil {
  24268. cr.sendContainerState(containerMapKey)
  24269. }
  24270. mk = uint8(dd.DecodeUint(8))
  24271. if cr != nil {
  24272. cr.sendContainerState(containerMapValue)
  24273. }
  24274. mv = float32(dd.DecodeFloat(true))
  24275. if v != nil {
  24276. v[mk] = mv
  24277. }
  24278. }
  24279. if cr != nil {
  24280. cr.sendContainerState(containerMapEnd)
  24281. }
  24282. return v, changed
  24283. }
  24284. func (f *decFnInfo) fastpathDecMapUint8Float64R(rv reflect.Value) {
  24285. if rv.CanAddr() {
  24286. vp := rv2i(rv.Addr()).(*map[uint8]float64)
  24287. v, changed := fastpathTV.DecMapUint8Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  24288. if changed {
  24289. *vp = v
  24290. }
  24291. } else {
  24292. v := rv2i(rv).(map[uint8]float64)
  24293. fastpathTV.DecMapUint8Float64V(v, fastpathCheckNilFalse, false, f.d)
  24294. }
  24295. }
  24296. func (f fastpathT) DecMapUint8Float64X(vp *map[uint8]float64, checkNil bool, d *Decoder) {
  24297. v, changed := f.DecMapUint8Float64V(*vp, checkNil, true, d)
  24298. if changed {
  24299. *vp = v
  24300. }
  24301. }
  24302. func (_ fastpathT) DecMapUint8Float64V(v map[uint8]float64, checkNil bool, canChange bool,
  24303. d *Decoder) (_ map[uint8]float64, changed bool) {
  24304. dd := d.d
  24305. cr := d.cr
  24306. if checkNil && dd.TryDecodeAsNil() {
  24307. if v != nil {
  24308. changed = true
  24309. }
  24310. return nil, changed
  24311. }
  24312. containerLen := dd.ReadMapStart()
  24313. if canChange && v == nil {
  24314. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  24315. v = make(map[uint8]float64, xlen)
  24316. changed = true
  24317. }
  24318. if containerLen == 0 {
  24319. if cr != nil {
  24320. cr.sendContainerState(containerMapEnd)
  24321. }
  24322. return v, changed
  24323. }
  24324. var mk uint8
  24325. var mv float64
  24326. hasLen := containerLen > 0
  24327. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24328. if cr != nil {
  24329. cr.sendContainerState(containerMapKey)
  24330. }
  24331. mk = uint8(dd.DecodeUint(8))
  24332. if cr != nil {
  24333. cr.sendContainerState(containerMapValue)
  24334. }
  24335. mv = dd.DecodeFloat(false)
  24336. if v != nil {
  24337. v[mk] = mv
  24338. }
  24339. }
  24340. if cr != nil {
  24341. cr.sendContainerState(containerMapEnd)
  24342. }
  24343. return v, changed
  24344. }
  24345. func (f *decFnInfo) fastpathDecMapUint8BoolR(rv reflect.Value) {
  24346. if rv.CanAddr() {
  24347. vp := rv2i(rv.Addr()).(*map[uint8]bool)
  24348. v, changed := fastpathTV.DecMapUint8BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  24349. if changed {
  24350. *vp = v
  24351. }
  24352. } else {
  24353. v := rv2i(rv).(map[uint8]bool)
  24354. fastpathTV.DecMapUint8BoolV(v, fastpathCheckNilFalse, false, f.d)
  24355. }
  24356. }
  24357. func (f fastpathT) DecMapUint8BoolX(vp *map[uint8]bool, checkNil bool, d *Decoder) {
  24358. v, changed := f.DecMapUint8BoolV(*vp, checkNil, true, d)
  24359. if changed {
  24360. *vp = v
  24361. }
  24362. }
  24363. func (_ fastpathT) DecMapUint8BoolV(v map[uint8]bool, checkNil bool, canChange bool,
  24364. d *Decoder) (_ map[uint8]bool, changed bool) {
  24365. dd := d.d
  24366. cr := d.cr
  24367. if checkNil && dd.TryDecodeAsNil() {
  24368. if v != nil {
  24369. changed = true
  24370. }
  24371. return nil, changed
  24372. }
  24373. containerLen := dd.ReadMapStart()
  24374. if canChange && v == nil {
  24375. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  24376. v = make(map[uint8]bool, xlen)
  24377. changed = true
  24378. }
  24379. if containerLen == 0 {
  24380. if cr != nil {
  24381. cr.sendContainerState(containerMapEnd)
  24382. }
  24383. return v, changed
  24384. }
  24385. var mk uint8
  24386. var mv bool
  24387. hasLen := containerLen > 0
  24388. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24389. if cr != nil {
  24390. cr.sendContainerState(containerMapKey)
  24391. }
  24392. mk = uint8(dd.DecodeUint(8))
  24393. if cr != nil {
  24394. cr.sendContainerState(containerMapValue)
  24395. }
  24396. mv = dd.DecodeBool()
  24397. if v != nil {
  24398. v[mk] = mv
  24399. }
  24400. }
  24401. if cr != nil {
  24402. cr.sendContainerState(containerMapEnd)
  24403. }
  24404. return v, changed
  24405. }
  24406. func (f *decFnInfo) fastpathDecMapUint16IntfR(rv reflect.Value) {
  24407. if rv.CanAddr() {
  24408. vp := rv2i(rv.Addr()).(*map[uint16]interface{})
  24409. v, changed := fastpathTV.DecMapUint16IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  24410. if changed {
  24411. *vp = v
  24412. }
  24413. } else {
  24414. v := rv2i(rv).(map[uint16]interface{})
  24415. fastpathTV.DecMapUint16IntfV(v, fastpathCheckNilFalse, false, f.d)
  24416. }
  24417. }
  24418. func (f fastpathT) DecMapUint16IntfX(vp *map[uint16]interface{}, checkNil bool, d *Decoder) {
  24419. v, changed := f.DecMapUint16IntfV(*vp, checkNil, true, d)
  24420. if changed {
  24421. *vp = v
  24422. }
  24423. }
  24424. func (_ fastpathT) DecMapUint16IntfV(v map[uint16]interface{}, checkNil bool, canChange bool,
  24425. d *Decoder) (_ map[uint16]interface{}, changed bool) {
  24426. dd := d.d
  24427. cr := d.cr
  24428. if checkNil && dd.TryDecodeAsNil() {
  24429. if v != nil {
  24430. changed = true
  24431. }
  24432. return nil, changed
  24433. }
  24434. containerLen := dd.ReadMapStart()
  24435. if canChange && v == nil {
  24436. xlen := decInferLen(containerLen, d.h.MaxInitLen, 18)
  24437. v = make(map[uint16]interface{}, xlen)
  24438. changed = true
  24439. }
  24440. if containerLen == 0 {
  24441. if cr != nil {
  24442. cr.sendContainerState(containerMapEnd)
  24443. }
  24444. return v, changed
  24445. }
  24446. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  24447. var mk uint16
  24448. var mv interface{}
  24449. hasLen := containerLen > 0
  24450. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24451. if cr != nil {
  24452. cr.sendContainerState(containerMapKey)
  24453. }
  24454. mk = uint16(dd.DecodeUint(16))
  24455. if cr != nil {
  24456. cr.sendContainerState(containerMapValue)
  24457. }
  24458. if mapGet {
  24459. mv = v[mk]
  24460. } else {
  24461. mv = nil
  24462. }
  24463. d.decode(&mv)
  24464. if v != nil {
  24465. v[mk] = mv
  24466. }
  24467. }
  24468. if cr != nil {
  24469. cr.sendContainerState(containerMapEnd)
  24470. }
  24471. return v, changed
  24472. }
  24473. func (f *decFnInfo) fastpathDecMapUint16StringR(rv reflect.Value) {
  24474. if rv.CanAddr() {
  24475. vp := rv2i(rv.Addr()).(*map[uint16]string)
  24476. v, changed := fastpathTV.DecMapUint16StringV(*vp, fastpathCheckNilFalse, true, f.d)
  24477. if changed {
  24478. *vp = v
  24479. }
  24480. } else {
  24481. v := rv2i(rv).(map[uint16]string)
  24482. fastpathTV.DecMapUint16StringV(v, fastpathCheckNilFalse, false, f.d)
  24483. }
  24484. }
  24485. func (f fastpathT) DecMapUint16StringX(vp *map[uint16]string, checkNil bool, d *Decoder) {
  24486. v, changed := f.DecMapUint16StringV(*vp, checkNil, true, d)
  24487. if changed {
  24488. *vp = v
  24489. }
  24490. }
  24491. func (_ fastpathT) DecMapUint16StringV(v map[uint16]string, checkNil bool, canChange bool,
  24492. d *Decoder) (_ map[uint16]string, changed bool) {
  24493. dd := d.d
  24494. cr := d.cr
  24495. if checkNil && dd.TryDecodeAsNil() {
  24496. if v != nil {
  24497. changed = true
  24498. }
  24499. return nil, changed
  24500. }
  24501. containerLen := dd.ReadMapStart()
  24502. if canChange && v == nil {
  24503. xlen := decInferLen(containerLen, d.h.MaxInitLen, 18)
  24504. v = make(map[uint16]string, xlen)
  24505. changed = true
  24506. }
  24507. if containerLen == 0 {
  24508. if cr != nil {
  24509. cr.sendContainerState(containerMapEnd)
  24510. }
  24511. return v, changed
  24512. }
  24513. var mk uint16
  24514. var mv string
  24515. hasLen := containerLen > 0
  24516. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24517. if cr != nil {
  24518. cr.sendContainerState(containerMapKey)
  24519. }
  24520. mk = uint16(dd.DecodeUint(16))
  24521. if cr != nil {
  24522. cr.sendContainerState(containerMapValue)
  24523. }
  24524. mv = dd.DecodeString()
  24525. if v != nil {
  24526. v[mk] = mv
  24527. }
  24528. }
  24529. if cr != nil {
  24530. cr.sendContainerState(containerMapEnd)
  24531. }
  24532. return v, changed
  24533. }
  24534. func (f *decFnInfo) fastpathDecMapUint16UintR(rv reflect.Value) {
  24535. if rv.CanAddr() {
  24536. vp := rv2i(rv.Addr()).(*map[uint16]uint)
  24537. v, changed := fastpathTV.DecMapUint16UintV(*vp, fastpathCheckNilFalse, true, f.d)
  24538. if changed {
  24539. *vp = v
  24540. }
  24541. } else {
  24542. v := rv2i(rv).(map[uint16]uint)
  24543. fastpathTV.DecMapUint16UintV(v, fastpathCheckNilFalse, false, f.d)
  24544. }
  24545. }
  24546. func (f fastpathT) DecMapUint16UintX(vp *map[uint16]uint, checkNil bool, d *Decoder) {
  24547. v, changed := f.DecMapUint16UintV(*vp, checkNil, true, d)
  24548. if changed {
  24549. *vp = v
  24550. }
  24551. }
  24552. func (_ fastpathT) DecMapUint16UintV(v map[uint16]uint, checkNil bool, canChange bool,
  24553. d *Decoder) (_ map[uint16]uint, changed bool) {
  24554. dd := d.d
  24555. cr := d.cr
  24556. if checkNil && dd.TryDecodeAsNil() {
  24557. if v != nil {
  24558. changed = true
  24559. }
  24560. return nil, changed
  24561. }
  24562. containerLen := dd.ReadMapStart()
  24563. if canChange && v == nil {
  24564. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  24565. v = make(map[uint16]uint, xlen)
  24566. changed = true
  24567. }
  24568. if containerLen == 0 {
  24569. if cr != nil {
  24570. cr.sendContainerState(containerMapEnd)
  24571. }
  24572. return v, changed
  24573. }
  24574. var mk uint16
  24575. var mv uint
  24576. hasLen := containerLen > 0
  24577. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24578. if cr != nil {
  24579. cr.sendContainerState(containerMapKey)
  24580. }
  24581. mk = uint16(dd.DecodeUint(16))
  24582. if cr != nil {
  24583. cr.sendContainerState(containerMapValue)
  24584. }
  24585. mv = uint(dd.DecodeUint(uintBitsize))
  24586. if v != nil {
  24587. v[mk] = mv
  24588. }
  24589. }
  24590. if cr != nil {
  24591. cr.sendContainerState(containerMapEnd)
  24592. }
  24593. return v, changed
  24594. }
  24595. func (f *decFnInfo) fastpathDecMapUint16Uint8R(rv reflect.Value) {
  24596. if rv.CanAddr() {
  24597. vp := rv2i(rv.Addr()).(*map[uint16]uint8)
  24598. v, changed := fastpathTV.DecMapUint16Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  24599. if changed {
  24600. *vp = v
  24601. }
  24602. } else {
  24603. v := rv2i(rv).(map[uint16]uint8)
  24604. fastpathTV.DecMapUint16Uint8V(v, fastpathCheckNilFalse, false, f.d)
  24605. }
  24606. }
  24607. func (f fastpathT) DecMapUint16Uint8X(vp *map[uint16]uint8, checkNil bool, d *Decoder) {
  24608. v, changed := f.DecMapUint16Uint8V(*vp, checkNil, true, d)
  24609. if changed {
  24610. *vp = v
  24611. }
  24612. }
  24613. func (_ fastpathT) DecMapUint16Uint8V(v map[uint16]uint8, checkNil bool, canChange bool,
  24614. d *Decoder) (_ map[uint16]uint8, changed bool) {
  24615. dd := d.d
  24616. cr := d.cr
  24617. if checkNil && dd.TryDecodeAsNil() {
  24618. if v != nil {
  24619. changed = true
  24620. }
  24621. return nil, changed
  24622. }
  24623. containerLen := dd.ReadMapStart()
  24624. if canChange && v == nil {
  24625. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  24626. v = make(map[uint16]uint8, xlen)
  24627. changed = true
  24628. }
  24629. if containerLen == 0 {
  24630. if cr != nil {
  24631. cr.sendContainerState(containerMapEnd)
  24632. }
  24633. return v, changed
  24634. }
  24635. var mk uint16
  24636. var mv uint8
  24637. hasLen := containerLen > 0
  24638. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24639. if cr != nil {
  24640. cr.sendContainerState(containerMapKey)
  24641. }
  24642. mk = uint16(dd.DecodeUint(16))
  24643. if cr != nil {
  24644. cr.sendContainerState(containerMapValue)
  24645. }
  24646. mv = uint8(dd.DecodeUint(8))
  24647. if v != nil {
  24648. v[mk] = mv
  24649. }
  24650. }
  24651. if cr != nil {
  24652. cr.sendContainerState(containerMapEnd)
  24653. }
  24654. return v, changed
  24655. }
  24656. func (f *decFnInfo) fastpathDecMapUint16Uint16R(rv reflect.Value) {
  24657. if rv.CanAddr() {
  24658. vp := rv2i(rv.Addr()).(*map[uint16]uint16)
  24659. v, changed := fastpathTV.DecMapUint16Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  24660. if changed {
  24661. *vp = v
  24662. }
  24663. } else {
  24664. v := rv2i(rv).(map[uint16]uint16)
  24665. fastpathTV.DecMapUint16Uint16V(v, fastpathCheckNilFalse, false, f.d)
  24666. }
  24667. }
  24668. func (f fastpathT) DecMapUint16Uint16X(vp *map[uint16]uint16, checkNil bool, d *Decoder) {
  24669. v, changed := f.DecMapUint16Uint16V(*vp, checkNil, true, d)
  24670. if changed {
  24671. *vp = v
  24672. }
  24673. }
  24674. func (_ fastpathT) DecMapUint16Uint16V(v map[uint16]uint16, checkNil bool, canChange bool,
  24675. d *Decoder) (_ map[uint16]uint16, changed bool) {
  24676. dd := d.d
  24677. cr := d.cr
  24678. if checkNil && dd.TryDecodeAsNil() {
  24679. if v != nil {
  24680. changed = true
  24681. }
  24682. return nil, changed
  24683. }
  24684. containerLen := dd.ReadMapStart()
  24685. if canChange && v == nil {
  24686. xlen := decInferLen(containerLen, d.h.MaxInitLen, 4)
  24687. v = make(map[uint16]uint16, xlen)
  24688. changed = true
  24689. }
  24690. if containerLen == 0 {
  24691. if cr != nil {
  24692. cr.sendContainerState(containerMapEnd)
  24693. }
  24694. return v, changed
  24695. }
  24696. var mk uint16
  24697. var mv uint16
  24698. hasLen := containerLen > 0
  24699. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24700. if cr != nil {
  24701. cr.sendContainerState(containerMapKey)
  24702. }
  24703. mk = uint16(dd.DecodeUint(16))
  24704. if cr != nil {
  24705. cr.sendContainerState(containerMapValue)
  24706. }
  24707. mv = uint16(dd.DecodeUint(16))
  24708. if v != nil {
  24709. v[mk] = mv
  24710. }
  24711. }
  24712. if cr != nil {
  24713. cr.sendContainerState(containerMapEnd)
  24714. }
  24715. return v, changed
  24716. }
  24717. func (f *decFnInfo) fastpathDecMapUint16Uint32R(rv reflect.Value) {
  24718. if rv.CanAddr() {
  24719. vp := rv2i(rv.Addr()).(*map[uint16]uint32)
  24720. v, changed := fastpathTV.DecMapUint16Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  24721. if changed {
  24722. *vp = v
  24723. }
  24724. } else {
  24725. v := rv2i(rv).(map[uint16]uint32)
  24726. fastpathTV.DecMapUint16Uint32V(v, fastpathCheckNilFalse, false, f.d)
  24727. }
  24728. }
  24729. func (f fastpathT) DecMapUint16Uint32X(vp *map[uint16]uint32, checkNil bool, d *Decoder) {
  24730. v, changed := f.DecMapUint16Uint32V(*vp, checkNil, true, d)
  24731. if changed {
  24732. *vp = v
  24733. }
  24734. }
  24735. func (_ fastpathT) DecMapUint16Uint32V(v map[uint16]uint32, checkNil bool, canChange bool,
  24736. d *Decoder) (_ map[uint16]uint32, changed bool) {
  24737. dd := d.d
  24738. cr := d.cr
  24739. if checkNil && dd.TryDecodeAsNil() {
  24740. if v != nil {
  24741. changed = true
  24742. }
  24743. return nil, changed
  24744. }
  24745. containerLen := dd.ReadMapStart()
  24746. if canChange && v == nil {
  24747. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  24748. v = make(map[uint16]uint32, xlen)
  24749. changed = true
  24750. }
  24751. if containerLen == 0 {
  24752. if cr != nil {
  24753. cr.sendContainerState(containerMapEnd)
  24754. }
  24755. return v, changed
  24756. }
  24757. var mk uint16
  24758. var mv uint32
  24759. hasLen := containerLen > 0
  24760. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24761. if cr != nil {
  24762. cr.sendContainerState(containerMapKey)
  24763. }
  24764. mk = uint16(dd.DecodeUint(16))
  24765. if cr != nil {
  24766. cr.sendContainerState(containerMapValue)
  24767. }
  24768. mv = uint32(dd.DecodeUint(32))
  24769. if v != nil {
  24770. v[mk] = mv
  24771. }
  24772. }
  24773. if cr != nil {
  24774. cr.sendContainerState(containerMapEnd)
  24775. }
  24776. return v, changed
  24777. }
  24778. func (f *decFnInfo) fastpathDecMapUint16Uint64R(rv reflect.Value) {
  24779. if rv.CanAddr() {
  24780. vp := rv2i(rv.Addr()).(*map[uint16]uint64)
  24781. v, changed := fastpathTV.DecMapUint16Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  24782. if changed {
  24783. *vp = v
  24784. }
  24785. } else {
  24786. v := rv2i(rv).(map[uint16]uint64)
  24787. fastpathTV.DecMapUint16Uint64V(v, fastpathCheckNilFalse, false, f.d)
  24788. }
  24789. }
  24790. func (f fastpathT) DecMapUint16Uint64X(vp *map[uint16]uint64, checkNil bool, d *Decoder) {
  24791. v, changed := f.DecMapUint16Uint64V(*vp, checkNil, true, d)
  24792. if changed {
  24793. *vp = v
  24794. }
  24795. }
  24796. func (_ fastpathT) DecMapUint16Uint64V(v map[uint16]uint64, checkNil bool, canChange bool,
  24797. d *Decoder) (_ map[uint16]uint64, changed bool) {
  24798. dd := d.d
  24799. cr := d.cr
  24800. if checkNil && dd.TryDecodeAsNil() {
  24801. if v != nil {
  24802. changed = true
  24803. }
  24804. return nil, changed
  24805. }
  24806. containerLen := dd.ReadMapStart()
  24807. if canChange && v == nil {
  24808. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  24809. v = make(map[uint16]uint64, xlen)
  24810. changed = true
  24811. }
  24812. if containerLen == 0 {
  24813. if cr != nil {
  24814. cr.sendContainerState(containerMapEnd)
  24815. }
  24816. return v, changed
  24817. }
  24818. var mk uint16
  24819. var mv uint64
  24820. hasLen := containerLen > 0
  24821. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24822. if cr != nil {
  24823. cr.sendContainerState(containerMapKey)
  24824. }
  24825. mk = uint16(dd.DecodeUint(16))
  24826. if cr != nil {
  24827. cr.sendContainerState(containerMapValue)
  24828. }
  24829. mv = dd.DecodeUint(64)
  24830. if v != nil {
  24831. v[mk] = mv
  24832. }
  24833. }
  24834. if cr != nil {
  24835. cr.sendContainerState(containerMapEnd)
  24836. }
  24837. return v, changed
  24838. }
  24839. func (f *decFnInfo) fastpathDecMapUint16UintptrR(rv reflect.Value) {
  24840. if rv.CanAddr() {
  24841. vp := rv2i(rv.Addr()).(*map[uint16]uintptr)
  24842. v, changed := fastpathTV.DecMapUint16UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  24843. if changed {
  24844. *vp = v
  24845. }
  24846. } else {
  24847. v := rv2i(rv).(map[uint16]uintptr)
  24848. fastpathTV.DecMapUint16UintptrV(v, fastpathCheckNilFalse, false, f.d)
  24849. }
  24850. }
  24851. func (f fastpathT) DecMapUint16UintptrX(vp *map[uint16]uintptr, checkNil bool, d *Decoder) {
  24852. v, changed := f.DecMapUint16UintptrV(*vp, checkNil, true, d)
  24853. if changed {
  24854. *vp = v
  24855. }
  24856. }
  24857. func (_ fastpathT) DecMapUint16UintptrV(v map[uint16]uintptr, checkNil bool, canChange bool,
  24858. d *Decoder) (_ map[uint16]uintptr, changed bool) {
  24859. dd := d.d
  24860. cr := d.cr
  24861. if checkNil && dd.TryDecodeAsNil() {
  24862. if v != nil {
  24863. changed = true
  24864. }
  24865. return nil, changed
  24866. }
  24867. containerLen := dd.ReadMapStart()
  24868. if canChange && v == nil {
  24869. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  24870. v = make(map[uint16]uintptr, xlen)
  24871. changed = true
  24872. }
  24873. if containerLen == 0 {
  24874. if cr != nil {
  24875. cr.sendContainerState(containerMapEnd)
  24876. }
  24877. return v, changed
  24878. }
  24879. var mk uint16
  24880. var mv uintptr
  24881. hasLen := containerLen > 0
  24882. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24883. if cr != nil {
  24884. cr.sendContainerState(containerMapKey)
  24885. }
  24886. mk = uint16(dd.DecodeUint(16))
  24887. if cr != nil {
  24888. cr.sendContainerState(containerMapValue)
  24889. }
  24890. mv = uintptr(dd.DecodeUint(uintBitsize))
  24891. if v != nil {
  24892. v[mk] = mv
  24893. }
  24894. }
  24895. if cr != nil {
  24896. cr.sendContainerState(containerMapEnd)
  24897. }
  24898. return v, changed
  24899. }
  24900. func (f *decFnInfo) fastpathDecMapUint16IntR(rv reflect.Value) {
  24901. if rv.CanAddr() {
  24902. vp := rv2i(rv.Addr()).(*map[uint16]int)
  24903. v, changed := fastpathTV.DecMapUint16IntV(*vp, fastpathCheckNilFalse, true, f.d)
  24904. if changed {
  24905. *vp = v
  24906. }
  24907. } else {
  24908. v := rv2i(rv).(map[uint16]int)
  24909. fastpathTV.DecMapUint16IntV(v, fastpathCheckNilFalse, false, f.d)
  24910. }
  24911. }
  24912. func (f fastpathT) DecMapUint16IntX(vp *map[uint16]int, checkNil bool, d *Decoder) {
  24913. v, changed := f.DecMapUint16IntV(*vp, checkNil, true, d)
  24914. if changed {
  24915. *vp = v
  24916. }
  24917. }
  24918. func (_ fastpathT) DecMapUint16IntV(v map[uint16]int, checkNil bool, canChange bool,
  24919. d *Decoder) (_ map[uint16]int, changed bool) {
  24920. dd := d.d
  24921. cr := d.cr
  24922. if checkNil && dd.TryDecodeAsNil() {
  24923. if v != nil {
  24924. changed = true
  24925. }
  24926. return nil, changed
  24927. }
  24928. containerLen := dd.ReadMapStart()
  24929. if canChange && v == nil {
  24930. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  24931. v = make(map[uint16]int, xlen)
  24932. changed = true
  24933. }
  24934. if containerLen == 0 {
  24935. if cr != nil {
  24936. cr.sendContainerState(containerMapEnd)
  24937. }
  24938. return v, changed
  24939. }
  24940. var mk uint16
  24941. var mv int
  24942. hasLen := containerLen > 0
  24943. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  24944. if cr != nil {
  24945. cr.sendContainerState(containerMapKey)
  24946. }
  24947. mk = uint16(dd.DecodeUint(16))
  24948. if cr != nil {
  24949. cr.sendContainerState(containerMapValue)
  24950. }
  24951. mv = int(dd.DecodeInt(intBitsize))
  24952. if v != nil {
  24953. v[mk] = mv
  24954. }
  24955. }
  24956. if cr != nil {
  24957. cr.sendContainerState(containerMapEnd)
  24958. }
  24959. return v, changed
  24960. }
  24961. func (f *decFnInfo) fastpathDecMapUint16Int8R(rv reflect.Value) {
  24962. if rv.CanAddr() {
  24963. vp := rv2i(rv.Addr()).(*map[uint16]int8)
  24964. v, changed := fastpathTV.DecMapUint16Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  24965. if changed {
  24966. *vp = v
  24967. }
  24968. } else {
  24969. v := rv2i(rv).(map[uint16]int8)
  24970. fastpathTV.DecMapUint16Int8V(v, fastpathCheckNilFalse, false, f.d)
  24971. }
  24972. }
  24973. func (f fastpathT) DecMapUint16Int8X(vp *map[uint16]int8, checkNil bool, d *Decoder) {
  24974. v, changed := f.DecMapUint16Int8V(*vp, checkNil, true, d)
  24975. if changed {
  24976. *vp = v
  24977. }
  24978. }
  24979. func (_ fastpathT) DecMapUint16Int8V(v map[uint16]int8, checkNil bool, canChange bool,
  24980. d *Decoder) (_ map[uint16]int8, changed bool) {
  24981. dd := d.d
  24982. cr := d.cr
  24983. if checkNil && dd.TryDecodeAsNil() {
  24984. if v != nil {
  24985. changed = true
  24986. }
  24987. return nil, changed
  24988. }
  24989. containerLen := dd.ReadMapStart()
  24990. if canChange && v == nil {
  24991. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  24992. v = make(map[uint16]int8, xlen)
  24993. changed = true
  24994. }
  24995. if containerLen == 0 {
  24996. if cr != nil {
  24997. cr.sendContainerState(containerMapEnd)
  24998. }
  24999. return v, changed
  25000. }
  25001. var mk uint16
  25002. var mv int8
  25003. hasLen := containerLen > 0
  25004. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25005. if cr != nil {
  25006. cr.sendContainerState(containerMapKey)
  25007. }
  25008. mk = uint16(dd.DecodeUint(16))
  25009. if cr != nil {
  25010. cr.sendContainerState(containerMapValue)
  25011. }
  25012. mv = int8(dd.DecodeInt(8))
  25013. if v != nil {
  25014. v[mk] = mv
  25015. }
  25016. }
  25017. if cr != nil {
  25018. cr.sendContainerState(containerMapEnd)
  25019. }
  25020. return v, changed
  25021. }
  25022. func (f *decFnInfo) fastpathDecMapUint16Int16R(rv reflect.Value) {
  25023. if rv.CanAddr() {
  25024. vp := rv2i(rv.Addr()).(*map[uint16]int16)
  25025. v, changed := fastpathTV.DecMapUint16Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  25026. if changed {
  25027. *vp = v
  25028. }
  25029. } else {
  25030. v := rv2i(rv).(map[uint16]int16)
  25031. fastpathTV.DecMapUint16Int16V(v, fastpathCheckNilFalse, false, f.d)
  25032. }
  25033. }
  25034. func (f fastpathT) DecMapUint16Int16X(vp *map[uint16]int16, checkNil bool, d *Decoder) {
  25035. v, changed := f.DecMapUint16Int16V(*vp, checkNil, true, d)
  25036. if changed {
  25037. *vp = v
  25038. }
  25039. }
  25040. func (_ fastpathT) DecMapUint16Int16V(v map[uint16]int16, checkNil bool, canChange bool,
  25041. d *Decoder) (_ map[uint16]int16, changed bool) {
  25042. dd := d.d
  25043. cr := d.cr
  25044. if checkNil && dd.TryDecodeAsNil() {
  25045. if v != nil {
  25046. changed = true
  25047. }
  25048. return nil, changed
  25049. }
  25050. containerLen := dd.ReadMapStart()
  25051. if canChange && v == nil {
  25052. xlen := decInferLen(containerLen, d.h.MaxInitLen, 4)
  25053. v = make(map[uint16]int16, xlen)
  25054. changed = true
  25055. }
  25056. if containerLen == 0 {
  25057. if cr != nil {
  25058. cr.sendContainerState(containerMapEnd)
  25059. }
  25060. return v, changed
  25061. }
  25062. var mk uint16
  25063. var mv int16
  25064. hasLen := containerLen > 0
  25065. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25066. if cr != nil {
  25067. cr.sendContainerState(containerMapKey)
  25068. }
  25069. mk = uint16(dd.DecodeUint(16))
  25070. if cr != nil {
  25071. cr.sendContainerState(containerMapValue)
  25072. }
  25073. mv = int16(dd.DecodeInt(16))
  25074. if v != nil {
  25075. v[mk] = mv
  25076. }
  25077. }
  25078. if cr != nil {
  25079. cr.sendContainerState(containerMapEnd)
  25080. }
  25081. return v, changed
  25082. }
  25083. func (f *decFnInfo) fastpathDecMapUint16Int32R(rv reflect.Value) {
  25084. if rv.CanAddr() {
  25085. vp := rv2i(rv.Addr()).(*map[uint16]int32)
  25086. v, changed := fastpathTV.DecMapUint16Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  25087. if changed {
  25088. *vp = v
  25089. }
  25090. } else {
  25091. v := rv2i(rv).(map[uint16]int32)
  25092. fastpathTV.DecMapUint16Int32V(v, fastpathCheckNilFalse, false, f.d)
  25093. }
  25094. }
  25095. func (f fastpathT) DecMapUint16Int32X(vp *map[uint16]int32, checkNil bool, d *Decoder) {
  25096. v, changed := f.DecMapUint16Int32V(*vp, checkNil, true, d)
  25097. if changed {
  25098. *vp = v
  25099. }
  25100. }
  25101. func (_ fastpathT) DecMapUint16Int32V(v map[uint16]int32, checkNil bool, canChange bool,
  25102. d *Decoder) (_ map[uint16]int32, changed bool) {
  25103. dd := d.d
  25104. cr := d.cr
  25105. if checkNil && dd.TryDecodeAsNil() {
  25106. if v != nil {
  25107. changed = true
  25108. }
  25109. return nil, changed
  25110. }
  25111. containerLen := dd.ReadMapStart()
  25112. if canChange && v == nil {
  25113. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  25114. v = make(map[uint16]int32, xlen)
  25115. changed = true
  25116. }
  25117. if containerLen == 0 {
  25118. if cr != nil {
  25119. cr.sendContainerState(containerMapEnd)
  25120. }
  25121. return v, changed
  25122. }
  25123. var mk uint16
  25124. var mv int32
  25125. hasLen := containerLen > 0
  25126. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25127. if cr != nil {
  25128. cr.sendContainerState(containerMapKey)
  25129. }
  25130. mk = uint16(dd.DecodeUint(16))
  25131. if cr != nil {
  25132. cr.sendContainerState(containerMapValue)
  25133. }
  25134. mv = int32(dd.DecodeInt(32))
  25135. if v != nil {
  25136. v[mk] = mv
  25137. }
  25138. }
  25139. if cr != nil {
  25140. cr.sendContainerState(containerMapEnd)
  25141. }
  25142. return v, changed
  25143. }
  25144. func (f *decFnInfo) fastpathDecMapUint16Int64R(rv reflect.Value) {
  25145. if rv.CanAddr() {
  25146. vp := rv2i(rv.Addr()).(*map[uint16]int64)
  25147. v, changed := fastpathTV.DecMapUint16Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  25148. if changed {
  25149. *vp = v
  25150. }
  25151. } else {
  25152. v := rv2i(rv).(map[uint16]int64)
  25153. fastpathTV.DecMapUint16Int64V(v, fastpathCheckNilFalse, false, f.d)
  25154. }
  25155. }
  25156. func (f fastpathT) DecMapUint16Int64X(vp *map[uint16]int64, checkNil bool, d *Decoder) {
  25157. v, changed := f.DecMapUint16Int64V(*vp, checkNil, true, d)
  25158. if changed {
  25159. *vp = v
  25160. }
  25161. }
  25162. func (_ fastpathT) DecMapUint16Int64V(v map[uint16]int64, checkNil bool, canChange bool,
  25163. d *Decoder) (_ map[uint16]int64, changed bool) {
  25164. dd := d.d
  25165. cr := d.cr
  25166. if checkNil && dd.TryDecodeAsNil() {
  25167. if v != nil {
  25168. changed = true
  25169. }
  25170. return nil, changed
  25171. }
  25172. containerLen := dd.ReadMapStart()
  25173. if canChange && v == nil {
  25174. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  25175. v = make(map[uint16]int64, xlen)
  25176. changed = true
  25177. }
  25178. if containerLen == 0 {
  25179. if cr != nil {
  25180. cr.sendContainerState(containerMapEnd)
  25181. }
  25182. return v, changed
  25183. }
  25184. var mk uint16
  25185. var mv int64
  25186. hasLen := containerLen > 0
  25187. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25188. if cr != nil {
  25189. cr.sendContainerState(containerMapKey)
  25190. }
  25191. mk = uint16(dd.DecodeUint(16))
  25192. if cr != nil {
  25193. cr.sendContainerState(containerMapValue)
  25194. }
  25195. mv = dd.DecodeInt(64)
  25196. if v != nil {
  25197. v[mk] = mv
  25198. }
  25199. }
  25200. if cr != nil {
  25201. cr.sendContainerState(containerMapEnd)
  25202. }
  25203. return v, changed
  25204. }
  25205. func (f *decFnInfo) fastpathDecMapUint16Float32R(rv reflect.Value) {
  25206. if rv.CanAddr() {
  25207. vp := rv2i(rv.Addr()).(*map[uint16]float32)
  25208. v, changed := fastpathTV.DecMapUint16Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  25209. if changed {
  25210. *vp = v
  25211. }
  25212. } else {
  25213. v := rv2i(rv).(map[uint16]float32)
  25214. fastpathTV.DecMapUint16Float32V(v, fastpathCheckNilFalse, false, f.d)
  25215. }
  25216. }
  25217. func (f fastpathT) DecMapUint16Float32X(vp *map[uint16]float32, checkNil bool, d *Decoder) {
  25218. v, changed := f.DecMapUint16Float32V(*vp, checkNil, true, d)
  25219. if changed {
  25220. *vp = v
  25221. }
  25222. }
  25223. func (_ fastpathT) DecMapUint16Float32V(v map[uint16]float32, checkNil bool, canChange bool,
  25224. d *Decoder) (_ map[uint16]float32, changed bool) {
  25225. dd := d.d
  25226. cr := d.cr
  25227. if checkNil && dd.TryDecodeAsNil() {
  25228. if v != nil {
  25229. changed = true
  25230. }
  25231. return nil, changed
  25232. }
  25233. containerLen := dd.ReadMapStart()
  25234. if canChange && v == nil {
  25235. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  25236. v = make(map[uint16]float32, xlen)
  25237. changed = true
  25238. }
  25239. if containerLen == 0 {
  25240. if cr != nil {
  25241. cr.sendContainerState(containerMapEnd)
  25242. }
  25243. return v, changed
  25244. }
  25245. var mk uint16
  25246. var mv float32
  25247. hasLen := containerLen > 0
  25248. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25249. if cr != nil {
  25250. cr.sendContainerState(containerMapKey)
  25251. }
  25252. mk = uint16(dd.DecodeUint(16))
  25253. if cr != nil {
  25254. cr.sendContainerState(containerMapValue)
  25255. }
  25256. mv = float32(dd.DecodeFloat(true))
  25257. if v != nil {
  25258. v[mk] = mv
  25259. }
  25260. }
  25261. if cr != nil {
  25262. cr.sendContainerState(containerMapEnd)
  25263. }
  25264. return v, changed
  25265. }
  25266. func (f *decFnInfo) fastpathDecMapUint16Float64R(rv reflect.Value) {
  25267. if rv.CanAddr() {
  25268. vp := rv2i(rv.Addr()).(*map[uint16]float64)
  25269. v, changed := fastpathTV.DecMapUint16Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  25270. if changed {
  25271. *vp = v
  25272. }
  25273. } else {
  25274. v := rv2i(rv).(map[uint16]float64)
  25275. fastpathTV.DecMapUint16Float64V(v, fastpathCheckNilFalse, false, f.d)
  25276. }
  25277. }
  25278. func (f fastpathT) DecMapUint16Float64X(vp *map[uint16]float64, checkNil bool, d *Decoder) {
  25279. v, changed := f.DecMapUint16Float64V(*vp, checkNil, true, d)
  25280. if changed {
  25281. *vp = v
  25282. }
  25283. }
  25284. func (_ fastpathT) DecMapUint16Float64V(v map[uint16]float64, checkNil bool, canChange bool,
  25285. d *Decoder) (_ map[uint16]float64, changed bool) {
  25286. dd := d.d
  25287. cr := d.cr
  25288. if checkNil && dd.TryDecodeAsNil() {
  25289. if v != nil {
  25290. changed = true
  25291. }
  25292. return nil, changed
  25293. }
  25294. containerLen := dd.ReadMapStart()
  25295. if canChange && v == nil {
  25296. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  25297. v = make(map[uint16]float64, xlen)
  25298. changed = true
  25299. }
  25300. if containerLen == 0 {
  25301. if cr != nil {
  25302. cr.sendContainerState(containerMapEnd)
  25303. }
  25304. return v, changed
  25305. }
  25306. var mk uint16
  25307. var mv float64
  25308. hasLen := containerLen > 0
  25309. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25310. if cr != nil {
  25311. cr.sendContainerState(containerMapKey)
  25312. }
  25313. mk = uint16(dd.DecodeUint(16))
  25314. if cr != nil {
  25315. cr.sendContainerState(containerMapValue)
  25316. }
  25317. mv = dd.DecodeFloat(false)
  25318. if v != nil {
  25319. v[mk] = mv
  25320. }
  25321. }
  25322. if cr != nil {
  25323. cr.sendContainerState(containerMapEnd)
  25324. }
  25325. return v, changed
  25326. }
  25327. func (f *decFnInfo) fastpathDecMapUint16BoolR(rv reflect.Value) {
  25328. if rv.CanAddr() {
  25329. vp := rv2i(rv.Addr()).(*map[uint16]bool)
  25330. v, changed := fastpathTV.DecMapUint16BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  25331. if changed {
  25332. *vp = v
  25333. }
  25334. } else {
  25335. v := rv2i(rv).(map[uint16]bool)
  25336. fastpathTV.DecMapUint16BoolV(v, fastpathCheckNilFalse, false, f.d)
  25337. }
  25338. }
  25339. func (f fastpathT) DecMapUint16BoolX(vp *map[uint16]bool, checkNil bool, d *Decoder) {
  25340. v, changed := f.DecMapUint16BoolV(*vp, checkNil, true, d)
  25341. if changed {
  25342. *vp = v
  25343. }
  25344. }
  25345. func (_ fastpathT) DecMapUint16BoolV(v map[uint16]bool, checkNil bool, canChange bool,
  25346. d *Decoder) (_ map[uint16]bool, changed bool) {
  25347. dd := d.d
  25348. cr := d.cr
  25349. if checkNil && dd.TryDecodeAsNil() {
  25350. if v != nil {
  25351. changed = true
  25352. }
  25353. return nil, changed
  25354. }
  25355. containerLen := dd.ReadMapStart()
  25356. if canChange && v == nil {
  25357. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  25358. v = make(map[uint16]bool, xlen)
  25359. changed = true
  25360. }
  25361. if containerLen == 0 {
  25362. if cr != nil {
  25363. cr.sendContainerState(containerMapEnd)
  25364. }
  25365. return v, changed
  25366. }
  25367. var mk uint16
  25368. var mv bool
  25369. hasLen := containerLen > 0
  25370. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25371. if cr != nil {
  25372. cr.sendContainerState(containerMapKey)
  25373. }
  25374. mk = uint16(dd.DecodeUint(16))
  25375. if cr != nil {
  25376. cr.sendContainerState(containerMapValue)
  25377. }
  25378. mv = dd.DecodeBool()
  25379. if v != nil {
  25380. v[mk] = mv
  25381. }
  25382. }
  25383. if cr != nil {
  25384. cr.sendContainerState(containerMapEnd)
  25385. }
  25386. return v, changed
  25387. }
  25388. func (f *decFnInfo) fastpathDecMapUint32IntfR(rv reflect.Value) {
  25389. if rv.CanAddr() {
  25390. vp := rv2i(rv.Addr()).(*map[uint32]interface{})
  25391. v, changed := fastpathTV.DecMapUint32IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  25392. if changed {
  25393. *vp = v
  25394. }
  25395. } else {
  25396. v := rv2i(rv).(map[uint32]interface{})
  25397. fastpathTV.DecMapUint32IntfV(v, fastpathCheckNilFalse, false, f.d)
  25398. }
  25399. }
  25400. func (f fastpathT) DecMapUint32IntfX(vp *map[uint32]interface{}, checkNil bool, d *Decoder) {
  25401. v, changed := f.DecMapUint32IntfV(*vp, checkNil, true, d)
  25402. if changed {
  25403. *vp = v
  25404. }
  25405. }
  25406. func (_ fastpathT) DecMapUint32IntfV(v map[uint32]interface{}, checkNil bool, canChange bool,
  25407. d *Decoder) (_ map[uint32]interface{}, changed bool) {
  25408. dd := d.d
  25409. cr := d.cr
  25410. if checkNil && dd.TryDecodeAsNil() {
  25411. if v != nil {
  25412. changed = true
  25413. }
  25414. return nil, changed
  25415. }
  25416. containerLen := dd.ReadMapStart()
  25417. if canChange && v == nil {
  25418. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  25419. v = make(map[uint32]interface{}, xlen)
  25420. changed = true
  25421. }
  25422. if containerLen == 0 {
  25423. if cr != nil {
  25424. cr.sendContainerState(containerMapEnd)
  25425. }
  25426. return v, changed
  25427. }
  25428. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  25429. var mk uint32
  25430. var mv interface{}
  25431. hasLen := containerLen > 0
  25432. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25433. if cr != nil {
  25434. cr.sendContainerState(containerMapKey)
  25435. }
  25436. mk = uint32(dd.DecodeUint(32))
  25437. if cr != nil {
  25438. cr.sendContainerState(containerMapValue)
  25439. }
  25440. if mapGet {
  25441. mv = v[mk]
  25442. } else {
  25443. mv = nil
  25444. }
  25445. d.decode(&mv)
  25446. if v != nil {
  25447. v[mk] = mv
  25448. }
  25449. }
  25450. if cr != nil {
  25451. cr.sendContainerState(containerMapEnd)
  25452. }
  25453. return v, changed
  25454. }
  25455. func (f *decFnInfo) fastpathDecMapUint32StringR(rv reflect.Value) {
  25456. if rv.CanAddr() {
  25457. vp := rv2i(rv.Addr()).(*map[uint32]string)
  25458. v, changed := fastpathTV.DecMapUint32StringV(*vp, fastpathCheckNilFalse, true, f.d)
  25459. if changed {
  25460. *vp = v
  25461. }
  25462. } else {
  25463. v := rv2i(rv).(map[uint32]string)
  25464. fastpathTV.DecMapUint32StringV(v, fastpathCheckNilFalse, false, f.d)
  25465. }
  25466. }
  25467. func (f fastpathT) DecMapUint32StringX(vp *map[uint32]string, checkNil bool, d *Decoder) {
  25468. v, changed := f.DecMapUint32StringV(*vp, checkNil, true, d)
  25469. if changed {
  25470. *vp = v
  25471. }
  25472. }
  25473. func (_ fastpathT) DecMapUint32StringV(v map[uint32]string, checkNil bool, canChange bool,
  25474. d *Decoder) (_ map[uint32]string, changed bool) {
  25475. dd := d.d
  25476. cr := d.cr
  25477. if checkNil && dd.TryDecodeAsNil() {
  25478. if v != nil {
  25479. changed = true
  25480. }
  25481. return nil, changed
  25482. }
  25483. containerLen := dd.ReadMapStart()
  25484. if canChange && v == nil {
  25485. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  25486. v = make(map[uint32]string, xlen)
  25487. changed = true
  25488. }
  25489. if containerLen == 0 {
  25490. if cr != nil {
  25491. cr.sendContainerState(containerMapEnd)
  25492. }
  25493. return v, changed
  25494. }
  25495. var mk uint32
  25496. var mv string
  25497. hasLen := containerLen > 0
  25498. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25499. if cr != nil {
  25500. cr.sendContainerState(containerMapKey)
  25501. }
  25502. mk = uint32(dd.DecodeUint(32))
  25503. if cr != nil {
  25504. cr.sendContainerState(containerMapValue)
  25505. }
  25506. mv = dd.DecodeString()
  25507. if v != nil {
  25508. v[mk] = mv
  25509. }
  25510. }
  25511. if cr != nil {
  25512. cr.sendContainerState(containerMapEnd)
  25513. }
  25514. return v, changed
  25515. }
  25516. func (f *decFnInfo) fastpathDecMapUint32UintR(rv reflect.Value) {
  25517. if rv.CanAddr() {
  25518. vp := rv2i(rv.Addr()).(*map[uint32]uint)
  25519. v, changed := fastpathTV.DecMapUint32UintV(*vp, fastpathCheckNilFalse, true, f.d)
  25520. if changed {
  25521. *vp = v
  25522. }
  25523. } else {
  25524. v := rv2i(rv).(map[uint32]uint)
  25525. fastpathTV.DecMapUint32UintV(v, fastpathCheckNilFalse, false, f.d)
  25526. }
  25527. }
  25528. func (f fastpathT) DecMapUint32UintX(vp *map[uint32]uint, checkNil bool, d *Decoder) {
  25529. v, changed := f.DecMapUint32UintV(*vp, checkNil, true, d)
  25530. if changed {
  25531. *vp = v
  25532. }
  25533. }
  25534. func (_ fastpathT) DecMapUint32UintV(v map[uint32]uint, checkNil bool, canChange bool,
  25535. d *Decoder) (_ map[uint32]uint, changed bool) {
  25536. dd := d.d
  25537. cr := d.cr
  25538. if checkNil && dd.TryDecodeAsNil() {
  25539. if v != nil {
  25540. changed = true
  25541. }
  25542. return nil, changed
  25543. }
  25544. containerLen := dd.ReadMapStart()
  25545. if canChange && v == nil {
  25546. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  25547. v = make(map[uint32]uint, xlen)
  25548. changed = true
  25549. }
  25550. if containerLen == 0 {
  25551. if cr != nil {
  25552. cr.sendContainerState(containerMapEnd)
  25553. }
  25554. return v, changed
  25555. }
  25556. var mk uint32
  25557. var mv uint
  25558. hasLen := containerLen > 0
  25559. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25560. if cr != nil {
  25561. cr.sendContainerState(containerMapKey)
  25562. }
  25563. mk = uint32(dd.DecodeUint(32))
  25564. if cr != nil {
  25565. cr.sendContainerState(containerMapValue)
  25566. }
  25567. mv = uint(dd.DecodeUint(uintBitsize))
  25568. if v != nil {
  25569. v[mk] = mv
  25570. }
  25571. }
  25572. if cr != nil {
  25573. cr.sendContainerState(containerMapEnd)
  25574. }
  25575. return v, changed
  25576. }
  25577. func (f *decFnInfo) fastpathDecMapUint32Uint8R(rv reflect.Value) {
  25578. if rv.CanAddr() {
  25579. vp := rv2i(rv.Addr()).(*map[uint32]uint8)
  25580. v, changed := fastpathTV.DecMapUint32Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  25581. if changed {
  25582. *vp = v
  25583. }
  25584. } else {
  25585. v := rv2i(rv).(map[uint32]uint8)
  25586. fastpathTV.DecMapUint32Uint8V(v, fastpathCheckNilFalse, false, f.d)
  25587. }
  25588. }
  25589. func (f fastpathT) DecMapUint32Uint8X(vp *map[uint32]uint8, checkNil bool, d *Decoder) {
  25590. v, changed := f.DecMapUint32Uint8V(*vp, checkNil, true, d)
  25591. if changed {
  25592. *vp = v
  25593. }
  25594. }
  25595. func (_ fastpathT) DecMapUint32Uint8V(v map[uint32]uint8, checkNil bool, canChange bool,
  25596. d *Decoder) (_ map[uint32]uint8, changed bool) {
  25597. dd := d.d
  25598. cr := d.cr
  25599. if checkNil && dd.TryDecodeAsNil() {
  25600. if v != nil {
  25601. changed = true
  25602. }
  25603. return nil, changed
  25604. }
  25605. containerLen := dd.ReadMapStart()
  25606. if canChange && v == nil {
  25607. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  25608. v = make(map[uint32]uint8, xlen)
  25609. changed = true
  25610. }
  25611. if containerLen == 0 {
  25612. if cr != nil {
  25613. cr.sendContainerState(containerMapEnd)
  25614. }
  25615. return v, changed
  25616. }
  25617. var mk uint32
  25618. var mv uint8
  25619. hasLen := containerLen > 0
  25620. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25621. if cr != nil {
  25622. cr.sendContainerState(containerMapKey)
  25623. }
  25624. mk = uint32(dd.DecodeUint(32))
  25625. if cr != nil {
  25626. cr.sendContainerState(containerMapValue)
  25627. }
  25628. mv = uint8(dd.DecodeUint(8))
  25629. if v != nil {
  25630. v[mk] = mv
  25631. }
  25632. }
  25633. if cr != nil {
  25634. cr.sendContainerState(containerMapEnd)
  25635. }
  25636. return v, changed
  25637. }
  25638. func (f *decFnInfo) fastpathDecMapUint32Uint16R(rv reflect.Value) {
  25639. if rv.CanAddr() {
  25640. vp := rv2i(rv.Addr()).(*map[uint32]uint16)
  25641. v, changed := fastpathTV.DecMapUint32Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  25642. if changed {
  25643. *vp = v
  25644. }
  25645. } else {
  25646. v := rv2i(rv).(map[uint32]uint16)
  25647. fastpathTV.DecMapUint32Uint16V(v, fastpathCheckNilFalse, false, f.d)
  25648. }
  25649. }
  25650. func (f fastpathT) DecMapUint32Uint16X(vp *map[uint32]uint16, checkNil bool, d *Decoder) {
  25651. v, changed := f.DecMapUint32Uint16V(*vp, checkNil, true, d)
  25652. if changed {
  25653. *vp = v
  25654. }
  25655. }
  25656. func (_ fastpathT) DecMapUint32Uint16V(v map[uint32]uint16, checkNil bool, canChange bool,
  25657. d *Decoder) (_ map[uint32]uint16, changed bool) {
  25658. dd := d.d
  25659. cr := d.cr
  25660. if checkNil && dd.TryDecodeAsNil() {
  25661. if v != nil {
  25662. changed = true
  25663. }
  25664. return nil, changed
  25665. }
  25666. containerLen := dd.ReadMapStart()
  25667. if canChange && v == nil {
  25668. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  25669. v = make(map[uint32]uint16, xlen)
  25670. changed = true
  25671. }
  25672. if containerLen == 0 {
  25673. if cr != nil {
  25674. cr.sendContainerState(containerMapEnd)
  25675. }
  25676. return v, changed
  25677. }
  25678. var mk uint32
  25679. var mv uint16
  25680. hasLen := containerLen > 0
  25681. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25682. if cr != nil {
  25683. cr.sendContainerState(containerMapKey)
  25684. }
  25685. mk = uint32(dd.DecodeUint(32))
  25686. if cr != nil {
  25687. cr.sendContainerState(containerMapValue)
  25688. }
  25689. mv = uint16(dd.DecodeUint(16))
  25690. if v != nil {
  25691. v[mk] = mv
  25692. }
  25693. }
  25694. if cr != nil {
  25695. cr.sendContainerState(containerMapEnd)
  25696. }
  25697. return v, changed
  25698. }
  25699. func (f *decFnInfo) fastpathDecMapUint32Uint32R(rv reflect.Value) {
  25700. if rv.CanAddr() {
  25701. vp := rv2i(rv.Addr()).(*map[uint32]uint32)
  25702. v, changed := fastpathTV.DecMapUint32Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  25703. if changed {
  25704. *vp = v
  25705. }
  25706. } else {
  25707. v := rv2i(rv).(map[uint32]uint32)
  25708. fastpathTV.DecMapUint32Uint32V(v, fastpathCheckNilFalse, false, f.d)
  25709. }
  25710. }
  25711. func (f fastpathT) DecMapUint32Uint32X(vp *map[uint32]uint32, checkNil bool, d *Decoder) {
  25712. v, changed := f.DecMapUint32Uint32V(*vp, checkNil, true, d)
  25713. if changed {
  25714. *vp = v
  25715. }
  25716. }
  25717. func (_ fastpathT) DecMapUint32Uint32V(v map[uint32]uint32, checkNil bool, canChange bool,
  25718. d *Decoder) (_ map[uint32]uint32, changed bool) {
  25719. dd := d.d
  25720. cr := d.cr
  25721. if checkNil && dd.TryDecodeAsNil() {
  25722. if v != nil {
  25723. changed = true
  25724. }
  25725. return nil, changed
  25726. }
  25727. containerLen := dd.ReadMapStart()
  25728. if canChange && v == nil {
  25729. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  25730. v = make(map[uint32]uint32, xlen)
  25731. changed = true
  25732. }
  25733. if containerLen == 0 {
  25734. if cr != nil {
  25735. cr.sendContainerState(containerMapEnd)
  25736. }
  25737. return v, changed
  25738. }
  25739. var mk uint32
  25740. var mv uint32
  25741. hasLen := containerLen > 0
  25742. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25743. if cr != nil {
  25744. cr.sendContainerState(containerMapKey)
  25745. }
  25746. mk = uint32(dd.DecodeUint(32))
  25747. if cr != nil {
  25748. cr.sendContainerState(containerMapValue)
  25749. }
  25750. mv = uint32(dd.DecodeUint(32))
  25751. if v != nil {
  25752. v[mk] = mv
  25753. }
  25754. }
  25755. if cr != nil {
  25756. cr.sendContainerState(containerMapEnd)
  25757. }
  25758. return v, changed
  25759. }
  25760. func (f *decFnInfo) fastpathDecMapUint32Uint64R(rv reflect.Value) {
  25761. if rv.CanAddr() {
  25762. vp := rv2i(rv.Addr()).(*map[uint32]uint64)
  25763. v, changed := fastpathTV.DecMapUint32Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  25764. if changed {
  25765. *vp = v
  25766. }
  25767. } else {
  25768. v := rv2i(rv).(map[uint32]uint64)
  25769. fastpathTV.DecMapUint32Uint64V(v, fastpathCheckNilFalse, false, f.d)
  25770. }
  25771. }
  25772. func (f fastpathT) DecMapUint32Uint64X(vp *map[uint32]uint64, checkNil bool, d *Decoder) {
  25773. v, changed := f.DecMapUint32Uint64V(*vp, checkNil, true, d)
  25774. if changed {
  25775. *vp = v
  25776. }
  25777. }
  25778. func (_ fastpathT) DecMapUint32Uint64V(v map[uint32]uint64, checkNil bool, canChange bool,
  25779. d *Decoder) (_ map[uint32]uint64, changed bool) {
  25780. dd := d.d
  25781. cr := d.cr
  25782. if checkNil && dd.TryDecodeAsNil() {
  25783. if v != nil {
  25784. changed = true
  25785. }
  25786. return nil, changed
  25787. }
  25788. containerLen := dd.ReadMapStart()
  25789. if canChange && v == nil {
  25790. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  25791. v = make(map[uint32]uint64, xlen)
  25792. changed = true
  25793. }
  25794. if containerLen == 0 {
  25795. if cr != nil {
  25796. cr.sendContainerState(containerMapEnd)
  25797. }
  25798. return v, changed
  25799. }
  25800. var mk uint32
  25801. var mv uint64
  25802. hasLen := containerLen > 0
  25803. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25804. if cr != nil {
  25805. cr.sendContainerState(containerMapKey)
  25806. }
  25807. mk = uint32(dd.DecodeUint(32))
  25808. if cr != nil {
  25809. cr.sendContainerState(containerMapValue)
  25810. }
  25811. mv = dd.DecodeUint(64)
  25812. if v != nil {
  25813. v[mk] = mv
  25814. }
  25815. }
  25816. if cr != nil {
  25817. cr.sendContainerState(containerMapEnd)
  25818. }
  25819. return v, changed
  25820. }
  25821. func (f *decFnInfo) fastpathDecMapUint32UintptrR(rv reflect.Value) {
  25822. if rv.CanAddr() {
  25823. vp := rv2i(rv.Addr()).(*map[uint32]uintptr)
  25824. v, changed := fastpathTV.DecMapUint32UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  25825. if changed {
  25826. *vp = v
  25827. }
  25828. } else {
  25829. v := rv2i(rv).(map[uint32]uintptr)
  25830. fastpathTV.DecMapUint32UintptrV(v, fastpathCheckNilFalse, false, f.d)
  25831. }
  25832. }
  25833. func (f fastpathT) DecMapUint32UintptrX(vp *map[uint32]uintptr, checkNil bool, d *Decoder) {
  25834. v, changed := f.DecMapUint32UintptrV(*vp, checkNil, true, d)
  25835. if changed {
  25836. *vp = v
  25837. }
  25838. }
  25839. func (_ fastpathT) DecMapUint32UintptrV(v map[uint32]uintptr, checkNil bool, canChange bool,
  25840. d *Decoder) (_ map[uint32]uintptr, changed bool) {
  25841. dd := d.d
  25842. cr := d.cr
  25843. if checkNil && dd.TryDecodeAsNil() {
  25844. if v != nil {
  25845. changed = true
  25846. }
  25847. return nil, changed
  25848. }
  25849. containerLen := dd.ReadMapStart()
  25850. if canChange && v == nil {
  25851. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  25852. v = make(map[uint32]uintptr, xlen)
  25853. changed = true
  25854. }
  25855. if containerLen == 0 {
  25856. if cr != nil {
  25857. cr.sendContainerState(containerMapEnd)
  25858. }
  25859. return v, changed
  25860. }
  25861. var mk uint32
  25862. var mv uintptr
  25863. hasLen := containerLen > 0
  25864. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25865. if cr != nil {
  25866. cr.sendContainerState(containerMapKey)
  25867. }
  25868. mk = uint32(dd.DecodeUint(32))
  25869. if cr != nil {
  25870. cr.sendContainerState(containerMapValue)
  25871. }
  25872. mv = uintptr(dd.DecodeUint(uintBitsize))
  25873. if v != nil {
  25874. v[mk] = mv
  25875. }
  25876. }
  25877. if cr != nil {
  25878. cr.sendContainerState(containerMapEnd)
  25879. }
  25880. return v, changed
  25881. }
  25882. func (f *decFnInfo) fastpathDecMapUint32IntR(rv reflect.Value) {
  25883. if rv.CanAddr() {
  25884. vp := rv2i(rv.Addr()).(*map[uint32]int)
  25885. v, changed := fastpathTV.DecMapUint32IntV(*vp, fastpathCheckNilFalse, true, f.d)
  25886. if changed {
  25887. *vp = v
  25888. }
  25889. } else {
  25890. v := rv2i(rv).(map[uint32]int)
  25891. fastpathTV.DecMapUint32IntV(v, fastpathCheckNilFalse, false, f.d)
  25892. }
  25893. }
  25894. func (f fastpathT) DecMapUint32IntX(vp *map[uint32]int, checkNil bool, d *Decoder) {
  25895. v, changed := f.DecMapUint32IntV(*vp, checkNil, true, d)
  25896. if changed {
  25897. *vp = v
  25898. }
  25899. }
  25900. func (_ fastpathT) DecMapUint32IntV(v map[uint32]int, checkNil bool, canChange bool,
  25901. d *Decoder) (_ map[uint32]int, changed bool) {
  25902. dd := d.d
  25903. cr := d.cr
  25904. if checkNil && dd.TryDecodeAsNil() {
  25905. if v != nil {
  25906. changed = true
  25907. }
  25908. return nil, changed
  25909. }
  25910. containerLen := dd.ReadMapStart()
  25911. if canChange && v == nil {
  25912. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  25913. v = make(map[uint32]int, xlen)
  25914. changed = true
  25915. }
  25916. if containerLen == 0 {
  25917. if cr != nil {
  25918. cr.sendContainerState(containerMapEnd)
  25919. }
  25920. return v, changed
  25921. }
  25922. var mk uint32
  25923. var mv int
  25924. hasLen := containerLen > 0
  25925. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25926. if cr != nil {
  25927. cr.sendContainerState(containerMapKey)
  25928. }
  25929. mk = uint32(dd.DecodeUint(32))
  25930. if cr != nil {
  25931. cr.sendContainerState(containerMapValue)
  25932. }
  25933. mv = int(dd.DecodeInt(intBitsize))
  25934. if v != nil {
  25935. v[mk] = mv
  25936. }
  25937. }
  25938. if cr != nil {
  25939. cr.sendContainerState(containerMapEnd)
  25940. }
  25941. return v, changed
  25942. }
  25943. func (f *decFnInfo) fastpathDecMapUint32Int8R(rv reflect.Value) {
  25944. if rv.CanAddr() {
  25945. vp := rv2i(rv.Addr()).(*map[uint32]int8)
  25946. v, changed := fastpathTV.DecMapUint32Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  25947. if changed {
  25948. *vp = v
  25949. }
  25950. } else {
  25951. v := rv2i(rv).(map[uint32]int8)
  25952. fastpathTV.DecMapUint32Int8V(v, fastpathCheckNilFalse, false, f.d)
  25953. }
  25954. }
  25955. func (f fastpathT) DecMapUint32Int8X(vp *map[uint32]int8, checkNil bool, d *Decoder) {
  25956. v, changed := f.DecMapUint32Int8V(*vp, checkNil, true, d)
  25957. if changed {
  25958. *vp = v
  25959. }
  25960. }
  25961. func (_ fastpathT) DecMapUint32Int8V(v map[uint32]int8, checkNil bool, canChange bool,
  25962. d *Decoder) (_ map[uint32]int8, changed bool) {
  25963. dd := d.d
  25964. cr := d.cr
  25965. if checkNil && dd.TryDecodeAsNil() {
  25966. if v != nil {
  25967. changed = true
  25968. }
  25969. return nil, changed
  25970. }
  25971. containerLen := dd.ReadMapStart()
  25972. if canChange && v == nil {
  25973. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  25974. v = make(map[uint32]int8, xlen)
  25975. changed = true
  25976. }
  25977. if containerLen == 0 {
  25978. if cr != nil {
  25979. cr.sendContainerState(containerMapEnd)
  25980. }
  25981. return v, changed
  25982. }
  25983. var mk uint32
  25984. var mv int8
  25985. hasLen := containerLen > 0
  25986. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  25987. if cr != nil {
  25988. cr.sendContainerState(containerMapKey)
  25989. }
  25990. mk = uint32(dd.DecodeUint(32))
  25991. if cr != nil {
  25992. cr.sendContainerState(containerMapValue)
  25993. }
  25994. mv = int8(dd.DecodeInt(8))
  25995. if v != nil {
  25996. v[mk] = mv
  25997. }
  25998. }
  25999. if cr != nil {
  26000. cr.sendContainerState(containerMapEnd)
  26001. }
  26002. return v, changed
  26003. }
  26004. func (f *decFnInfo) fastpathDecMapUint32Int16R(rv reflect.Value) {
  26005. if rv.CanAddr() {
  26006. vp := rv2i(rv.Addr()).(*map[uint32]int16)
  26007. v, changed := fastpathTV.DecMapUint32Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  26008. if changed {
  26009. *vp = v
  26010. }
  26011. } else {
  26012. v := rv2i(rv).(map[uint32]int16)
  26013. fastpathTV.DecMapUint32Int16V(v, fastpathCheckNilFalse, false, f.d)
  26014. }
  26015. }
  26016. func (f fastpathT) DecMapUint32Int16X(vp *map[uint32]int16, checkNil bool, d *Decoder) {
  26017. v, changed := f.DecMapUint32Int16V(*vp, checkNil, true, d)
  26018. if changed {
  26019. *vp = v
  26020. }
  26021. }
  26022. func (_ fastpathT) DecMapUint32Int16V(v map[uint32]int16, checkNil bool, canChange bool,
  26023. d *Decoder) (_ map[uint32]int16, changed bool) {
  26024. dd := d.d
  26025. cr := d.cr
  26026. if checkNil && dd.TryDecodeAsNil() {
  26027. if v != nil {
  26028. changed = true
  26029. }
  26030. return nil, changed
  26031. }
  26032. containerLen := dd.ReadMapStart()
  26033. if canChange && v == nil {
  26034. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  26035. v = make(map[uint32]int16, xlen)
  26036. changed = true
  26037. }
  26038. if containerLen == 0 {
  26039. if cr != nil {
  26040. cr.sendContainerState(containerMapEnd)
  26041. }
  26042. return v, changed
  26043. }
  26044. var mk uint32
  26045. var mv int16
  26046. hasLen := containerLen > 0
  26047. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26048. if cr != nil {
  26049. cr.sendContainerState(containerMapKey)
  26050. }
  26051. mk = uint32(dd.DecodeUint(32))
  26052. if cr != nil {
  26053. cr.sendContainerState(containerMapValue)
  26054. }
  26055. mv = int16(dd.DecodeInt(16))
  26056. if v != nil {
  26057. v[mk] = mv
  26058. }
  26059. }
  26060. if cr != nil {
  26061. cr.sendContainerState(containerMapEnd)
  26062. }
  26063. return v, changed
  26064. }
  26065. func (f *decFnInfo) fastpathDecMapUint32Int32R(rv reflect.Value) {
  26066. if rv.CanAddr() {
  26067. vp := rv2i(rv.Addr()).(*map[uint32]int32)
  26068. v, changed := fastpathTV.DecMapUint32Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  26069. if changed {
  26070. *vp = v
  26071. }
  26072. } else {
  26073. v := rv2i(rv).(map[uint32]int32)
  26074. fastpathTV.DecMapUint32Int32V(v, fastpathCheckNilFalse, false, f.d)
  26075. }
  26076. }
  26077. func (f fastpathT) DecMapUint32Int32X(vp *map[uint32]int32, checkNil bool, d *Decoder) {
  26078. v, changed := f.DecMapUint32Int32V(*vp, checkNil, true, d)
  26079. if changed {
  26080. *vp = v
  26081. }
  26082. }
  26083. func (_ fastpathT) DecMapUint32Int32V(v map[uint32]int32, checkNil bool, canChange bool,
  26084. d *Decoder) (_ map[uint32]int32, changed bool) {
  26085. dd := d.d
  26086. cr := d.cr
  26087. if checkNil && dd.TryDecodeAsNil() {
  26088. if v != nil {
  26089. changed = true
  26090. }
  26091. return nil, changed
  26092. }
  26093. containerLen := dd.ReadMapStart()
  26094. if canChange && v == nil {
  26095. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  26096. v = make(map[uint32]int32, xlen)
  26097. changed = true
  26098. }
  26099. if containerLen == 0 {
  26100. if cr != nil {
  26101. cr.sendContainerState(containerMapEnd)
  26102. }
  26103. return v, changed
  26104. }
  26105. var mk uint32
  26106. var mv int32
  26107. hasLen := containerLen > 0
  26108. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26109. if cr != nil {
  26110. cr.sendContainerState(containerMapKey)
  26111. }
  26112. mk = uint32(dd.DecodeUint(32))
  26113. if cr != nil {
  26114. cr.sendContainerState(containerMapValue)
  26115. }
  26116. mv = int32(dd.DecodeInt(32))
  26117. if v != nil {
  26118. v[mk] = mv
  26119. }
  26120. }
  26121. if cr != nil {
  26122. cr.sendContainerState(containerMapEnd)
  26123. }
  26124. return v, changed
  26125. }
  26126. func (f *decFnInfo) fastpathDecMapUint32Int64R(rv reflect.Value) {
  26127. if rv.CanAddr() {
  26128. vp := rv2i(rv.Addr()).(*map[uint32]int64)
  26129. v, changed := fastpathTV.DecMapUint32Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  26130. if changed {
  26131. *vp = v
  26132. }
  26133. } else {
  26134. v := rv2i(rv).(map[uint32]int64)
  26135. fastpathTV.DecMapUint32Int64V(v, fastpathCheckNilFalse, false, f.d)
  26136. }
  26137. }
  26138. func (f fastpathT) DecMapUint32Int64X(vp *map[uint32]int64, checkNil bool, d *Decoder) {
  26139. v, changed := f.DecMapUint32Int64V(*vp, checkNil, true, d)
  26140. if changed {
  26141. *vp = v
  26142. }
  26143. }
  26144. func (_ fastpathT) DecMapUint32Int64V(v map[uint32]int64, checkNil bool, canChange bool,
  26145. d *Decoder) (_ map[uint32]int64, changed bool) {
  26146. dd := d.d
  26147. cr := d.cr
  26148. if checkNil && dd.TryDecodeAsNil() {
  26149. if v != nil {
  26150. changed = true
  26151. }
  26152. return nil, changed
  26153. }
  26154. containerLen := dd.ReadMapStart()
  26155. if canChange && v == nil {
  26156. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  26157. v = make(map[uint32]int64, xlen)
  26158. changed = true
  26159. }
  26160. if containerLen == 0 {
  26161. if cr != nil {
  26162. cr.sendContainerState(containerMapEnd)
  26163. }
  26164. return v, changed
  26165. }
  26166. var mk uint32
  26167. var mv int64
  26168. hasLen := containerLen > 0
  26169. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26170. if cr != nil {
  26171. cr.sendContainerState(containerMapKey)
  26172. }
  26173. mk = uint32(dd.DecodeUint(32))
  26174. if cr != nil {
  26175. cr.sendContainerState(containerMapValue)
  26176. }
  26177. mv = dd.DecodeInt(64)
  26178. if v != nil {
  26179. v[mk] = mv
  26180. }
  26181. }
  26182. if cr != nil {
  26183. cr.sendContainerState(containerMapEnd)
  26184. }
  26185. return v, changed
  26186. }
  26187. func (f *decFnInfo) fastpathDecMapUint32Float32R(rv reflect.Value) {
  26188. if rv.CanAddr() {
  26189. vp := rv2i(rv.Addr()).(*map[uint32]float32)
  26190. v, changed := fastpathTV.DecMapUint32Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  26191. if changed {
  26192. *vp = v
  26193. }
  26194. } else {
  26195. v := rv2i(rv).(map[uint32]float32)
  26196. fastpathTV.DecMapUint32Float32V(v, fastpathCheckNilFalse, false, f.d)
  26197. }
  26198. }
  26199. func (f fastpathT) DecMapUint32Float32X(vp *map[uint32]float32, checkNil bool, d *Decoder) {
  26200. v, changed := f.DecMapUint32Float32V(*vp, checkNil, true, d)
  26201. if changed {
  26202. *vp = v
  26203. }
  26204. }
  26205. func (_ fastpathT) DecMapUint32Float32V(v map[uint32]float32, checkNil bool, canChange bool,
  26206. d *Decoder) (_ map[uint32]float32, changed bool) {
  26207. dd := d.d
  26208. cr := d.cr
  26209. if checkNil && dd.TryDecodeAsNil() {
  26210. if v != nil {
  26211. changed = true
  26212. }
  26213. return nil, changed
  26214. }
  26215. containerLen := dd.ReadMapStart()
  26216. if canChange && v == nil {
  26217. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  26218. v = make(map[uint32]float32, xlen)
  26219. changed = true
  26220. }
  26221. if containerLen == 0 {
  26222. if cr != nil {
  26223. cr.sendContainerState(containerMapEnd)
  26224. }
  26225. return v, changed
  26226. }
  26227. var mk uint32
  26228. var mv float32
  26229. hasLen := containerLen > 0
  26230. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26231. if cr != nil {
  26232. cr.sendContainerState(containerMapKey)
  26233. }
  26234. mk = uint32(dd.DecodeUint(32))
  26235. if cr != nil {
  26236. cr.sendContainerState(containerMapValue)
  26237. }
  26238. mv = float32(dd.DecodeFloat(true))
  26239. if v != nil {
  26240. v[mk] = mv
  26241. }
  26242. }
  26243. if cr != nil {
  26244. cr.sendContainerState(containerMapEnd)
  26245. }
  26246. return v, changed
  26247. }
  26248. func (f *decFnInfo) fastpathDecMapUint32Float64R(rv reflect.Value) {
  26249. if rv.CanAddr() {
  26250. vp := rv2i(rv.Addr()).(*map[uint32]float64)
  26251. v, changed := fastpathTV.DecMapUint32Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  26252. if changed {
  26253. *vp = v
  26254. }
  26255. } else {
  26256. v := rv2i(rv).(map[uint32]float64)
  26257. fastpathTV.DecMapUint32Float64V(v, fastpathCheckNilFalse, false, f.d)
  26258. }
  26259. }
  26260. func (f fastpathT) DecMapUint32Float64X(vp *map[uint32]float64, checkNil bool, d *Decoder) {
  26261. v, changed := f.DecMapUint32Float64V(*vp, checkNil, true, d)
  26262. if changed {
  26263. *vp = v
  26264. }
  26265. }
  26266. func (_ fastpathT) DecMapUint32Float64V(v map[uint32]float64, checkNil bool, canChange bool,
  26267. d *Decoder) (_ map[uint32]float64, changed bool) {
  26268. dd := d.d
  26269. cr := d.cr
  26270. if checkNil && dd.TryDecodeAsNil() {
  26271. if v != nil {
  26272. changed = true
  26273. }
  26274. return nil, changed
  26275. }
  26276. containerLen := dd.ReadMapStart()
  26277. if canChange && v == nil {
  26278. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  26279. v = make(map[uint32]float64, xlen)
  26280. changed = true
  26281. }
  26282. if containerLen == 0 {
  26283. if cr != nil {
  26284. cr.sendContainerState(containerMapEnd)
  26285. }
  26286. return v, changed
  26287. }
  26288. var mk uint32
  26289. var mv float64
  26290. hasLen := containerLen > 0
  26291. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26292. if cr != nil {
  26293. cr.sendContainerState(containerMapKey)
  26294. }
  26295. mk = uint32(dd.DecodeUint(32))
  26296. if cr != nil {
  26297. cr.sendContainerState(containerMapValue)
  26298. }
  26299. mv = dd.DecodeFloat(false)
  26300. if v != nil {
  26301. v[mk] = mv
  26302. }
  26303. }
  26304. if cr != nil {
  26305. cr.sendContainerState(containerMapEnd)
  26306. }
  26307. return v, changed
  26308. }
  26309. func (f *decFnInfo) fastpathDecMapUint32BoolR(rv reflect.Value) {
  26310. if rv.CanAddr() {
  26311. vp := rv2i(rv.Addr()).(*map[uint32]bool)
  26312. v, changed := fastpathTV.DecMapUint32BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  26313. if changed {
  26314. *vp = v
  26315. }
  26316. } else {
  26317. v := rv2i(rv).(map[uint32]bool)
  26318. fastpathTV.DecMapUint32BoolV(v, fastpathCheckNilFalse, false, f.d)
  26319. }
  26320. }
  26321. func (f fastpathT) DecMapUint32BoolX(vp *map[uint32]bool, checkNil bool, d *Decoder) {
  26322. v, changed := f.DecMapUint32BoolV(*vp, checkNil, true, d)
  26323. if changed {
  26324. *vp = v
  26325. }
  26326. }
  26327. func (_ fastpathT) DecMapUint32BoolV(v map[uint32]bool, checkNil bool, canChange bool,
  26328. d *Decoder) (_ map[uint32]bool, changed bool) {
  26329. dd := d.d
  26330. cr := d.cr
  26331. if checkNil && dd.TryDecodeAsNil() {
  26332. if v != nil {
  26333. changed = true
  26334. }
  26335. return nil, changed
  26336. }
  26337. containerLen := dd.ReadMapStart()
  26338. if canChange && v == nil {
  26339. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  26340. v = make(map[uint32]bool, xlen)
  26341. changed = true
  26342. }
  26343. if containerLen == 0 {
  26344. if cr != nil {
  26345. cr.sendContainerState(containerMapEnd)
  26346. }
  26347. return v, changed
  26348. }
  26349. var mk uint32
  26350. var mv bool
  26351. hasLen := containerLen > 0
  26352. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26353. if cr != nil {
  26354. cr.sendContainerState(containerMapKey)
  26355. }
  26356. mk = uint32(dd.DecodeUint(32))
  26357. if cr != nil {
  26358. cr.sendContainerState(containerMapValue)
  26359. }
  26360. mv = dd.DecodeBool()
  26361. if v != nil {
  26362. v[mk] = mv
  26363. }
  26364. }
  26365. if cr != nil {
  26366. cr.sendContainerState(containerMapEnd)
  26367. }
  26368. return v, changed
  26369. }
  26370. func (f *decFnInfo) fastpathDecMapUint64IntfR(rv reflect.Value) {
  26371. if rv.CanAddr() {
  26372. vp := rv2i(rv.Addr()).(*map[uint64]interface{})
  26373. v, changed := fastpathTV.DecMapUint64IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  26374. if changed {
  26375. *vp = v
  26376. }
  26377. } else {
  26378. v := rv2i(rv).(map[uint64]interface{})
  26379. fastpathTV.DecMapUint64IntfV(v, fastpathCheckNilFalse, false, f.d)
  26380. }
  26381. }
  26382. func (f fastpathT) DecMapUint64IntfX(vp *map[uint64]interface{}, checkNil bool, d *Decoder) {
  26383. v, changed := f.DecMapUint64IntfV(*vp, checkNil, true, d)
  26384. if changed {
  26385. *vp = v
  26386. }
  26387. }
  26388. func (_ fastpathT) DecMapUint64IntfV(v map[uint64]interface{}, checkNil bool, canChange bool,
  26389. d *Decoder) (_ map[uint64]interface{}, changed bool) {
  26390. dd := d.d
  26391. cr := d.cr
  26392. if checkNil && dd.TryDecodeAsNil() {
  26393. if v != nil {
  26394. changed = true
  26395. }
  26396. return nil, changed
  26397. }
  26398. containerLen := dd.ReadMapStart()
  26399. if canChange && v == nil {
  26400. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  26401. v = make(map[uint64]interface{}, xlen)
  26402. changed = true
  26403. }
  26404. if containerLen == 0 {
  26405. if cr != nil {
  26406. cr.sendContainerState(containerMapEnd)
  26407. }
  26408. return v, changed
  26409. }
  26410. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  26411. var mk uint64
  26412. var mv interface{}
  26413. hasLen := containerLen > 0
  26414. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26415. if cr != nil {
  26416. cr.sendContainerState(containerMapKey)
  26417. }
  26418. mk = dd.DecodeUint(64)
  26419. if cr != nil {
  26420. cr.sendContainerState(containerMapValue)
  26421. }
  26422. if mapGet {
  26423. mv = v[mk]
  26424. } else {
  26425. mv = nil
  26426. }
  26427. d.decode(&mv)
  26428. if v != nil {
  26429. v[mk] = mv
  26430. }
  26431. }
  26432. if cr != nil {
  26433. cr.sendContainerState(containerMapEnd)
  26434. }
  26435. return v, changed
  26436. }
  26437. func (f *decFnInfo) fastpathDecMapUint64StringR(rv reflect.Value) {
  26438. if rv.CanAddr() {
  26439. vp := rv2i(rv.Addr()).(*map[uint64]string)
  26440. v, changed := fastpathTV.DecMapUint64StringV(*vp, fastpathCheckNilFalse, true, f.d)
  26441. if changed {
  26442. *vp = v
  26443. }
  26444. } else {
  26445. v := rv2i(rv).(map[uint64]string)
  26446. fastpathTV.DecMapUint64StringV(v, fastpathCheckNilFalse, false, f.d)
  26447. }
  26448. }
  26449. func (f fastpathT) DecMapUint64StringX(vp *map[uint64]string, checkNil bool, d *Decoder) {
  26450. v, changed := f.DecMapUint64StringV(*vp, checkNil, true, d)
  26451. if changed {
  26452. *vp = v
  26453. }
  26454. }
  26455. func (_ fastpathT) DecMapUint64StringV(v map[uint64]string, checkNil bool, canChange bool,
  26456. d *Decoder) (_ map[uint64]string, changed bool) {
  26457. dd := d.d
  26458. cr := d.cr
  26459. if checkNil && dd.TryDecodeAsNil() {
  26460. if v != nil {
  26461. changed = true
  26462. }
  26463. return nil, changed
  26464. }
  26465. containerLen := dd.ReadMapStart()
  26466. if canChange && v == nil {
  26467. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  26468. v = make(map[uint64]string, xlen)
  26469. changed = true
  26470. }
  26471. if containerLen == 0 {
  26472. if cr != nil {
  26473. cr.sendContainerState(containerMapEnd)
  26474. }
  26475. return v, changed
  26476. }
  26477. var mk uint64
  26478. var mv string
  26479. hasLen := containerLen > 0
  26480. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26481. if cr != nil {
  26482. cr.sendContainerState(containerMapKey)
  26483. }
  26484. mk = dd.DecodeUint(64)
  26485. if cr != nil {
  26486. cr.sendContainerState(containerMapValue)
  26487. }
  26488. mv = dd.DecodeString()
  26489. if v != nil {
  26490. v[mk] = mv
  26491. }
  26492. }
  26493. if cr != nil {
  26494. cr.sendContainerState(containerMapEnd)
  26495. }
  26496. return v, changed
  26497. }
  26498. func (f *decFnInfo) fastpathDecMapUint64UintR(rv reflect.Value) {
  26499. if rv.CanAddr() {
  26500. vp := rv2i(rv.Addr()).(*map[uint64]uint)
  26501. v, changed := fastpathTV.DecMapUint64UintV(*vp, fastpathCheckNilFalse, true, f.d)
  26502. if changed {
  26503. *vp = v
  26504. }
  26505. } else {
  26506. v := rv2i(rv).(map[uint64]uint)
  26507. fastpathTV.DecMapUint64UintV(v, fastpathCheckNilFalse, false, f.d)
  26508. }
  26509. }
  26510. func (f fastpathT) DecMapUint64UintX(vp *map[uint64]uint, checkNil bool, d *Decoder) {
  26511. v, changed := f.DecMapUint64UintV(*vp, checkNil, true, d)
  26512. if changed {
  26513. *vp = v
  26514. }
  26515. }
  26516. func (_ fastpathT) DecMapUint64UintV(v map[uint64]uint, checkNil bool, canChange bool,
  26517. d *Decoder) (_ map[uint64]uint, changed bool) {
  26518. dd := d.d
  26519. cr := d.cr
  26520. if checkNil && dd.TryDecodeAsNil() {
  26521. if v != nil {
  26522. changed = true
  26523. }
  26524. return nil, changed
  26525. }
  26526. containerLen := dd.ReadMapStart()
  26527. if canChange && v == nil {
  26528. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  26529. v = make(map[uint64]uint, xlen)
  26530. changed = true
  26531. }
  26532. if containerLen == 0 {
  26533. if cr != nil {
  26534. cr.sendContainerState(containerMapEnd)
  26535. }
  26536. return v, changed
  26537. }
  26538. var mk uint64
  26539. var mv uint
  26540. hasLen := containerLen > 0
  26541. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26542. if cr != nil {
  26543. cr.sendContainerState(containerMapKey)
  26544. }
  26545. mk = dd.DecodeUint(64)
  26546. if cr != nil {
  26547. cr.sendContainerState(containerMapValue)
  26548. }
  26549. mv = uint(dd.DecodeUint(uintBitsize))
  26550. if v != nil {
  26551. v[mk] = mv
  26552. }
  26553. }
  26554. if cr != nil {
  26555. cr.sendContainerState(containerMapEnd)
  26556. }
  26557. return v, changed
  26558. }
  26559. func (f *decFnInfo) fastpathDecMapUint64Uint8R(rv reflect.Value) {
  26560. if rv.CanAddr() {
  26561. vp := rv2i(rv.Addr()).(*map[uint64]uint8)
  26562. v, changed := fastpathTV.DecMapUint64Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  26563. if changed {
  26564. *vp = v
  26565. }
  26566. } else {
  26567. v := rv2i(rv).(map[uint64]uint8)
  26568. fastpathTV.DecMapUint64Uint8V(v, fastpathCheckNilFalse, false, f.d)
  26569. }
  26570. }
  26571. func (f fastpathT) DecMapUint64Uint8X(vp *map[uint64]uint8, checkNil bool, d *Decoder) {
  26572. v, changed := f.DecMapUint64Uint8V(*vp, checkNil, true, d)
  26573. if changed {
  26574. *vp = v
  26575. }
  26576. }
  26577. func (_ fastpathT) DecMapUint64Uint8V(v map[uint64]uint8, checkNil bool, canChange bool,
  26578. d *Decoder) (_ map[uint64]uint8, changed bool) {
  26579. dd := d.d
  26580. cr := d.cr
  26581. if checkNil && dd.TryDecodeAsNil() {
  26582. if v != nil {
  26583. changed = true
  26584. }
  26585. return nil, changed
  26586. }
  26587. containerLen := dd.ReadMapStart()
  26588. if canChange && v == nil {
  26589. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  26590. v = make(map[uint64]uint8, xlen)
  26591. changed = true
  26592. }
  26593. if containerLen == 0 {
  26594. if cr != nil {
  26595. cr.sendContainerState(containerMapEnd)
  26596. }
  26597. return v, changed
  26598. }
  26599. var mk uint64
  26600. var mv uint8
  26601. hasLen := containerLen > 0
  26602. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26603. if cr != nil {
  26604. cr.sendContainerState(containerMapKey)
  26605. }
  26606. mk = dd.DecodeUint(64)
  26607. if cr != nil {
  26608. cr.sendContainerState(containerMapValue)
  26609. }
  26610. mv = uint8(dd.DecodeUint(8))
  26611. if v != nil {
  26612. v[mk] = mv
  26613. }
  26614. }
  26615. if cr != nil {
  26616. cr.sendContainerState(containerMapEnd)
  26617. }
  26618. return v, changed
  26619. }
  26620. func (f *decFnInfo) fastpathDecMapUint64Uint16R(rv reflect.Value) {
  26621. if rv.CanAddr() {
  26622. vp := rv2i(rv.Addr()).(*map[uint64]uint16)
  26623. v, changed := fastpathTV.DecMapUint64Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  26624. if changed {
  26625. *vp = v
  26626. }
  26627. } else {
  26628. v := rv2i(rv).(map[uint64]uint16)
  26629. fastpathTV.DecMapUint64Uint16V(v, fastpathCheckNilFalse, false, f.d)
  26630. }
  26631. }
  26632. func (f fastpathT) DecMapUint64Uint16X(vp *map[uint64]uint16, checkNil bool, d *Decoder) {
  26633. v, changed := f.DecMapUint64Uint16V(*vp, checkNil, true, d)
  26634. if changed {
  26635. *vp = v
  26636. }
  26637. }
  26638. func (_ fastpathT) DecMapUint64Uint16V(v map[uint64]uint16, checkNil bool, canChange bool,
  26639. d *Decoder) (_ map[uint64]uint16, changed bool) {
  26640. dd := d.d
  26641. cr := d.cr
  26642. if checkNil && dd.TryDecodeAsNil() {
  26643. if v != nil {
  26644. changed = true
  26645. }
  26646. return nil, changed
  26647. }
  26648. containerLen := dd.ReadMapStart()
  26649. if canChange && v == nil {
  26650. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  26651. v = make(map[uint64]uint16, xlen)
  26652. changed = true
  26653. }
  26654. if containerLen == 0 {
  26655. if cr != nil {
  26656. cr.sendContainerState(containerMapEnd)
  26657. }
  26658. return v, changed
  26659. }
  26660. var mk uint64
  26661. var mv uint16
  26662. hasLen := containerLen > 0
  26663. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26664. if cr != nil {
  26665. cr.sendContainerState(containerMapKey)
  26666. }
  26667. mk = dd.DecodeUint(64)
  26668. if cr != nil {
  26669. cr.sendContainerState(containerMapValue)
  26670. }
  26671. mv = uint16(dd.DecodeUint(16))
  26672. if v != nil {
  26673. v[mk] = mv
  26674. }
  26675. }
  26676. if cr != nil {
  26677. cr.sendContainerState(containerMapEnd)
  26678. }
  26679. return v, changed
  26680. }
  26681. func (f *decFnInfo) fastpathDecMapUint64Uint32R(rv reflect.Value) {
  26682. if rv.CanAddr() {
  26683. vp := rv2i(rv.Addr()).(*map[uint64]uint32)
  26684. v, changed := fastpathTV.DecMapUint64Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  26685. if changed {
  26686. *vp = v
  26687. }
  26688. } else {
  26689. v := rv2i(rv).(map[uint64]uint32)
  26690. fastpathTV.DecMapUint64Uint32V(v, fastpathCheckNilFalse, false, f.d)
  26691. }
  26692. }
  26693. func (f fastpathT) DecMapUint64Uint32X(vp *map[uint64]uint32, checkNil bool, d *Decoder) {
  26694. v, changed := f.DecMapUint64Uint32V(*vp, checkNil, true, d)
  26695. if changed {
  26696. *vp = v
  26697. }
  26698. }
  26699. func (_ fastpathT) DecMapUint64Uint32V(v map[uint64]uint32, checkNil bool, canChange bool,
  26700. d *Decoder) (_ map[uint64]uint32, changed bool) {
  26701. dd := d.d
  26702. cr := d.cr
  26703. if checkNil && dd.TryDecodeAsNil() {
  26704. if v != nil {
  26705. changed = true
  26706. }
  26707. return nil, changed
  26708. }
  26709. containerLen := dd.ReadMapStart()
  26710. if canChange && v == nil {
  26711. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  26712. v = make(map[uint64]uint32, xlen)
  26713. changed = true
  26714. }
  26715. if containerLen == 0 {
  26716. if cr != nil {
  26717. cr.sendContainerState(containerMapEnd)
  26718. }
  26719. return v, changed
  26720. }
  26721. var mk uint64
  26722. var mv uint32
  26723. hasLen := containerLen > 0
  26724. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26725. if cr != nil {
  26726. cr.sendContainerState(containerMapKey)
  26727. }
  26728. mk = dd.DecodeUint(64)
  26729. if cr != nil {
  26730. cr.sendContainerState(containerMapValue)
  26731. }
  26732. mv = uint32(dd.DecodeUint(32))
  26733. if v != nil {
  26734. v[mk] = mv
  26735. }
  26736. }
  26737. if cr != nil {
  26738. cr.sendContainerState(containerMapEnd)
  26739. }
  26740. return v, changed
  26741. }
  26742. func (f *decFnInfo) fastpathDecMapUint64Uint64R(rv reflect.Value) {
  26743. if rv.CanAddr() {
  26744. vp := rv2i(rv.Addr()).(*map[uint64]uint64)
  26745. v, changed := fastpathTV.DecMapUint64Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  26746. if changed {
  26747. *vp = v
  26748. }
  26749. } else {
  26750. v := rv2i(rv).(map[uint64]uint64)
  26751. fastpathTV.DecMapUint64Uint64V(v, fastpathCheckNilFalse, false, f.d)
  26752. }
  26753. }
  26754. func (f fastpathT) DecMapUint64Uint64X(vp *map[uint64]uint64, checkNil bool, d *Decoder) {
  26755. v, changed := f.DecMapUint64Uint64V(*vp, checkNil, true, d)
  26756. if changed {
  26757. *vp = v
  26758. }
  26759. }
  26760. func (_ fastpathT) DecMapUint64Uint64V(v map[uint64]uint64, checkNil bool, canChange bool,
  26761. d *Decoder) (_ map[uint64]uint64, changed bool) {
  26762. dd := d.d
  26763. cr := d.cr
  26764. if checkNil && dd.TryDecodeAsNil() {
  26765. if v != nil {
  26766. changed = true
  26767. }
  26768. return nil, changed
  26769. }
  26770. containerLen := dd.ReadMapStart()
  26771. if canChange && v == nil {
  26772. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  26773. v = make(map[uint64]uint64, xlen)
  26774. changed = true
  26775. }
  26776. if containerLen == 0 {
  26777. if cr != nil {
  26778. cr.sendContainerState(containerMapEnd)
  26779. }
  26780. return v, changed
  26781. }
  26782. var mk uint64
  26783. var mv uint64
  26784. hasLen := containerLen > 0
  26785. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26786. if cr != nil {
  26787. cr.sendContainerState(containerMapKey)
  26788. }
  26789. mk = dd.DecodeUint(64)
  26790. if cr != nil {
  26791. cr.sendContainerState(containerMapValue)
  26792. }
  26793. mv = dd.DecodeUint(64)
  26794. if v != nil {
  26795. v[mk] = mv
  26796. }
  26797. }
  26798. if cr != nil {
  26799. cr.sendContainerState(containerMapEnd)
  26800. }
  26801. return v, changed
  26802. }
  26803. func (f *decFnInfo) fastpathDecMapUint64UintptrR(rv reflect.Value) {
  26804. if rv.CanAddr() {
  26805. vp := rv2i(rv.Addr()).(*map[uint64]uintptr)
  26806. v, changed := fastpathTV.DecMapUint64UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  26807. if changed {
  26808. *vp = v
  26809. }
  26810. } else {
  26811. v := rv2i(rv).(map[uint64]uintptr)
  26812. fastpathTV.DecMapUint64UintptrV(v, fastpathCheckNilFalse, false, f.d)
  26813. }
  26814. }
  26815. func (f fastpathT) DecMapUint64UintptrX(vp *map[uint64]uintptr, checkNil bool, d *Decoder) {
  26816. v, changed := f.DecMapUint64UintptrV(*vp, checkNil, true, d)
  26817. if changed {
  26818. *vp = v
  26819. }
  26820. }
  26821. func (_ fastpathT) DecMapUint64UintptrV(v map[uint64]uintptr, checkNil bool, canChange bool,
  26822. d *Decoder) (_ map[uint64]uintptr, changed bool) {
  26823. dd := d.d
  26824. cr := d.cr
  26825. if checkNil && dd.TryDecodeAsNil() {
  26826. if v != nil {
  26827. changed = true
  26828. }
  26829. return nil, changed
  26830. }
  26831. containerLen := dd.ReadMapStart()
  26832. if canChange && v == nil {
  26833. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  26834. v = make(map[uint64]uintptr, xlen)
  26835. changed = true
  26836. }
  26837. if containerLen == 0 {
  26838. if cr != nil {
  26839. cr.sendContainerState(containerMapEnd)
  26840. }
  26841. return v, changed
  26842. }
  26843. var mk uint64
  26844. var mv uintptr
  26845. hasLen := containerLen > 0
  26846. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26847. if cr != nil {
  26848. cr.sendContainerState(containerMapKey)
  26849. }
  26850. mk = dd.DecodeUint(64)
  26851. if cr != nil {
  26852. cr.sendContainerState(containerMapValue)
  26853. }
  26854. mv = uintptr(dd.DecodeUint(uintBitsize))
  26855. if v != nil {
  26856. v[mk] = mv
  26857. }
  26858. }
  26859. if cr != nil {
  26860. cr.sendContainerState(containerMapEnd)
  26861. }
  26862. return v, changed
  26863. }
  26864. func (f *decFnInfo) fastpathDecMapUint64IntR(rv reflect.Value) {
  26865. if rv.CanAddr() {
  26866. vp := rv2i(rv.Addr()).(*map[uint64]int)
  26867. v, changed := fastpathTV.DecMapUint64IntV(*vp, fastpathCheckNilFalse, true, f.d)
  26868. if changed {
  26869. *vp = v
  26870. }
  26871. } else {
  26872. v := rv2i(rv).(map[uint64]int)
  26873. fastpathTV.DecMapUint64IntV(v, fastpathCheckNilFalse, false, f.d)
  26874. }
  26875. }
  26876. func (f fastpathT) DecMapUint64IntX(vp *map[uint64]int, checkNil bool, d *Decoder) {
  26877. v, changed := f.DecMapUint64IntV(*vp, checkNil, true, d)
  26878. if changed {
  26879. *vp = v
  26880. }
  26881. }
  26882. func (_ fastpathT) DecMapUint64IntV(v map[uint64]int, checkNil bool, canChange bool,
  26883. d *Decoder) (_ map[uint64]int, changed bool) {
  26884. dd := d.d
  26885. cr := d.cr
  26886. if checkNil && dd.TryDecodeAsNil() {
  26887. if v != nil {
  26888. changed = true
  26889. }
  26890. return nil, changed
  26891. }
  26892. containerLen := dd.ReadMapStart()
  26893. if canChange && v == nil {
  26894. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  26895. v = make(map[uint64]int, xlen)
  26896. changed = true
  26897. }
  26898. if containerLen == 0 {
  26899. if cr != nil {
  26900. cr.sendContainerState(containerMapEnd)
  26901. }
  26902. return v, changed
  26903. }
  26904. var mk uint64
  26905. var mv int
  26906. hasLen := containerLen > 0
  26907. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26908. if cr != nil {
  26909. cr.sendContainerState(containerMapKey)
  26910. }
  26911. mk = dd.DecodeUint(64)
  26912. if cr != nil {
  26913. cr.sendContainerState(containerMapValue)
  26914. }
  26915. mv = int(dd.DecodeInt(intBitsize))
  26916. if v != nil {
  26917. v[mk] = mv
  26918. }
  26919. }
  26920. if cr != nil {
  26921. cr.sendContainerState(containerMapEnd)
  26922. }
  26923. return v, changed
  26924. }
  26925. func (f *decFnInfo) fastpathDecMapUint64Int8R(rv reflect.Value) {
  26926. if rv.CanAddr() {
  26927. vp := rv2i(rv.Addr()).(*map[uint64]int8)
  26928. v, changed := fastpathTV.DecMapUint64Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  26929. if changed {
  26930. *vp = v
  26931. }
  26932. } else {
  26933. v := rv2i(rv).(map[uint64]int8)
  26934. fastpathTV.DecMapUint64Int8V(v, fastpathCheckNilFalse, false, f.d)
  26935. }
  26936. }
  26937. func (f fastpathT) DecMapUint64Int8X(vp *map[uint64]int8, checkNil bool, d *Decoder) {
  26938. v, changed := f.DecMapUint64Int8V(*vp, checkNil, true, d)
  26939. if changed {
  26940. *vp = v
  26941. }
  26942. }
  26943. func (_ fastpathT) DecMapUint64Int8V(v map[uint64]int8, checkNil bool, canChange bool,
  26944. d *Decoder) (_ map[uint64]int8, changed bool) {
  26945. dd := d.d
  26946. cr := d.cr
  26947. if checkNil && dd.TryDecodeAsNil() {
  26948. if v != nil {
  26949. changed = true
  26950. }
  26951. return nil, changed
  26952. }
  26953. containerLen := dd.ReadMapStart()
  26954. if canChange && v == nil {
  26955. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  26956. v = make(map[uint64]int8, xlen)
  26957. changed = true
  26958. }
  26959. if containerLen == 0 {
  26960. if cr != nil {
  26961. cr.sendContainerState(containerMapEnd)
  26962. }
  26963. return v, changed
  26964. }
  26965. var mk uint64
  26966. var mv int8
  26967. hasLen := containerLen > 0
  26968. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  26969. if cr != nil {
  26970. cr.sendContainerState(containerMapKey)
  26971. }
  26972. mk = dd.DecodeUint(64)
  26973. if cr != nil {
  26974. cr.sendContainerState(containerMapValue)
  26975. }
  26976. mv = int8(dd.DecodeInt(8))
  26977. if v != nil {
  26978. v[mk] = mv
  26979. }
  26980. }
  26981. if cr != nil {
  26982. cr.sendContainerState(containerMapEnd)
  26983. }
  26984. return v, changed
  26985. }
  26986. func (f *decFnInfo) fastpathDecMapUint64Int16R(rv reflect.Value) {
  26987. if rv.CanAddr() {
  26988. vp := rv2i(rv.Addr()).(*map[uint64]int16)
  26989. v, changed := fastpathTV.DecMapUint64Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  26990. if changed {
  26991. *vp = v
  26992. }
  26993. } else {
  26994. v := rv2i(rv).(map[uint64]int16)
  26995. fastpathTV.DecMapUint64Int16V(v, fastpathCheckNilFalse, false, f.d)
  26996. }
  26997. }
  26998. func (f fastpathT) DecMapUint64Int16X(vp *map[uint64]int16, checkNil bool, d *Decoder) {
  26999. v, changed := f.DecMapUint64Int16V(*vp, checkNil, true, d)
  27000. if changed {
  27001. *vp = v
  27002. }
  27003. }
  27004. func (_ fastpathT) DecMapUint64Int16V(v map[uint64]int16, checkNil bool, canChange bool,
  27005. d *Decoder) (_ map[uint64]int16, changed bool) {
  27006. dd := d.d
  27007. cr := d.cr
  27008. if checkNil && dd.TryDecodeAsNil() {
  27009. if v != nil {
  27010. changed = true
  27011. }
  27012. return nil, changed
  27013. }
  27014. containerLen := dd.ReadMapStart()
  27015. if canChange && v == nil {
  27016. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  27017. v = make(map[uint64]int16, xlen)
  27018. changed = true
  27019. }
  27020. if containerLen == 0 {
  27021. if cr != nil {
  27022. cr.sendContainerState(containerMapEnd)
  27023. }
  27024. return v, changed
  27025. }
  27026. var mk uint64
  27027. var mv int16
  27028. hasLen := containerLen > 0
  27029. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27030. if cr != nil {
  27031. cr.sendContainerState(containerMapKey)
  27032. }
  27033. mk = dd.DecodeUint(64)
  27034. if cr != nil {
  27035. cr.sendContainerState(containerMapValue)
  27036. }
  27037. mv = int16(dd.DecodeInt(16))
  27038. if v != nil {
  27039. v[mk] = mv
  27040. }
  27041. }
  27042. if cr != nil {
  27043. cr.sendContainerState(containerMapEnd)
  27044. }
  27045. return v, changed
  27046. }
  27047. func (f *decFnInfo) fastpathDecMapUint64Int32R(rv reflect.Value) {
  27048. if rv.CanAddr() {
  27049. vp := rv2i(rv.Addr()).(*map[uint64]int32)
  27050. v, changed := fastpathTV.DecMapUint64Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  27051. if changed {
  27052. *vp = v
  27053. }
  27054. } else {
  27055. v := rv2i(rv).(map[uint64]int32)
  27056. fastpathTV.DecMapUint64Int32V(v, fastpathCheckNilFalse, false, f.d)
  27057. }
  27058. }
  27059. func (f fastpathT) DecMapUint64Int32X(vp *map[uint64]int32, checkNil bool, d *Decoder) {
  27060. v, changed := f.DecMapUint64Int32V(*vp, checkNil, true, d)
  27061. if changed {
  27062. *vp = v
  27063. }
  27064. }
  27065. func (_ fastpathT) DecMapUint64Int32V(v map[uint64]int32, checkNil bool, canChange bool,
  27066. d *Decoder) (_ map[uint64]int32, changed bool) {
  27067. dd := d.d
  27068. cr := d.cr
  27069. if checkNil && dd.TryDecodeAsNil() {
  27070. if v != nil {
  27071. changed = true
  27072. }
  27073. return nil, changed
  27074. }
  27075. containerLen := dd.ReadMapStart()
  27076. if canChange && v == nil {
  27077. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  27078. v = make(map[uint64]int32, xlen)
  27079. changed = true
  27080. }
  27081. if containerLen == 0 {
  27082. if cr != nil {
  27083. cr.sendContainerState(containerMapEnd)
  27084. }
  27085. return v, changed
  27086. }
  27087. var mk uint64
  27088. var mv int32
  27089. hasLen := containerLen > 0
  27090. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27091. if cr != nil {
  27092. cr.sendContainerState(containerMapKey)
  27093. }
  27094. mk = dd.DecodeUint(64)
  27095. if cr != nil {
  27096. cr.sendContainerState(containerMapValue)
  27097. }
  27098. mv = int32(dd.DecodeInt(32))
  27099. if v != nil {
  27100. v[mk] = mv
  27101. }
  27102. }
  27103. if cr != nil {
  27104. cr.sendContainerState(containerMapEnd)
  27105. }
  27106. return v, changed
  27107. }
  27108. func (f *decFnInfo) fastpathDecMapUint64Int64R(rv reflect.Value) {
  27109. if rv.CanAddr() {
  27110. vp := rv2i(rv.Addr()).(*map[uint64]int64)
  27111. v, changed := fastpathTV.DecMapUint64Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  27112. if changed {
  27113. *vp = v
  27114. }
  27115. } else {
  27116. v := rv2i(rv).(map[uint64]int64)
  27117. fastpathTV.DecMapUint64Int64V(v, fastpathCheckNilFalse, false, f.d)
  27118. }
  27119. }
  27120. func (f fastpathT) DecMapUint64Int64X(vp *map[uint64]int64, checkNil bool, d *Decoder) {
  27121. v, changed := f.DecMapUint64Int64V(*vp, checkNil, true, d)
  27122. if changed {
  27123. *vp = v
  27124. }
  27125. }
  27126. func (_ fastpathT) DecMapUint64Int64V(v map[uint64]int64, checkNil bool, canChange bool,
  27127. d *Decoder) (_ map[uint64]int64, changed bool) {
  27128. dd := d.d
  27129. cr := d.cr
  27130. if checkNil && dd.TryDecodeAsNil() {
  27131. if v != nil {
  27132. changed = true
  27133. }
  27134. return nil, changed
  27135. }
  27136. containerLen := dd.ReadMapStart()
  27137. if canChange && v == nil {
  27138. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27139. v = make(map[uint64]int64, xlen)
  27140. changed = true
  27141. }
  27142. if containerLen == 0 {
  27143. if cr != nil {
  27144. cr.sendContainerState(containerMapEnd)
  27145. }
  27146. return v, changed
  27147. }
  27148. var mk uint64
  27149. var mv int64
  27150. hasLen := containerLen > 0
  27151. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27152. if cr != nil {
  27153. cr.sendContainerState(containerMapKey)
  27154. }
  27155. mk = dd.DecodeUint(64)
  27156. if cr != nil {
  27157. cr.sendContainerState(containerMapValue)
  27158. }
  27159. mv = dd.DecodeInt(64)
  27160. if v != nil {
  27161. v[mk] = mv
  27162. }
  27163. }
  27164. if cr != nil {
  27165. cr.sendContainerState(containerMapEnd)
  27166. }
  27167. return v, changed
  27168. }
  27169. func (f *decFnInfo) fastpathDecMapUint64Float32R(rv reflect.Value) {
  27170. if rv.CanAddr() {
  27171. vp := rv2i(rv.Addr()).(*map[uint64]float32)
  27172. v, changed := fastpathTV.DecMapUint64Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  27173. if changed {
  27174. *vp = v
  27175. }
  27176. } else {
  27177. v := rv2i(rv).(map[uint64]float32)
  27178. fastpathTV.DecMapUint64Float32V(v, fastpathCheckNilFalse, false, f.d)
  27179. }
  27180. }
  27181. func (f fastpathT) DecMapUint64Float32X(vp *map[uint64]float32, checkNil bool, d *Decoder) {
  27182. v, changed := f.DecMapUint64Float32V(*vp, checkNil, true, d)
  27183. if changed {
  27184. *vp = v
  27185. }
  27186. }
  27187. func (_ fastpathT) DecMapUint64Float32V(v map[uint64]float32, checkNil bool, canChange bool,
  27188. d *Decoder) (_ map[uint64]float32, changed bool) {
  27189. dd := d.d
  27190. cr := d.cr
  27191. if checkNil && dd.TryDecodeAsNil() {
  27192. if v != nil {
  27193. changed = true
  27194. }
  27195. return nil, changed
  27196. }
  27197. containerLen := dd.ReadMapStart()
  27198. if canChange && v == nil {
  27199. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  27200. v = make(map[uint64]float32, xlen)
  27201. changed = true
  27202. }
  27203. if containerLen == 0 {
  27204. if cr != nil {
  27205. cr.sendContainerState(containerMapEnd)
  27206. }
  27207. return v, changed
  27208. }
  27209. var mk uint64
  27210. var mv float32
  27211. hasLen := containerLen > 0
  27212. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27213. if cr != nil {
  27214. cr.sendContainerState(containerMapKey)
  27215. }
  27216. mk = dd.DecodeUint(64)
  27217. if cr != nil {
  27218. cr.sendContainerState(containerMapValue)
  27219. }
  27220. mv = float32(dd.DecodeFloat(true))
  27221. if v != nil {
  27222. v[mk] = mv
  27223. }
  27224. }
  27225. if cr != nil {
  27226. cr.sendContainerState(containerMapEnd)
  27227. }
  27228. return v, changed
  27229. }
  27230. func (f *decFnInfo) fastpathDecMapUint64Float64R(rv reflect.Value) {
  27231. if rv.CanAddr() {
  27232. vp := rv2i(rv.Addr()).(*map[uint64]float64)
  27233. v, changed := fastpathTV.DecMapUint64Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  27234. if changed {
  27235. *vp = v
  27236. }
  27237. } else {
  27238. v := rv2i(rv).(map[uint64]float64)
  27239. fastpathTV.DecMapUint64Float64V(v, fastpathCheckNilFalse, false, f.d)
  27240. }
  27241. }
  27242. func (f fastpathT) DecMapUint64Float64X(vp *map[uint64]float64, checkNil bool, d *Decoder) {
  27243. v, changed := f.DecMapUint64Float64V(*vp, checkNil, true, d)
  27244. if changed {
  27245. *vp = v
  27246. }
  27247. }
  27248. func (_ fastpathT) DecMapUint64Float64V(v map[uint64]float64, checkNil bool, canChange bool,
  27249. d *Decoder) (_ map[uint64]float64, changed bool) {
  27250. dd := d.d
  27251. cr := d.cr
  27252. if checkNil && dd.TryDecodeAsNil() {
  27253. if v != nil {
  27254. changed = true
  27255. }
  27256. return nil, changed
  27257. }
  27258. containerLen := dd.ReadMapStart()
  27259. if canChange && v == nil {
  27260. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27261. v = make(map[uint64]float64, xlen)
  27262. changed = true
  27263. }
  27264. if containerLen == 0 {
  27265. if cr != nil {
  27266. cr.sendContainerState(containerMapEnd)
  27267. }
  27268. return v, changed
  27269. }
  27270. var mk uint64
  27271. var mv float64
  27272. hasLen := containerLen > 0
  27273. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27274. if cr != nil {
  27275. cr.sendContainerState(containerMapKey)
  27276. }
  27277. mk = dd.DecodeUint(64)
  27278. if cr != nil {
  27279. cr.sendContainerState(containerMapValue)
  27280. }
  27281. mv = dd.DecodeFloat(false)
  27282. if v != nil {
  27283. v[mk] = mv
  27284. }
  27285. }
  27286. if cr != nil {
  27287. cr.sendContainerState(containerMapEnd)
  27288. }
  27289. return v, changed
  27290. }
  27291. func (f *decFnInfo) fastpathDecMapUint64BoolR(rv reflect.Value) {
  27292. if rv.CanAddr() {
  27293. vp := rv2i(rv.Addr()).(*map[uint64]bool)
  27294. v, changed := fastpathTV.DecMapUint64BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  27295. if changed {
  27296. *vp = v
  27297. }
  27298. } else {
  27299. v := rv2i(rv).(map[uint64]bool)
  27300. fastpathTV.DecMapUint64BoolV(v, fastpathCheckNilFalse, false, f.d)
  27301. }
  27302. }
  27303. func (f fastpathT) DecMapUint64BoolX(vp *map[uint64]bool, checkNil bool, d *Decoder) {
  27304. v, changed := f.DecMapUint64BoolV(*vp, checkNil, true, d)
  27305. if changed {
  27306. *vp = v
  27307. }
  27308. }
  27309. func (_ fastpathT) DecMapUint64BoolV(v map[uint64]bool, checkNil bool, canChange bool,
  27310. d *Decoder) (_ map[uint64]bool, changed bool) {
  27311. dd := d.d
  27312. cr := d.cr
  27313. if checkNil && dd.TryDecodeAsNil() {
  27314. if v != nil {
  27315. changed = true
  27316. }
  27317. return nil, changed
  27318. }
  27319. containerLen := dd.ReadMapStart()
  27320. if canChange && v == nil {
  27321. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  27322. v = make(map[uint64]bool, xlen)
  27323. changed = true
  27324. }
  27325. if containerLen == 0 {
  27326. if cr != nil {
  27327. cr.sendContainerState(containerMapEnd)
  27328. }
  27329. return v, changed
  27330. }
  27331. var mk uint64
  27332. var mv bool
  27333. hasLen := containerLen > 0
  27334. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27335. if cr != nil {
  27336. cr.sendContainerState(containerMapKey)
  27337. }
  27338. mk = dd.DecodeUint(64)
  27339. if cr != nil {
  27340. cr.sendContainerState(containerMapValue)
  27341. }
  27342. mv = dd.DecodeBool()
  27343. if v != nil {
  27344. v[mk] = mv
  27345. }
  27346. }
  27347. if cr != nil {
  27348. cr.sendContainerState(containerMapEnd)
  27349. }
  27350. return v, changed
  27351. }
  27352. func (f *decFnInfo) fastpathDecMapUintptrIntfR(rv reflect.Value) {
  27353. if rv.CanAddr() {
  27354. vp := rv2i(rv.Addr()).(*map[uintptr]interface{})
  27355. v, changed := fastpathTV.DecMapUintptrIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  27356. if changed {
  27357. *vp = v
  27358. }
  27359. } else {
  27360. v := rv2i(rv).(map[uintptr]interface{})
  27361. fastpathTV.DecMapUintptrIntfV(v, fastpathCheckNilFalse, false, f.d)
  27362. }
  27363. }
  27364. func (f fastpathT) DecMapUintptrIntfX(vp *map[uintptr]interface{}, checkNil bool, d *Decoder) {
  27365. v, changed := f.DecMapUintptrIntfV(*vp, checkNil, true, d)
  27366. if changed {
  27367. *vp = v
  27368. }
  27369. }
  27370. func (_ fastpathT) DecMapUintptrIntfV(v map[uintptr]interface{}, checkNil bool, canChange bool,
  27371. d *Decoder) (_ map[uintptr]interface{}, changed bool) {
  27372. dd := d.d
  27373. cr := d.cr
  27374. if checkNil && dd.TryDecodeAsNil() {
  27375. if v != nil {
  27376. changed = true
  27377. }
  27378. return nil, changed
  27379. }
  27380. containerLen := dd.ReadMapStart()
  27381. if canChange && v == nil {
  27382. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  27383. v = make(map[uintptr]interface{}, xlen)
  27384. changed = true
  27385. }
  27386. if containerLen == 0 {
  27387. if cr != nil {
  27388. cr.sendContainerState(containerMapEnd)
  27389. }
  27390. return v, changed
  27391. }
  27392. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  27393. var mk uintptr
  27394. var mv interface{}
  27395. hasLen := containerLen > 0
  27396. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27397. if cr != nil {
  27398. cr.sendContainerState(containerMapKey)
  27399. }
  27400. mk = uintptr(dd.DecodeUint(uintBitsize))
  27401. if cr != nil {
  27402. cr.sendContainerState(containerMapValue)
  27403. }
  27404. if mapGet {
  27405. mv = v[mk]
  27406. } else {
  27407. mv = nil
  27408. }
  27409. d.decode(&mv)
  27410. if v != nil {
  27411. v[mk] = mv
  27412. }
  27413. }
  27414. if cr != nil {
  27415. cr.sendContainerState(containerMapEnd)
  27416. }
  27417. return v, changed
  27418. }
  27419. func (f *decFnInfo) fastpathDecMapUintptrStringR(rv reflect.Value) {
  27420. if rv.CanAddr() {
  27421. vp := rv2i(rv.Addr()).(*map[uintptr]string)
  27422. v, changed := fastpathTV.DecMapUintptrStringV(*vp, fastpathCheckNilFalse, true, f.d)
  27423. if changed {
  27424. *vp = v
  27425. }
  27426. } else {
  27427. v := rv2i(rv).(map[uintptr]string)
  27428. fastpathTV.DecMapUintptrStringV(v, fastpathCheckNilFalse, false, f.d)
  27429. }
  27430. }
  27431. func (f fastpathT) DecMapUintptrStringX(vp *map[uintptr]string, checkNil bool, d *Decoder) {
  27432. v, changed := f.DecMapUintptrStringV(*vp, checkNil, true, d)
  27433. if changed {
  27434. *vp = v
  27435. }
  27436. }
  27437. func (_ fastpathT) DecMapUintptrStringV(v map[uintptr]string, checkNil bool, canChange bool,
  27438. d *Decoder) (_ map[uintptr]string, changed bool) {
  27439. dd := d.d
  27440. cr := d.cr
  27441. if checkNil && dd.TryDecodeAsNil() {
  27442. if v != nil {
  27443. changed = true
  27444. }
  27445. return nil, changed
  27446. }
  27447. containerLen := dd.ReadMapStart()
  27448. if canChange && v == nil {
  27449. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  27450. v = make(map[uintptr]string, xlen)
  27451. changed = true
  27452. }
  27453. if containerLen == 0 {
  27454. if cr != nil {
  27455. cr.sendContainerState(containerMapEnd)
  27456. }
  27457. return v, changed
  27458. }
  27459. var mk uintptr
  27460. var mv string
  27461. hasLen := containerLen > 0
  27462. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27463. if cr != nil {
  27464. cr.sendContainerState(containerMapKey)
  27465. }
  27466. mk = uintptr(dd.DecodeUint(uintBitsize))
  27467. if cr != nil {
  27468. cr.sendContainerState(containerMapValue)
  27469. }
  27470. mv = dd.DecodeString()
  27471. if v != nil {
  27472. v[mk] = mv
  27473. }
  27474. }
  27475. if cr != nil {
  27476. cr.sendContainerState(containerMapEnd)
  27477. }
  27478. return v, changed
  27479. }
  27480. func (f *decFnInfo) fastpathDecMapUintptrUintR(rv reflect.Value) {
  27481. if rv.CanAddr() {
  27482. vp := rv2i(rv.Addr()).(*map[uintptr]uint)
  27483. v, changed := fastpathTV.DecMapUintptrUintV(*vp, fastpathCheckNilFalse, true, f.d)
  27484. if changed {
  27485. *vp = v
  27486. }
  27487. } else {
  27488. v := rv2i(rv).(map[uintptr]uint)
  27489. fastpathTV.DecMapUintptrUintV(v, fastpathCheckNilFalse, false, f.d)
  27490. }
  27491. }
  27492. func (f fastpathT) DecMapUintptrUintX(vp *map[uintptr]uint, checkNil bool, d *Decoder) {
  27493. v, changed := f.DecMapUintptrUintV(*vp, checkNil, true, d)
  27494. if changed {
  27495. *vp = v
  27496. }
  27497. }
  27498. func (_ fastpathT) DecMapUintptrUintV(v map[uintptr]uint, checkNil bool, canChange bool,
  27499. d *Decoder) (_ map[uintptr]uint, changed bool) {
  27500. dd := d.d
  27501. cr := d.cr
  27502. if checkNil && dd.TryDecodeAsNil() {
  27503. if v != nil {
  27504. changed = true
  27505. }
  27506. return nil, changed
  27507. }
  27508. containerLen := dd.ReadMapStart()
  27509. if canChange && v == nil {
  27510. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27511. v = make(map[uintptr]uint, xlen)
  27512. changed = true
  27513. }
  27514. if containerLen == 0 {
  27515. if cr != nil {
  27516. cr.sendContainerState(containerMapEnd)
  27517. }
  27518. return v, changed
  27519. }
  27520. var mk uintptr
  27521. var mv uint
  27522. hasLen := containerLen > 0
  27523. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27524. if cr != nil {
  27525. cr.sendContainerState(containerMapKey)
  27526. }
  27527. mk = uintptr(dd.DecodeUint(uintBitsize))
  27528. if cr != nil {
  27529. cr.sendContainerState(containerMapValue)
  27530. }
  27531. mv = uint(dd.DecodeUint(uintBitsize))
  27532. if v != nil {
  27533. v[mk] = mv
  27534. }
  27535. }
  27536. if cr != nil {
  27537. cr.sendContainerState(containerMapEnd)
  27538. }
  27539. return v, changed
  27540. }
  27541. func (f *decFnInfo) fastpathDecMapUintptrUint8R(rv reflect.Value) {
  27542. if rv.CanAddr() {
  27543. vp := rv2i(rv.Addr()).(*map[uintptr]uint8)
  27544. v, changed := fastpathTV.DecMapUintptrUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  27545. if changed {
  27546. *vp = v
  27547. }
  27548. } else {
  27549. v := rv2i(rv).(map[uintptr]uint8)
  27550. fastpathTV.DecMapUintptrUint8V(v, fastpathCheckNilFalse, false, f.d)
  27551. }
  27552. }
  27553. func (f fastpathT) DecMapUintptrUint8X(vp *map[uintptr]uint8, checkNil bool, d *Decoder) {
  27554. v, changed := f.DecMapUintptrUint8V(*vp, checkNil, true, d)
  27555. if changed {
  27556. *vp = v
  27557. }
  27558. }
  27559. func (_ fastpathT) DecMapUintptrUint8V(v map[uintptr]uint8, checkNil bool, canChange bool,
  27560. d *Decoder) (_ map[uintptr]uint8, changed bool) {
  27561. dd := d.d
  27562. cr := d.cr
  27563. if checkNil && dd.TryDecodeAsNil() {
  27564. if v != nil {
  27565. changed = true
  27566. }
  27567. return nil, changed
  27568. }
  27569. containerLen := dd.ReadMapStart()
  27570. if canChange && v == nil {
  27571. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  27572. v = make(map[uintptr]uint8, xlen)
  27573. changed = true
  27574. }
  27575. if containerLen == 0 {
  27576. if cr != nil {
  27577. cr.sendContainerState(containerMapEnd)
  27578. }
  27579. return v, changed
  27580. }
  27581. var mk uintptr
  27582. var mv uint8
  27583. hasLen := containerLen > 0
  27584. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27585. if cr != nil {
  27586. cr.sendContainerState(containerMapKey)
  27587. }
  27588. mk = uintptr(dd.DecodeUint(uintBitsize))
  27589. if cr != nil {
  27590. cr.sendContainerState(containerMapValue)
  27591. }
  27592. mv = uint8(dd.DecodeUint(8))
  27593. if v != nil {
  27594. v[mk] = mv
  27595. }
  27596. }
  27597. if cr != nil {
  27598. cr.sendContainerState(containerMapEnd)
  27599. }
  27600. return v, changed
  27601. }
  27602. func (f *decFnInfo) fastpathDecMapUintptrUint16R(rv reflect.Value) {
  27603. if rv.CanAddr() {
  27604. vp := rv2i(rv.Addr()).(*map[uintptr]uint16)
  27605. v, changed := fastpathTV.DecMapUintptrUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  27606. if changed {
  27607. *vp = v
  27608. }
  27609. } else {
  27610. v := rv2i(rv).(map[uintptr]uint16)
  27611. fastpathTV.DecMapUintptrUint16V(v, fastpathCheckNilFalse, false, f.d)
  27612. }
  27613. }
  27614. func (f fastpathT) DecMapUintptrUint16X(vp *map[uintptr]uint16, checkNil bool, d *Decoder) {
  27615. v, changed := f.DecMapUintptrUint16V(*vp, checkNil, true, d)
  27616. if changed {
  27617. *vp = v
  27618. }
  27619. }
  27620. func (_ fastpathT) DecMapUintptrUint16V(v map[uintptr]uint16, checkNil bool, canChange bool,
  27621. d *Decoder) (_ map[uintptr]uint16, changed bool) {
  27622. dd := d.d
  27623. cr := d.cr
  27624. if checkNil && dd.TryDecodeAsNil() {
  27625. if v != nil {
  27626. changed = true
  27627. }
  27628. return nil, changed
  27629. }
  27630. containerLen := dd.ReadMapStart()
  27631. if canChange && v == nil {
  27632. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  27633. v = make(map[uintptr]uint16, xlen)
  27634. changed = true
  27635. }
  27636. if containerLen == 0 {
  27637. if cr != nil {
  27638. cr.sendContainerState(containerMapEnd)
  27639. }
  27640. return v, changed
  27641. }
  27642. var mk uintptr
  27643. var mv uint16
  27644. hasLen := containerLen > 0
  27645. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27646. if cr != nil {
  27647. cr.sendContainerState(containerMapKey)
  27648. }
  27649. mk = uintptr(dd.DecodeUint(uintBitsize))
  27650. if cr != nil {
  27651. cr.sendContainerState(containerMapValue)
  27652. }
  27653. mv = uint16(dd.DecodeUint(16))
  27654. if v != nil {
  27655. v[mk] = mv
  27656. }
  27657. }
  27658. if cr != nil {
  27659. cr.sendContainerState(containerMapEnd)
  27660. }
  27661. return v, changed
  27662. }
  27663. func (f *decFnInfo) fastpathDecMapUintptrUint32R(rv reflect.Value) {
  27664. if rv.CanAddr() {
  27665. vp := rv2i(rv.Addr()).(*map[uintptr]uint32)
  27666. v, changed := fastpathTV.DecMapUintptrUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  27667. if changed {
  27668. *vp = v
  27669. }
  27670. } else {
  27671. v := rv2i(rv).(map[uintptr]uint32)
  27672. fastpathTV.DecMapUintptrUint32V(v, fastpathCheckNilFalse, false, f.d)
  27673. }
  27674. }
  27675. func (f fastpathT) DecMapUintptrUint32X(vp *map[uintptr]uint32, checkNil bool, d *Decoder) {
  27676. v, changed := f.DecMapUintptrUint32V(*vp, checkNil, true, d)
  27677. if changed {
  27678. *vp = v
  27679. }
  27680. }
  27681. func (_ fastpathT) DecMapUintptrUint32V(v map[uintptr]uint32, checkNil bool, canChange bool,
  27682. d *Decoder) (_ map[uintptr]uint32, changed bool) {
  27683. dd := d.d
  27684. cr := d.cr
  27685. if checkNil && dd.TryDecodeAsNil() {
  27686. if v != nil {
  27687. changed = true
  27688. }
  27689. return nil, changed
  27690. }
  27691. containerLen := dd.ReadMapStart()
  27692. if canChange && v == nil {
  27693. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  27694. v = make(map[uintptr]uint32, xlen)
  27695. changed = true
  27696. }
  27697. if containerLen == 0 {
  27698. if cr != nil {
  27699. cr.sendContainerState(containerMapEnd)
  27700. }
  27701. return v, changed
  27702. }
  27703. var mk uintptr
  27704. var mv uint32
  27705. hasLen := containerLen > 0
  27706. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27707. if cr != nil {
  27708. cr.sendContainerState(containerMapKey)
  27709. }
  27710. mk = uintptr(dd.DecodeUint(uintBitsize))
  27711. if cr != nil {
  27712. cr.sendContainerState(containerMapValue)
  27713. }
  27714. mv = uint32(dd.DecodeUint(32))
  27715. if v != nil {
  27716. v[mk] = mv
  27717. }
  27718. }
  27719. if cr != nil {
  27720. cr.sendContainerState(containerMapEnd)
  27721. }
  27722. return v, changed
  27723. }
  27724. func (f *decFnInfo) fastpathDecMapUintptrUint64R(rv reflect.Value) {
  27725. if rv.CanAddr() {
  27726. vp := rv2i(rv.Addr()).(*map[uintptr]uint64)
  27727. v, changed := fastpathTV.DecMapUintptrUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  27728. if changed {
  27729. *vp = v
  27730. }
  27731. } else {
  27732. v := rv2i(rv).(map[uintptr]uint64)
  27733. fastpathTV.DecMapUintptrUint64V(v, fastpathCheckNilFalse, false, f.d)
  27734. }
  27735. }
  27736. func (f fastpathT) DecMapUintptrUint64X(vp *map[uintptr]uint64, checkNil bool, d *Decoder) {
  27737. v, changed := f.DecMapUintptrUint64V(*vp, checkNil, true, d)
  27738. if changed {
  27739. *vp = v
  27740. }
  27741. }
  27742. func (_ fastpathT) DecMapUintptrUint64V(v map[uintptr]uint64, checkNil bool, canChange bool,
  27743. d *Decoder) (_ map[uintptr]uint64, changed bool) {
  27744. dd := d.d
  27745. cr := d.cr
  27746. if checkNil && dd.TryDecodeAsNil() {
  27747. if v != nil {
  27748. changed = true
  27749. }
  27750. return nil, changed
  27751. }
  27752. containerLen := dd.ReadMapStart()
  27753. if canChange && v == nil {
  27754. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27755. v = make(map[uintptr]uint64, xlen)
  27756. changed = true
  27757. }
  27758. if containerLen == 0 {
  27759. if cr != nil {
  27760. cr.sendContainerState(containerMapEnd)
  27761. }
  27762. return v, changed
  27763. }
  27764. var mk uintptr
  27765. var mv uint64
  27766. hasLen := containerLen > 0
  27767. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27768. if cr != nil {
  27769. cr.sendContainerState(containerMapKey)
  27770. }
  27771. mk = uintptr(dd.DecodeUint(uintBitsize))
  27772. if cr != nil {
  27773. cr.sendContainerState(containerMapValue)
  27774. }
  27775. mv = dd.DecodeUint(64)
  27776. if v != nil {
  27777. v[mk] = mv
  27778. }
  27779. }
  27780. if cr != nil {
  27781. cr.sendContainerState(containerMapEnd)
  27782. }
  27783. return v, changed
  27784. }
  27785. func (f *decFnInfo) fastpathDecMapUintptrUintptrR(rv reflect.Value) {
  27786. if rv.CanAddr() {
  27787. vp := rv2i(rv.Addr()).(*map[uintptr]uintptr)
  27788. v, changed := fastpathTV.DecMapUintptrUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  27789. if changed {
  27790. *vp = v
  27791. }
  27792. } else {
  27793. v := rv2i(rv).(map[uintptr]uintptr)
  27794. fastpathTV.DecMapUintptrUintptrV(v, fastpathCheckNilFalse, false, f.d)
  27795. }
  27796. }
  27797. func (f fastpathT) DecMapUintptrUintptrX(vp *map[uintptr]uintptr, checkNil bool, d *Decoder) {
  27798. v, changed := f.DecMapUintptrUintptrV(*vp, checkNil, true, d)
  27799. if changed {
  27800. *vp = v
  27801. }
  27802. }
  27803. func (_ fastpathT) DecMapUintptrUintptrV(v map[uintptr]uintptr, checkNil bool, canChange bool,
  27804. d *Decoder) (_ map[uintptr]uintptr, changed bool) {
  27805. dd := d.d
  27806. cr := d.cr
  27807. if checkNil && dd.TryDecodeAsNil() {
  27808. if v != nil {
  27809. changed = true
  27810. }
  27811. return nil, changed
  27812. }
  27813. containerLen := dd.ReadMapStart()
  27814. if canChange && v == nil {
  27815. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27816. v = make(map[uintptr]uintptr, xlen)
  27817. changed = true
  27818. }
  27819. if containerLen == 0 {
  27820. if cr != nil {
  27821. cr.sendContainerState(containerMapEnd)
  27822. }
  27823. return v, changed
  27824. }
  27825. var mk uintptr
  27826. var mv uintptr
  27827. hasLen := containerLen > 0
  27828. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27829. if cr != nil {
  27830. cr.sendContainerState(containerMapKey)
  27831. }
  27832. mk = uintptr(dd.DecodeUint(uintBitsize))
  27833. if cr != nil {
  27834. cr.sendContainerState(containerMapValue)
  27835. }
  27836. mv = uintptr(dd.DecodeUint(uintBitsize))
  27837. if v != nil {
  27838. v[mk] = mv
  27839. }
  27840. }
  27841. if cr != nil {
  27842. cr.sendContainerState(containerMapEnd)
  27843. }
  27844. return v, changed
  27845. }
  27846. func (f *decFnInfo) fastpathDecMapUintptrIntR(rv reflect.Value) {
  27847. if rv.CanAddr() {
  27848. vp := rv2i(rv.Addr()).(*map[uintptr]int)
  27849. v, changed := fastpathTV.DecMapUintptrIntV(*vp, fastpathCheckNilFalse, true, f.d)
  27850. if changed {
  27851. *vp = v
  27852. }
  27853. } else {
  27854. v := rv2i(rv).(map[uintptr]int)
  27855. fastpathTV.DecMapUintptrIntV(v, fastpathCheckNilFalse, false, f.d)
  27856. }
  27857. }
  27858. func (f fastpathT) DecMapUintptrIntX(vp *map[uintptr]int, checkNil bool, d *Decoder) {
  27859. v, changed := f.DecMapUintptrIntV(*vp, checkNil, true, d)
  27860. if changed {
  27861. *vp = v
  27862. }
  27863. }
  27864. func (_ fastpathT) DecMapUintptrIntV(v map[uintptr]int, checkNil bool, canChange bool,
  27865. d *Decoder) (_ map[uintptr]int, changed bool) {
  27866. dd := d.d
  27867. cr := d.cr
  27868. if checkNil && dd.TryDecodeAsNil() {
  27869. if v != nil {
  27870. changed = true
  27871. }
  27872. return nil, changed
  27873. }
  27874. containerLen := dd.ReadMapStart()
  27875. if canChange && v == nil {
  27876. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  27877. v = make(map[uintptr]int, xlen)
  27878. changed = true
  27879. }
  27880. if containerLen == 0 {
  27881. if cr != nil {
  27882. cr.sendContainerState(containerMapEnd)
  27883. }
  27884. return v, changed
  27885. }
  27886. var mk uintptr
  27887. var mv int
  27888. hasLen := containerLen > 0
  27889. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27890. if cr != nil {
  27891. cr.sendContainerState(containerMapKey)
  27892. }
  27893. mk = uintptr(dd.DecodeUint(uintBitsize))
  27894. if cr != nil {
  27895. cr.sendContainerState(containerMapValue)
  27896. }
  27897. mv = int(dd.DecodeInt(intBitsize))
  27898. if v != nil {
  27899. v[mk] = mv
  27900. }
  27901. }
  27902. if cr != nil {
  27903. cr.sendContainerState(containerMapEnd)
  27904. }
  27905. return v, changed
  27906. }
  27907. func (f *decFnInfo) fastpathDecMapUintptrInt8R(rv reflect.Value) {
  27908. if rv.CanAddr() {
  27909. vp := rv2i(rv.Addr()).(*map[uintptr]int8)
  27910. v, changed := fastpathTV.DecMapUintptrInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  27911. if changed {
  27912. *vp = v
  27913. }
  27914. } else {
  27915. v := rv2i(rv).(map[uintptr]int8)
  27916. fastpathTV.DecMapUintptrInt8V(v, fastpathCheckNilFalse, false, f.d)
  27917. }
  27918. }
  27919. func (f fastpathT) DecMapUintptrInt8X(vp *map[uintptr]int8, checkNil bool, d *Decoder) {
  27920. v, changed := f.DecMapUintptrInt8V(*vp, checkNil, true, d)
  27921. if changed {
  27922. *vp = v
  27923. }
  27924. }
  27925. func (_ fastpathT) DecMapUintptrInt8V(v map[uintptr]int8, checkNil bool, canChange bool,
  27926. d *Decoder) (_ map[uintptr]int8, changed bool) {
  27927. dd := d.d
  27928. cr := d.cr
  27929. if checkNil && dd.TryDecodeAsNil() {
  27930. if v != nil {
  27931. changed = true
  27932. }
  27933. return nil, changed
  27934. }
  27935. containerLen := dd.ReadMapStart()
  27936. if canChange && v == nil {
  27937. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  27938. v = make(map[uintptr]int8, xlen)
  27939. changed = true
  27940. }
  27941. if containerLen == 0 {
  27942. if cr != nil {
  27943. cr.sendContainerState(containerMapEnd)
  27944. }
  27945. return v, changed
  27946. }
  27947. var mk uintptr
  27948. var mv int8
  27949. hasLen := containerLen > 0
  27950. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  27951. if cr != nil {
  27952. cr.sendContainerState(containerMapKey)
  27953. }
  27954. mk = uintptr(dd.DecodeUint(uintBitsize))
  27955. if cr != nil {
  27956. cr.sendContainerState(containerMapValue)
  27957. }
  27958. mv = int8(dd.DecodeInt(8))
  27959. if v != nil {
  27960. v[mk] = mv
  27961. }
  27962. }
  27963. if cr != nil {
  27964. cr.sendContainerState(containerMapEnd)
  27965. }
  27966. return v, changed
  27967. }
  27968. func (f *decFnInfo) fastpathDecMapUintptrInt16R(rv reflect.Value) {
  27969. if rv.CanAddr() {
  27970. vp := rv2i(rv.Addr()).(*map[uintptr]int16)
  27971. v, changed := fastpathTV.DecMapUintptrInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  27972. if changed {
  27973. *vp = v
  27974. }
  27975. } else {
  27976. v := rv2i(rv).(map[uintptr]int16)
  27977. fastpathTV.DecMapUintptrInt16V(v, fastpathCheckNilFalse, false, f.d)
  27978. }
  27979. }
  27980. func (f fastpathT) DecMapUintptrInt16X(vp *map[uintptr]int16, checkNil bool, d *Decoder) {
  27981. v, changed := f.DecMapUintptrInt16V(*vp, checkNil, true, d)
  27982. if changed {
  27983. *vp = v
  27984. }
  27985. }
  27986. func (_ fastpathT) DecMapUintptrInt16V(v map[uintptr]int16, checkNil bool, canChange bool,
  27987. d *Decoder) (_ map[uintptr]int16, changed bool) {
  27988. dd := d.d
  27989. cr := d.cr
  27990. if checkNil && dd.TryDecodeAsNil() {
  27991. if v != nil {
  27992. changed = true
  27993. }
  27994. return nil, changed
  27995. }
  27996. containerLen := dd.ReadMapStart()
  27997. if canChange && v == nil {
  27998. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  27999. v = make(map[uintptr]int16, xlen)
  28000. changed = true
  28001. }
  28002. if containerLen == 0 {
  28003. if cr != nil {
  28004. cr.sendContainerState(containerMapEnd)
  28005. }
  28006. return v, changed
  28007. }
  28008. var mk uintptr
  28009. var mv int16
  28010. hasLen := containerLen > 0
  28011. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28012. if cr != nil {
  28013. cr.sendContainerState(containerMapKey)
  28014. }
  28015. mk = uintptr(dd.DecodeUint(uintBitsize))
  28016. if cr != nil {
  28017. cr.sendContainerState(containerMapValue)
  28018. }
  28019. mv = int16(dd.DecodeInt(16))
  28020. if v != nil {
  28021. v[mk] = mv
  28022. }
  28023. }
  28024. if cr != nil {
  28025. cr.sendContainerState(containerMapEnd)
  28026. }
  28027. return v, changed
  28028. }
  28029. func (f *decFnInfo) fastpathDecMapUintptrInt32R(rv reflect.Value) {
  28030. if rv.CanAddr() {
  28031. vp := rv2i(rv.Addr()).(*map[uintptr]int32)
  28032. v, changed := fastpathTV.DecMapUintptrInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  28033. if changed {
  28034. *vp = v
  28035. }
  28036. } else {
  28037. v := rv2i(rv).(map[uintptr]int32)
  28038. fastpathTV.DecMapUintptrInt32V(v, fastpathCheckNilFalse, false, f.d)
  28039. }
  28040. }
  28041. func (f fastpathT) DecMapUintptrInt32X(vp *map[uintptr]int32, checkNil bool, d *Decoder) {
  28042. v, changed := f.DecMapUintptrInt32V(*vp, checkNil, true, d)
  28043. if changed {
  28044. *vp = v
  28045. }
  28046. }
  28047. func (_ fastpathT) DecMapUintptrInt32V(v map[uintptr]int32, checkNil bool, canChange bool,
  28048. d *Decoder) (_ map[uintptr]int32, changed bool) {
  28049. dd := d.d
  28050. cr := d.cr
  28051. if checkNil && dd.TryDecodeAsNil() {
  28052. if v != nil {
  28053. changed = true
  28054. }
  28055. return nil, changed
  28056. }
  28057. containerLen := dd.ReadMapStart()
  28058. if canChange && v == nil {
  28059. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  28060. v = make(map[uintptr]int32, xlen)
  28061. changed = true
  28062. }
  28063. if containerLen == 0 {
  28064. if cr != nil {
  28065. cr.sendContainerState(containerMapEnd)
  28066. }
  28067. return v, changed
  28068. }
  28069. var mk uintptr
  28070. var mv int32
  28071. hasLen := containerLen > 0
  28072. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28073. if cr != nil {
  28074. cr.sendContainerState(containerMapKey)
  28075. }
  28076. mk = uintptr(dd.DecodeUint(uintBitsize))
  28077. if cr != nil {
  28078. cr.sendContainerState(containerMapValue)
  28079. }
  28080. mv = int32(dd.DecodeInt(32))
  28081. if v != nil {
  28082. v[mk] = mv
  28083. }
  28084. }
  28085. if cr != nil {
  28086. cr.sendContainerState(containerMapEnd)
  28087. }
  28088. return v, changed
  28089. }
  28090. func (f *decFnInfo) fastpathDecMapUintptrInt64R(rv reflect.Value) {
  28091. if rv.CanAddr() {
  28092. vp := rv2i(rv.Addr()).(*map[uintptr]int64)
  28093. v, changed := fastpathTV.DecMapUintptrInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  28094. if changed {
  28095. *vp = v
  28096. }
  28097. } else {
  28098. v := rv2i(rv).(map[uintptr]int64)
  28099. fastpathTV.DecMapUintptrInt64V(v, fastpathCheckNilFalse, false, f.d)
  28100. }
  28101. }
  28102. func (f fastpathT) DecMapUintptrInt64X(vp *map[uintptr]int64, checkNil bool, d *Decoder) {
  28103. v, changed := f.DecMapUintptrInt64V(*vp, checkNil, true, d)
  28104. if changed {
  28105. *vp = v
  28106. }
  28107. }
  28108. func (_ fastpathT) DecMapUintptrInt64V(v map[uintptr]int64, checkNil bool, canChange bool,
  28109. d *Decoder) (_ map[uintptr]int64, changed bool) {
  28110. dd := d.d
  28111. cr := d.cr
  28112. if checkNil && dd.TryDecodeAsNil() {
  28113. if v != nil {
  28114. changed = true
  28115. }
  28116. return nil, changed
  28117. }
  28118. containerLen := dd.ReadMapStart()
  28119. if canChange && v == nil {
  28120. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  28121. v = make(map[uintptr]int64, xlen)
  28122. changed = true
  28123. }
  28124. if containerLen == 0 {
  28125. if cr != nil {
  28126. cr.sendContainerState(containerMapEnd)
  28127. }
  28128. return v, changed
  28129. }
  28130. var mk uintptr
  28131. var mv int64
  28132. hasLen := containerLen > 0
  28133. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28134. if cr != nil {
  28135. cr.sendContainerState(containerMapKey)
  28136. }
  28137. mk = uintptr(dd.DecodeUint(uintBitsize))
  28138. if cr != nil {
  28139. cr.sendContainerState(containerMapValue)
  28140. }
  28141. mv = dd.DecodeInt(64)
  28142. if v != nil {
  28143. v[mk] = mv
  28144. }
  28145. }
  28146. if cr != nil {
  28147. cr.sendContainerState(containerMapEnd)
  28148. }
  28149. return v, changed
  28150. }
  28151. func (f *decFnInfo) fastpathDecMapUintptrFloat32R(rv reflect.Value) {
  28152. if rv.CanAddr() {
  28153. vp := rv2i(rv.Addr()).(*map[uintptr]float32)
  28154. v, changed := fastpathTV.DecMapUintptrFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  28155. if changed {
  28156. *vp = v
  28157. }
  28158. } else {
  28159. v := rv2i(rv).(map[uintptr]float32)
  28160. fastpathTV.DecMapUintptrFloat32V(v, fastpathCheckNilFalse, false, f.d)
  28161. }
  28162. }
  28163. func (f fastpathT) DecMapUintptrFloat32X(vp *map[uintptr]float32, checkNil bool, d *Decoder) {
  28164. v, changed := f.DecMapUintptrFloat32V(*vp, checkNil, true, d)
  28165. if changed {
  28166. *vp = v
  28167. }
  28168. }
  28169. func (_ fastpathT) DecMapUintptrFloat32V(v map[uintptr]float32, checkNil bool, canChange bool,
  28170. d *Decoder) (_ map[uintptr]float32, changed bool) {
  28171. dd := d.d
  28172. cr := d.cr
  28173. if checkNil && dd.TryDecodeAsNil() {
  28174. if v != nil {
  28175. changed = true
  28176. }
  28177. return nil, changed
  28178. }
  28179. containerLen := dd.ReadMapStart()
  28180. if canChange && v == nil {
  28181. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  28182. v = make(map[uintptr]float32, xlen)
  28183. changed = true
  28184. }
  28185. if containerLen == 0 {
  28186. if cr != nil {
  28187. cr.sendContainerState(containerMapEnd)
  28188. }
  28189. return v, changed
  28190. }
  28191. var mk uintptr
  28192. var mv float32
  28193. hasLen := containerLen > 0
  28194. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28195. if cr != nil {
  28196. cr.sendContainerState(containerMapKey)
  28197. }
  28198. mk = uintptr(dd.DecodeUint(uintBitsize))
  28199. if cr != nil {
  28200. cr.sendContainerState(containerMapValue)
  28201. }
  28202. mv = float32(dd.DecodeFloat(true))
  28203. if v != nil {
  28204. v[mk] = mv
  28205. }
  28206. }
  28207. if cr != nil {
  28208. cr.sendContainerState(containerMapEnd)
  28209. }
  28210. return v, changed
  28211. }
  28212. func (f *decFnInfo) fastpathDecMapUintptrFloat64R(rv reflect.Value) {
  28213. if rv.CanAddr() {
  28214. vp := rv2i(rv.Addr()).(*map[uintptr]float64)
  28215. v, changed := fastpathTV.DecMapUintptrFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  28216. if changed {
  28217. *vp = v
  28218. }
  28219. } else {
  28220. v := rv2i(rv).(map[uintptr]float64)
  28221. fastpathTV.DecMapUintptrFloat64V(v, fastpathCheckNilFalse, false, f.d)
  28222. }
  28223. }
  28224. func (f fastpathT) DecMapUintptrFloat64X(vp *map[uintptr]float64, checkNil bool, d *Decoder) {
  28225. v, changed := f.DecMapUintptrFloat64V(*vp, checkNil, true, d)
  28226. if changed {
  28227. *vp = v
  28228. }
  28229. }
  28230. func (_ fastpathT) DecMapUintptrFloat64V(v map[uintptr]float64, checkNil bool, canChange bool,
  28231. d *Decoder) (_ map[uintptr]float64, changed bool) {
  28232. dd := d.d
  28233. cr := d.cr
  28234. if checkNil && dd.TryDecodeAsNil() {
  28235. if v != nil {
  28236. changed = true
  28237. }
  28238. return nil, changed
  28239. }
  28240. containerLen := dd.ReadMapStart()
  28241. if canChange && v == nil {
  28242. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  28243. v = make(map[uintptr]float64, xlen)
  28244. changed = true
  28245. }
  28246. if containerLen == 0 {
  28247. if cr != nil {
  28248. cr.sendContainerState(containerMapEnd)
  28249. }
  28250. return v, changed
  28251. }
  28252. var mk uintptr
  28253. var mv float64
  28254. hasLen := containerLen > 0
  28255. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28256. if cr != nil {
  28257. cr.sendContainerState(containerMapKey)
  28258. }
  28259. mk = uintptr(dd.DecodeUint(uintBitsize))
  28260. if cr != nil {
  28261. cr.sendContainerState(containerMapValue)
  28262. }
  28263. mv = dd.DecodeFloat(false)
  28264. if v != nil {
  28265. v[mk] = mv
  28266. }
  28267. }
  28268. if cr != nil {
  28269. cr.sendContainerState(containerMapEnd)
  28270. }
  28271. return v, changed
  28272. }
  28273. func (f *decFnInfo) fastpathDecMapUintptrBoolR(rv reflect.Value) {
  28274. if rv.CanAddr() {
  28275. vp := rv2i(rv.Addr()).(*map[uintptr]bool)
  28276. v, changed := fastpathTV.DecMapUintptrBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  28277. if changed {
  28278. *vp = v
  28279. }
  28280. } else {
  28281. v := rv2i(rv).(map[uintptr]bool)
  28282. fastpathTV.DecMapUintptrBoolV(v, fastpathCheckNilFalse, false, f.d)
  28283. }
  28284. }
  28285. func (f fastpathT) DecMapUintptrBoolX(vp *map[uintptr]bool, checkNil bool, d *Decoder) {
  28286. v, changed := f.DecMapUintptrBoolV(*vp, checkNil, true, d)
  28287. if changed {
  28288. *vp = v
  28289. }
  28290. }
  28291. func (_ fastpathT) DecMapUintptrBoolV(v map[uintptr]bool, checkNil bool, canChange bool,
  28292. d *Decoder) (_ map[uintptr]bool, changed bool) {
  28293. dd := d.d
  28294. cr := d.cr
  28295. if checkNil && dd.TryDecodeAsNil() {
  28296. if v != nil {
  28297. changed = true
  28298. }
  28299. return nil, changed
  28300. }
  28301. containerLen := dd.ReadMapStart()
  28302. if canChange && v == nil {
  28303. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  28304. v = make(map[uintptr]bool, xlen)
  28305. changed = true
  28306. }
  28307. if containerLen == 0 {
  28308. if cr != nil {
  28309. cr.sendContainerState(containerMapEnd)
  28310. }
  28311. return v, changed
  28312. }
  28313. var mk uintptr
  28314. var mv bool
  28315. hasLen := containerLen > 0
  28316. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28317. if cr != nil {
  28318. cr.sendContainerState(containerMapKey)
  28319. }
  28320. mk = uintptr(dd.DecodeUint(uintBitsize))
  28321. if cr != nil {
  28322. cr.sendContainerState(containerMapValue)
  28323. }
  28324. mv = dd.DecodeBool()
  28325. if v != nil {
  28326. v[mk] = mv
  28327. }
  28328. }
  28329. if cr != nil {
  28330. cr.sendContainerState(containerMapEnd)
  28331. }
  28332. return v, changed
  28333. }
  28334. func (f *decFnInfo) fastpathDecMapIntIntfR(rv reflect.Value) {
  28335. if rv.CanAddr() {
  28336. vp := rv2i(rv.Addr()).(*map[int]interface{})
  28337. v, changed := fastpathTV.DecMapIntIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  28338. if changed {
  28339. *vp = v
  28340. }
  28341. } else {
  28342. v := rv2i(rv).(map[int]interface{})
  28343. fastpathTV.DecMapIntIntfV(v, fastpathCheckNilFalse, false, f.d)
  28344. }
  28345. }
  28346. func (f fastpathT) DecMapIntIntfX(vp *map[int]interface{}, checkNil bool, d *Decoder) {
  28347. v, changed := f.DecMapIntIntfV(*vp, checkNil, true, d)
  28348. if changed {
  28349. *vp = v
  28350. }
  28351. }
  28352. func (_ fastpathT) DecMapIntIntfV(v map[int]interface{}, checkNil bool, canChange bool,
  28353. d *Decoder) (_ map[int]interface{}, changed bool) {
  28354. dd := d.d
  28355. cr := d.cr
  28356. if checkNil && dd.TryDecodeAsNil() {
  28357. if v != nil {
  28358. changed = true
  28359. }
  28360. return nil, changed
  28361. }
  28362. containerLen := dd.ReadMapStart()
  28363. if canChange && v == nil {
  28364. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  28365. v = make(map[int]interface{}, xlen)
  28366. changed = true
  28367. }
  28368. if containerLen == 0 {
  28369. if cr != nil {
  28370. cr.sendContainerState(containerMapEnd)
  28371. }
  28372. return v, changed
  28373. }
  28374. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  28375. var mk int
  28376. var mv interface{}
  28377. hasLen := containerLen > 0
  28378. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28379. if cr != nil {
  28380. cr.sendContainerState(containerMapKey)
  28381. }
  28382. mk = int(dd.DecodeInt(intBitsize))
  28383. if cr != nil {
  28384. cr.sendContainerState(containerMapValue)
  28385. }
  28386. if mapGet {
  28387. mv = v[mk]
  28388. } else {
  28389. mv = nil
  28390. }
  28391. d.decode(&mv)
  28392. if v != nil {
  28393. v[mk] = mv
  28394. }
  28395. }
  28396. if cr != nil {
  28397. cr.sendContainerState(containerMapEnd)
  28398. }
  28399. return v, changed
  28400. }
  28401. func (f *decFnInfo) fastpathDecMapIntStringR(rv reflect.Value) {
  28402. if rv.CanAddr() {
  28403. vp := rv2i(rv.Addr()).(*map[int]string)
  28404. v, changed := fastpathTV.DecMapIntStringV(*vp, fastpathCheckNilFalse, true, f.d)
  28405. if changed {
  28406. *vp = v
  28407. }
  28408. } else {
  28409. v := rv2i(rv).(map[int]string)
  28410. fastpathTV.DecMapIntStringV(v, fastpathCheckNilFalse, false, f.d)
  28411. }
  28412. }
  28413. func (f fastpathT) DecMapIntStringX(vp *map[int]string, checkNil bool, d *Decoder) {
  28414. v, changed := f.DecMapIntStringV(*vp, checkNil, true, d)
  28415. if changed {
  28416. *vp = v
  28417. }
  28418. }
  28419. func (_ fastpathT) DecMapIntStringV(v map[int]string, checkNil bool, canChange bool,
  28420. d *Decoder) (_ map[int]string, changed bool) {
  28421. dd := d.d
  28422. cr := d.cr
  28423. if checkNil && dd.TryDecodeAsNil() {
  28424. if v != nil {
  28425. changed = true
  28426. }
  28427. return nil, changed
  28428. }
  28429. containerLen := dd.ReadMapStart()
  28430. if canChange && v == nil {
  28431. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  28432. v = make(map[int]string, xlen)
  28433. changed = true
  28434. }
  28435. if containerLen == 0 {
  28436. if cr != nil {
  28437. cr.sendContainerState(containerMapEnd)
  28438. }
  28439. return v, changed
  28440. }
  28441. var mk int
  28442. var mv string
  28443. hasLen := containerLen > 0
  28444. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28445. if cr != nil {
  28446. cr.sendContainerState(containerMapKey)
  28447. }
  28448. mk = int(dd.DecodeInt(intBitsize))
  28449. if cr != nil {
  28450. cr.sendContainerState(containerMapValue)
  28451. }
  28452. mv = dd.DecodeString()
  28453. if v != nil {
  28454. v[mk] = mv
  28455. }
  28456. }
  28457. if cr != nil {
  28458. cr.sendContainerState(containerMapEnd)
  28459. }
  28460. return v, changed
  28461. }
  28462. func (f *decFnInfo) fastpathDecMapIntUintR(rv reflect.Value) {
  28463. if rv.CanAddr() {
  28464. vp := rv2i(rv.Addr()).(*map[int]uint)
  28465. v, changed := fastpathTV.DecMapIntUintV(*vp, fastpathCheckNilFalse, true, f.d)
  28466. if changed {
  28467. *vp = v
  28468. }
  28469. } else {
  28470. v := rv2i(rv).(map[int]uint)
  28471. fastpathTV.DecMapIntUintV(v, fastpathCheckNilFalse, false, f.d)
  28472. }
  28473. }
  28474. func (f fastpathT) DecMapIntUintX(vp *map[int]uint, checkNil bool, d *Decoder) {
  28475. v, changed := f.DecMapIntUintV(*vp, checkNil, true, d)
  28476. if changed {
  28477. *vp = v
  28478. }
  28479. }
  28480. func (_ fastpathT) DecMapIntUintV(v map[int]uint, checkNil bool, canChange bool,
  28481. d *Decoder) (_ map[int]uint, changed bool) {
  28482. dd := d.d
  28483. cr := d.cr
  28484. if checkNil && dd.TryDecodeAsNil() {
  28485. if v != nil {
  28486. changed = true
  28487. }
  28488. return nil, changed
  28489. }
  28490. containerLen := dd.ReadMapStart()
  28491. if canChange && v == nil {
  28492. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  28493. v = make(map[int]uint, xlen)
  28494. changed = true
  28495. }
  28496. if containerLen == 0 {
  28497. if cr != nil {
  28498. cr.sendContainerState(containerMapEnd)
  28499. }
  28500. return v, changed
  28501. }
  28502. var mk int
  28503. var mv uint
  28504. hasLen := containerLen > 0
  28505. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28506. if cr != nil {
  28507. cr.sendContainerState(containerMapKey)
  28508. }
  28509. mk = int(dd.DecodeInt(intBitsize))
  28510. if cr != nil {
  28511. cr.sendContainerState(containerMapValue)
  28512. }
  28513. mv = uint(dd.DecodeUint(uintBitsize))
  28514. if v != nil {
  28515. v[mk] = mv
  28516. }
  28517. }
  28518. if cr != nil {
  28519. cr.sendContainerState(containerMapEnd)
  28520. }
  28521. return v, changed
  28522. }
  28523. func (f *decFnInfo) fastpathDecMapIntUint8R(rv reflect.Value) {
  28524. if rv.CanAddr() {
  28525. vp := rv2i(rv.Addr()).(*map[int]uint8)
  28526. v, changed := fastpathTV.DecMapIntUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  28527. if changed {
  28528. *vp = v
  28529. }
  28530. } else {
  28531. v := rv2i(rv).(map[int]uint8)
  28532. fastpathTV.DecMapIntUint8V(v, fastpathCheckNilFalse, false, f.d)
  28533. }
  28534. }
  28535. func (f fastpathT) DecMapIntUint8X(vp *map[int]uint8, checkNil bool, d *Decoder) {
  28536. v, changed := f.DecMapIntUint8V(*vp, checkNil, true, d)
  28537. if changed {
  28538. *vp = v
  28539. }
  28540. }
  28541. func (_ fastpathT) DecMapIntUint8V(v map[int]uint8, checkNil bool, canChange bool,
  28542. d *Decoder) (_ map[int]uint8, changed bool) {
  28543. dd := d.d
  28544. cr := d.cr
  28545. if checkNil && dd.TryDecodeAsNil() {
  28546. if v != nil {
  28547. changed = true
  28548. }
  28549. return nil, changed
  28550. }
  28551. containerLen := dd.ReadMapStart()
  28552. if canChange && v == nil {
  28553. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  28554. v = make(map[int]uint8, xlen)
  28555. changed = true
  28556. }
  28557. if containerLen == 0 {
  28558. if cr != nil {
  28559. cr.sendContainerState(containerMapEnd)
  28560. }
  28561. return v, changed
  28562. }
  28563. var mk int
  28564. var mv uint8
  28565. hasLen := containerLen > 0
  28566. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28567. if cr != nil {
  28568. cr.sendContainerState(containerMapKey)
  28569. }
  28570. mk = int(dd.DecodeInt(intBitsize))
  28571. if cr != nil {
  28572. cr.sendContainerState(containerMapValue)
  28573. }
  28574. mv = uint8(dd.DecodeUint(8))
  28575. if v != nil {
  28576. v[mk] = mv
  28577. }
  28578. }
  28579. if cr != nil {
  28580. cr.sendContainerState(containerMapEnd)
  28581. }
  28582. return v, changed
  28583. }
  28584. func (f *decFnInfo) fastpathDecMapIntUint16R(rv reflect.Value) {
  28585. if rv.CanAddr() {
  28586. vp := rv2i(rv.Addr()).(*map[int]uint16)
  28587. v, changed := fastpathTV.DecMapIntUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  28588. if changed {
  28589. *vp = v
  28590. }
  28591. } else {
  28592. v := rv2i(rv).(map[int]uint16)
  28593. fastpathTV.DecMapIntUint16V(v, fastpathCheckNilFalse, false, f.d)
  28594. }
  28595. }
  28596. func (f fastpathT) DecMapIntUint16X(vp *map[int]uint16, checkNil bool, d *Decoder) {
  28597. v, changed := f.DecMapIntUint16V(*vp, checkNil, true, d)
  28598. if changed {
  28599. *vp = v
  28600. }
  28601. }
  28602. func (_ fastpathT) DecMapIntUint16V(v map[int]uint16, checkNil bool, canChange bool,
  28603. d *Decoder) (_ map[int]uint16, changed bool) {
  28604. dd := d.d
  28605. cr := d.cr
  28606. if checkNil && dd.TryDecodeAsNil() {
  28607. if v != nil {
  28608. changed = true
  28609. }
  28610. return nil, changed
  28611. }
  28612. containerLen := dd.ReadMapStart()
  28613. if canChange && v == nil {
  28614. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  28615. v = make(map[int]uint16, xlen)
  28616. changed = true
  28617. }
  28618. if containerLen == 0 {
  28619. if cr != nil {
  28620. cr.sendContainerState(containerMapEnd)
  28621. }
  28622. return v, changed
  28623. }
  28624. var mk int
  28625. var mv uint16
  28626. hasLen := containerLen > 0
  28627. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28628. if cr != nil {
  28629. cr.sendContainerState(containerMapKey)
  28630. }
  28631. mk = int(dd.DecodeInt(intBitsize))
  28632. if cr != nil {
  28633. cr.sendContainerState(containerMapValue)
  28634. }
  28635. mv = uint16(dd.DecodeUint(16))
  28636. if v != nil {
  28637. v[mk] = mv
  28638. }
  28639. }
  28640. if cr != nil {
  28641. cr.sendContainerState(containerMapEnd)
  28642. }
  28643. return v, changed
  28644. }
  28645. func (f *decFnInfo) fastpathDecMapIntUint32R(rv reflect.Value) {
  28646. if rv.CanAddr() {
  28647. vp := rv2i(rv.Addr()).(*map[int]uint32)
  28648. v, changed := fastpathTV.DecMapIntUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  28649. if changed {
  28650. *vp = v
  28651. }
  28652. } else {
  28653. v := rv2i(rv).(map[int]uint32)
  28654. fastpathTV.DecMapIntUint32V(v, fastpathCheckNilFalse, false, f.d)
  28655. }
  28656. }
  28657. func (f fastpathT) DecMapIntUint32X(vp *map[int]uint32, checkNil bool, d *Decoder) {
  28658. v, changed := f.DecMapIntUint32V(*vp, checkNil, true, d)
  28659. if changed {
  28660. *vp = v
  28661. }
  28662. }
  28663. func (_ fastpathT) DecMapIntUint32V(v map[int]uint32, checkNil bool, canChange bool,
  28664. d *Decoder) (_ map[int]uint32, changed bool) {
  28665. dd := d.d
  28666. cr := d.cr
  28667. if checkNil && dd.TryDecodeAsNil() {
  28668. if v != nil {
  28669. changed = true
  28670. }
  28671. return nil, changed
  28672. }
  28673. containerLen := dd.ReadMapStart()
  28674. if canChange && v == nil {
  28675. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  28676. v = make(map[int]uint32, xlen)
  28677. changed = true
  28678. }
  28679. if containerLen == 0 {
  28680. if cr != nil {
  28681. cr.sendContainerState(containerMapEnd)
  28682. }
  28683. return v, changed
  28684. }
  28685. var mk int
  28686. var mv uint32
  28687. hasLen := containerLen > 0
  28688. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28689. if cr != nil {
  28690. cr.sendContainerState(containerMapKey)
  28691. }
  28692. mk = int(dd.DecodeInt(intBitsize))
  28693. if cr != nil {
  28694. cr.sendContainerState(containerMapValue)
  28695. }
  28696. mv = uint32(dd.DecodeUint(32))
  28697. if v != nil {
  28698. v[mk] = mv
  28699. }
  28700. }
  28701. if cr != nil {
  28702. cr.sendContainerState(containerMapEnd)
  28703. }
  28704. return v, changed
  28705. }
  28706. func (f *decFnInfo) fastpathDecMapIntUint64R(rv reflect.Value) {
  28707. if rv.CanAddr() {
  28708. vp := rv2i(rv.Addr()).(*map[int]uint64)
  28709. v, changed := fastpathTV.DecMapIntUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  28710. if changed {
  28711. *vp = v
  28712. }
  28713. } else {
  28714. v := rv2i(rv).(map[int]uint64)
  28715. fastpathTV.DecMapIntUint64V(v, fastpathCheckNilFalse, false, f.d)
  28716. }
  28717. }
  28718. func (f fastpathT) DecMapIntUint64X(vp *map[int]uint64, checkNil bool, d *Decoder) {
  28719. v, changed := f.DecMapIntUint64V(*vp, checkNil, true, d)
  28720. if changed {
  28721. *vp = v
  28722. }
  28723. }
  28724. func (_ fastpathT) DecMapIntUint64V(v map[int]uint64, checkNil bool, canChange bool,
  28725. d *Decoder) (_ map[int]uint64, changed bool) {
  28726. dd := d.d
  28727. cr := d.cr
  28728. if checkNil && dd.TryDecodeAsNil() {
  28729. if v != nil {
  28730. changed = true
  28731. }
  28732. return nil, changed
  28733. }
  28734. containerLen := dd.ReadMapStart()
  28735. if canChange && v == nil {
  28736. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  28737. v = make(map[int]uint64, xlen)
  28738. changed = true
  28739. }
  28740. if containerLen == 0 {
  28741. if cr != nil {
  28742. cr.sendContainerState(containerMapEnd)
  28743. }
  28744. return v, changed
  28745. }
  28746. var mk int
  28747. var mv uint64
  28748. hasLen := containerLen > 0
  28749. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28750. if cr != nil {
  28751. cr.sendContainerState(containerMapKey)
  28752. }
  28753. mk = int(dd.DecodeInt(intBitsize))
  28754. if cr != nil {
  28755. cr.sendContainerState(containerMapValue)
  28756. }
  28757. mv = dd.DecodeUint(64)
  28758. if v != nil {
  28759. v[mk] = mv
  28760. }
  28761. }
  28762. if cr != nil {
  28763. cr.sendContainerState(containerMapEnd)
  28764. }
  28765. return v, changed
  28766. }
  28767. func (f *decFnInfo) fastpathDecMapIntUintptrR(rv reflect.Value) {
  28768. if rv.CanAddr() {
  28769. vp := rv2i(rv.Addr()).(*map[int]uintptr)
  28770. v, changed := fastpathTV.DecMapIntUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  28771. if changed {
  28772. *vp = v
  28773. }
  28774. } else {
  28775. v := rv2i(rv).(map[int]uintptr)
  28776. fastpathTV.DecMapIntUintptrV(v, fastpathCheckNilFalse, false, f.d)
  28777. }
  28778. }
  28779. func (f fastpathT) DecMapIntUintptrX(vp *map[int]uintptr, checkNil bool, d *Decoder) {
  28780. v, changed := f.DecMapIntUintptrV(*vp, checkNil, true, d)
  28781. if changed {
  28782. *vp = v
  28783. }
  28784. }
  28785. func (_ fastpathT) DecMapIntUintptrV(v map[int]uintptr, checkNil bool, canChange bool,
  28786. d *Decoder) (_ map[int]uintptr, changed bool) {
  28787. dd := d.d
  28788. cr := d.cr
  28789. if checkNil && dd.TryDecodeAsNil() {
  28790. if v != nil {
  28791. changed = true
  28792. }
  28793. return nil, changed
  28794. }
  28795. containerLen := dd.ReadMapStart()
  28796. if canChange && v == nil {
  28797. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  28798. v = make(map[int]uintptr, xlen)
  28799. changed = true
  28800. }
  28801. if containerLen == 0 {
  28802. if cr != nil {
  28803. cr.sendContainerState(containerMapEnd)
  28804. }
  28805. return v, changed
  28806. }
  28807. var mk int
  28808. var mv uintptr
  28809. hasLen := containerLen > 0
  28810. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28811. if cr != nil {
  28812. cr.sendContainerState(containerMapKey)
  28813. }
  28814. mk = int(dd.DecodeInt(intBitsize))
  28815. if cr != nil {
  28816. cr.sendContainerState(containerMapValue)
  28817. }
  28818. mv = uintptr(dd.DecodeUint(uintBitsize))
  28819. if v != nil {
  28820. v[mk] = mv
  28821. }
  28822. }
  28823. if cr != nil {
  28824. cr.sendContainerState(containerMapEnd)
  28825. }
  28826. return v, changed
  28827. }
  28828. func (f *decFnInfo) fastpathDecMapIntIntR(rv reflect.Value) {
  28829. if rv.CanAddr() {
  28830. vp := rv2i(rv.Addr()).(*map[int]int)
  28831. v, changed := fastpathTV.DecMapIntIntV(*vp, fastpathCheckNilFalse, true, f.d)
  28832. if changed {
  28833. *vp = v
  28834. }
  28835. } else {
  28836. v := rv2i(rv).(map[int]int)
  28837. fastpathTV.DecMapIntIntV(v, fastpathCheckNilFalse, false, f.d)
  28838. }
  28839. }
  28840. func (f fastpathT) DecMapIntIntX(vp *map[int]int, checkNil bool, d *Decoder) {
  28841. v, changed := f.DecMapIntIntV(*vp, checkNil, true, d)
  28842. if changed {
  28843. *vp = v
  28844. }
  28845. }
  28846. func (_ fastpathT) DecMapIntIntV(v map[int]int, checkNil bool, canChange bool,
  28847. d *Decoder) (_ map[int]int, changed bool) {
  28848. dd := d.d
  28849. cr := d.cr
  28850. if checkNil && dd.TryDecodeAsNil() {
  28851. if v != nil {
  28852. changed = true
  28853. }
  28854. return nil, changed
  28855. }
  28856. containerLen := dd.ReadMapStart()
  28857. if canChange && v == nil {
  28858. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  28859. v = make(map[int]int, xlen)
  28860. changed = true
  28861. }
  28862. if containerLen == 0 {
  28863. if cr != nil {
  28864. cr.sendContainerState(containerMapEnd)
  28865. }
  28866. return v, changed
  28867. }
  28868. var mk int
  28869. var mv int
  28870. hasLen := containerLen > 0
  28871. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28872. if cr != nil {
  28873. cr.sendContainerState(containerMapKey)
  28874. }
  28875. mk = int(dd.DecodeInt(intBitsize))
  28876. if cr != nil {
  28877. cr.sendContainerState(containerMapValue)
  28878. }
  28879. mv = int(dd.DecodeInt(intBitsize))
  28880. if v != nil {
  28881. v[mk] = mv
  28882. }
  28883. }
  28884. if cr != nil {
  28885. cr.sendContainerState(containerMapEnd)
  28886. }
  28887. return v, changed
  28888. }
  28889. func (f *decFnInfo) fastpathDecMapIntInt8R(rv reflect.Value) {
  28890. if rv.CanAddr() {
  28891. vp := rv2i(rv.Addr()).(*map[int]int8)
  28892. v, changed := fastpathTV.DecMapIntInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  28893. if changed {
  28894. *vp = v
  28895. }
  28896. } else {
  28897. v := rv2i(rv).(map[int]int8)
  28898. fastpathTV.DecMapIntInt8V(v, fastpathCheckNilFalse, false, f.d)
  28899. }
  28900. }
  28901. func (f fastpathT) DecMapIntInt8X(vp *map[int]int8, checkNil bool, d *Decoder) {
  28902. v, changed := f.DecMapIntInt8V(*vp, checkNil, true, d)
  28903. if changed {
  28904. *vp = v
  28905. }
  28906. }
  28907. func (_ fastpathT) DecMapIntInt8V(v map[int]int8, checkNil bool, canChange bool,
  28908. d *Decoder) (_ map[int]int8, changed bool) {
  28909. dd := d.d
  28910. cr := d.cr
  28911. if checkNil && dd.TryDecodeAsNil() {
  28912. if v != nil {
  28913. changed = true
  28914. }
  28915. return nil, changed
  28916. }
  28917. containerLen := dd.ReadMapStart()
  28918. if canChange && v == nil {
  28919. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  28920. v = make(map[int]int8, xlen)
  28921. changed = true
  28922. }
  28923. if containerLen == 0 {
  28924. if cr != nil {
  28925. cr.sendContainerState(containerMapEnd)
  28926. }
  28927. return v, changed
  28928. }
  28929. var mk int
  28930. var mv int8
  28931. hasLen := containerLen > 0
  28932. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28933. if cr != nil {
  28934. cr.sendContainerState(containerMapKey)
  28935. }
  28936. mk = int(dd.DecodeInt(intBitsize))
  28937. if cr != nil {
  28938. cr.sendContainerState(containerMapValue)
  28939. }
  28940. mv = int8(dd.DecodeInt(8))
  28941. if v != nil {
  28942. v[mk] = mv
  28943. }
  28944. }
  28945. if cr != nil {
  28946. cr.sendContainerState(containerMapEnd)
  28947. }
  28948. return v, changed
  28949. }
  28950. func (f *decFnInfo) fastpathDecMapIntInt16R(rv reflect.Value) {
  28951. if rv.CanAddr() {
  28952. vp := rv2i(rv.Addr()).(*map[int]int16)
  28953. v, changed := fastpathTV.DecMapIntInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  28954. if changed {
  28955. *vp = v
  28956. }
  28957. } else {
  28958. v := rv2i(rv).(map[int]int16)
  28959. fastpathTV.DecMapIntInt16V(v, fastpathCheckNilFalse, false, f.d)
  28960. }
  28961. }
  28962. func (f fastpathT) DecMapIntInt16X(vp *map[int]int16, checkNil bool, d *Decoder) {
  28963. v, changed := f.DecMapIntInt16V(*vp, checkNil, true, d)
  28964. if changed {
  28965. *vp = v
  28966. }
  28967. }
  28968. func (_ fastpathT) DecMapIntInt16V(v map[int]int16, checkNil bool, canChange bool,
  28969. d *Decoder) (_ map[int]int16, changed bool) {
  28970. dd := d.d
  28971. cr := d.cr
  28972. if checkNil && dd.TryDecodeAsNil() {
  28973. if v != nil {
  28974. changed = true
  28975. }
  28976. return nil, changed
  28977. }
  28978. containerLen := dd.ReadMapStart()
  28979. if canChange && v == nil {
  28980. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  28981. v = make(map[int]int16, xlen)
  28982. changed = true
  28983. }
  28984. if containerLen == 0 {
  28985. if cr != nil {
  28986. cr.sendContainerState(containerMapEnd)
  28987. }
  28988. return v, changed
  28989. }
  28990. var mk int
  28991. var mv int16
  28992. hasLen := containerLen > 0
  28993. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  28994. if cr != nil {
  28995. cr.sendContainerState(containerMapKey)
  28996. }
  28997. mk = int(dd.DecodeInt(intBitsize))
  28998. if cr != nil {
  28999. cr.sendContainerState(containerMapValue)
  29000. }
  29001. mv = int16(dd.DecodeInt(16))
  29002. if v != nil {
  29003. v[mk] = mv
  29004. }
  29005. }
  29006. if cr != nil {
  29007. cr.sendContainerState(containerMapEnd)
  29008. }
  29009. return v, changed
  29010. }
  29011. func (f *decFnInfo) fastpathDecMapIntInt32R(rv reflect.Value) {
  29012. if rv.CanAddr() {
  29013. vp := rv2i(rv.Addr()).(*map[int]int32)
  29014. v, changed := fastpathTV.DecMapIntInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  29015. if changed {
  29016. *vp = v
  29017. }
  29018. } else {
  29019. v := rv2i(rv).(map[int]int32)
  29020. fastpathTV.DecMapIntInt32V(v, fastpathCheckNilFalse, false, f.d)
  29021. }
  29022. }
  29023. func (f fastpathT) DecMapIntInt32X(vp *map[int]int32, checkNil bool, d *Decoder) {
  29024. v, changed := f.DecMapIntInt32V(*vp, checkNil, true, d)
  29025. if changed {
  29026. *vp = v
  29027. }
  29028. }
  29029. func (_ fastpathT) DecMapIntInt32V(v map[int]int32, checkNil bool, canChange bool,
  29030. d *Decoder) (_ map[int]int32, changed bool) {
  29031. dd := d.d
  29032. cr := d.cr
  29033. if checkNil && dd.TryDecodeAsNil() {
  29034. if v != nil {
  29035. changed = true
  29036. }
  29037. return nil, changed
  29038. }
  29039. containerLen := dd.ReadMapStart()
  29040. if canChange && v == nil {
  29041. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  29042. v = make(map[int]int32, xlen)
  29043. changed = true
  29044. }
  29045. if containerLen == 0 {
  29046. if cr != nil {
  29047. cr.sendContainerState(containerMapEnd)
  29048. }
  29049. return v, changed
  29050. }
  29051. var mk int
  29052. var mv int32
  29053. hasLen := containerLen > 0
  29054. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29055. if cr != nil {
  29056. cr.sendContainerState(containerMapKey)
  29057. }
  29058. mk = int(dd.DecodeInt(intBitsize))
  29059. if cr != nil {
  29060. cr.sendContainerState(containerMapValue)
  29061. }
  29062. mv = int32(dd.DecodeInt(32))
  29063. if v != nil {
  29064. v[mk] = mv
  29065. }
  29066. }
  29067. if cr != nil {
  29068. cr.sendContainerState(containerMapEnd)
  29069. }
  29070. return v, changed
  29071. }
  29072. func (f *decFnInfo) fastpathDecMapIntInt64R(rv reflect.Value) {
  29073. if rv.CanAddr() {
  29074. vp := rv2i(rv.Addr()).(*map[int]int64)
  29075. v, changed := fastpathTV.DecMapIntInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  29076. if changed {
  29077. *vp = v
  29078. }
  29079. } else {
  29080. v := rv2i(rv).(map[int]int64)
  29081. fastpathTV.DecMapIntInt64V(v, fastpathCheckNilFalse, false, f.d)
  29082. }
  29083. }
  29084. func (f fastpathT) DecMapIntInt64X(vp *map[int]int64, checkNil bool, d *Decoder) {
  29085. v, changed := f.DecMapIntInt64V(*vp, checkNil, true, d)
  29086. if changed {
  29087. *vp = v
  29088. }
  29089. }
  29090. func (_ fastpathT) DecMapIntInt64V(v map[int]int64, checkNil bool, canChange bool,
  29091. d *Decoder) (_ map[int]int64, changed bool) {
  29092. dd := d.d
  29093. cr := d.cr
  29094. if checkNil && dd.TryDecodeAsNil() {
  29095. if v != nil {
  29096. changed = true
  29097. }
  29098. return nil, changed
  29099. }
  29100. containerLen := dd.ReadMapStart()
  29101. if canChange && v == nil {
  29102. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  29103. v = make(map[int]int64, xlen)
  29104. changed = true
  29105. }
  29106. if containerLen == 0 {
  29107. if cr != nil {
  29108. cr.sendContainerState(containerMapEnd)
  29109. }
  29110. return v, changed
  29111. }
  29112. var mk int
  29113. var mv int64
  29114. hasLen := containerLen > 0
  29115. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29116. if cr != nil {
  29117. cr.sendContainerState(containerMapKey)
  29118. }
  29119. mk = int(dd.DecodeInt(intBitsize))
  29120. if cr != nil {
  29121. cr.sendContainerState(containerMapValue)
  29122. }
  29123. mv = dd.DecodeInt(64)
  29124. if v != nil {
  29125. v[mk] = mv
  29126. }
  29127. }
  29128. if cr != nil {
  29129. cr.sendContainerState(containerMapEnd)
  29130. }
  29131. return v, changed
  29132. }
  29133. func (f *decFnInfo) fastpathDecMapIntFloat32R(rv reflect.Value) {
  29134. if rv.CanAddr() {
  29135. vp := rv2i(rv.Addr()).(*map[int]float32)
  29136. v, changed := fastpathTV.DecMapIntFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  29137. if changed {
  29138. *vp = v
  29139. }
  29140. } else {
  29141. v := rv2i(rv).(map[int]float32)
  29142. fastpathTV.DecMapIntFloat32V(v, fastpathCheckNilFalse, false, f.d)
  29143. }
  29144. }
  29145. func (f fastpathT) DecMapIntFloat32X(vp *map[int]float32, checkNil bool, d *Decoder) {
  29146. v, changed := f.DecMapIntFloat32V(*vp, checkNil, true, d)
  29147. if changed {
  29148. *vp = v
  29149. }
  29150. }
  29151. func (_ fastpathT) DecMapIntFloat32V(v map[int]float32, checkNil bool, canChange bool,
  29152. d *Decoder) (_ map[int]float32, changed bool) {
  29153. dd := d.d
  29154. cr := d.cr
  29155. if checkNil && dd.TryDecodeAsNil() {
  29156. if v != nil {
  29157. changed = true
  29158. }
  29159. return nil, changed
  29160. }
  29161. containerLen := dd.ReadMapStart()
  29162. if canChange && v == nil {
  29163. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  29164. v = make(map[int]float32, xlen)
  29165. changed = true
  29166. }
  29167. if containerLen == 0 {
  29168. if cr != nil {
  29169. cr.sendContainerState(containerMapEnd)
  29170. }
  29171. return v, changed
  29172. }
  29173. var mk int
  29174. var mv float32
  29175. hasLen := containerLen > 0
  29176. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29177. if cr != nil {
  29178. cr.sendContainerState(containerMapKey)
  29179. }
  29180. mk = int(dd.DecodeInt(intBitsize))
  29181. if cr != nil {
  29182. cr.sendContainerState(containerMapValue)
  29183. }
  29184. mv = float32(dd.DecodeFloat(true))
  29185. if v != nil {
  29186. v[mk] = mv
  29187. }
  29188. }
  29189. if cr != nil {
  29190. cr.sendContainerState(containerMapEnd)
  29191. }
  29192. return v, changed
  29193. }
  29194. func (f *decFnInfo) fastpathDecMapIntFloat64R(rv reflect.Value) {
  29195. if rv.CanAddr() {
  29196. vp := rv2i(rv.Addr()).(*map[int]float64)
  29197. v, changed := fastpathTV.DecMapIntFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  29198. if changed {
  29199. *vp = v
  29200. }
  29201. } else {
  29202. v := rv2i(rv).(map[int]float64)
  29203. fastpathTV.DecMapIntFloat64V(v, fastpathCheckNilFalse, false, f.d)
  29204. }
  29205. }
  29206. func (f fastpathT) DecMapIntFloat64X(vp *map[int]float64, checkNil bool, d *Decoder) {
  29207. v, changed := f.DecMapIntFloat64V(*vp, checkNil, true, d)
  29208. if changed {
  29209. *vp = v
  29210. }
  29211. }
  29212. func (_ fastpathT) DecMapIntFloat64V(v map[int]float64, checkNil bool, canChange bool,
  29213. d *Decoder) (_ map[int]float64, changed bool) {
  29214. dd := d.d
  29215. cr := d.cr
  29216. if checkNil && dd.TryDecodeAsNil() {
  29217. if v != nil {
  29218. changed = true
  29219. }
  29220. return nil, changed
  29221. }
  29222. containerLen := dd.ReadMapStart()
  29223. if canChange && v == nil {
  29224. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  29225. v = make(map[int]float64, xlen)
  29226. changed = true
  29227. }
  29228. if containerLen == 0 {
  29229. if cr != nil {
  29230. cr.sendContainerState(containerMapEnd)
  29231. }
  29232. return v, changed
  29233. }
  29234. var mk int
  29235. var mv float64
  29236. hasLen := containerLen > 0
  29237. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29238. if cr != nil {
  29239. cr.sendContainerState(containerMapKey)
  29240. }
  29241. mk = int(dd.DecodeInt(intBitsize))
  29242. if cr != nil {
  29243. cr.sendContainerState(containerMapValue)
  29244. }
  29245. mv = dd.DecodeFloat(false)
  29246. if v != nil {
  29247. v[mk] = mv
  29248. }
  29249. }
  29250. if cr != nil {
  29251. cr.sendContainerState(containerMapEnd)
  29252. }
  29253. return v, changed
  29254. }
  29255. func (f *decFnInfo) fastpathDecMapIntBoolR(rv reflect.Value) {
  29256. if rv.CanAddr() {
  29257. vp := rv2i(rv.Addr()).(*map[int]bool)
  29258. v, changed := fastpathTV.DecMapIntBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  29259. if changed {
  29260. *vp = v
  29261. }
  29262. } else {
  29263. v := rv2i(rv).(map[int]bool)
  29264. fastpathTV.DecMapIntBoolV(v, fastpathCheckNilFalse, false, f.d)
  29265. }
  29266. }
  29267. func (f fastpathT) DecMapIntBoolX(vp *map[int]bool, checkNil bool, d *Decoder) {
  29268. v, changed := f.DecMapIntBoolV(*vp, checkNil, true, d)
  29269. if changed {
  29270. *vp = v
  29271. }
  29272. }
  29273. func (_ fastpathT) DecMapIntBoolV(v map[int]bool, checkNil bool, canChange bool,
  29274. d *Decoder) (_ map[int]bool, changed bool) {
  29275. dd := d.d
  29276. cr := d.cr
  29277. if checkNil && dd.TryDecodeAsNil() {
  29278. if v != nil {
  29279. changed = true
  29280. }
  29281. return nil, changed
  29282. }
  29283. containerLen := dd.ReadMapStart()
  29284. if canChange && v == nil {
  29285. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  29286. v = make(map[int]bool, xlen)
  29287. changed = true
  29288. }
  29289. if containerLen == 0 {
  29290. if cr != nil {
  29291. cr.sendContainerState(containerMapEnd)
  29292. }
  29293. return v, changed
  29294. }
  29295. var mk int
  29296. var mv bool
  29297. hasLen := containerLen > 0
  29298. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29299. if cr != nil {
  29300. cr.sendContainerState(containerMapKey)
  29301. }
  29302. mk = int(dd.DecodeInt(intBitsize))
  29303. if cr != nil {
  29304. cr.sendContainerState(containerMapValue)
  29305. }
  29306. mv = dd.DecodeBool()
  29307. if v != nil {
  29308. v[mk] = mv
  29309. }
  29310. }
  29311. if cr != nil {
  29312. cr.sendContainerState(containerMapEnd)
  29313. }
  29314. return v, changed
  29315. }
  29316. func (f *decFnInfo) fastpathDecMapInt8IntfR(rv reflect.Value) {
  29317. if rv.CanAddr() {
  29318. vp := rv2i(rv.Addr()).(*map[int8]interface{})
  29319. v, changed := fastpathTV.DecMapInt8IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  29320. if changed {
  29321. *vp = v
  29322. }
  29323. } else {
  29324. v := rv2i(rv).(map[int8]interface{})
  29325. fastpathTV.DecMapInt8IntfV(v, fastpathCheckNilFalse, false, f.d)
  29326. }
  29327. }
  29328. func (f fastpathT) DecMapInt8IntfX(vp *map[int8]interface{}, checkNil bool, d *Decoder) {
  29329. v, changed := f.DecMapInt8IntfV(*vp, checkNil, true, d)
  29330. if changed {
  29331. *vp = v
  29332. }
  29333. }
  29334. func (_ fastpathT) DecMapInt8IntfV(v map[int8]interface{}, checkNil bool, canChange bool,
  29335. d *Decoder) (_ map[int8]interface{}, changed bool) {
  29336. dd := d.d
  29337. cr := d.cr
  29338. if checkNil && dd.TryDecodeAsNil() {
  29339. if v != nil {
  29340. changed = true
  29341. }
  29342. return nil, changed
  29343. }
  29344. containerLen := dd.ReadMapStart()
  29345. if canChange && v == nil {
  29346. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  29347. v = make(map[int8]interface{}, xlen)
  29348. changed = true
  29349. }
  29350. if containerLen == 0 {
  29351. if cr != nil {
  29352. cr.sendContainerState(containerMapEnd)
  29353. }
  29354. return v, changed
  29355. }
  29356. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  29357. var mk int8
  29358. var mv interface{}
  29359. hasLen := containerLen > 0
  29360. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29361. if cr != nil {
  29362. cr.sendContainerState(containerMapKey)
  29363. }
  29364. mk = int8(dd.DecodeInt(8))
  29365. if cr != nil {
  29366. cr.sendContainerState(containerMapValue)
  29367. }
  29368. if mapGet {
  29369. mv = v[mk]
  29370. } else {
  29371. mv = nil
  29372. }
  29373. d.decode(&mv)
  29374. if v != nil {
  29375. v[mk] = mv
  29376. }
  29377. }
  29378. if cr != nil {
  29379. cr.sendContainerState(containerMapEnd)
  29380. }
  29381. return v, changed
  29382. }
  29383. func (f *decFnInfo) fastpathDecMapInt8StringR(rv reflect.Value) {
  29384. if rv.CanAddr() {
  29385. vp := rv2i(rv.Addr()).(*map[int8]string)
  29386. v, changed := fastpathTV.DecMapInt8StringV(*vp, fastpathCheckNilFalse, true, f.d)
  29387. if changed {
  29388. *vp = v
  29389. }
  29390. } else {
  29391. v := rv2i(rv).(map[int8]string)
  29392. fastpathTV.DecMapInt8StringV(v, fastpathCheckNilFalse, false, f.d)
  29393. }
  29394. }
  29395. func (f fastpathT) DecMapInt8StringX(vp *map[int8]string, checkNil bool, d *Decoder) {
  29396. v, changed := f.DecMapInt8StringV(*vp, checkNil, true, d)
  29397. if changed {
  29398. *vp = v
  29399. }
  29400. }
  29401. func (_ fastpathT) DecMapInt8StringV(v map[int8]string, checkNil bool, canChange bool,
  29402. d *Decoder) (_ map[int8]string, changed bool) {
  29403. dd := d.d
  29404. cr := d.cr
  29405. if checkNil && dd.TryDecodeAsNil() {
  29406. if v != nil {
  29407. changed = true
  29408. }
  29409. return nil, changed
  29410. }
  29411. containerLen := dd.ReadMapStart()
  29412. if canChange && v == nil {
  29413. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  29414. v = make(map[int8]string, xlen)
  29415. changed = true
  29416. }
  29417. if containerLen == 0 {
  29418. if cr != nil {
  29419. cr.sendContainerState(containerMapEnd)
  29420. }
  29421. return v, changed
  29422. }
  29423. var mk int8
  29424. var mv string
  29425. hasLen := containerLen > 0
  29426. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29427. if cr != nil {
  29428. cr.sendContainerState(containerMapKey)
  29429. }
  29430. mk = int8(dd.DecodeInt(8))
  29431. if cr != nil {
  29432. cr.sendContainerState(containerMapValue)
  29433. }
  29434. mv = dd.DecodeString()
  29435. if v != nil {
  29436. v[mk] = mv
  29437. }
  29438. }
  29439. if cr != nil {
  29440. cr.sendContainerState(containerMapEnd)
  29441. }
  29442. return v, changed
  29443. }
  29444. func (f *decFnInfo) fastpathDecMapInt8UintR(rv reflect.Value) {
  29445. if rv.CanAddr() {
  29446. vp := rv2i(rv.Addr()).(*map[int8]uint)
  29447. v, changed := fastpathTV.DecMapInt8UintV(*vp, fastpathCheckNilFalse, true, f.d)
  29448. if changed {
  29449. *vp = v
  29450. }
  29451. } else {
  29452. v := rv2i(rv).(map[int8]uint)
  29453. fastpathTV.DecMapInt8UintV(v, fastpathCheckNilFalse, false, f.d)
  29454. }
  29455. }
  29456. func (f fastpathT) DecMapInt8UintX(vp *map[int8]uint, checkNil bool, d *Decoder) {
  29457. v, changed := f.DecMapInt8UintV(*vp, checkNil, true, d)
  29458. if changed {
  29459. *vp = v
  29460. }
  29461. }
  29462. func (_ fastpathT) DecMapInt8UintV(v map[int8]uint, checkNil bool, canChange bool,
  29463. d *Decoder) (_ map[int8]uint, changed bool) {
  29464. dd := d.d
  29465. cr := d.cr
  29466. if checkNil && dd.TryDecodeAsNil() {
  29467. if v != nil {
  29468. changed = true
  29469. }
  29470. return nil, changed
  29471. }
  29472. containerLen := dd.ReadMapStart()
  29473. if canChange && v == nil {
  29474. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  29475. v = make(map[int8]uint, xlen)
  29476. changed = true
  29477. }
  29478. if containerLen == 0 {
  29479. if cr != nil {
  29480. cr.sendContainerState(containerMapEnd)
  29481. }
  29482. return v, changed
  29483. }
  29484. var mk int8
  29485. var mv uint
  29486. hasLen := containerLen > 0
  29487. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29488. if cr != nil {
  29489. cr.sendContainerState(containerMapKey)
  29490. }
  29491. mk = int8(dd.DecodeInt(8))
  29492. if cr != nil {
  29493. cr.sendContainerState(containerMapValue)
  29494. }
  29495. mv = uint(dd.DecodeUint(uintBitsize))
  29496. if v != nil {
  29497. v[mk] = mv
  29498. }
  29499. }
  29500. if cr != nil {
  29501. cr.sendContainerState(containerMapEnd)
  29502. }
  29503. return v, changed
  29504. }
  29505. func (f *decFnInfo) fastpathDecMapInt8Uint8R(rv reflect.Value) {
  29506. if rv.CanAddr() {
  29507. vp := rv2i(rv.Addr()).(*map[int8]uint8)
  29508. v, changed := fastpathTV.DecMapInt8Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  29509. if changed {
  29510. *vp = v
  29511. }
  29512. } else {
  29513. v := rv2i(rv).(map[int8]uint8)
  29514. fastpathTV.DecMapInt8Uint8V(v, fastpathCheckNilFalse, false, f.d)
  29515. }
  29516. }
  29517. func (f fastpathT) DecMapInt8Uint8X(vp *map[int8]uint8, checkNil bool, d *Decoder) {
  29518. v, changed := f.DecMapInt8Uint8V(*vp, checkNil, true, d)
  29519. if changed {
  29520. *vp = v
  29521. }
  29522. }
  29523. func (_ fastpathT) DecMapInt8Uint8V(v map[int8]uint8, checkNil bool, canChange bool,
  29524. d *Decoder) (_ map[int8]uint8, changed bool) {
  29525. dd := d.d
  29526. cr := d.cr
  29527. if checkNil && dd.TryDecodeAsNil() {
  29528. if v != nil {
  29529. changed = true
  29530. }
  29531. return nil, changed
  29532. }
  29533. containerLen := dd.ReadMapStart()
  29534. if canChange && v == nil {
  29535. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  29536. v = make(map[int8]uint8, xlen)
  29537. changed = true
  29538. }
  29539. if containerLen == 0 {
  29540. if cr != nil {
  29541. cr.sendContainerState(containerMapEnd)
  29542. }
  29543. return v, changed
  29544. }
  29545. var mk int8
  29546. var mv uint8
  29547. hasLen := containerLen > 0
  29548. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29549. if cr != nil {
  29550. cr.sendContainerState(containerMapKey)
  29551. }
  29552. mk = int8(dd.DecodeInt(8))
  29553. if cr != nil {
  29554. cr.sendContainerState(containerMapValue)
  29555. }
  29556. mv = uint8(dd.DecodeUint(8))
  29557. if v != nil {
  29558. v[mk] = mv
  29559. }
  29560. }
  29561. if cr != nil {
  29562. cr.sendContainerState(containerMapEnd)
  29563. }
  29564. return v, changed
  29565. }
  29566. func (f *decFnInfo) fastpathDecMapInt8Uint16R(rv reflect.Value) {
  29567. if rv.CanAddr() {
  29568. vp := rv2i(rv.Addr()).(*map[int8]uint16)
  29569. v, changed := fastpathTV.DecMapInt8Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  29570. if changed {
  29571. *vp = v
  29572. }
  29573. } else {
  29574. v := rv2i(rv).(map[int8]uint16)
  29575. fastpathTV.DecMapInt8Uint16V(v, fastpathCheckNilFalse, false, f.d)
  29576. }
  29577. }
  29578. func (f fastpathT) DecMapInt8Uint16X(vp *map[int8]uint16, checkNil bool, d *Decoder) {
  29579. v, changed := f.DecMapInt8Uint16V(*vp, checkNil, true, d)
  29580. if changed {
  29581. *vp = v
  29582. }
  29583. }
  29584. func (_ fastpathT) DecMapInt8Uint16V(v map[int8]uint16, checkNil bool, canChange bool,
  29585. d *Decoder) (_ map[int8]uint16, changed bool) {
  29586. dd := d.d
  29587. cr := d.cr
  29588. if checkNil && dd.TryDecodeAsNil() {
  29589. if v != nil {
  29590. changed = true
  29591. }
  29592. return nil, changed
  29593. }
  29594. containerLen := dd.ReadMapStart()
  29595. if canChange && v == nil {
  29596. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  29597. v = make(map[int8]uint16, xlen)
  29598. changed = true
  29599. }
  29600. if containerLen == 0 {
  29601. if cr != nil {
  29602. cr.sendContainerState(containerMapEnd)
  29603. }
  29604. return v, changed
  29605. }
  29606. var mk int8
  29607. var mv uint16
  29608. hasLen := containerLen > 0
  29609. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29610. if cr != nil {
  29611. cr.sendContainerState(containerMapKey)
  29612. }
  29613. mk = int8(dd.DecodeInt(8))
  29614. if cr != nil {
  29615. cr.sendContainerState(containerMapValue)
  29616. }
  29617. mv = uint16(dd.DecodeUint(16))
  29618. if v != nil {
  29619. v[mk] = mv
  29620. }
  29621. }
  29622. if cr != nil {
  29623. cr.sendContainerState(containerMapEnd)
  29624. }
  29625. return v, changed
  29626. }
  29627. func (f *decFnInfo) fastpathDecMapInt8Uint32R(rv reflect.Value) {
  29628. if rv.CanAddr() {
  29629. vp := rv2i(rv.Addr()).(*map[int8]uint32)
  29630. v, changed := fastpathTV.DecMapInt8Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  29631. if changed {
  29632. *vp = v
  29633. }
  29634. } else {
  29635. v := rv2i(rv).(map[int8]uint32)
  29636. fastpathTV.DecMapInt8Uint32V(v, fastpathCheckNilFalse, false, f.d)
  29637. }
  29638. }
  29639. func (f fastpathT) DecMapInt8Uint32X(vp *map[int8]uint32, checkNil bool, d *Decoder) {
  29640. v, changed := f.DecMapInt8Uint32V(*vp, checkNil, true, d)
  29641. if changed {
  29642. *vp = v
  29643. }
  29644. }
  29645. func (_ fastpathT) DecMapInt8Uint32V(v map[int8]uint32, checkNil bool, canChange bool,
  29646. d *Decoder) (_ map[int8]uint32, changed bool) {
  29647. dd := d.d
  29648. cr := d.cr
  29649. if checkNil && dd.TryDecodeAsNil() {
  29650. if v != nil {
  29651. changed = true
  29652. }
  29653. return nil, changed
  29654. }
  29655. containerLen := dd.ReadMapStart()
  29656. if canChange && v == nil {
  29657. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  29658. v = make(map[int8]uint32, xlen)
  29659. changed = true
  29660. }
  29661. if containerLen == 0 {
  29662. if cr != nil {
  29663. cr.sendContainerState(containerMapEnd)
  29664. }
  29665. return v, changed
  29666. }
  29667. var mk int8
  29668. var mv uint32
  29669. hasLen := containerLen > 0
  29670. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29671. if cr != nil {
  29672. cr.sendContainerState(containerMapKey)
  29673. }
  29674. mk = int8(dd.DecodeInt(8))
  29675. if cr != nil {
  29676. cr.sendContainerState(containerMapValue)
  29677. }
  29678. mv = uint32(dd.DecodeUint(32))
  29679. if v != nil {
  29680. v[mk] = mv
  29681. }
  29682. }
  29683. if cr != nil {
  29684. cr.sendContainerState(containerMapEnd)
  29685. }
  29686. return v, changed
  29687. }
  29688. func (f *decFnInfo) fastpathDecMapInt8Uint64R(rv reflect.Value) {
  29689. if rv.CanAddr() {
  29690. vp := rv2i(rv.Addr()).(*map[int8]uint64)
  29691. v, changed := fastpathTV.DecMapInt8Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  29692. if changed {
  29693. *vp = v
  29694. }
  29695. } else {
  29696. v := rv2i(rv).(map[int8]uint64)
  29697. fastpathTV.DecMapInt8Uint64V(v, fastpathCheckNilFalse, false, f.d)
  29698. }
  29699. }
  29700. func (f fastpathT) DecMapInt8Uint64X(vp *map[int8]uint64, checkNil bool, d *Decoder) {
  29701. v, changed := f.DecMapInt8Uint64V(*vp, checkNil, true, d)
  29702. if changed {
  29703. *vp = v
  29704. }
  29705. }
  29706. func (_ fastpathT) DecMapInt8Uint64V(v map[int8]uint64, checkNil bool, canChange bool,
  29707. d *Decoder) (_ map[int8]uint64, changed bool) {
  29708. dd := d.d
  29709. cr := d.cr
  29710. if checkNil && dd.TryDecodeAsNil() {
  29711. if v != nil {
  29712. changed = true
  29713. }
  29714. return nil, changed
  29715. }
  29716. containerLen := dd.ReadMapStart()
  29717. if canChange && v == nil {
  29718. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  29719. v = make(map[int8]uint64, xlen)
  29720. changed = true
  29721. }
  29722. if containerLen == 0 {
  29723. if cr != nil {
  29724. cr.sendContainerState(containerMapEnd)
  29725. }
  29726. return v, changed
  29727. }
  29728. var mk int8
  29729. var mv uint64
  29730. hasLen := containerLen > 0
  29731. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29732. if cr != nil {
  29733. cr.sendContainerState(containerMapKey)
  29734. }
  29735. mk = int8(dd.DecodeInt(8))
  29736. if cr != nil {
  29737. cr.sendContainerState(containerMapValue)
  29738. }
  29739. mv = dd.DecodeUint(64)
  29740. if v != nil {
  29741. v[mk] = mv
  29742. }
  29743. }
  29744. if cr != nil {
  29745. cr.sendContainerState(containerMapEnd)
  29746. }
  29747. return v, changed
  29748. }
  29749. func (f *decFnInfo) fastpathDecMapInt8UintptrR(rv reflect.Value) {
  29750. if rv.CanAddr() {
  29751. vp := rv2i(rv.Addr()).(*map[int8]uintptr)
  29752. v, changed := fastpathTV.DecMapInt8UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  29753. if changed {
  29754. *vp = v
  29755. }
  29756. } else {
  29757. v := rv2i(rv).(map[int8]uintptr)
  29758. fastpathTV.DecMapInt8UintptrV(v, fastpathCheckNilFalse, false, f.d)
  29759. }
  29760. }
  29761. func (f fastpathT) DecMapInt8UintptrX(vp *map[int8]uintptr, checkNil bool, d *Decoder) {
  29762. v, changed := f.DecMapInt8UintptrV(*vp, checkNil, true, d)
  29763. if changed {
  29764. *vp = v
  29765. }
  29766. }
  29767. func (_ fastpathT) DecMapInt8UintptrV(v map[int8]uintptr, checkNil bool, canChange bool,
  29768. d *Decoder) (_ map[int8]uintptr, changed bool) {
  29769. dd := d.d
  29770. cr := d.cr
  29771. if checkNil && dd.TryDecodeAsNil() {
  29772. if v != nil {
  29773. changed = true
  29774. }
  29775. return nil, changed
  29776. }
  29777. containerLen := dd.ReadMapStart()
  29778. if canChange && v == nil {
  29779. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  29780. v = make(map[int8]uintptr, xlen)
  29781. changed = true
  29782. }
  29783. if containerLen == 0 {
  29784. if cr != nil {
  29785. cr.sendContainerState(containerMapEnd)
  29786. }
  29787. return v, changed
  29788. }
  29789. var mk int8
  29790. var mv uintptr
  29791. hasLen := containerLen > 0
  29792. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29793. if cr != nil {
  29794. cr.sendContainerState(containerMapKey)
  29795. }
  29796. mk = int8(dd.DecodeInt(8))
  29797. if cr != nil {
  29798. cr.sendContainerState(containerMapValue)
  29799. }
  29800. mv = uintptr(dd.DecodeUint(uintBitsize))
  29801. if v != nil {
  29802. v[mk] = mv
  29803. }
  29804. }
  29805. if cr != nil {
  29806. cr.sendContainerState(containerMapEnd)
  29807. }
  29808. return v, changed
  29809. }
  29810. func (f *decFnInfo) fastpathDecMapInt8IntR(rv reflect.Value) {
  29811. if rv.CanAddr() {
  29812. vp := rv2i(rv.Addr()).(*map[int8]int)
  29813. v, changed := fastpathTV.DecMapInt8IntV(*vp, fastpathCheckNilFalse, true, f.d)
  29814. if changed {
  29815. *vp = v
  29816. }
  29817. } else {
  29818. v := rv2i(rv).(map[int8]int)
  29819. fastpathTV.DecMapInt8IntV(v, fastpathCheckNilFalse, false, f.d)
  29820. }
  29821. }
  29822. func (f fastpathT) DecMapInt8IntX(vp *map[int8]int, checkNil bool, d *Decoder) {
  29823. v, changed := f.DecMapInt8IntV(*vp, checkNil, true, d)
  29824. if changed {
  29825. *vp = v
  29826. }
  29827. }
  29828. func (_ fastpathT) DecMapInt8IntV(v map[int8]int, checkNil bool, canChange bool,
  29829. d *Decoder) (_ map[int8]int, changed bool) {
  29830. dd := d.d
  29831. cr := d.cr
  29832. if checkNil && dd.TryDecodeAsNil() {
  29833. if v != nil {
  29834. changed = true
  29835. }
  29836. return nil, changed
  29837. }
  29838. containerLen := dd.ReadMapStart()
  29839. if canChange && v == nil {
  29840. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  29841. v = make(map[int8]int, xlen)
  29842. changed = true
  29843. }
  29844. if containerLen == 0 {
  29845. if cr != nil {
  29846. cr.sendContainerState(containerMapEnd)
  29847. }
  29848. return v, changed
  29849. }
  29850. var mk int8
  29851. var mv int
  29852. hasLen := containerLen > 0
  29853. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29854. if cr != nil {
  29855. cr.sendContainerState(containerMapKey)
  29856. }
  29857. mk = int8(dd.DecodeInt(8))
  29858. if cr != nil {
  29859. cr.sendContainerState(containerMapValue)
  29860. }
  29861. mv = int(dd.DecodeInt(intBitsize))
  29862. if v != nil {
  29863. v[mk] = mv
  29864. }
  29865. }
  29866. if cr != nil {
  29867. cr.sendContainerState(containerMapEnd)
  29868. }
  29869. return v, changed
  29870. }
  29871. func (f *decFnInfo) fastpathDecMapInt8Int8R(rv reflect.Value) {
  29872. if rv.CanAddr() {
  29873. vp := rv2i(rv.Addr()).(*map[int8]int8)
  29874. v, changed := fastpathTV.DecMapInt8Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  29875. if changed {
  29876. *vp = v
  29877. }
  29878. } else {
  29879. v := rv2i(rv).(map[int8]int8)
  29880. fastpathTV.DecMapInt8Int8V(v, fastpathCheckNilFalse, false, f.d)
  29881. }
  29882. }
  29883. func (f fastpathT) DecMapInt8Int8X(vp *map[int8]int8, checkNil bool, d *Decoder) {
  29884. v, changed := f.DecMapInt8Int8V(*vp, checkNil, true, d)
  29885. if changed {
  29886. *vp = v
  29887. }
  29888. }
  29889. func (_ fastpathT) DecMapInt8Int8V(v map[int8]int8, checkNil bool, canChange bool,
  29890. d *Decoder) (_ map[int8]int8, changed bool) {
  29891. dd := d.d
  29892. cr := d.cr
  29893. if checkNil && dd.TryDecodeAsNil() {
  29894. if v != nil {
  29895. changed = true
  29896. }
  29897. return nil, changed
  29898. }
  29899. containerLen := dd.ReadMapStart()
  29900. if canChange && v == nil {
  29901. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  29902. v = make(map[int8]int8, xlen)
  29903. changed = true
  29904. }
  29905. if containerLen == 0 {
  29906. if cr != nil {
  29907. cr.sendContainerState(containerMapEnd)
  29908. }
  29909. return v, changed
  29910. }
  29911. var mk int8
  29912. var mv int8
  29913. hasLen := containerLen > 0
  29914. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29915. if cr != nil {
  29916. cr.sendContainerState(containerMapKey)
  29917. }
  29918. mk = int8(dd.DecodeInt(8))
  29919. if cr != nil {
  29920. cr.sendContainerState(containerMapValue)
  29921. }
  29922. mv = int8(dd.DecodeInt(8))
  29923. if v != nil {
  29924. v[mk] = mv
  29925. }
  29926. }
  29927. if cr != nil {
  29928. cr.sendContainerState(containerMapEnd)
  29929. }
  29930. return v, changed
  29931. }
  29932. func (f *decFnInfo) fastpathDecMapInt8Int16R(rv reflect.Value) {
  29933. if rv.CanAddr() {
  29934. vp := rv2i(rv.Addr()).(*map[int8]int16)
  29935. v, changed := fastpathTV.DecMapInt8Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  29936. if changed {
  29937. *vp = v
  29938. }
  29939. } else {
  29940. v := rv2i(rv).(map[int8]int16)
  29941. fastpathTV.DecMapInt8Int16V(v, fastpathCheckNilFalse, false, f.d)
  29942. }
  29943. }
  29944. func (f fastpathT) DecMapInt8Int16X(vp *map[int8]int16, checkNil bool, d *Decoder) {
  29945. v, changed := f.DecMapInt8Int16V(*vp, checkNil, true, d)
  29946. if changed {
  29947. *vp = v
  29948. }
  29949. }
  29950. func (_ fastpathT) DecMapInt8Int16V(v map[int8]int16, checkNil bool, canChange bool,
  29951. d *Decoder) (_ map[int8]int16, changed bool) {
  29952. dd := d.d
  29953. cr := d.cr
  29954. if checkNil && dd.TryDecodeAsNil() {
  29955. if v != nil {
  29956. changed = true
  29957. }
  29958. return nil, changed
  29959. }
  29960. containerLen := dd.ReadMapStart()
  29961. if canChange && v == nil {
  29962. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  29963. v = make(map[int8]int16, xlen)
  29964. changed = true
  29965. }
  29966. if containerLen == 0 {
  29967. if cr != nil {
  29968. cr.sendContainerState(containerMapEnd)
  29969. }
  29970. return v, changed
  29971. }
  29972. var mk int8
  29973. var mv int16
  29974. hasLen := containerLen > 0
  29975. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  29976. if cr != nil {
  29977. cr.sendContainerState(containerMapKey)
  29978. }
  29979. mk = int8(dd.DecodeInt(8))
  29980. if cr != nil {
  29981. cr.sendContainerState(containerMapValue)
  29982. }
  29983. mv = int16(dd.DecodeInt(16))
  29984. if v != nil {
  29985. v[mk] = mv
  29986. }
  29987. }
  29988. if cr != nil {
  29989. cr.sendContainerState(containerMapEnd)
  29990. }
  29991. return v, changed
  29992. }
  29993. func (f *decFnInfo) fastpathDecMapInt8Int32R(rv reflect.Value) {
  29994. if rv.CanAddr() {
  29995. vp := rv2i(rv.Addr()).(*map[int8]int32)
  29996. v, changed := fastpathTV.DecMapInt8Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  29997. if changed {
  29998. *vp = v
  29999. }
  30000. } else {
  30001. v := rv2i(rv).(map[int8]int32)
  30002. fastpathTV.DecMapInt8Int32V(v, fastpathCheckNilFalse, false, f.d)
  30003. }
  30004. }
  30005. func (f fastpathT) DecMapInt8Int32X(vp *map[int8]int32, checkNil bool, d *Decoder) {
  30006. v, changed := f.DecMapInt8Int32V(*vp, checkNil, true, d)
  30007. if changed {
  30008. *vp = v
  30009. }
  30010. }
  30011. func (_ fastpathT) DecMapInt8Int32V(v map[int8]int32, checkNil bool, canChange bool,
  30012. d *Decoder) (_ map[int8]int32, changed bool) {
  30013. dd := d.d
  30014. cr := d.cr
  30015. if checkNil && dd.TryDecodeAsNil() {
  30016. if v != nil {
  30017. changed = true
  30018. }
  30019. return nil, changed
  30020. }
  30021. containerLen := dd.ReadMapStart()
  30022. if canChange && v == nil {
  30023. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  30024. v = make(map[int8]int32, xlen)
  30025. changed = true
  30026. }
  30027. if containerLen == 0 {
  30028. if cr != nil {
  30029. cr.sendContainerState(containerMapEnd)
  30030. }
  30031. return v, changed
  30032. }
  30033. var mk int8
  30034. var mv int32
  30035. hasLen := containerLen > 0
  30036. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30037. if cr != nil {
  30038. cr.sendContainerState(containerMapKey)
  30039. }
  30040. mk = int8(dd.DecodeInt(8))
  30041. if cr != nil {
  30042. cr.sendContainerState(containerMapValue)
  30043. }
  30044. mv = int32(dd.DecodeInt(32))
  30045. if v != nil {
  30046. v[mk] = mv
  30047. }
  30048. }
  30049. if cr != nil {
  30050. cr.sendContainerState(containerMapEnd)
  30051. }
  30052. return v, changed
  30053. }
  30054. func (f *decFnInfo) fastpathDecMapInt8Int64R(rv reflect.Value) {
  30055. if rv.CanAddr() {
  30056. vp := rv2i(rv.Addr()).(*map[int8]int64)
  30057. v, changed := fastpathTV.DecMapInt8Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  30058. if changed {
  30059. *vp = v
  30060. }
  30061. } else {
  30062. v := rv2i(rv).(map[int8]int64)
  30063. fastpathTV.DecMapInt8Int64V(v, fastpathCheckNilFalse, false, f.d)
  30064. }
  30065. }
  30066. func (f fastpathT) DecMapInt8Int64X(vp *map[int8]int64, checkNil bool, d *Decoder) {
  30067. v, changed := f.DecMapInt8Int64V(*vp, checkNil, true, d)
  30068. if changed {
  30069. *vp = v
  30070. }
  30071. }
  30072. func (_ fastpathT) DecMapInt8Int64V(v map[int8]int64, checkNil bool, canChange bool,
  30073. d *Decoder) (_ map[int8]int64, changed bool) {
  30074. dd := d.d
  30075. cr := d.cr
  30076. if checkNil && dd.TryDecodeAsNil() {
  30077. if v != nil {
  30078. changed = true
  30079. }
  30080. return nil, changed
  30081. }
  30082. containerLen := dd.ReadMapStart()
  30083. if canChange && v == nil {
  30084. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  30085. v = make(map[int8]int64, xlen)
  30086. changed = true
  30087. }
  30088. if containerLen == 0 {
  30089. if cr != nil {
  30090. cr.sendContainerState(containerMapEnd)
  30091. }
  30092. return v, changed
  30093. }
  30094. var mk int8
  30095. var mv int64
  30096. hasLen := containerLen > 0
  30097. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30098. if cr != nil {
  30099. cr.sendContainerState(containerMapKey)
  30100. }
  30101. mk = int8(dd.DecodeInt(8))
  30102. if cr != nil {
  30103. cr.sendContainerState(containerMapValue)
  30104. }
  30105. mv = dd.DecodeInt(64)
  30106. if v != nil {
  30107. v[mk] = mv
  30108. }
  30109. }
  30110. if cr != nil {
  30111. cr.sendContainerState(containerMapEnd)
  30112. }
  30113. return v, changed
  30114. }
  30115. func (f *decFnInfo) fastpathDecMapInt8Float32R(rv reflect.Value) {
  30116. if rv.CanAddr() {
  30117. vp := rv2i(rv.Addr()).(*map[int8]float32)
  30118. v, changed := fastpathTV.DecMapInt8Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  30119. if changed {
  30120. *vp = v
  30121. }
  30122. } else {
  30123. v := rv2i(rv).(map[int8]float32)
  30124. fastpathTV.DecMapInt8Float32V(v, fastpathCheckNilFalse, false, f.d)
  30125. }
  30126. }
  30127. func (f fastpathT) DecMapInt8Float32X(vp *map[int8]float32, checkNil bool, d *Decoder) {
  30128. v, changed := f.DecMapInt8Float32V(*vp, checkNil, true, d)
  30129. if changed {
  30130. *vp = v
  30131. }
  30132. }
  30133. func (_ fastpathT) DecMapInt8Float32V(v map[int8]float32, checkNil bool, canChange bool,
  30134. d *Decoder) (_ map[int8]float32, changed bool) {
  30135. dd := d.d
  30136. cr := d.cr
  30137. if checkNil && dd.TryDecodeAsNil() {
  30138. if v != nil {
  30139. changed = true
  30140. }
  30141. return nil, changed
  30142. }
  30143. containerLen := dd.ReadMapStart()
  30144. if canChange && v == nil {
  30145. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  30146. v = make(map[int8]float32, xlen)
  30147. changed = true
  30148. }
  30149. if containerLen == 0 {
  30150. if cr != nil {
  30151. cr.sendContainerState(containerMapEnd)
  30152. }
  30153. return v, changed
  30154. }
  30155. var mk int8
  30156. var mv float32
  30157. hasLen := containerLen > 0
  30158. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30159. if cr != nil {
  30160. cr.sendContainerState(containerMapKey)
  30161. }
  30162. mk = int8(dd.DecodeInt(8))
  30163. if cr != nil {
  30164. cr.sendContainerState(containerMapValue)
  30165. }
  30166. mv = float32(dd.DecodeFloat(true))
  30167. if v != nil {
  30168. v[mk] = mv
  30169. }
  30170. }
  30171. if cr != nil {
  30172. cr.sendContainerState(containerMapEnd)
  30173. }
  30174. return v, changed
  30175. }
  30176. func (f *decFnInfo) fastpathDecMapInt8Float64R(rv reflect.Value) {
  30177. if rv.CanAddr() {
  30178. vp := rv2i(rv.Addr()).(*map[int8]float64)
  30179. v, changed := fastpathTV.DecMapInt8Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  30180. if changed {
  30181. *vp = v
  30182. }
  30183. } else {
  30184. v := rv2i(rv).(map[int8]float64)
  30185. fastpathTV.DecMapInt8Float64V(v, fastpathCheckNilFalse, false, f.d)
  30186. }
  30187. }
  30188. func (f fastpathT) DecMapInt8Float64X(vp *map[int8]float64, checkNil bool, d *Decoder) {
  30189. v, changed := f.DecMapInt8Float64V(*vp, checkNil, true, d)
  30190. if changed {
  30191. *vp = v
  30192. }
  30193. }
  30194. func (_ fastpathT) DecMapInt8Float64V(v map[int8]float64, checkNil bool, canChange bool,
  30195. d *Decoder) (_ map[int8]float64, changed bool) {
  30196. dd := d.d
  30197. cr := d.cr
  30198. if checkNil && dd.TryDecodeAsNil() {
  30199. if v != nil {
  30200. changed = true
  30201. }
  30202. return nil, changed
  30203. }
  30204. containerLen := dd.ReadMapStart()
  30205. if canChange && v == nil {
  30206. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  30207. v = make(map[int8]float64, xlen)
  30208. changed = true
  30209. }
  30210. if containerLen == 0 {
  30211. if cr != nil {
  30212. cr.sendContainerState(containerMapEnd)
  30213. }
  30214. return v, changed
  30215. }
  30216. var mk int8
  30217. var mv float64
  30218. hasLen := containerLen > 0
  30219. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30220. if cr != nil {
  30221. cr.sendContainerState(containerMapKey)
  30222. }
  30223. mk = int8(dd.DecodeInt(8))
  30224. if cr != nil {
  30225. cr.sendContainerState(containerMapValue)
  30226. }
  30227. mv = dd.DecodeFloat(false)
  30228. if v != nil {
  30229. v[mk] = mv
  30230. }
  30231. }
  30232. if cr != nil {
  30233. cr.sendContainerState(containerMapEnd)
  30234. }
  30235. return v, changed
  30236. }
  30237. func (f *decFnInfo) fastpathDecMapInt8BoolR(rv reflect.Value) {
  30238. if rv.CanAddr() {
  30239. vp := rv2i(rv.Addr()).(*map[int8]bool)
  30240. v, changed := fastpathTV.DecMapInt8BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  30241. if changed {
  30242. *vp = v
  30243. }
  30244. } else {
  30245. v := rv2i(rv).(map[int8]bool)
  30246. fastpathTV.DecMapInt8BoolV(v, fastpathCheckNilFalse, false, f.d)
  30247. }
  30248. }
  30249. func (f fastpathT) DecMapInt8BoolX(vp *map[int8]bool, checkNil bool, d *Decoder) {
  30250. v, changed := f.DecMapInt8BoolV(*vp, checkNil, true, d)
  30251. if changed {
  30252. *vp = v
  30253. }
  30254. }
  30255. func (_ fastpathT) DecMapInt8BoolV(v map[int8]bool, checkNil bool, canChange bool,
  30256. d *Decoder) (_ map[int8]bool, changed bool) {
  30257. dd := d.d
  30258. cr := d.cr
  30259. if checkNil && dd.TryDecodeAsNil() {
  30260. if v != nil {
  30261. changed = true
  30262. }
  30263. return nil, changed
  30264. }
  30265. containerLen := dd.ReadMapStart()
  30266. if canChange && v == nil {
  30267. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  30268. v = make(map[int8]bool, xlen)
  30269. changed = true
  30270. }
  30271. if containerLen == 0 {
  30272. if cr != nil {
  30273. cr.sendContainerState(containerMapEnd)
  30274. }
  30275. return v, changed
  30276. }
  30277. var mk int8
  30278. var mv bool
  30279. hasLen := containerLen > 0
  30280. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30281. if cr != nil {
  30282. cr.sendContainerState(containerMapKey)
  30283. }
  30284. mk = int8(dd.DecodeInt(8))
  30285. if cr != nil {
  30286. cr.sendContainerState(containerMapValue)
  30287. }
  30288. mv = dd.DecodeBool()
  30289. if v != nil {
  30290. v[mk] = mv
  30291. }
  30292. }
  30293. if cr != nil {
  30294. cr.sendContainerState(containerMapEnd)
  30295. }
  30296. return v, changed
  30297. }
  30298. func (f *decFnInfo) fastpathDecMapInt16IntfR(rv reflect.Value) {
  30299. if rv.CanAddr() {
  30300. vp := rv2i(rv.Addr()).(*map[int16]interface{})
  30301. v, changed := fastpathTV.DecMapInt16IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  30302. if changed {
  30303. *vp = v
  30304. }
  30305. } else {
  30306. v := rv2i(rv).(map[int16]interface{})
  30307. fastpathTV.DecMapInt16IntfV(v, fastpathCheckNilFalse, false, f.d)
  30308. }
  30309. }
  30310. func (f fastpathT) DecMapInt16IntfX(vp *map[int16]interface{}, checkNil bool, d *Decoder) {
  30311. v, changed := f.DecMapInt16IntfV(*vp, checkNil, true, d)
  30312. if changed {
  30313. *vp = v
  30314. }
  30315. }
  30316. func (_ fastpathT) DecMapInt16IntfV(v map[int16]interface{}, checkNil bool, canChange bool,
  30317. d *Decoder) (_ map[int16]interface{}, changed bool) {
  30318. dd := d.d
  30319. cr := d.cr
  30320. if checkNil && dd.TryDecodeAsNil() {
  30321. if v != nil {
  30322. changed = true
  30323. }
  30324. return nil, changed
  30325. }
  30326. containerLen := dd.ReadMapStart()
  30327. if canChange && v == nil {
  30328. xlen := decInferLen(containerLen, d.h.MaxInitLen, 18)
  30329. v = make(map[int16]interface{}, xlen)
  30330. changed = true
  30331. }
  30332. if containerLen == 0 {
  30333. if cr != nil {
  30334. cr.sendContainerState(containerMapEnd)
  30335. }
  30336. return v, changed
  30337. }
  30338. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  30339. var mk int16
  30340. var mv interface{}
  30341. hasLen := containerLen > 0
  30342. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30343. if cr != nil {
  30344. cr.sendContainerState(containerMapKey)
  30345. }
  30346. mk = int16(dd.DecodeInt(16))
  30347. if cr != nil {
  30348. cr.sendContainerState(containerMapValue)
  30349. }
  30350. if mapGet {
  30351. mv = v[mk]
  30352. } else {
  30353. mv = nil
  30354. }
  30355. d.decode(&mv)
  30356. if v != nil {
  30357. v[mk] = mv
  30358. }
  30359. }
  30360. if cr != nil {
  30361. cr.sendContainerState(containerMapEnd)
  30362. }
  30363. return v, changed
  30364. }
  30365. func (f *decFnInfo) fastpathDecMapInt16StringR(rv reflect.Value) {
  30366. if rv.CanAddr() {
  30367. vp := rv2i(rv.Addr()).(*map[int16]string)
  30368. v, changed := fastpathTV.DecMapInt16StringV(*vp, fastpathCheckNilFalse, true, f.d)
  30369. if changed {
  30370. *vp = v
  30371. }
  30372. } else {
  30373. v := rv2i(rv).(map[int16]string)
  30374. fastpathTV.DecMapInt16StringV(v, fastpathCheckNilFalse, false, f.d)
  30375. }
  30376. }
  30377. func (f fastpathT) DecMapInt16StringX(vp *map[int16]string, checkNil bool, d *Decoder) {
  30378. v, changed := f.DecMapInt16StringV(*vp, checkNil, true, d)
  30379. if changed {
  30380. *vp = v
  30381. }
  30382. }
  30383. func (_ fastpathT) DecMapInt16StringV(v map[int16]string, checkNil bool, canChange bool,
  30384. d *Decoder) (_ map[int16]string, changed bool) {
  30385. dd := d.d
  30386. cr := d.cr
  30387. if checkNil && dd.TryDecodeAsNil() {
  30388. if v != nil {
  30389. changed = true
  30390. }
  30391. return nil, changed
  30392. }
  30393. containerLen := dd.ReadMapStart()
  30394. if canChange && v == nil {
  30395. xlen := decInferLen(containerLen, d.h.MaxInitLen, 18)
  30396. v = make(map[int16]string, xlen)
  30397. changed = true
  30398. }
  30399. if containerLen == 0 {
  30400. if cr != nil {
  30401. cr.sendContainerState(containerMapEnd)
  30402. }
  30403. return v, changed
  30404. }
  30405. var mk int16
  30406. var mv string
  30407. hasLen := containerLen > 0
  30408. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30409. if cr != nil {
  30410. cr.sendContainerState(containerMapKey)
  30411. }
  30412. mk = int16(dd.DecodeInt(16))
  30413. if cr != nil {
  30414. cr.sendContainerState(containerMapValue)
  30415. }
  30416. mv = dd.DecodeString()
  30417. if v != nil {
  30418. v[mk] = mv
  30419. }
  30420. }
  30421. if cr != nil {
  30422. cr.sendContainerState(containerMapEnd)
  30423. }
  30424. return v, changed
  30425. }
  30426. func (f *decFnInfo) fastpathDecMapInt16UintR(rv reflect.Value) {
  30427. if rv.CanAddr() {
  30428. vp := rv2i(rv.Addr()).(*map[int16]uint)
  30429. v, changed := fastpathTV.DecMapInt16UintV(*vp, fastpathCheckNilFalse, true, f.d)
  30430. if changed {
  30431. *vp = v
  30432. }
  30433. } else {
  30434. v := rv2i(rv).(map[int16]uint)
  30435. fastpathTV.DecMapInt16UintV(v, fastpathCheckNilFalse, false, f.d)
  30436. }
  30437. }
  30438. func (f fastpathT) DecMapInt16UintX(vp *map[int16]uint, checkNil bool, d *Decoder) {
  30439. v, changed := f.DecMapInt16UintV(*vp, checkNil, true, d)
  30440. if changed {
  30441. *vp = v
  30442. }
  30443. }
  30444. func (_ fastpathT) DecMapInt16UintV(v map[int16]uint, checkNil bool, canChange bool,
  30445. d *Decoder) (_ map[int16]uint, changed bool) {
  30446. dd := d.d
  30447. cr := d.cr
  30448. if checkNil && dd.TryDecodeAsNil() {
  30449. if v != nil {
  30450. changed = true
  30451. }
  30452. return nil, changed
  30453. }
  30454. containerLen := dd.ReadMapStart()
  30455. if canChange && v == nil {
  30456. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  30457. v = make(map[int16]uint, xlen)
  30458. changed = true
  30459. }
  30460. if containerLen == 0 {
  30461. if cr != nil {
  30462. cr.sendContainerState(containerMapEnd)
  30463. }
  30464. return v, changed
  30465. }
  30466. var mk int16
  30467. var mv uint
  30468. hasLen := containerLen > 0
  30469. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30470. if cr != nil {
  30471. cr.sendContainerState(containerMapKey)
  30472. }
  30473. mk = int16(dd.DecodeInt(16))
  30474. if cr != nil {
  30475. cr.sendContainerState(containerMapValue)
  30476. }
  30477. mv = uint(dd.DecodeUint(uintBitsize))
  30478. if v != nil {
  30479. v[mk] = mv
  30480. }
  30481. }
  30482. if cr != nil {
  30483. cr.sendContainerState(containerMapEnd)
  30484. }
  30485. return v, changed
  30486. }
  30487. func (f *decFnInfo) fastpathDecMapInt16Uint8R(rv reflect.Value) {
  30488. if rv.CanAddr() {
  30489. vp := rv2i(rv.Addr()).(*map[int16]uint8)
  30490. v, changed := fastpathTV.DecMapInt16Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  30491. if changed {
  30492. *vp = v
  30493. }
  30494. } else {
  30495. v := rv2i(rv).(map[int16]uint8)
  30496. fastpathTV.DecMapInt16Uint8V(v, fastpathCheckNilFalse, false, f.d)
  30497. }
  30498. }
  30499. func (f fastpathT) DecMapInt16Uint8X(vp *map[int16]uint8, checkNil bool, d *Decoder) {
  30500. v, changed := f.DecMapInt16Uint8V(*vp, checkNil, true, d)
  30501. if changed {
  30502. *vp = v
  30503. }
  30504. }
  30505. func (_ fastpathT) DecMapInt16Uint8V(v map[int16]uint8, checkNil bool, canChange bool,
  30506. d *Decoder) (_ map[int16]uint8, changed bool) {
  30507. dd := d.d
  30508. cr := d.cr
  30509. if checkNil && dd.TryDecodeAsNil() {
  30510. if v != nil {
  30511. changed = true
  30512. }
  30513. return nil, changed
  30514. }
  30515. containerLen := dd.ReadMapStart()
  30516. if canChange && v == nil {
  30517. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  30518. v = make(map[int16]uint8, xlen)
  30519. changed = true
  30520. }
  30521. if containerLen == 0 {
  30522. if cr != nil {
  30523. cr.sendContainerState(containerMapEnd)
  30524. }
  30525. return v, changed
  30526. }
  30527. var mk int16
  30528. var mv uint8
  30529. hasLen := containerLen > 0
  30530. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30531. if cr != nil {
  30532. cr.sendContainerState(containerMapKey)
  30533. }
  30534. mk = int16(dd.DecodeInt(16))
  30535. if cr != nil {
  30536. cr.sendContainerState(containerMapValue)
  30537. }
  30538. mv = uint8(dd.DecodeUint(8))
  30539. if v != nil {
  30540. v[mk] = mv
  30541. }
  30542. }
  30543. if cr != nil {
  30544. cr.sendContainerState(containerMapEnd)
  30545. }
  30546. return v, changed
  30547. }
  30548. func (f *decFnInfo) fastpathDecMapInt16Uint16R(rv reflect.Value) {
  30549. if rv.CanAddr() {
  30550. vp := rv2i(rv.Addr()).(*map[int16]uint16)
  30551. v, changed := fastpathTV.DecMapInt16Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  30552. if changed {
  30553. *vp = v
  30554. }
  30555. } else {
  30556. v := rv2i(rv).(map[int16]uint16)
  30557. fastpathTV.DecMapInt16Uint16V(v, fastpathCheckNilFalse, false, f.d)
  30558. }
  30559. }
  30560. func (f fastpathT) DecMapInt16Uint16X(vp *map[int16]uint16, checkNil bool, d *Decoder) {
  30561. v, changed := f.DecMapInt16Uint16V(*vp, checkNil, true, d)
  30562. if changed {
  30563. *vp = v
  30564. }
  30565. }
  30566. func (_ fastpathT) DecMapInt16Uint16V(v map[int16]uint16, checkNil bool, canChange bool,
  30567. d *Decoder) (_ map[int16]uint16, changed bool) {
  30568. dd := d.d
  30569. cr := d.cr
  30570. if checkNil && dd.TryDecodeAsNil() {
  30571. if v != nil {
  30572. changed = true
  30573. }
  30574. return nil, changed
  30575. }
  30576. containerLen := dd.ReadMapStart()
  30577. if canChange && v == nil {
  30578. xlen := decInferLen(containerLen, d.h.MaxInitLen, 4)
  30579. v = make(map[int16]uint16, xlen)
  30580. changed = true
  30581. }
  30582. if containerLen == 0 {
  30583. if cr != nil {
  30584. cr.sendContainerState(containerMapEnd)
  30585. }
  30586. return v, changed
  30587. }
  30588. var mk int16
  30589. var mv uint16
  30590. hasLen := containerLen > 0
  30591. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30592. if cr != nil {
  30593. cr.sendContainerState(containerMapKey)
  30594. }
  30595. mk = int16(dd.DecodeInt(16))
  30596. if cr != nil {
  30597. cr.sendContainerState(containerMapValue)
  30598. }
  30599. mv = uint16(dd.DecodeUint(16))
  30600. if v != nil {
  30601. v[mk] = mv
  30602. }
  30603. }
  30604. if cr != nil {
  30605. cr.sendContainerState(containerMapEnd)
  30606. }
  30607. return v, changed
  30608. }
  30609. func (f *decFnInfo) fastpathDecMapInt16Uint32R(rv reflect.Value) {
  30610. if rv.CanAddr() {
  30611. vp := rv2i(rv.Addr()).(*map[int16]uint32)
  30612. v, changed := fastpathTV.DecMapInt16Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  30613. if changed {
  30614. *vp = v
  30615. }
  30616. } else {
  30617. v := rv2i(rv).(map[int16]uint32)
  30618. fastpathTV.DecMapInt16Uint32V(v, fastpathCheckNilFalse, false, f.d)
  30619. }
  30620. }
  30621. func (f fastpathT) DecMapInt16Uint32X(vp *map[int16]uint32, checkNil bool, d *Decoder) {
  30622. v, changed := f.DecMapInt16Uint32V(*vp, checkNil, true, d)
  30623. if changed {
  30624. *vp = v
  30625. }
  30626. }
  30627. func (_ fastpathT) DecMapInt16Uint32V(v map[int16]uint32, checkNil bool, canChange bool,
  30628. d *Decoder) (_ map[int16]uint32, changed bool) {
  30629. dd := d.d
  30630. cr := d.cr
  30631. if checkNil && dd.TryDecodeAsNil() {
  30632. if v != nil {
  30633. changed = true
  30634. }
  30635. return nil, changed
  30636. }
  30637. containerLen := dd.ReadMapStart()
  30638. if canChange && v == nil {
  30639. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  30640. v = make(map[int16]uint32, xlen)
  30641. changed = true
  30642. }
  30643. if containerLen == 0 {
  30644. if cr != nil {
  30645. cr.sendContainerState(containerMapEnd)
  30646. }
  30647. return v, changed
  30648. }
  30649. var mk int16
  30650. var mv uint32
  30651. hasLen := containerLen > 0
  30652. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30653. if cr != nil {
  30654. cr.sendContainerState(containerMapKey)
  30655. }
  30656. mk = int16(dd.DecodeInt(16))
  30657. if cr != nil {
  30658. cr.sendContainerState(containerMapValue)
  30659. }
  30660. mv = uint32(dd.DecodeUint(32))
  30661. if v != nil {
  30662. v[mk] = mv
  30663. }
  30664. }
  30665. if cr != nil {
  30666. cr.sendContainerState(containerMapEnd)
  30667. }
  30668. return v, changed
  30669. }
  30670. func (f *decFnInfo) fastpathDecMapInt16Uint64R(rv reflect.Value) {
  30671. if rv.CanAddr() {
  30672. vp := rv2i(rv.Addr()).(*map[int16]uint64)
  30673. v, changed := fastpathTV.DecMapInt16Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  30674. if changed {
  30675. *vp = v
  30676. }
  30677. } else {
  30678. v := rv2i(rv).(map[int16]uint64)
  30679. fastpathTV.DecMapInt16Uint64V(v, fastpathCheckNilFalse, false, f.d)
  30680. }
  30681. }
  30682. func (f fastpathT) DecMapInt16Uint64X(vp *map[int16]uint64, checkNil bool, d *Decoder) {
  30683. v, changed := f.DecMapInt16Uint64V(*vp, checkNil, true, d)
  30684. if changed {
  30685. *vp = v
  30686. }
  30687. }
  30688. func (_ fastpathT) DecMapInt16Uint64V(v map[int16]uint64, checkNil bool, canChange bool,
  30689. d *Decoder) (_ map[int16]uint64, changed bool) {
  30690. dd := d.d
  30691. cr := d.cr
  30692. if checkNil && dd.TryDecodeAsNil() {
  30693. if v != nil {
  30694. changed = true
  30695. }
  30696. return nil, changed
  30697. }
  30698. containerLen := dd.ReadMapStart()
  30699. if canChange && v == nil {
  30700. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  30701. v = make(map[int16]uint64, xlen)
  30702. changed = true
  30703. }
  30704. if containerLen == 0 {
  30705. if cr != nil {
  30706. cr.sendContainerState(containerMapEnd)
  30707. }
  30708. return v, changed
  30709. }
  30710. var mk int16
  30711. var mv uint64
  30712. hasLen := containerLen > 0
  30713. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30714. if cr != nil {
  30715. cr.sendContainerState(containerMapKey)
  30716. }
  30717. mk = int16(dd.DecodeInt(16))
  30718. if cr != nil {
  30719. cr.sendContainerState(containerMapValue)
  30720. }
  30721. mv = dd.DecodeUint(64)
  30722. if v != nil {
  30723. v[mk] = mv
  30724. }
  30725. }
  30726. if cr != nil {
  30727. cr.sendContainerState(containerMapEnd)
  30728. }
  30729. return v, changed
  30730. }
  30731. func (f *decFnInfo) fastpathDecMapInt16UintptrR(rv reflect.Value) {
  30732. if rv.CanAddr() {
  30733. vp := rv2i(rv.Addr()).(*map[int16]uintptr)
  30734. v, changed := fastpathTV.DecMapInt16UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  30735. if changed {
  30736. *vp = v
  30737. }
  30738. } else {
  30739. v := rv2i(rv).(map[int16]uintptr)
  30740. fastpathTV.DecMapInt16UintptrV(v, fastpathCheckNilFalse, false, f.d)
  30741. }
  30742. }
  30743. func (f fastpathT) DecMapInt16UintptrX(vp *map[int16]uintptr, checkNil bool, d *Decoder) {
  30744. v, changed := f.DecMapInt16UintptrV(*vp, checkNil, true, d)
  30745. if changed {
  30746. *vp = v
  30747. }
  30748. }
  30749. func (_ fastpathT) DecMapInt16UintptrV(v map[int16]uintptr, checkNil bool, canChange bool,
  30750. d *Decoder) (_ map[int16]uintptr, changed bool) {
  30751. dd := d.d
  30752. cr := d.cr
  30753. if checkNil && dd.TryDecodeAsNil() {
  30754. if v != nil {
  30755. changed = true
  30756. }
  30757. return nil, changed
  30758. }
  30759. containerLen := dd.ReadMapStart()
  30760. if canChange && v == nil {
  30761. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  30762. v = make(map[int16]uintptr, xlen)
  30763. changed = true
  30764. }
  30765. if containerLen == 0 {
  30766. if cr != nil {
  30767. cr.sendContainerState(containerMapEnd)
  30768. }
  30769. return v, changed
  30770. }
  30771. var mk int16
  30772. var mv uintptr
  30773. hasLen := containerLen > 0
  30774. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30775. if cr != nil {
  30776. cr.sendContainerState(containerMapKey)
  30777. }
  30778. mk = int16(dd.DecodeInt(16))
  30779. if cr != nil {
  30780. cr.sendContainerState(containerMapValue)
  30781. }
  30782. mv = uintptr(dd.DecodeUint(uintBitsize))
  30783. if v != nil {
  30784. v[mk] = mv
  30785. }
  30786. }
  30787. if cr != nil {
  30788. cr.sendContainerState(containerMapEnd)
  30789. }
  30790. return v, changed
  30791. }
  30792. func (f *decFnInfo) fastpathDecMapInt16IntR(rv reflect.Value) {
  30793. if rv.CanAddr() {
  30794. vp := rv2i(rv.Addr()).(*map[int16]int)
  30795. v, changed := fastpathTV.DecMapInt16IntV(*vp, fastpathCheckNilFalse, true, f.d)
  30796. if changed {
  30797. *vp = v
  30798. }
  30799. } else {
  30800. v := rv2i(rv).(map[int16]int)
  30801. fastpathTV.DecMapInt16IntV(v, fastpathCheckNilFalse, false, f.d)
  30802. }
  30803. }
  30804. func (f fastpathT) DecMapInt16IntX(vp *map[int16]int, checkNil bool, d *Decoder) {
  30805. v, changed := f.DecMapInt16IntV(*vp, checkNil, true, d)
  30806. if changed {
  30807. *vp = v
  30808. }
  30809. }
  30810. func (_ fastpathT) DecMapInt16IntV(v map[int16]int, checkNil bool, canChange bool,
  30811. d *Decoder) (_ map[int16]int, changed bool) {
  30812. dd := d.d
  30813. cr := d.cr
  30814. if checkNil && dd.TryDecodeAsNil() {
  30815. if v != nil {
  30816. changed = true
  30817. }
  30818. return nil, changed
  30819. }
  30820. containerLen := dd.ReadMapStart()
  30821. if canChange && v == nil {
  30822. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  30823. v = make(map[int16]int, xlen)
  30824. changed = true
  30825. }
  30826. if containerLen == 0 {
  30827. if cr != nil {
  30828. cr.sendContainerState(containerMapEnd)
  30829. }
  30830. return v, changed
  30831. }
  30832. var mk int16
  30833. var mv int
  30834. hasLen := containerLen > 0
  30835. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30836. if cr != nil {
  30837. cr.sendContainerState(containerMapKey)
  30838. }
  30839. mk = int16(dd.DecodeInt(16))
  30840. if cr != nil {
  30841. cr.sendContainerState(containerMapValue)
  30842. }
  30843. mv = int(dd.DecodeInt(intBitsize))
  30844. if v != nil {
  30845. v[mk] = mv
  30846. }
  30847. }
  30848. if cr != nil {
  30849. cr.sendContainerState(containerMapEnd)
  30850. }
  30851. return v, changed
  30852. }
  30853. func (f *decFnInfo) fastpathDecMapInt16Int8R(rv reflect.Value) {
  30854. if rv.CanAddr() {
  30855. vp := rv2i(rv.Addr()).(*map[int16]int8)
  30856. v, changed := fastpathTV.DecMapInt16Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  30857. if changed {
  30858. *vp = v
  30859. }
  30860. } else {
  30861. v := rv2i(rv).(map[int16]int8)
  30862. fastpathTV.DecMapInt16Int8V(v, fastpathCheckNilFalse, false, f.d)
  30863. }
  30864. }
  30865. func (f fastpathT) DecMapInt16Int8X(vp *map[int16]int8, checkNil bool, d *Decoder) {
  30866. v, changed := f.DecMapInt16Int8V(*vp, checkNil, true, d)
  30867. if changed {
  30868. *vp = v
  30869. }
  30870. }
  30871. func (_ fastpathT) DecMapInt16Int8V(v map[int16]int8, checkNil bool, canChange bool,
  30872. d *Decoder) (_ map[int16]int8, changed bool) {
  30873. dd := d.d
  30874. cr := d.cr
  30875. if checkNil && dd.TryDecodeAsNil() {
  30876. if v != nil {
  30877. changed = true
  30878. }
  30879. return nil, changed
  30880. }
  30881. containerLen := dd.ReadMapStart()
  30882. if canChange && v == nil {
  30883. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  30884. v = make(map[int16]int8, xlen)
  30885. changed = true
  30886. }
  30887. if containerLen == 0 {
  30888. if cr != nil {
  30889. cr.sendContainerState(containerMapEnd)
  30890. }
  30891. return v, changed
  30892. }
  30893. var mk int16
  30894. var mv int8
  30895. hasLen := containerLen > 0
  30896. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30897. if cr != nil {
  30898. cr.sendContainerState(containerMapKey)
  30899. }
  30900. mk = int16(dd.DecodeInt(16))
  30901. if cr != nil {
  30902. cr.sendContainerState(containerMapValue)
  30903. }
  30904. mv = int8(dd.DecodeInt(8))
  30905. if v != nil {
  30906. v[mk] = mv
  30907. }
  30908. }
  30909. if cr != nil {
  30910. cr.sendContainerState(containerMapEnd)
  30911. }
  30912. return v, changed
  30913. }
  30914. func (f *decFnInfo) fastpathDecMapInt16Int16R(rv reflect.Value) {
  30915. if rv.CanAddr() {
  30916. vp := rv2i(rv.Addr()).(*map[int16]int16)
  30917. v, changed := fastpathTV.DecMapInt16Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  30918. if changed {
  30919. *vp = v
  30920. }
  30921. } else {
  30922. v := rv2i(rv).(map[int16]int16)
  30923. fastpathTV.DecMapInt16Int16V(v, fastpathCheckNilFalse, false, f.d)
  30924. }
  30925. }
  30926. func (f fastpathT) DecMapInt16Int16X(vp *map[int16]int16, checkNil bool, d *Decoder) {
  30927. v, changed := f.DecMapInt16Int16V(*vp, checkNil, true, d)
  30928. if changed {
  30929. *vp = v
  30930. }
  30931. }
  30932. func (_ fastpathT) DecMapInt16Int16V(v map[int16]int16, checkNil bool, canChange bool,
  30933. d *Decoder) (_ map[int16]int16, changed bool) {
  30934. dd := d.d
  30935. cr := d.cr
  30936. if checkNil && dd.TryDecodeAsNil() {
  30937. if v != nil {
  30938. changed = true
  30939. }
  30940. return nil, changed
  30941. }
  30942. containerLen := dd.ReadMapStart()
  30943. if canChange && v == nil {
  30944. xlen := decInferLen(containerLen, d.h.MaxInitLen, 4)
  30945. v = make(map[int16]int16, xlen)
  30946. changed = true
  30947. }
  30948. if containerLen == 0 {
  30949. if cr != nil {
  30950. cr.sendContainerState(containerMapEnd)
  30951. }
  30952. return v, changed
  30953. }
  30954. var mk int16
  30955. var mv int16
  30956. hasLen := containerLen > 0
  30957. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  30958. if cr != nil {
  30959. cr.sendContainerState(containerMapKey)
  30960. }
  30961. mk = int16(dd.DecodeInt(16))
  30962. if cr != nil {
  30963. cr.sendContainerState(containerMapValue)
  30964. }
  30965. mv = int16(dd.DecodeInt(16))
  30966. if v != nil {
  30967. v[mk] = mv
  30968. }
  30969. }
  30970. if cr != nil {
  30971. cr.sendContainerState(containerMapEnd)
  30972. }
  30973. return v, changed
  30974. }
  30975. func (f *decFnInfo) fastpathDecMapInt16Int32R(rv reflect.Value) {
  30976. if rv.CanAddr() {
  30977. vp := rv2i(rv.Addr()).(*map[int16]int32)
  30978. v, changed := fastpathTV.DecMapInt16Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  30979. if changed {
  30980. *vp = v
  30981. }
  30982. } else {
  30983. v := rv2i(rv).(map[int16]int32)
  30984. fastpathTV.DecMapInt16Int32V(v, fastpathCheckNilFalse, false, f.d)
  30985. }
  30986. }
  30987. func (f fastpathT) DecMapInt16Int32X(vp *map[int16]int32, checkNil bool, d *Decoder) {
  30988. v, changed := f.DecMapInt16Int32V(*vp, checkNil, true, d)
  30989. if changed {
  30990. *vp = v
  30991. }
  30992. }
  30993. func (_ fastpathT) DecMapInt16Int32V(v map[int16]int32, checkNil bool, canChange bool,
  30994. d *Decoder) (_ map[int16]int32, changed bool) {
  30995. dd := d.d
  30996. cr := d.cr
  30997. if checkNil && dd.TryDecodeAsNil() {
  30998. if v != nil {
  30999. changed = true
  31000. }
  31001. return nil, changed
  31002. }
  31003. containerLen := dd.ReadMapStart()
  31004. if canChange && v == nil {
  31005. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  31006. v = make(map[int16]int32, xlen)
  31007. changed = true
  31008. }
  31009. if containerLen == 0 {
  31010. if cr != nil {
  31011. cr.sendContainerState(containerMapEnd)
  31012. }
  31013. return v, changed
  31014. }
  31015. var mk int16
  31016. var mv int32
  31017. hasLen := containerLen > 0
  31018. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31019. if cr != nil {
  31020. cr.sendContainerState(containerMapKey)
  31021. }
  31022. mk = int16(dd.DecodeInt(16))
  31023. if cr != nil {
  31024. cr.sendContainerState(containerMapValue)
  31025. }
  31026. mv = int32(dd.DecodeInt(32))
  31027. if v != nil {
  31028. v[mk] = mv
  31029. }
  31030. }
  31031. if cr != nil {
  31032. cr.sendContainerState(containerMapEnd)
  31033. }
  31034. return v, changed
  31035. }
  31036. func (f *decFnInfo) fastpathDecMapInt16Int64R(rv reflect.Value) {
  31037. if rv.CanAddr() {
  31038. vp := rv2i(rv.Addr()).(*map[int16]int64)
  31039. v, changed := fastpathTV.DecMapInt16Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  31040. if changed {
  31041. *vp = v
  31042. }
  31043. } else {
  31044. v := rv2i(rv).(map[int16]int64)
  31045. fastpathTV.DecMapInt16Int64V(v, fastpathCheckNilFalse, false, f.d)
  31046. }
  31047. }
  31048. func (f fastpathT) DecMapInt16Int64X(vp *map[int16]int64, checkNil bool, d *Decoder) {
  31049. v, changed := f.DecMapInt16Int64V(*vp, checkNil, true, d)
  31050. if changed {
  31051. *vp = v
  31052. }
  31053. }
  31054. func (_ fastpathT) DecMapInt16Int64V(v map[int16]int64, checkNil bool, canChange bool,
  31055. d *Decoder) (_ map[int16]int64, changed bool) {
  31056. dd := d.d
  31057. cr := d.cr
  31058. if checkNil && dd.TryDecodeAsNil() {
  31059. if v != nil {
  31060. changed = true
  31061. }
  31062. return nil, changed
  31063. }
  31064. containerLen := dd.ReadMapStart()
  31065. if canChange && v == nil {
  31066. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  31067. v = make(map[int16]int64, xlen)
  31068. changed = true
  31069. }
  31070. if containerLen == 0 {
  31071. if cr != nil {
  31072. cr.sendContainerState(containerMapEnd)
  31073. }
  31074. return v, changed
  31075. }
  31076. var mk int16
  31077. var mv int64
  31078. hasLen := containerLen > 0
  31079. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31080. if cr != nil {
  31081. cr.sendContainerState(containerMapKey)
  31082. }
  31083. mk = int16(dd.DecodeInt(16))
  31084. if cr != nil {
  31085. cr.sendContainerState(containerMapValue)
  31086. }
  31087. mv = dd.DecodeInt(64)
  31088. if v != nil {
  31089. v[mk] = mv
  31090. }
  31091. }
  31092. if cr != nil {
  31093. cr.sendContainerState(containerMapEnd)
  31094. }
  31095. return v, changed
  31096. }
  31097. func (f *decFnInfo) fastpathDecMapInt16Float32R(rv reflect.Value) {
  31098. if rv.CanAddr() {
  31099. vp := rv2i(rv.Addr()).(*map[int16]float32)
  31100. v, changed := fastpathTV.DecMapInt16Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  31101. if changed {
  31102. *vp = v
  31103. }
  31104. } else {
  31105. v := rv2i(rv).(map[int16]float32)
  31106. fastpathTV.DecMapInt16Float32V(v, fastpathCheckNilFalse, false, f.d)
  31107. }
  31108. }
  31109. func (f fastpathT) DecMapInt16Float32X(vp *map[int16]float32, checkNil bool, d *Decoder) {
  31110. v, changed := f.DecMapInt16Float32V(*vp, checkNil, true, d)
  31111. if changed {
  31112. *vp = v
  31113. }
  31114. }
  31115. func (_ fastpathT) DecMapInt16Float32V(v map[int16]float32, checkNil bool, canChange bool,
  31116. d *Decoder) (_ map[int16]float32, changed bool) {
  31117. dd := d.d
  31118. cr := d.cr
  31119. if checkNil && dd.TryDecodeAsNil() {
  31120. if v != nil {
  31121. changed = true
  31122. }
  31123. return nil, changed
  31124. }
  31125. containerLen := dd.ReadMapStart()
  31126. if canChange && v == nil {
  31127. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  31128. v = make(map[int16]float32, xlen)
  31129. changed = true
  31130. }
  31131. if containerLen == 0 {
  31132. if cr != nil {
  31133. cr.sendContainerState(containerMapEnd)
  31134. }
  31135. return v, changed
  31136. }
  31137. var mk int16
  31138. var mv float32
  31139. hasLen := containerLen > 0
  31140. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31141. if cr != nil {
  31142. cr.sendContainerState(containerMapKey)
  31143. }
  31144. mk = int16(dd.DecodeInt(16))
  31145. if cr != nil {
  31146. cr.sendContainerState(containerMapValue)
  31147. }
  31148. mv = float32(dd.DecodeFloat(true))
  31149. if v != nil {
  31150. v[mk] = mv
  31151. }
  31152. }
  31153. if cr != nil {
  31154. cr.sendContainerState(containerMapEnd)
  31155. }
  31156. return v, changed
  31157. }
  31158. func (f *decFnInfo) fastpathDecMapInt16Float64R(rv reflect.Value) {
  31159. if rv.CanAddr() {
  31160. vp := rv2i(rv.Addr()).(*map[int16]float64)
  31161. v, changed := fastpathTV.DecMapInt16Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  31162. if changed {
  31163. *vp = v
  31164. }
  31165. } else {
  31166. v := rv2i(rv).(map[int16]float64)
  31167. fastpathTV.DecMapInt16Float64V(v, fastpathCheckNilFalse, false, f.d)
  31168. }
  31169. }
  31170. func (f fastpathT) DecMapInt16Float64X(vp *map[int16]float64, checkNil bool, d *Decoder) {
  31171. v, changed := f.DecMapInt16Float64V(*vp, checkNil, true, d)
  31172. if changed {
  31173. *vp = v
  31174. }
  31175. }
  31176. func (_ fastpathT) DecMapInt16Float64V(v map[int16]float64, checkNil bool, canChange bool,
  31177. d *Decoder) (_ map[int16]float64, changed bool) {
  31178. dd := d.d
  31179. cr := d.cr
  31180. if checkNil && dd.TryDecodeAsNil() {
  31181. if v != nil {
  31182. changed = true
  31183. }
  31184. return nil, changed
  31185. }
  31186. containerLen := dd.ReadMapStart()
  31187. if canChange && v == nil {
  31188. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  31189. v = make(map[int16]float64, xlen)
  31190. changed = true
  31191. }
  31192. if containerLen == 0 {
  31193. if cr != nil {
  31194. cr.sendContainerState(containerMapEnd)
  31195. }
  31196. return v, changed
  31197. }
  31198. var mk int16
  31199. var mv float64
  31200. hasLen := containerLen > 0
  31201. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31202. if cr != nil {
  31203. cr.sendContainerState(containerMapKey)
  31204. }
  31205. mk = int16(dd.DecodeInt(16))
  31206. if cr != nil {
  31207. cr.sendContainerState(containerMapValue)
  31208. }
  31209. mv = dd.DecodeFloat(false)
  31210. if v != nil {
  31211. v[mk] = mv
  31212. }
  31213. }
  31214. if cr != nil {
  31215. cr.sendContainerState(containerMapEnd)
  31216. }
  31217. return v, changed
  31218. }
  31219. func (f *decFnInfo) fastpathDecMapInt16BoolR(rv reflect.Value) {
  31220. if rv.CanAddr() {
  31221. vp := rv2i(rv.Addr()).(*map[int16]bool)
  31222. v, changed := fastpathTV.DecMapInt16BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  31223. if changed {
  31224. *vp = v
  31225. }
  31226. } else {
  31227. v := rv2i(rv).(map[int16]bool)
  31228. fastpathTV.DecMapInt16BoolV(v, fastpathCheckNilFalse, false, f.d)
  31229. }
  31230. }
  31231. func (f fastpathT) DecMapInt16BoolX(vp *map[int16]bool, checkNil bool, d *Decoder) {
  31232. v, changed := f.DecMapInt16BoolV(*vp, checkNil, true, d)
  31233. if changed {
  31234. *vp = v
  31235. }
  31236. }
  31237. func (_ fastpathT) DecMapInt16BoolV(v map[int16]bool, checkNil bool, canChange bool,
  31238. d *Decoder) (_ map[int16]bool, changed bool) {
  31239. dd := d.d
  31240. cr := d.cr
  31241. if checkNil && dd.TryDecodeAsNil() {
  31242. if v != nil {
  31243. changed = true
  31244. }
  31245. return nil, changed
  31246. }
  31247. containerLen := dd.ReadMapStart()
  31248. if canChange && v == nil {
  31249. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  31250. v = make(map[int16]bool, xlen)
  31251. changed = true
  31252. }
  31253. if containerLen == 0 {
  31254. if cr != nil {
  31255. cr.sendContainerState(containerMapEnd)
  31256. }
  31257. return v, changed
  31258. }
  31259. var mk int16
  31260. var mv bool
  31261. hasLen := containerLen > 0
  31262. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31263. if cr != nil {
  31264. cr.sendContainerState(containerMapKey)
  31265. }
  31266. mk = int16(dd.DecodeInt(16))
  31267. if cr != nil {
  31268. cr.sendContainerState(containerMapValue)
  31269. }
  31270. mv = dd.DecodeBool()
  31271. if v != nil {
  31272. v[mk] = mv
  31273. }
  31274. }
  31275. if cr != nil {
  31276. cr.sendContainerState(containerMapEnd)
  31277. }
  31278. return v, changed
  31279. }
  31280. func (f *decFnInfo) fastpathDecMapInt32IntfR(rv reflect.Value) {
  31281. if rv.CanAddr() {
  31282. vp := rv2i(rv.Addr()).(*map[int32]interface{})
  31283. v, changed := fastpathTV.DecMapInt32IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  31284. if changed {
  31285. *vp = v
  31286. }
  31287. } else {
  31288. v := rv2i(rv).(map[int32]interface{})
  31289. fastpathTV.DecMapInt32IntfV(v, fastpathCheckNilFalse, false, f.d)
  31290. }
  31291. }
  31292. func (f fastpathT) DecMapInt32IntfX(vp *map[int32]interface{}, checkNil bool, d *Decoder) {
  31293. v, changed := f.DecMapInt32IntfV(*vp, checkNil, true, d)
  31294. if changed {
  31295. *vp = v
  31296. }
  31297. }
  31298. func (_ fastpathT) DecMapInt32IntfV(v map[int32]interface{}, checkNil bool, canChange bool,
  31299. d *Decoder) (_ map[int32]interface{}, changed bool) {
  31300. dd := d.d
  31301. cr := d.cr
  31302. if checkNil && dd.TryDecodeAsNil() {
  31303. if v != nil {
  31304. changed = true
  31305. }
  31306. return nil, changed
  31307. }
  31308. containerLen := dd.ReadMapStart()
  31309. if canChange && v == nil {
  31310. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  31311. v = make(map[int32]interface{}, xlen)
  31312. changed = true
  31313. }
  31314. if containerLen == 0 {
  31315. if cr != nil {
  31316. cr.sendContainerState(containerMapEnd)
  31317. }
  31318. return v, changed
  31319. }
  31320. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  31321. var mk int32
  31322. var mv interface{}
  31323. hasLen := containerLen > 0
  31324. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31325. if cr != nil {
  31326. cr.sendContainerState(containerMapKey)
  31327. }
  31328. mk = int32(dd.DecodeInt(32))
  31329. if cr != nil {
  31330. cr.sendContainerState(containerMapValue)
  31331. }
  31332. if mapGet {
  31333. mv = v[mk]
  31334. } else {
  31335. mv = nil
  31336. }
  31337. d.decode(&mv)
  31338. if v != nil {
  31339. v[mk] = mv
  31340. }
  31341. }
  31342. if cr != nil {
  31343. cr.sendContainerState(containerMapEnd)
  31344. }
  31345. return v, changed
  31346. }
  31347. func (f *decFnInfo) fastpathDecMapInt32StringR(rv reflect.Value) {
  31348. if rv.CanAddr() {
  31349. vp := rv2i(rv.Addr()).(*map[int32]string)
  31350. v, changed := fastpathTV.DecMapInt32StringV(*vp, fastpathCheckNilFalse, true, f.d)
  31351. if changed {
  31352. *vp = v
  31353. }
  31354. } else {
  31355. v := rv2i(rv).(map[int32]string)
  31356. fastpathTV.DecMapInt32StringV(v, fastpathCheckNilFalse, false, f.d)
  31357. }
  31358. }
  31359. func (f fastpathT) DecMapInt32StringX(vp *map[int32]string, checkNil bool, d *Decoder) {
  31360. v, changed := f.DecMapInt32StringV(*vp, checkNil, true, d)
  31361. if changed {
  31362. *vp = v
  31363. }
  31364. }
  31365. func (_ fastpathT) DecMapInt32StringV(v map[int32]string, checkNil bool, canChange bool,
  31366. d *Decoder) (_ map[int32]string, changed bool) {
  31367. dd := d.d
  31368. cr := d.cr
  31369. if checkNil && dd.TryDecodeAsNil() {
  31370. if v != nil {
  31371. changed = true
  31372. }
  31373. return nil, changed
  31374. }
  31375. containerLen := dd.ReadMapStart()
  31376. if canChange && v == nil {
  31377. xlen := decInferLen(containerLen, d.h.MaxInitLen, 20)
  31378. v = make(map[int32]string, xlen)
  31379. changed = true
  31380. }
  31381. if containerLen == 0 {
  31382. if cr != nil {
  31383. cr.sendContainerState(containerMapEnd)
  31384. }
  31385. return v, changed
  31386. }
  31387. var mk int32
  31388. var mv string
  31389. hasLen := containerLen > 0
  31390. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31391. if cr != nil {
  31392. cr.sendContainerState(containerMapKey)
  31393. }
  31394. mk = int32(dd.DecodeInt(32))
  31395. if cr != nil {
  31396. cr.sendContainerState(containerMapValue)
  31397. }
  31398. mv = dd.DecodeString()
  31399. if v != nil {
  31400. v[mk] = mv
  31401. }
  31402. }
  31403. if cr != nil {
  31404. cr.sendContainerState(containerMapEnd)
  31405. }
  31406. return v, changed
  31407. }
  31408. func (f *decFnInfo) fastpathDecMapInt32UintR(rv reflect.Value) {
  31409. if rv.CanAddr() {
  31410. vp := rv2i(rv.Addr()).(*map[int32]uint)
  31411. v, changed := fastpathTV.DecMapInt32UintV(*vp, fastpathCheckNilFalse, true, f.d)
  31412. if changed {
  31413. *vp = v
  31414. }
  31415. } else {
  31416. v := rv2i(rv).(map[int32]uint)
  31417. fastpathTV.DecMapInt32UintV(v, fastpathCheckNilFalse, false, f.d)
  31418. }
  31419. }
  31420. func (f fastpathT) DecMapInt32UintX(vp *map[int32]uint, checkNil bool, d *Decoder) {
  31421. v, changed := f.DecMapInt32UintV(*vp, checkNil, true, d)
  31422. if changed {
  31423. *vp = v
  31424. }
  31425. }
  31426. func (_ fastpathT) DecMapInt32UintV(v map[int32]uint, checkNil bool, canChange bool,
  31427. d *Decoder) (_ map[int32]uint, changed bool) {
  31428. dd := d.d
  31429. cr := d.cr
  31430. if checkNil && dd.TryDecodeAsNil() {
  31431. if v != nil {
  31432. changed = true
  31433. }
  31434. return nil, changed
  31435. }
  31436. containerLen := dd.ReadMapStart()
  31437. if canChange && v == nil {
  31438. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  31439. v = make(map[int32]uint, xlen)
  31440. changed = true
  31441. }
  31442. if containerLen == 0 {
  31443. if cr != nil {
  31444. cr.sendContainerState(containerMapEnd)
  31445. }
  31446. return v, changed
  31447. }
  31448. var mk int32
  31449. var mv uint
  31450. hasLen := containerLen > 0
  31451. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31452. if cr != nil {
  31453. cr.sendContainerState(containerMapKey)
  31454. }
  31455. mk = int32(dd.DecodeInt(32))
  31456. if cr != nil {
  31457. cr.sendContainerState(containerMapValue)
  31458. }
  31459. mv = uint(dd.DecodeUint(uintBitsize))
  31460. if v != nil {
  31461. v[mk] = mv
  31462. }
  31463. }
  31464. if cr != nil {
  31465. cr.sendContainerState(containerMapEnd)
  31466. }
  31467. return v, changed
  31468. }
  31469. func (f *decFnInfo) fastpathDecMapInt32Uint8R(rv reflect.Value) {
  31470. if rv.CanAddr() {
  31471. vp := rv2i(rv.Addr()).(*map[int32]uint8)
  31472. v, changed := fastpathTV.DecMapInt32Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  31473. if changed {
  31474. *vp = v
  31475. }
  31476. } else {
  31477. v := rv2i(rv).(map[int32]uint8)
  31478. fastpathTV.DecMapInt32Uint8V(v, fastpathCheckNilFalse, false, f.d)
  31479. }
  31480. }
  31481. func (f fastpathT) DecMapInt32Uint8X(vp *map[int32]uint8, checkNil bool, d *Decoder) {
  31482. v, changed := f.DecMapInt32Uint8V(*vp, checkNil, true, d)
  31483. if changed {
  31484. *vp = v
  31485. }
  31486. }
  31487. func (_ fastpathT) DecMapInt32Uint8V(v map[int32]uint8, checkNil bool, canChange bool,
  31488. d *Decoder) (_ map[int32]uint8, changed bool) {
  31489. dd := d.d
  31490. cr := d.cr
  31491. if checkNil && dd.TryDecodeAsNil() {
  31492. if v != nil {
  31493. changed = true
  31494. }
  31495. return nil, changed
  31496. }
  31497. containerLen := dd.ReadMapStart()
  31498. if canChange && v == nil {
  31499. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  31500. v = make(map[int32]uint8, xlen)
  31501. changed = true
  31502. }
  31503. if containerLen == 0 {
  31504. if cr != nil {
  31505. cr.sendContainerState(containerMapEnd)
  31506. }
  31507. return v, changed
  31508. }
  31509. var mk int32
  31510. var mv uint8
  31511. hasLen := containerLen > 0
  31512. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31513. if cr != nil {
  31514. cr.sendContainerState(containerMapKey)
  31515. }
  31516. mk = int32(dd.DecodeInt(32))
  31517. if cr != nil {
  31518. cr.sendContainerState(containerMapValue)
  31519. }
  31520. mv = uint8(dd.DecodeUint(8))
  31521. if v != nil {
  31522. v[mk] = mv
  31523. }
  31524. }
  31525. if cr != nil {
  31526. cr.sendContainerState(containerMapEnd)
  31527. }
  31528. return v, changed
  31529. }
  31530. func (f *decFnInfo) fastpathDecMapInt32Uint16R(rv reflect.Value) {
  31531. if rv.CanAddr() {
  31532. vp := rv2i(rv.Addr()).(*map[int32]uint16)
  31533. v, changed := fastpathTV.DecMapInt32Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  31534. if changed {
  31535. *vp = v
  31536. }
  31537. } else {
  31538. v := rv2i(rv).(map[int32]uint16)
  31539. fastpathTV.DecMapInt32Uint16V(v, fastpathCheckNilFalse, false, f.d)
  31540. }
  31541. }
  31542. func (f fastpathT) DecMapInt32Uint16X(vp *map[int32]uint16, checkNil bool, d *Decoder) {
  31543. v, changed := f.DecMapInt32Uint16V(*vp, checkNil, true, d)
  31544. if changed {
  31545. *vp = v
  31546. }
  31547. }
  31548. func (_ fastpathT) DecMapInt32Uint16V(v map[int32]uint16, checkNil bool, canChange bool,
  31549. d *Decoder) (_ map[int32]uint16, changed bool) {
  31550. dd := d.d
  31551. cr := d.cr
  31552. if checkNil && dd.TryDecodeAsNil() {
  31553. if v != nil {
  31554. changed = true
  31555. }
  31556. return nil, changed
  31557. }
  31558. containerLen := dd.ReadMapStart()
  31559. if canChange && v == nil {
  31560. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  31561. v = make(map[int32]uint16, xlen)
  31562. changed = true
  31563. }
  31564. if containerLen == 0 {
  31565. if cr != nil {
  31566. cr.sendContainerState(containerMapEnd)
  31567. }
  31568. return v, changed
  31569. }
  31570. var mk int32
  31571. var mv uint16
  31572. hasLen := containerLen > 0
  31573. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31574. if cr != nil {
  31575. cr.sendContainerState(containerMapKey)
  31576. }
  31577. mk = int32(dd.DecodeInt(32))
  31578. if cr != nil {
  31579. cr.sendContainerState(containerMapValue)
  31580. }
  31581. mv = uint16(dd.DecodeUint(16))
  31582. if v != nil {
  31583. v[mk] = mv
  31584. }
  31585. }
  31586. if cr != nil {
  31587. cr.sendContainerState(containerMapEnd)
  31588. }
  31589. return v, changed
  31590. }
  31591. func (f *decFnInfo) fastpathDecMapInt32Uint32R(rv reflect.Value) {
  31592. if rv.CanAddr() {
  31593. vp := rv2i(rv.Addr()).(*map[int32]uint32)
  31594. v, changed := fastpathTV.DecMapInt32Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  31595. if changed {
  31596. *vp = v
  31597. }
  31598. } else {
  31599. v := rv2i(rv).(map[int32]uint32)
  31600. fastpathTV.DecMapInt32Uint32V(v, fastpathCheckNilFalse, false, f.d)
  31601. }
  31602. }
  31603. func (f fastpathT) DecMapInt32Uint32X(vp *map[int32]uint32, checkNil bool, d *Decoder) {
  31604. v, changed := f.DecMapInt32Uint32V(*vp, checkNil, true, d)
  31605. if changed {
  31606. *vp = v
  31607. }
  31608. }
  31609. func (_ fastpathT) DecMapInt32Uint32V(v map[int32]uint32, checkNil bool, canChange bool,
  31610. d *Decoder) (_ map[int32]uint32, changed bool) {
  31611. dd := d.d
  31612. cr := d.cr
  31613. if checkNil && dd.TryDecodeAsNil() {
  31614. if v != nil {
  31615. changed = true
  31616. }
  31617. return nil, changed
  31618. }
  31619. containerLen := dd.ReadMapStart()
  31620. if canChange && v == nil {
  31621. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  31622. v = make(map[int32]uint32, xlen)
  31623. changed = true
  31624. }
  31625. if containerLen == 0 {
  31626. if cr != nil {
  31627. cr.sendContainerState(containerMapEnd)
  31628. }
  31629. return v, changed
  31630. }
  31631. var mk int32
  31632. var mv uint32
  31633. hasLen := containerLen > 0
  31634. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31635. if cr != nil {
  31636. cr.sendContainerState(containerMapKey)
  31637. }
  31638. mk = int32(dd.DecodeInt(32))
  31639. if cr != nil {
  31640. cr.sendContainerState(containerMapValue)
  31641. }
  31642. mv = uint32(dd.DecodeUint(32))
  31643. if v != nil {
  31644. v[mk] = mv
  31645. }
  31646. }
  31647. if cr != nil {
  31648. cr.sendContainerState(containerMapEnd)
  31649. }
  31650. return v, changed
  31651. }
  31652. func (f *decFnInfo) fastpathDecMapInt32Uint64R(rv reflect.Value) {
  31653. if rv.CanAddr() {
  31654. vp := rv2i(rv.Addr()).(*map[int32]uint64)
  31655. v, changed := fastpathTV.DecMapInt32Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  31656. if changed {
  31657. *vp = v
  31658. }
  31659. } else {
  31660. v := rv2i(rv).(map[int32]uint64)
  31661. fastpathTV.DecMapInt32Uint64V(v, fastpathCheckNilFalse, false, f.d)
  31662. }
  31663. }
  31664. func (f fastpathT) DecMapInt32Uint64X(vp *map[int32]uint64, checkNil bool, d *Decoder) {
  31665. v, changed := f.DecMapInt32Uint64V(*vp, checkNil, true, d)
  31666. if changed {
  31667. *vp = v
  31668. }
  31669. }
  31670. func (_ fastpathT) DecMapInt32Uint64V(v map[int32]uint64, checkNil bool, canChange bool,
  31671. d *Decoder) (_ map[int32]uint64, changed bool) {
  31672. dd := d.d
  31673. cr := d.cr
  31674. if checkNil && dd.TryDecodeAsNil() {
  31675. if v != nil {
  31676. changed = true
  31677. }
  31678. return nil, changed
  31679. }
  31680. containerLen := dd.ReadMapStart()
  31681. if canChange && v == nil {
  31682. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  31683. v = make(map[int32]uint64, xlen)
  31684. changed = true
  31685. }
  31686. if containerLen == 0 {
  31687. if cr != nil {
  31688. cr.sendContainerState(containerMapEnd)
  31689. }
  31690. return v, changed
  31691. }
  31692. var mk int32
  31693. var mv uint64
  31694. hasLen := containerLen > 0
  31695. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31696. if cr != nil {
  31697. cr.sendContainerState(containerMapKey)
  31698. }
  31699. mk = int32(dd.DecodeInt(32))
  31700. if cr != nil {
  31701. cr.sendContainerState(containerMapValue)
  31702. }
  31703. mv = dd.DecodeUint(64)
  31704. if v != nil {
  31705. v[mk] = mv
  31706. }
  31707. }
  31708. if cr != nil {
  31709. cr.sendContainerState(containerMapEnd)
  31710. }
  31711. return v, changed
  31712. }
  31713. func (f *decFnInfo) fastpathDecMapInt32UintptrR(rv reflect.Value) {
  31714. if rv.CanAddr() {
  31715. vp := rv2i(rv.Addr()).(*map[int32]uintptr)
  31716. v, changed := fastpathTV.DecMapInt32UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  31717. if changed {
  31718. *vp = v
  31719. }
  31720. } else {
  31721. v := rv2i(rv).(map[int32]uintptr)
  31722. fastpathTV.DecMapInt32UintptrV(v, fastpathCheckNilFalse, false, f.d)
  31723. }
  31724. }
  31725. func (f fastpathT) DecMapInt32UintptrX(vp *map[int32]uintptr, checkNil bool, d *Decoder) {
  31726. v, changed := f.DecMapInt32UintptrV(*vp, checkNil, true, d)
  31727. if changed {
  31728. *vp = v
  31729. }
  31730. }
  31731. func (_ fastpathT) DecMapInt32UintptrV(v map[int32]uintptr, checkNil bool, canChange bool,
  31732. d *Decoder) (_ map[int32]uintptr, changed bool) {
  31733. dd := d.d
  31734. cr := d.cr
  31735. if checkNil && dd.TryDecodeAsNil() {
  31736. if v != nil {
  31737. changed = true
  31738. }
  31739. return nil, changed
  31740. }
  31741. containerLen := dd.ReadMapStart()
  31742. if canChange && v == nil {
  31743. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  31744. v = make(map[int32]uintptr, xlen)
  31745. changed = true
  31746. }
  31747. if containerLen == 0 {
  31748. if cr != nil {
  31749. cr.sendContainerState(containerMapEnd)
  31750. }
  31751. return v, changed
  31752. }
  31753. var mk int32
  31754. var mv uintptr
  31755. hasLen := containerLen > 0
  31756. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31757. if cr != nil {
  31758. cr.sendContainerState(containerMapKey)
  31759. }
  31760. mk = int32(dd.DecodeInt(32))
  31761. if cr != nil {
  31762. cr.sendContainerState(containerMapValue)
  31763. }
  31764. mv = uintptr(dd.DecodeUint(uintBitsize))
  31765. if v != nil {
  31766. v[mk] = mv
  31767. }
  31768. }
  31769. if cr != nil {
  31770. cr.sendContainerState(containerMapEnd)
  31771. }
  31772. return v, changed
  31773. }
  31774. func (f *decFnInfo) fastpathDecMapInt32IntR(rv reflect.Value) {
  31775. if rv.CanAddr() {
  31776. vp := rv2i(rv.Addr()).(*map[int32]int)
  31777. v, changed := fastpathTV.DecMapInt32IntV(*vp, fastpathCheckNilFalse, true, f.d)
  31778. if changed {
  31779. *vp = v
  31780. }
  31781. } else {
  31782. v := rv2i(rv).(map[int32]int)
  31783. fastpathTV.DecMapInt32IntV(v, fastpathCheckNilFalse, false, f.d)
  31784. }
  31785. }
  31786. func (f fastpathT) DecMapInt32IntX(vp *map[int32]int, checkNil bool, d *Decoder) {
  31787. v, changed := f.DecMapInt32IntV(*vp, checkNil, true, d)
  31788. if changed {
  31789. *vp = v
  31790. }
  31791. }
  31792. func (_ fastpathT) DecMapInt32IntV(v map[int32]int, checkNil bool, canChange bool,
  31793. d *Decoder) (_ map[int32]int, changed bool) {
  31794. dd := d.d
  31795. cr := d.cr
  31796. if checkNil && dd.TryDecodeAsNil() {
  31797. if v != nil {
  31798. changed = true
  31799. }
  31800. return nil, changed
  31801. }
  31802. containerLen := dd.ReadMapStart()
  31803. if canChange && v == nil {
  31804. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  31805. v = make(map[int32]int, xlen)
  31806. changed = true
  31807. }
  31808. if containerLen == 0 {
  31809. if cr != nil {
  31810. cr.sendContainerState(containerMapEnd)
  31811. }
  31812. return v, changed
  31813. }
  31814. var mk int32
  31815. var mv int
  31816. hasLen := containerLen > 0
  31817. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31818. if cr != nil {
  31819. cr.sendContainerState(containerMapKey)
  31820. }
  31821. mk = int32(dd.DecodeInt(32))
  31822. if cr != nil {
  31823. cr.sendContainerState(containerMapValue)
  31824. }
  31825. mv = int(dd.DecodeInt(intBitsize))
  31826. if v != nil {
  31827. v[mk] = mv
  31828. }
  31829. }
  31830. if cr != nil {
  31831. cr.sendContainerState(containerMapEnd)
  31832. }
  31833. return v, changed
  31834. }
  31835. func (f *decFnInfo) fastpathDecMapInt32Int8R(rv reflect.Value) {
  31836. if rv.CanAddr() {
  31837. vp := rv2i(rv.Addr()).(*map[int32]int8)
  31838. v, changed := fastpathTV.DecMapInt32Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  31839. if changed {
  31840. *vp = v
  31841. }
  31842. } else {
  31843. v := rv2i(rv).(map[int32]int8)
  31844. fastpathTV.DecMapInt32Int8V(v, fastpathCheckNilFalse, false, f.d)
  31845. }
  31846. }
  31847. func (f fastpathT) DecMapInt32Int8X(vp *map[int32]int8, checkNil bool, d *Decoder) {
  31848. v, changed := f.DecMapInt32Int8V(*vp, checkNil, true, d)
  31849. if changed {
  31850. *vp = v
  31851. }
  31852. }
  31853. func (_ fastpathT) DecMapInt32Int8V(v map[int32]int8, checkNil bool, canChange bool,
  31854. d *Decoder) (_ map[int32]int8, changed bool) {
  31855. dd := d.d
  31856. cr := d.cr
  31857. if checkNil && dd.TryDecodeAsNil() {
  31858. if v != nil {
  31859. changed = true
  31860. }
  31861. return nil, changed
  31862. }
  31863. containerLen := dd.ReadMapStart()
  31864. if canChange && v == nil {
  31865. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  31866. v = make(map[int32]int8, xlen)
  31867. changed = true
  31868. }
  31869. if containerLen == 0 {
  31870. if cr != nil {
  31871. cr.sendContainerState(containerMapEnd)
  31872. }
  31873. return v, changed
  31874. }
  31875. var mk int32
  31876. var mv int8
  31877. hasLen := containerLen > 0
  31878. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31879. if cr != nil {
  31880. cr.sendContainerState(containerMapKey)
  31881. }
  31882. mk = int32(dd.DecodeInt(32))
  31883. if cr != nil {
  31884. cr.sendContainerState(containerMapValue)
  31885. }
  31886. mv = int8(dd.DecodeInt(8))
  31887. if v != nil {
  31888. v[mk] = mv
  31889. }
  31890. }
  31891. if cr != nil {
  31892. cr.sendContainerState(containerMapEnd)
  31893. }
  31894. return v, changed
  31895. }
  31896. func (f *decFnInfo) fastpathDecMapInt32Int16R(rv reflect.Value) {
  31897. if rv.CanAddr() {
  31898. vp := rv2i(rv.Addr()).(*map[int32]int16)
  31899. v, changed := fastpathTV.DecMapInt32Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  31900. if changed {
  31901. *vp = v
  31902. }
  31903. } else {
  31904. v := rv2i(rv).(map[int32]int16)
  31905. fastpathTV.DecMapInt32Int16V(v, fastpathCheckNilFalse, false, f.d)
  31906. }
  31907. }
  31908. func (f fastpathT) DecMapInt32Int16X(vp *map[int32]int16, checkNil bool, d *Decoder) {
  31909. v, changed := f.DecMapInt32Int16V(*vp, checkNil, true, d)
  31910. if changed {
  31911. *vp = v
  31912. }
  31913. }
  31914. func (_ fastpathT) DecMapInt32Int16V(v map[int32]int16, checkNil bool, canChange bool,
  31915. d *Decoder) (_ map[int32]int16, changed bool) {
  31916. dd := d.d
  31917. cr := d.cr
  31918. if checkNil && dd.TryDecodeAsNil() {
  31919. if v != nil {
  31920. changed = true
  31921. }
  31922. return nil, changed
  31923. }
  31924. containerLen := dd.ReadMapStart()
  31925. if canChange && v == nil {
  31926. xlen := decInferLen(containerLen, d.h.MaxInitLen, 6)
  31927. v = make(map[int32]int16, xlen)
  31928. changed = true
  31929. }
  31930. if containerLen == 0 {
  31931. if cr != nil {
  31932. cr.sendContainerState(containerMapEnd)
  31933. }
  31934. return v, changed
  31935. }
  31936. var mk int32
  31937. var mv int16
  31938. hasLen := containerLen > 0
  31939. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  31940. if cr != nil {
  31941. cr.sendContainerState(containerMapKey)
  31942. }
  31943. mk = int32(dd.DecodeInt(32))
  31944. if cr != nil {
  31945. cr.sendContainerState(containerMapValue)
  31946. }
  31947. mv = int16(dd.DecodeInt(16))
  31948. if v != nil {
  31949. v[mk] = mv
  31950. }
  31951. }
  31952. if cr != nil {
  31953. cr.sendContainerState(containerMapEnd)
  31954. }
  31955. return v, changed
  31956. }
  31957. func (f *decFnInfo) fastpathDecMapInt32Int32R(rv reflect.Value) {
  31958. if rv.CanAddr() {
  31959. vp := rv2i(rv.Addr()).(*map[int32]int32)
  31960. v, changed := fastpathTV.DecMapInt32Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  31961. if changed {
  31962. *vp = v
  31963. }
  31964. } else {
  31965. v := rv2i(rv).(map[int32]int32)
  31966. fastpathTV.DecMapInt32Int32V(v, fastpathCheckNilFalse, false, f.d)
  31967. }
  31968. }
  31969. func (f fastpathT) DecMapInt32Int32X(vp *map[int32]int32, checkNil bool, d *Decoder) {
  31970. v, changed := f.DecMapInt32Int32V(*vp, checkNil, true, d)
  31971. if changed {
  31972. *vp = v
  31973. }
  31974. }
  31975. func (_ fastpathT) DecMapInt32Int32V(v map[int32]int32, checkNil bool, canChange bool,
  31976. d *Decoder) (_ map[int32]int32, changed bool) {
  31977. dd := d.d
  31978. cr := d.cr
  31979. if checkNil && dd.TryDecodeAsNil() {
  31980. if v != nil {
  31981. changed = true
  31982. }
  31983. return nil, changed
  31984. }
  31985. containerLen := dd.ReadMapStart()
  31986. if canChange && v == nil {
  31987. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  31988. v = make(map[int32]int32, xlen)
  31989. changed = true
  31990. }
  31991. if containerLen == 0 {
  31992. if cr != nil {
  31993. cr.sendContainerState(containerMapEnd)
  31994. }
  31995. return v, changed
  31996. }
  31997. var mk int32
  31998. var mv int32
  31999. hasLen := containerLen > 0
  32000. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32001. if cr != nil {
  32002. cr.sendContainerState(containerMapKey)
  32003. }
  32004. mk = int32(dd.DecodeInt(32))
  32005. if cr != nil {
  32006. cr.sendContainerState(containerMapValue)
  32007. }
  32008. mv = int32(dd.DecodeInt(32))
  32009. if v != nil {
  32010. v[mk] = mv
  32011. }
  32012. }
  32013. if cr != nil {
  32014. cr.sendContainerState(containerMapEnd)
  32015. }
  32016. return v, changed
  32017. }
  32018. func (f *decFnInfo) fastpathDecMapInt32Int64R(rv reflect.Value) {
  32019. if rv.CanAddr() {
  32020. vp := rv2i(rv.Addr()).(*map[int32]int64)
  32021. v, changed := fastpathTV.DecMapInt32Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  32022. if changed {
  32023. *vp = v
  32024. }
  32025. } else {
  32026. v := rv2i(rv).(map[int32]int64)
  32027. fastpathTV.DecMapInt32Int64V(v, fastpathCheckNilFalse, false, f.d)
  32028. }
  32029. }
  32030. func (f fastpathT) DecMapInt32Int64X(vp *map[int32]int64, checkNil bool, d *Decoder) {
  32031. v, changed := f.DecMapInt32Int64V(*vp, checkNil, true, d)
  32032. if changed {
  32033. *vp = v
  32034. }
  32035. }
  32036. func (_ fastpathT) DecMapInt32Int64V(v map[int32]int64, checkNil bool, canChange bool,
  32037. d *Decoder) (_ map[int32]int64, changed bool) {
  32038. dd := d.d
  32039. cr := d.cr
  32040. if checkNil && dd.TryDecodeAsNil() {
  32041. if v != nil {
  32042. changed = true
  32043. }
  32044. return nil, changed
  32045. }
  32046. containerLen := dd.ReadMapStart()
  32047. if canChange && v == nil {
  32048. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  32049. v = make(map[int32]int64, xlen)
  32050. changed = true
  32051. }
  32052. if containerLen == 0 {
  32053. if cr != nil {
  32054. cr.sendContainerState(containerMapEnd)
  32055. }
  32056. return v, changed
  32057. }
  32058. var mk int32
  32059. var mv int64
  32060. hasLen := containerLen > 0
  32061. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32062. if cr != nil {
  32063. cr.sendContainerState(containerMapKey)
  32064. }
  32065. mk = int32(dd.DecodeInt(32))
  32066. if cr != nil {
  32067. cr.sendContainerState(containerMapValue)
  32068. }
  32069. mv = dd.DecodeInt(64)
  32070. if v != nil {
  32071. v[mk] = mv
  32072. }
  32073. }
  32074. if cr != nil {
  32075. cr.sendContainerState(containerMapEnd)
  32076. }
  32077. return v, changed
  32078. }
  32079. func (f *decFnInfo) fastpathDecMapInt32Float32R(rv reflect.Value) {
  32080. if rv.CanAddr() {
  32081. vp := rv2i(rv.Addr()).(*map[int32]float32)
  32082. v, changed := fastpathTV.DecMapInt32Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  32083. if changed {
  32084. *vp = v
  32085. }
  32086. } else {
  32087. v := rv2i(rv).(map[int32]float32)
  32088. fastpathTV.DecMapInt32Float32V(v, fastpathCheckNilFalse, false, f.d)
  32089. }
  32090. }
  32091. func (f fastpathT) DecMapInt32Float32X(vp *map[int32]float32, checkNil bool, d *Decoder) {
  32092. v, changed := f.DecMapInt32Float32V(*vp, checkNil, true, d)
  32093. if changed {
  32094. *vp = v
  32095. }
  32096. }
  32097. func (_ fastpathT) DecMapInt32Float32V(v map[int32]float32, checkNil bool, canChange bool,
  32098. d *Decoder) (_ map[int32]float32, changed bool) {
  32099. dd := d.d
  32100. cr := d.cr
  32101. if checkNil && dd.TryDecodeAsNil() {
  32102. if v != nil {
  32103. changed = true
  32104. }
  32105. return nil, changed
  32106. }
  32107. containerLen := dd.ReadMapStart()
  32108. if canChange && v == nil {
  32109. xlen := decInferLen(containerLen, d.h.MaxInitLen, 8)
  32110. v = make(map[int32]float32, xlen)
  32111. changed = true
  32112. }
  32113. if containerLen == 0 {
  32114. if cr != nil {
  32115. cr.sendContainerState(containerMapEnd)
  32116. }
  32117. return v, changed
  32118. }
  32119. var mk int32
  32120. var mv float32
  32121. hasLen := containerLen > 0
  32122. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32123. if cr != nil {
  32124. cr.sendContainerState(containerMapKey)
  32125. }
  32126. mk = int32(dd.DecodeInt(32))
  32127. if cr != nil {
  32128. cr.sendContainerState(containerMapValue)
  32129. }
  32130. mv = float32(dd.DecodeFloat(true))
  32131. if v != nil {
  32132. v[mk] = mv
  32133. }
  32134. }
  32135. if cr != nil {
  32136. cr.sendContainerState(containerMapEnd)
  32137. }
  32138. return v, changed
  32139. }
  32140. func (f *decFnInfo) fastpathDecMapInt32Float64R(rv reflect.Value) {
  32141. if rv.CanAddr() {
  32142. vp := rv2i(rv.Addr()).(*map[int32]float64)
  32143. v, changed := fastpathTV.DecMapInt32Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  32144. if changed {
  32145. *vp = v
  32146. }
  32147. } else {
  32148. v := rv2i(rv).(map[int32]float64)
  32149. fastpathTV.DecMapInt32Float64V(v, fastpathCheckNilFalse, false, f.d)
  32150. }
  32151. }
  32152. func (f fastpathT) DecMapInt32Float64X(vp *map[int32]float64, checkNil bool, d *Decoder) {
  32153. v, changed := f.DecMapInt32Float64V(*vp, checkNil, true, d)
  32154. if changed {
  32155. *vp = v
  32156. }
  32157. }
  32158. func (_ fastpathT) DecMapInt32Float64V(v map[int32]float64, checkNil bool, canChange bool,
  32159. d *Decoder) (_ map[int32]float64, changed bool) {
  32160. dd := d.d
  32161. cr := d.cr
  32162. if checkNil && dd.TryDecodeAsNil() {
  32163. if v != nil {
  32164. changed = true
  32165. }
  32166. return nil, changed
  32167. }
  32168. containerLen := dd.ReadMapStart()
  32169. if canChange && v == nil {
  32170. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  32171. v = make(map[int32]float64, xlen)
  32172. changed = true
  32173. }
  32174. if containerLen == 0 {
  32175. if cr != nil {
  32176. cr.sendContainerState(containerMapEnd)
  32177. }
  32178. return v, changed
  32179. }
  32180. var mk int32
  32181. var mv float64
  32182. hasLen := containerLen > 0
  32183. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32184. if cr != nil {
  32185. cr.sendContainerState(containerMapKey)
  32186. }
  32187. mk = int32(dd.DecodeInt(32))
  32188. if cr != nil {
  32189. cr.sendContainerState(containerMapValue)
  32190. }
  32191. mv = dd.DecodeFloat(false)
  32192. if v != nil {
  32193. v[mk] = mv
  32194. }
  32195. }
  32196. if cr != nil {
  32197. cr.sendContainerState(containerMapEnd)
  32198. }
  32199. return v, changed
  32200. }
  32201. func (f *decFnInfo) fastpathDecMapInt32BoolR(rv reflect.Value) {
  32202. if rv.CanAddr() {
  32203. vp := rv2i(rv.Addr()).(*map[int32]bool)
  32204. v, changed := fastpathTV.DecMapInt32BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  32205. if changed {
  32206. *vp = v
  32207. }
  32208. } else {
  32209. v := rv2i(rv).(map[int32]bool)
  32210. fastpathTV.DecMapInt32BoolV(v, fastpathCheckNilFalse, false, f.d)
  32211. }
  32212. }
  32213. func (f fastpathT) DecMapInt32BoolX(vp *map[int32]bool, checkNil bool, d *Decoder) {
  32214. v, changed := f.DecMapInt32BoolV(*vp, checkNil, true, d)
  32215. if changed {
  32216. *vp = v
  32217. }
  32218. }
  32219. func (_ fastpathT) DecMapInt32BoolV(v map[int32]bool, checkNil bool, canChange bool,
  32220. d *Decoder) (_ map[int32]bool, changed bool) {
  32221. dd := d.d
  32222. cr := d.cr
  32223. if checkNil && dd.TryDecodeAsNil() {
  32224. if v != nil {
  32225. changed = true
  32226. }
  32227. return nil, changed
  32228. }
  32229. containerLen := dd.ReadMapStart()
  32230. if canChange && v == nil {
  32231. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  32232. v = make(map[int32]bool, xlen)
  32233. changed = true
  32234. }
  32235. if containerLen == 0 {
  32236. if cr != nil {
  32237. cr.sendContainerState(containerMapEnd)
  32238. }
  32239. return v, changed
  32240. }
  32241. var mk int32
  32242. var mv bool
  32243. hasLen := containerLen > 0
  32244. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32245. if cr != nil {
  32246. cr.sendContainerState(containerMapKey)
  32247. }
  32248. mk = int32(dd.DecodeInt(32))
  32249. if cr != nil {
  32250. cr.sendContainerState(containerMapValue)
  32251. }
  32252. mv = dd.DecodeBool()
  32253. if v != nil {
  32254. v[mk] = mv
  32255. }
  32256. }
  32257. if cr != nil {
  32258. cr.sendContainerState(containerMapEnd)
  32259. }
  32260. return v, changed
  32261. }
  32262. func (f *decFnInfo) fastpathDecMapInt64IntfR(rv reflect.Value) {
  32263. if rv.CanAddr() {
  32264. vp := rv2i(rv.Addr()).(*map[int64]interface{})
  32265. v, changed := fastpathTV.DecMapInt64IntfV(*vp, fastpathCheckNilFalse, true, f.d)
  32266. if changed {
  32267. *vp = v
  32268. }
  32269. } else {
  32270. v := rv2i(rv).(map[int64]interface{})
  32271. fastpathTV.DecMapInt64IntfV(v, fastpathCheckNilFalse, false, f.d)
  32272. }
  32273. }
  32274. func (f fastpathT) DecMapInt64IntfX(vp *map[int64]interface{}, checkNil bool, d *Decoder) {
  32275. v, changed := f.DecMapInt64IntfV(*vp, checkNil, true, d)
  32276. if changed {
  32277. *vp = v
  32278. }
  32279. }
  32280. func (_ fastpathT) DecMapInt64IntfV(v map[int64]interface{}, checkNil bool, canChange bool,
  32281. d *Decoder) (_ map[int64]interface{}, changed bool) {
  32282. dd := d.d
  32283. cr := d.cr
  32284. if checkNil && dd.TryDecodeAsNil() {
  32285. if v != nil {
  32286. changed = true
  32287. }
  32288. return nil, changed
  32289. }
  32290. containerLen := dd.ReadMapStart()
  32291. if canChange && v == nil {
  32292. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  32293. v = make(map[int64]interface{}, xlen)
  32294. changed = true
  32295. }
  32296. if containerLen == 0 {
  32297. if cr != nil {
  32298. cr.sendContainerState(containerMapEnd)
  32299. }
  32300. return v, changed
  32301. }
  32302. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  32303. var mk int64
  32304. var mv interface{}
  32305. hasLen := containerLen > 0
  32306. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32307. if cr != nil {
  32308. cr.sendContainerState(containerMapKey)
  32309. }
  32310. mk = dd.DecodeInt(64)
  32311. if cr != nil {
  32312. cr.sendContainerState(containerMapValue)
  32313. }
  32314. if mapGet {
  32315. mv = v[mk]
  32316. } else {
  32317. mv = nil
  32318. }
  32319. d.decode(&mv)
  32320. if v != nil {
  32321. v[mk] = mv
  32322. }
  32323. }
  32324. if cr != nil {
  32325. cr.sendContainerState(containerMapEnd)
  32326. }
  32327. return v, changed
  32328. }
  32329. func (f *decFnInfo) fastpathDecMapInt64StringR(rv reflect.Value) {
  32330. if rv.CanAddr() {
  32331. vp := rv2i(rv.Addr()).(*map[int64]string)
  32332. v, changed := fastpathTV.DecMapInt64StringV(*vp, fastpathCheckNilFalse, true, f.d)
  32333. if changed {
  32334. *vp = v
  32335. }
  32336. } else {
  32337. v := rv2i(rv).(map[int64]string)
  32338. fastpathTV.DecMapInt64StringV(v, fastpathCheckNilFalse, false, f.d)
  32339. }
  32340. }
  32341. func (f fastpathT) DecMapInt64StringX(vp *map[int64]string, checkNil bool, d *Decoder) {
  32342. v, changed := f.DecMapInt64StringV(*vp, checkNil, true, d)
  32343. if changed {
  32344. *vp = v
  32345. }
  32346. }
  32347. func (_ fastpathT) DecMapInt64StringV(v map[int64]string, checkNil bool, canChange bool,
  32348. d *Decoder) (_ map[int64]string, changed bool) {
  32349. dd := d.d
  32350. cr := d.cr
  32351. if checkNil && dd.TryDecodeAsNil() {
  32352. if v != nil {
  32353. changed = true
  32354. }
  32355. return nil, changed
  32356. }
  32357. containerLen := dd.ReadMapStart()
  32358. if canChange && v == nil {
  32359. xlen := decInferLen(containerLen, d.h.MaxInitLen, 24)
  32360. v = make(map[int64]string, xlen)
  32361. changed = true
  32362. }
  32363. if containerLen == 0 {
  32364. if cr != nil {
  32365. cr.sendContainerState(containerMapEnd)
  32366. }
  32367. return v, changed
  32368. }
  32369. var mk int64
  32370. var mv string
  32371. hasLen := containerLen > 0
  32372. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32373. if cr != nil {
  32374. cr.sendContainerState(containerMapKey)
  32375. }
  32376. mk = dd.DecodeInt(64)
  32377. if cr != nil {
  32378. cr.sendContainerState(containerMapValue)
  32379. }
  32380. mv = dd.DecodeString()
  32381. if v != nil {
  32382. v[mk] = mv
  32383. }
  32384. }
  32385. if cr != nil {
  32386. cr.sendContainerState(containerMapEnd)
  32387. }
  32388. return v, changed
  32389. }
  32390. func (f *decFnInfo) fastpathDecMapInt64UintR(rv reflect.Value) {
  32391. if rv.CanAddr() {
  32392. vp := rv2i(rv.Addr()).(*map[int64]uint)
  32393. v, changed := fastpathTV.DecMapInt64UintV(*vp, fastpathCheckNilFalse, true, f.d)
  32394. if changed {
  32395. *vp = v
  32396. }
  32397. } else {
  32398. v := rv2i(rv).(map[int64]uint)
  32399. fastpathTV.DecMapInt64UintV(v, fastpathCheckNilFalse, false, f.d)
  32400. }
  32401. }
  32402. func (f fastpathT) DecMapInt64UintX(vp *map[int64]uint, checkNil bool, d *Decoder) {
  32403. v, changed := f.DecMapInt64UintV(*vp, checkNil, true, d)
  32404. if changed {
  32405. *vp = v
  32406. }
  32407. }
  32408. func (_ fastpathT) DecMapInt64UintV(v map[int64]uint, checkNil bool, canChange bool,
  32409. d *Decoder) (_ map[int64]uint, changed bool) {
  32410. dd := d.d
  32411. cr := d.cr
  32412. if checkNil && dd.TryDecodeAsNil() {
  32413. if v != nil {
  32414. changed = true
  32415. }
  32416. return nil, changed
  32417. }
  32418. containerLen := dd.ReadMapStart()
  32419. if canChange && v == nil {
  32420. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  32421. v = make(map[int64]uint, xlen)
  32422. changed = true
  32423. }
  32424. if containerLen == 0 {
  32425. if cr != nil {
  32426. cr.sendContainerState(containerMapEnd)
  32427. }
  32428. return v, changed
  32429. }
  32430. var mk int64
  32431. var mv uint
  32432. hasLen := containerLen > 0
  32433. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32434. if cr != nil {
  32435. cr.sendContainerState(containerMapKey)
  32436. }
  32437. mk = dd.DecodeInt(64)
  32438. if cr != nil {
  32439. cr.sendContainerState(containerMapValue)
  32440. }
  32441. mv = uint(dd.DecodeUint(uintBitsize))
  32442. if v != nil {
  32443. v[mk] = mv
  32444. }
  32445. }
  32446. if cr != nil {
  32447. cr.sendContainerState(containerMapEnd)
  32448. }
  32449. return v, changed
  32450. }
  32451. func (f *decFnInfo) fastpathDecMapInt64Uint8R(rv reflect.Value) {
  32452. if rv.CanAddr() {
  32453. vp := rv2i(rv.Addr()).(*map[int64]uint8)
  32454. v, changed := fastpathTV.DecMapInt64Uint8V(*vp, fastpathCheckNilFalse, true, f.d)
  32455. if changed {
  32456. *vp = v
  32457. }
  32458. } else {
  32459. v := rv2i(rv).(map[int64]uint8)
  32460. fastpathTV.DecMapInt64Uint8V(v, fastpathCheckNilFalse, false, f.d)
  32461. }
  32462. }
  32463. func (f fastpathT) DecMapInt64Uint8X(vp *map[int64]uint8, checkNil bool, d *Decoder) {
  32464. v, changed := f.DecMapInt64Uint8V(*vp, checkNil, true, d)
  32465. if changed {
  32466. *vp = v
  32467. }
  32468. }
  32469. func (_ fastpathT) DecMapInt64Uint8V(v map[int64]uint8, checkNil bool, canChange bool,
  32470. d *Decoder) (_ map[int64]uint8, changed bool) {
  32471. dd := d.d
  32472. cr := d.cr
  32473. if checkNil && dd.TryDecodeAsNil() {
  32474. if v != nil {
  32475. changed = true
  32476. }
  32477. return nil, changed
  32478. }
  32479. containerLen := dd.ReadMapStart()
  32480. if canChange && v == nil {
  32481. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  32482. v = make(map[int64]uint8, xlen)
  32483. changed = true
  32484. }
  32485. if containerLen == 0 {
  32486. if cr != nil {
  32487. cr.sendContainerState(containerMapEnd)
  32488. }
  32489. return v, changed
  32490. }
  32491. var mk int64
  32492. var mv uint8
  32493. hasLen := containerLen > 0
  32494. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32495. if cr != nil {
  32496. cr.sendContainerState(containerMapKey)
  32497. }
  32498. mk = dd.DecodeInt(64)
  32499. if cr != nil {
  32500. cr.sendContainerState(containerMapValue)
  32501. }
  32502. mv = uint8(dd.DecodeUint(8))
  32503. if v != nil {
  32504. v[mk] = mv
  32505. }
  32506. }
  32507. if cr != nil {
  32508. cr.sendContainerState(containerMapEnd)
  32509. }
  32510. return v, changed
  32511. }
  32512. func (f *decFnInfo) fastpathDecMapInt64Uint16R(rv reflect.Value) {
  32513. if rv.CanAddr() {
  32514. vp := rv2i(rv.Addr()).(*map[int64]uint16)
  32515. v, changed := fastpathTV.DecMapInt64Uint16V(*vp, fastpathCheckNilFalse, true, f.d)
  32516. if changed {
  32517. *vp = v
  32518. }
  32519. } else {
  32520. v := rv2i(rv).(map[int64]uint16)
  32521. fastpathTV.DecMapInt64Uint16V(v, fastpathCheckNilFalse, false, f.d)
  32522. }
  32523. }
  32524. func (f fastpathT) DecMapInt64Uint16X(vp *map[int64]uint16, checkNil bool, d *Decoder) {
  32525. v, changed := f.DecMapInt64Uint16V(*vp, checkNil, true, d)
  32526. if changed {
  32527. *vp = v
  32528. }
  32529. }
  32530. func (_ fastpathT) DecMapInt64Uint16V(v map[int64]uint16, checkNil bool, canChange bool,
  32531. d *Decoder) (_ map[int64]uint16, changed bool) {
  32532. dd := d.d
  32533. cr := d.cr
  32534. if checkNil && dd.TryDecodeAsNil() {
  32535. if v != nil {
  32536. changed = true
  32537. }
  32538. return nil, changed
  32539. }
  32540. containerLen := dd.ReadMapStart()
  32541. if canChange && v == nil {
  32542. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  32543. v = make(map[int64]uint16, xlen)
  32544. changed = true
  32545. }
  32546. if containerLen == 0 {
  32547. if cr != nil {
  32548. cr.sendContainerState(containerMapEnd)
  32549. }
  32550. return v, changed
  32551. }
  32552. var mk int64
  32553. var mv uint16
  32554. hasLen := containerLen > 0
  32555. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32556. if cr != nil {
  32557. cr.sendContainerState(containerMapKey)
  32558. }
  32559. mk = dd.DecodeInt(64)
  32560. if cr != nil {
  32561. cr.sendContainerState(containerMapValue)
  32562. }
  32563. mv = uint16(dd.DecodeUint(16))
  32564. if v != nil {
  32565. v[mk] = mv
  32566. }
  32567. }
  32568. if cr != nil {
  32569. cr.sendContainerState(containerMapEnd)
  32570. }
  32571. return v, changed
  32572. }
  32573. func (f *decFnInfo) fastpathDecMapInt64Uint32R(rv reflect.Value) {
  32574. if rv.CanAddr() {
  32575. vp := rv2i(rv.Addr()).(*map[int64]uint32)
  32576. v, changed := fastpathTV.DecMapInt64Uint32V(*vp, fastpathCheckNilFalse, true, f.d)
  32577. if changed {
  32578. *vp = v
  32579. }
  32580. } else {
  32581. v := rv2i(rv).(map[int64]uint32)
  32582. fastpathTV.DecMapInt64Uint32V(v, fastpathCheckNilFalse, false, f.d)
  32583. }
  32584. }
  32585. func (f fastpathT) DecMapInt64Uint32X(vp *map[int64]uint32, checkNil bool, d *Decoder) {
  32586. v, changed := f.DecMapInt64Uint32V(*vp, checkNil, true, d)
  32587. if changed {
  32588. *vp = v
  32589. }
  32590. }
  32591. func (_ fastpathT) DecMapInt64Uint32V(v map[int64]uint32, checkNil bool, canChange bool,
  32592. d *Decoder) (_ map[int64]uint32, changed bool) {
  32593. dd := d.d
  32594. cr := d.cr
  32595. if checkNil && dd.TryDecodeAsNil() {
  32596. if v != nil {
  32597. changed = true
  32598. }
  32599. return nil, changed
  32600. }
  32601. containerLen := dd.ReadMapStart()
  32602. if canChange && v == nil {
  32603. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  32604. v = make(map[int64]uint32, xlen)
  32605. changed = true
  32606. }
  32607. if containerLen == 0 {
  32608. if cr != nil {
  32609. cr.sendContainerState(containerMapEnd)
  32610. }
  32611. return v, changed
  32612. }
  32613. var mk int64
  32614. var mv uint32
  32615. hasLen := containerLen > 0
  32616. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32617. if cr != nil {
  32618. cr.sendContainerState(containerMapKey)
  32619. }
  32620. mk = dd.DecodeInt(64)
  32621. if cr != nil {
  32622. cr.sendContainerState(containerMapValue)
  32623. }
  32624. mv = uint32(dd.DecodeUint(32))
  32625. if v != nil {
  32626. v[mk] = mv
  32627. }
  32628. }
  32629. if cr != nil {
  32630. cr.sendContainerState(containerMapEnd)
  32631. }
  32632. return v, changed
  32633. }
  32634. func (f *decFnInfo) fastpathDecMapInt64Uint64R(rv reflect.Value) {
  32635. if rv.CanAddr() {
  32636. vp := rv2i(rv.Addr()).(*map[int64]uint64)
  32637. v, changed := fastpathTV.DecMapInt64Uint64V(*vp, fastpathCheckNilFalse, true, f.d)
  32638. if changed {
  32639. *vp = v
  32640. }
  32641. } else {
  32642. v := rv2i(rv).(map[int64]uint64)
  32643. fastpathTV.DecMapInt64Uint64V(v, fastpathCheckNilFalse, false, f.d)
  32644. }
  32645. }
  32646. func (f fastpathT) DecMapInt64Uint64X(vp *map[int64]uint64, checkNil bool, d *Decoder) {
  32647. v, changed := f.DecMapInt64Uint64V(*vp, checkNil, true, d)
  32648. if changed {
  32649. *vp = v
  32650. }
  32651. }
  32652. func (_ fastpathT) DecMapInt64Uint64V(v map[int64]uint64, checkNil bool, canChange bool,
  32653. d *Decoder) (_ map[int64]uint64, changed bool) {
  32654. dd := d.d
  32655. cr := d.cr
  32656. if checkNil && dd.TryDecodeAsNil() {
  32657. if v != nil {
  32658. changed = true
  32659. }
  32660. return nil, changed
  32661. }
  32662. containerLen := dd.ReadMapStart()
  32663. if canChange && v == nil {
  32664. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  32665. v = make(map[int64]uint64, xlen)
  32666. changed = true
  32667. }
  32668. if containerLen == 0 {
  32669. if cr != nil {
  32670. cr.sendContainerState(containerMapEnd)
  32671. }
  32672. return v, changed
  32673. }
  32674. var mk int64
  32675. var mv uint64
  32676. hasLen := containerLen > 0
  32677. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32678. if cr != nil {
  32679. cr.sendContainerState(containerMapKey)
  32680. }
  32681. mk = dd.DecodeInt(64)
  32682. if cr != nil {
  32683. cr.sendContainerState(containerMapValue)
  32684. }
  32685. mv = dd.DecodeUint(64)
  32686. if v != nil {
  32687. v[mk] = mv
  32688. }
  32689. }
  32690. if cr != nil {
  32691. cr.sendContainerState(containerMapEnd)
  32692. }
  32693. return v, changed
  32694. }
  32695. func (f *decFnInfo) fastpathDecMapInt64UintptrR(rv reflect.Value) {
  32696. if rv.CanAddr() {
  32697. vp := rv2i(rv.Addr()).(*map[int64]uintptr)
  32698. v, changed := fastpathTV.DecMapInt64UintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  32699. if changed {
  32700. *vp = v
  32701. }
  32702. } else {
  32703. v := rv2i(rv).(map[int64]uintptr)
  32704. fastpathTV.DecMapInt64UintptrV(v, fastpathCheckNilFalse, false, f.d)
  32705. }
  32706. }
  32707. func (f fastpathT) DecMapInt64UintptrX(vp *map[int64]uintptr, checkNil bool, d *Decoder) {
  32708. v, changed := f.DecMapInt64UintptrV(*vp, checkNil, true, d)
  32709. if changed {
  32710. *vp = v
  32711. }
  32712. }
  32713. func (_ fastpathT) DecMapInt64UintptrV(v map[int64]uintptr, checkNil bool, canChange bool,
  32714. d *Decoder) (_ map[int64]uintptr, changed bool) {
  32715. dd := d.d
  32716. cr := d.cr
  32717. if checkNil && dd.TryDecodeAsNil() {
  32718. if v != nil {
  32719. changed = true
  32720. }
  32721. return nil, changed
  32722. }
  32723. containerLen := dd.ReadMapStart()
  32724. if canChange && v == nil {
  32725. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  32726. v = make(map[int64]uintptr, xlen)
  32727. changed = true
  32728. }
  32729. if containerLen == 0 {
  32730. if cr != nil {
  32731. cr.sendContainerState(containerMapEnd)
  32732. }
  32733. return v, changed
  32734. }
  32735. var mk int64
  32736. var mv uintptr
  32737. hasLen := containerLen > 0
  32738. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32739. if cr != nil {
  32740. cr.sendContainerState(containerMapKey)
  32741. }
  32742. mk = dd.DecodeInt(64)
  32743. if cr != nil {
  32744. cr.sendContainerState(containerMapValue)
  32745. }
  32746. mv = uintptr(dd.DecodeUint(uintBitsize))
  32747. if v != nil {
  32748. v[mk] = mv
  32749. }
  32750. }
  32751. if cr != nil {
  32752. cr.sendContainerState(containerMapEnd)
  32753. }
  32754. return v, changed
  32755. }
  32756. func (f *decFnInfo) fastpathDecMapInt64IntR(rv reflect.Value) {
  32757. if rv.CanAddr() {
  32758. vp := rv2i(rv.Addr()).(*map[int64]int)
  32759. v, changed := fastpathTV.DecMapInt64IntV(*vp, fastpathCheckNilFalse, true, f.d)
  32760. if changed {
  32761. *vp = v
  32762. }
  32763. } else {
  32764. v := rv2i(rv).(map[int64]int)
  32765. fastpathTV.DecMapInt64IntV(v, fastpathCheckNilFalse, false, f.d)
  32766. }
  32767. }
  32768. func (f fastpathT) DecMapInt64IntX(vp *map[int64]int, checkNil bool, d *Decoder) {
  32769. v, changed := f.DecMapInt64IntV(*vp, checkNil, true, d)
  32770. if changed {
  32771. *vp = v
  32772. }
  32773. }
  32774. func (_ fastpathT) DecMapInt64IntV(v map[int64]int, checkNil bool, canChange bool,
  32775. d *Decoder) (_ map[int64]int, changed bool) {
  32776. dd := d.d
  32777. cr := d.cr
  32778. if checkNil && dd.TryDecodeAsNil() {
  32779. if v != nil {
  32780. changed = true
  32781. }
  32782. return nil, changed
  32783. }
  32784. containerLen := dd.ReadMapStart()
  32785. if canChange && v == nil {
  32786. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  32787. v = make(map[int64]int, xlen)
  32788. changed = true
  32789. }
  32790. if containerLen == 0 {
  32791. if cr != nil {
  32792. cr.sendContainerState(containerMapEnd)
  32793. }
  32794. return v, changed
  32795. }
  32796. var mk int64
  32797. var mv int
  32798. hasLen := containerLen > 0
  32799. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32800. if cr != nil {
  32801. cr.sendContainerState(containerMapKey)
  32802. }
  32803. mk = dd.DecodeInt(64)
  32804. if cr != nil {
  32805. cr.sendContainerState(containerMapValue)
  32806. }
  32807. mv = int(dd.DecodeInt(intBitsize))
  32808. if v != nil {
  32809. v[mk] = mv
  32810. }
  32811. }
  32812. if cr != nil {
  32813. cr.sendContainerState(containerMapEnd)
  32814. }
  32815. return v, changed
  32816. }
  32817. func (f *decFnInfo) fastpathDecMapInt64Int8R(rv reflect.Value) {
  32818. if rv.CanAddr() {
  32819. vp := rv2i(rv.Addr()).(*map[int64]int8)
  32820. v, changed := fastpathTV.DecMapInt64Int8V(*vp, fastpathCheckNilFalse, true, f.d)
  32821. if changed {
  32822. *vp = v
  32823. }
  32824. } else {
  32825. v := rv2i(rv).(map[int64]int8)
  32826. fastpathTV.DecMapInt64Int8V(v, fastpathCheckNilFalse, false, f.d)
  32827. }
  32828. }
  32829. func (f fastpathT) DecMapInt64Int8X(vp *map[int64]int8, checkNil bool, d *Decoder) {
  32830. v, changed := f.DecMapInt64Int8V(*vp, checkNil, true, d)
  32831. if changed {
  32832. *vp = v
  32833. }
  32834. }
  32835. func (_ fastpathT) DecMapInt64Int8V(v map[int64]int8, checkNil bool, canChange bool,
  32836. d *Decoder) (_ map[int64]int8, changed bool) {
  32837. dd := d.d
  32838. cr := d.cr
  32839. if checkNil && dd.TryDecodeAsNil() {
  32840. if v != nil {
  32841. changed = true
  32842. }
  32843. return nil, changed
  32844. }
  32845. containerLen := dd.ReadMapStart()
  32846. if canChange && v == nil {
  32847. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  32848. v = make(map[int64]int8, xlen)
  32849. changed = true
  32850. }
  32851. if containerLen == 0 {
  32852. if cr != nil {
  32853. cr.sendContainerState(containerMapEnd)
  32854. }
  32855. return v, changed
  32856. }
  32857. var mk int64
  32858. var mv int8
  32859. hasLen := containerLen > 0
  32860. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32861. if cr != nil {
  32862. cr.sendContainerState(containerMapKey)
  32863. }
  32864. mk = dd.DecodeInt(64)
  32865. if cr != nil {
  32866. cr.sendContainerState(containerMapValue)
  32867. }
  32868. mv = int8(dd.DecodeInt(8))
  32869. if v != nil {
  32870. v[mk] = mv
  32871. }
  32872. }
  32873. if cr != nil {
  32874. cr.sendContainerState(containerMapEnd)
  32875. }
  32876. return v, changed
  32877. }
  32878. func (f *decFnInfo) fastpathDecMapInt64Int16R(rv reflect.Value) {
  32879. if rv.CanAddr() {
  32880. vp := rv2i(rv.Addr()).(*map[int64]int16)
  32881. v, changed := fastpathTV.DecMapInt64Int16V(*vp, fastpathCheckNilFalse, true, f.d)
  32882. if changed {
  32883. *vp = v
  32884. }
  32885. } else {
  32886. v := rv2i(rv).(map[int64]int16)
  32887. fastpathTV.DecMapInt64Int16V(v, fastpathCheckNilFalse, false, f.d)
  32888. }
  32889. }
  32890. func (f fastpathT) DecMapInt64Int16X(vp *map[int64]int16, checkNil bool, d *Decoder) {
  32891. v, changed := f.DecMapInt64Int16V(*vp, checkNil, true, d)
  32892. if changed {
  32893. *vp = v
  32894. }
  32895. }
  32896. func (_ fastpathT) DecMapInt64Int16V(v map[int64]int16, checkNil bool, canChange bool,
  32897. d *Decoder) (_ map[int64]int16, changed bool) {
  32898. dd := d.d
  32899. cr := d.cr
  32900. if checkNil && dd.TryDecodeAsNil() {
  32901. if v != nil {
  32902. changed = true
  32903. }
  32904. return nil, changed
  32905. }
  32906. containerLen := dd.ReadMapStart()
  32907. if canChange && v == nil {
  32908. xlen := decInferLen(containerLen, d.h.MaxInitLen, 10)
  32909. v = make(map[int64]int16, xlen)
  32910. changed = true
  32911. }
  32912. if containerLen == 0 {
  32913. if cr != nil {
  32914. cr.sendContainerState(containerMapEnd)
  32915. }
  32916. return v, changed
  32917. }
  32918. var mk int64
  32919. var mv int16
  32920. hasLen := containerLen > 0
  32921. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32922. if cr != nil {
  32923. cr.sendContainerState(containerMapKey)
  32924. }
  32925. mk = dd.DecodeInt(64)
  32926. if cr != nil {
  32927. cr.sendContainerState(containerMapValue)
  32928. }
  32929. mv = int16(dd.DecodeInt(16))
  32930. if v != nil {
  32931. v[mk] = mv
  32932. }
  32933. }
  32934. if cr != nil {
  32935. cr.sendContainerState(containerMapEnd)
  32936. }
  32937. return v, changed
  32938. }
  32939. func (f *decFnInfo) fastpathDecMapInt64Int32R(rv reflect.Value) {
  32940. if rv.CanAddr() {
  32941. vp := rv2i(rv.Addr()).(*map[int64]int32)
  32942. v, changed := fastpathTV.DecMapInt64Int32V(*vp, fastpathCheckNilFalse, true, f.d)
  32943. if changed {
  32944. *vp = v
  32945. }
  32946. } else {
  32947. v := rv2i(rv).(map[int64]int32)
  32948. fastpathTV.DecMapInt64Int32V(v, fastpathCheckNilFalse, false, f.d)
  32949. }
  32950. }
  32951. func (f fastpathT) DecMapInt64Int32X(vp *map[int64]int32, checkNil bool, d *Decoder) {
  32952. v, changed := f.DecMapInt64Int32V(*vp, checkNil, true, d)
  32953. if changed {
  32954. *vp = v
  32955. }
  32956. }
  32957. func (_ fastpathT) DecMapInt64Int32V(v map[int64]int32, checkNil bool, canChange bool,
  32958. d *Decoder) (_ map[int64]int32, changed bool) {
  32959. dd := d.d
  32960. cr := d.cr
  32961. if checkNil && dd.TryDecodeAsNil() {
  32962. if v != nil {
  32963. changed = true
  32964. }
  32965. return nil, changed
  32966. }
  32967. containerLen := dd.ReadMapStart()
  32968. if canChange && v == nil {
  32969. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  32970. v = make(map[int64]int32, xlen)
  32971. changed = true
  32972. }
  32973. if containerLen == 0 {
  32974. if cr != nil {
  32975. cr.sendContainerState(containerMapEnd)
  32976. }
  32977. return v, changed
  32978. }
  32979. var mk int64
  32980. var mv int32
  32981. hasLen := containerLen > 0
  32982. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  32983. if cr != nil {
  32984. cr.sendContainerState(containerMapKey)
  32985. }
  32986. mk = dd.DecodeInt(64)
  32987. if cr != nil {
  32988. cr.sendContainerState(containerMapValue)
  32989. }
  32990. mv = int32(dd.DecodeInt(32))
  32991. if v != nil {
  32992. v[mk] = mv
  32993. }
  32994. }
  32995. if cr != nil {
  32996. cr.sendContainerState(containerMapEnd)
  32997. }
  32998. return v, changed
  32999. }
  33000. func (f *decFnInfo) fastpathDecMapInt64Int64R(rv reflect.Value) {
  33001. if rv.CanAddr() {
  33002. vp := rv2i(rv.Addr()).(*map[int64]int64)
  33003. v, changed := fastpathTV.DecMapInt64Int64V(*vp, fastpathCheckNilFalse, true, f.d)
  33004. if changed {
  33005. *vp = v
  33006. }
  33007. } else {
  33008. v := rv2i(rv).(map[int64]int64)
  33009. fastpathTV.DecMapInt64Int64V(v, fastpathCheckNilFalse, false, f.d)
  33010. }
  33011. }
  33012. func (f fastpathT) DecMapInt64Int64X(vp *map[int64]int64, checkNil bool, d *Decoder) {
  33013. v, changed := f.DecMapInt64Int64V(*vp, checkNil, true, d)
  33014. if changed {
  33015. *vp = v
  33016. }
  33017. }
  33018. func (_ fastpathT) DecMapInt64Int64V(v map[int64]int64, checkNil bool, canChange bool,
  33019. d *Decoder) (_ map[int64]int64, changed bool) {
  33020. dd := d.d
  33021. cr := d.cr
  33022. if checkNil && dd.TryDecodeAsNil() {
  33023. if v != nil {
  33024. changed = true
  33025. }
  33026. return nil, changed
  33027. }
  33028. containerLen := dd.ReadMapStart()
  33029. if canChange && v == nil {
  33030. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  33031. v = make(map[int64]int64, xlen)
  33032. changed = true
  33033. }
  33034. if containerLen == 0 {
  33035. if cr != nil {
  33036. cr.sendContainerState(containerMapEnd)
  33037. }
  33038. return v, changed
  33039. }
  33040. var mk int64
  33041. var mv int64
  33042. hasLen := containerLen > 0
  33043. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33044. if cr != nil {
  33045. cr.sendContainerState(containerMapKey)
  33046. }
  33047. mk = dd.DecodeInt(64)
  33048. if cr != nil {
  33049. cr.sendContainerState(containerMapValue)
  33050. }
  33051. mv = dd.DecodeInt(64)
  33052. if v != nil {
  33053. v[mk] = mv
  33054. }
  33055. }
  33056. if cr != nil {
  33057. cr.sendContainerState(containerMapEnd)
  33058. }
  33059. return v, changed
  33060. }
  33061. func (f *decFnInfo) fastpathDecMapInt64Float32R(rv reflect.Value) {
  33062. if rv.CanAddr() {
  33063. vp := rv2i(rv.Addr()).(*map[int64]float32)
  33064. v, changed := fastpathTV.DecMapInt64Float32V(*vp, fastpathCheckNilFalse, true, f.d)
  33065. if changed {
  33066. *vp = v
  33067. }
  33068. } else {
  33069. v := rv2i(rv).(map[int64]float32)
  33070. fastpathTV.DecMapInt64Float32V(v, fastpathCheckNilFalse, false, f.d)
  33071. }
  33072. }
  33073. func (f fastpathT) DecMapInt64Float32X(vp *map[int64]float32, checkNil bool, d *Decoder) {
  33074. v, changed := f.DecMapInt64Float32V(*vp, checkNil, true, d)
  33075. if changed {
  33076. *vp = v
  33077. }
  33078. }
  33079. func (_ fastpathT) DecMapInt64Float32V(v map[int64]float32, checkNil bool, canChange bool,
  33080. d *Decoder) (_ map[int64]float32, changed bool) {
  33081. dd := d.d
  33082. cr := d.cr
  33083. if checkNil && dd.TryDecodeAsNil() {
  33084. if v != nil {
  33085. changed = true
  33086. }
  33087. return nil, changed
  33088. }
  33089. containerLen := dd.ReadMapStart()
  33090. if canChange && v == nil {
  33091. xlen := decInferLen(containerLen, d.h.MaxInitLen, 12)
  33092. v = make(map[int64]float32, xlen)
  33093. changed = true
  33094. }
  33095. if containerLen == 0 {
  33096. if cr != nil {
  33097. cr.sendContainerState(containerMapEnd)
  33098. }
  33099. return v, changed
  33100. }
  33101. var mk int64
  33102. var mv float32
  33103. hasLen := containerLen > 0
  33104. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33105. if cr != nil {
  33106. cr.sendContainerState(containerMapKey)
  33107. }
  33108. mk = dd.DecodeInt(64)
  33109. if cr != nil {
  33110. cr.sendContainerState(containerMapValue)
  33111. }
  33112. mv = float32(dd.DecodeFloat(true))
  33113. if v != nil {
  33114. v[mk] = mv
  33115. }
  33116. }
  33117. if cr != nil {
  33118. cr.sendContainerState(containerMapEnd)
  33119. }
  33120. return v, changed
  33121. }
  33122. func (f *decFnInfo) fastpathDecMapInt64Float64R(rv reflect.Value) {
  33123. if rv.CanAddr() {
  33124. vp := rv2i(rv.Addr()).(*map[int64]float64)
  33125. v, changed := fastpathTV.DecMapInt64Float64V(*vp, fastpathCheckNilFalse, true, f.d)
  33126. if changed {
  33127. *vp = v
  33128. }
  33129. } else {
  33130. v := rv2i(rv).(map[int64]float64)
  33131. fastpathTV.DecMapInt64Float64V(v, fastpathCheckNilFalse, false, f.d)
  33132. }
  33133. }
  33134. func (f fastpathT) DecMapInt64Float64X(vp *map[int64]float64, checkNil bool, d *Decoder) {
  33135. v, changed := f.DecMapInt64Float64V(*vp, checkNil, true, d)
  33136. if changed {
  33137. *vp = v
  33138. }
  33139. }
  33140. func (_ fastpathT) DecMapInt64Float64V(v map[int64]float64, checkNil bool, canChange bool,
  33141. d *Decoder) (_ map[int64]float64, changed bool) {
  33142. dd := d.d
  33143. cr := d.cr
  33144. if checkNil && dd.TryDecodeAsNil() {
  33145. if v != nil {
  33146. changed = true
  33147. }
  33148. return nil, changed
  33149. }
  33150. containerLen := dd.ReadMapStart()
  33151. if canChange && v == nil {
  33152. xlen := decInferLen(containerLen, d.h.MaxInitLen, 16)
  33153. v = make(map[int64]float64, xlen)
  33154. changed = true
  33155. }
  33156. if containerLen == 0 {
  33157. if cr != nil {
  33158. cr.sendContainerState(containerMapEnd)
  33159. }
  33160. return v, changed
  33161. }
  33162. var mk int64
  33163. var mv float64
  33164. hasLen := containerLen > 0
  33165. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33166. if cr != nil {
  33167. cr.sendContainerState(containerMapKey)
  33168. }
  33169. mk = dd.DecodeInt(64)
  33170. if cr != nil {
  33171. cr.sendContainerState(containerMapValue)
  33172. }
  33173. mv = dd.DecodeFloat(false)
  33174. if v != nil {
  33175. v[mk] = mv
  33176. }
  33177. }
  33178. if cr != nil {
  33179. cr.sendContainerState(containerMapEnd)
  33180. }
  33181. return v, changed
  33182. }
  33183. func (f *decFnInfo) fastpathDecMapInt64BoolR(rv reflect.Value) {
  33184. if rv.CanAddr() {
  33185. vp := rv2i(rv.Addr()).(*map[int64]bool)
  33186. v, changed := fastpathTV.DecMapInt64BoolV(*vp, fastpathCheckNilFalse, true, f.d)
  33187. if changed {
  33188. *vp = v
  33189. }
  33190. } else {
  33191. v := rv2i(rv).(map[int64]bool)
  33192. fastpathTV.DecMapInt64BoolV(v, fastpathCheckNilFalse, false, f.d)
  33193. }
  33194. }
  33195. func (f fastpathT) DecMapInt64BoolX(vp *map[int64]bool, checkNil bool, d *Decoder) {
  33196. v, changed := f.DecMapInt64BoolV(*vp, checkNil, true, d)
  33197. if changed {
  33198. *vp = v
  33199. }
  33200. }
  33201. func (_ fastpathT) DecMapInt64BoolV(v map[int64]bool, checkNil bool, canChange bool,
  33202. d *Decoder) (_ map[int64]bool, changed bool) {
  33203. dd := d.d
  33204. cr := d.cr
  33205. if checkNil && dd.TryDecodeAsNil() {
  33206. if v != nil {
  33207. changed = true
  33208. }
  33209. return nil, changed
  33210. }
  33211. containerLen := dd.ReadMapStart()
  33212. if canChange && v == nil {
  33213. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  33214. v = make(map[int64]bool, xlen)
  33215. changed = true
  33216. }
  33217. if containerLen == 0 {
  33218. if cr != nil {
  33219. cr.sendContainerState(containerMapEnd)
  33220. }
  33221. return v, changed
  33222. }
  33223. var mk int64
  33224. var mv bool
  33225. hasLen := containerLen > 0
  33226. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33227. if cr != nil {
  33228. cr.sendContainerState(containerMapKey)
  33229. }
  33230. mk = dd.DecodeInt(64)
  33231. if cr != nil {
  33232. cr.sendContainerState(containerMapValue)
  33233. }
  33234. mv = dd.DecodeBool()
  33235. if v != nil {
  33236. v[mk] = mv
  33237. }
  33238. }
  33239. if cr != nil {
  33240. cr.sendContainerState(containerMapEnd)
  33241. }
  33242. return v, changed
  33243. }
  33244. func (f *decFnInfo) fastpathDecMapBoolIntfR(rv reflect.Value) {
  33245. if rv.CanAddr() {
  33246. vp := rv2i(rv.Addr()).(*map[bool]interface{})
  33247. v, changed := fastpathTV.DecMapBoolIntfV(*vp, fastpathCheckNilFalse, true, f.d)
  33248. if changed {
  33249. *vp = v
  33250. }
  33251. } else {
  33252. v := rv2i(rv).(map[bool]interface{})
  33253. fastpathTV.DecMapBoolIntfV(v, fastpathCheckNilFalse, false, f.d)
  33254. }
  33255. }
  33256. func (f fastpathT) DecMapBoolIntfX(vp *map[bool]interface{}, checkNil bool, d *Decoder) {
  33257. v, changed := f.DecMapBoolIntfV(*vp, checkNil, true, d)
  33258. if changed {
  33259. *vp = v
  33260. }
  33261. }
  33262. func (_ fastpathT) DecMapBoolIntfV(v map[bool]interface{}, checkNil bool, canChange bool,
  33263. d *Decoder) (_ map[bool]interface{}, changed bool) {
  33264. dd := d.d
  33265. cr := d.cr
  33266. if checkNil && dd.TryDecodeAsNil() {
  33267. if v != nil {
  33268. changed = true
  33269. }
  33270. return nil, changed
  33271. }
  33272. containerLen := dd.ReadMapStart()
  33273. if canChange && v == nil {
  33274. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  33275. v = make(map[bool]interface{}, xlen)
  33276. changed = true
  33277. }
  33278. if containerLen == 0 {
  33279. if cr != nil {
  33280. cr.sendContainerState(containerMapEnd)
  33281. }
  33282. return v, changed
  33283. }
  33284. mapGet := !d.h.MapValueReset && !d.h.InterfaceReset
  33285. var mk bool
  33286. var mv interface{}
  33287. hasLen := containerLen > 0
  33288. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33289. if cr != nil {
  33290. cr.sendContainerState(containerMapKey)
  33291. }
  33292. mk = dd.DecodeBool()
  33293. if cr != nil {
  33294. cr.sendContainerState(containerMapValue)
  33295. }
  33296. if mapGet {
  33297. mv = v[mk]
  33298. } else {
  33299. mv = nil
  33300. }
  33301. d.decode(&mv)
  33302. if v != nil {
  33303. v[mk] = mv
  33304. }
  33305. }
  33306. if cr != nil {
  33307. cr.sendContainerState(containerMapEnd)
  33308. }
  33309. return v, changed
  33310. }
  33311. func (f *decFnInfo) fastpathDecMapBoolStringR(rv reflect.Value) {
  33312. if rv.CanAddr() {
  33313. vp := rv2i(rv.Addr()).(*map[bool]string)
  33314. v, changed := fastpathTV.DecMapBoolStringV(*vp, fastpathCheckNilFalse, true, f.d)
  33315. if changed {
  33316. *vp = v
  33317. }
  33318. } else {
  33319. v := rv2i(rv).(map[bool]string)
  33320. fastpathTV.DecMapBoolStringV(v, fastpathCheckNilFalse, false, f.d)
  33321. }
  33322. }
  33323. func (f fastpathT) DecMapBoolStringX(vp *map[bool]string, checkNil bool, d *Decoder) {
  33324. v, changed := f.DecMapBoolStringV(*vp, checkNil, true, d)
  33325. if changed {
  33326. *vp = v
  33327. }
  33328. }
  33329. func (_ fastpathT) DecMapBoolStringV(v map[bool]string, checkNil bool, canChange bool,
  33330. d *Decoder) (_ map[bool]string, changed bool) {
  33331. dd := d.d
  33332. cr := d.cr
  33333. if checkNil && dd.TryDecodeAsNil() {
  33334. if v != nil {
  33335. changed = true
  33336. }
  33337. return nil, changed
  33338. }
  33339. containerLen := dd.ReadMapStart()
  33340. if canChange && v == nil {
  33341. xlen := decInferLen(containerLen, d.h.MaxInitLen, 17)
  33342. v = make(map[bool]string, xlen)
  33343. changed = true
  33344. }
  33345. if containerLen == 0 {
  33346. if cr != nil {
  33347. cr.sendContainerState(containerMapEnd)
  33348. }
  33349. return v, changed
  33350. }
  33351. var mk bool
  33352. var mv string
  33353. hasLen := containerLen > 0
  33354. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33355. if cr != nil {
  33356. cr.sendContainerState(containerMapKey)
  33357. }
  33358. mk = dd.DecodeBool()
  33359. if cr != nil {
  33360. cr.sendContainerState(containerMapValue)
  33361. }
  33362. mv = dd.DecodeString()
  33363. if v != nil {
  33364. v[mk] = mv
  33365. }
  33366. }
  33367. if cr != nil {
  33368. cr.sendContainerState(containerMapEnd)
  33369. }
  33370. return v, changed
  33371. }
  33372. func (f *decFnInfo) fastpathDecMapBoolUintR(rv reflect.Value) {
  33373. if rv.CanAddr() {
  33374. vp := rv2i(rv.Addr()).(*map[bool]uint)
  33375. v, changed := fastpathTV.DecMapBoolUintV(*vp, fastpathCheckNilFalse, true, f.d)
  33376. if changed {
  33377. *vp = v
  33378. }
  33379. } else {
  33380. v := rv2i(rv).(map[bool]uint)
  33381. fastpathTV.DecMapBoolUintV(v, fastpathCheckNilFalse, false, f.d)
  33382. }
  33383. }
  33384. func (f fastpathT) DecMapBoolUintX(vp *map[bool]uint, checkNil bool, d *Decoder) {
  33385. v, changed := f.DecMapBoolUintV(*vp, checkNil, true, d)
  33386. if changed {
  33387. *vp = v
  33388. }
  33389. }
  33390. func (_ fastpathT) DecMapBoolUintV(v map[bool]uint, checkNil bool, canChange bool,
  33391. d *Decoder) (_ map[bool]uint, changed bool) {
  33392. dd := d.d
  33393. cr := d.cr
  33394. if checkNil && dd.TryDecodeAsNil() {
  33395. if v != nil {
  33396. changed = true
  33397. }
  33398. return nil, changed
  33399. }
  33400. containerLen := dd.ReadMapStart()
  33401. if canChange && v == nil {
  33402. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  33403. v = make(map[bool]uint, xlen)
  33404. changed = true
  33405. }
  33406. if containerLen == 0 {
  33407. if cr != nil {
  33408. cr.sendContainerState(containerMapEnd)
  33409. }
  33410. return v, changed
  33411. }
  33412. var mk bool
  33413. var mv uint
  33414. hasLen := containerLen > 0
  33415. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33416. if cr != nil {
  33417. cr.sendContainerState(containerMapKey)
  33418. }
  33419. mk = dd.DecodeBool()
  33420. if cr != nil {
  33421. cr.sendContainerState(containerMapValue)
  33422. }
  33423. mv = uint(dd.DecodeUint(uintBitsize))
  33424. if v != nil {
  33425. v[mk] = mv
  33426. }
  33427. }
  33428. if cr != nil {
  33429. cr.sendContainerState(containerMapEnd)
  33430. }
  33431. return v, changed
  33432. }
  33433. func (f *decFnInfo) fastpathDecMapBoolUint8R(rv reflect.Value) {
  33434. if rv.CanAddr() {
  33435. vp := rv2i(rv.Addr()).(*map[bool]uint8)
  33436. v, changed := fastpathTV.DecMapBoolUint8V(*vp, fastpathCheckNilFalse, true, f.d)
  33437. if changed {
  33438. *vp = v
  33439. }
  33440. } else {
  33441. v := rv2i(rv).(map[bool]uint8)
  33442. fastpathTV.DecMapBoolUint8V(v, fastpathCheckNilFalse, false, f.d)
  33443. }
  33444. }
  33445. func (f fastpathT) DecMapBoolUint8X(vp *map[bool]uint8, checkNil bool, d *Decoder) {
  33446. v, changed := f.DecMapBoolUint8V(*vp, checkNil, true, d)
  33447. if changed {
  33448. *vp = v
  33449. }
  33450. }
  33451. func (_ fastpathT) DecMapBoolUint8V(v map[bool]uint8, checkNil bool, canChange bool,
  33452. d *Decoder) (_ map[bool]uint8, changed bool) {
  33453. dd := d.d
  33454. cr := d.cr
  33455. if checkNil && dd.TryDecodeAsNil() {
  33456. if v != nil {
  33457. changed = true
  33458. }
  33459. return nil, changed
  33460. }
  33461. containerLen := dd.ReadMapStart()
  33462. if canChange && v == nil {
  33463. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  33464. v = make(map[bool]uint8, xlen)
  33465. changed = true
  33466. }
  33467. if containerLen == 0 {
  33468. if cr != nil {
  33469. cr.sendContainerState(containerMapEnd)
  33470. }
  33471. return v, changed
  33472. }
  33473. var mk bool
  33474. var mv uint8
  33475. hasLen := containerLen > 0
  33476. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33477. if cr != nil {
  33478. cr.sendContainerState(containerMapKey)
  33479. }
  33480. mk = dd.DecodeBool()
  33481. if cr != nil {
  33482. cr.sendContainerState(containerMapValue)
  33483. }
  33484. mv = uint8(dd.DecodeUint(8))
  33485. if v != nil {
  33486. v[mk] = mv
  33487. }
  33488. }
  33489. if cr != nil {
  33490. cr.sendContainerState(containerMapEnd)
  33491. }
  33492. return v, changed
  33493. }
  33494. func (f *decFnInfo) fastpathDecMapBoolUint16R(rv reflect.Value) {
  33495. if rv.CanAddr() {
  33496. vp := rv2i(rv.Addr()).(*map[bool]uint16)
  33497. v, changed := fastpathTV.DecMapBoolUint16V(*vp, fastpathCheckNilFalse, true, f.d)
  33498. if changed {
  33499. *vp = v
  33500. }
  33501. } else {
  33502. v := rv2i(rv).(map[bool]uint16)
  33503. fastpathTV.DecMapBoolUint16V(v, fastpathCheckNilFalse, false, f.d)
  33504. }
  33505. }
  33506. func (f fastpathT) DecMapBoolUint16X(vp *map[bool]uint16, checkNil bool, d *Decoder) {
  33507. v, changed := f.DecMapBoolUint16V(*vp, checkNil, true, d)
  33508. if changed {
  33509. *vp = v
  33510. }
  33511. }
  33512. func (_ fastpathT) DecMapBoolUint16V(v map[bool]uint16, checkNil bool, canChange bool,
  33513. d *Decoder) (_ map[bool]uint16, changed bool) {
  33514. dd := d.d
  33515. cr := d.cr
  33516. if checkNil && dd.TryDecodeAsNil() {
  33517. if v != nil {
  33518. changed = true
  33519. }
  33520. return nil, changed
  33521. }
  33522. containerLen := dd.ReadMapStart()
  33523. if canChange && v == nil {
  33524. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  33525. v = make(map[bool]uint16, xlen)
  33526. changed = true
  33527. }
  33528. if containerLen == 0 {
  33529. if cr != nil {
  33530. cr.sendContainerState(containerMapEnd)
  33531. }
  33532. return v, changed
  33533. }
  33534. var mk bool
  33535. var mv uint16
  33536. hasLen := containerLen > 0
  33537. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33538. if cr != nil {
  33539. cr.sendContainerState(containerMapKey)
  33540. }
  33541. mk = dd.DecodeBool()
  33542. if cr != nil {
  33543. cr.sendContainerState(containerMapValue)
  33544. }
  33545. mv = uint16(dd.DecodeUint(16))
  33546. if v != nil {
  33547. v[mk] = mv
  33548. }
  33549. }
  33550. if cr != nil {
  33551. cr.sendContainerState(containerMapEnd)
  33552. }
  33553. return v, changed
  33554. }
  33555. func (f *decFnInfo) fastpathDecMapBoolUint32R(rv reflect.Value) {
  33556. if rv.CanAddr() {
  33557. vp := rv2i(rv.Addr()).(*map[bool]uint32)
  33558. v, changed := fastpathTV.DecMapBoolUint32V(*vp, fastpathCheckNilFalse, true, f.d)
  33559. if changed {
  33560. *vp = v
  33561. }
  33562. } else {
  33563. v := rv2i(rv).(map[bool]uint32)
  33564. fastpathTV.DecMapBoolUint32V(v, fastpathCheckNilFalse, false, f.d)
  33565. }
  33566. }
  33567. func (f fastpathT) DecMapBoolUint32X(vp *map[bool]uint32, checkNil bool, d *Decoder) {
  33568. v, changed := f.DecMapBoolUint32V(*vp, checkNil, true, d)
  33569. if changed {
  33570. *vp = v
  33571. }
  33572. }
  33573. func (_ fastpathT) DecMapBoolUint32V(v map[bool]uint32, checkNil bool, canChange bool,
  33574. d *Decoder) (_ map[bool]uint32, changed bool) {
  33575. dd := d.d
  33576. cr := d.cr
  33577. if checkNil && dd.TryDecodeAsNil() {
  33578. if v != nil {
  33579. changed = true
  33580. }
  33581. return nil, changed
  33582. }
  33583. containerLen := dd.ReadMapStart()
  33584. if canChange && v == nil {
  33585. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  33586. v = make(map[bool]uint32, xlen)
  33587. changed = true
  33588. }
  33589. if containerLen == 0 {
  33590. if cr != nil {
  33591. cr.sendContainerState(containerMapEnd)
  33592. }
  33593. return v, changed
  33594. }
  33595. var mk bool
  33596. var mv uint32
  33597. hasLen := containerLen > 0
  33598. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33599. if cr != nil {
  33600. cr.sendContainerState(containerMapKey)
  33601. }
  33602. mk = dd.DecodeBool()
  33603. if cr != nil {
  33604. cr.sendContainerState(containerMapValue)
  33605. }
  33606. mv = uint32(dd.DecodeUint(32))
  33607. if v != nil {
  33608. v[mk] = mv
  33609. }
  33610. }
  33611. if cr != nil {
  33612. cr.sendContainerState(containerMapEnd)
  33613. }
  33614. return v, changed
  33615. }
  33616. func (f *decFnInfo) fastpathDecMapBoolUint64R(rv reflect.Value) {
  33617. if rv.CanAddr() {
  33618. vp := rv2i(rv.Addr()).(*map[bool]uint64)
  33619. v, changed := fastpathTV.DecMapBoolUint64V(*vp, fastpathCheckNilFalse, true, f.d)
  33620. if changed {
  33621. *vp = v
  33622. }
  33623. } else {
  33624. v := rv2i(rv).(map[bool]uint64)
  33625. fastpathTV.DecMapBoolUint64V(v, fastpathCheckNilFalse, false, f.d)
  33626. }
  33627. }
  33628. func (f fastpathT) DecMapBoolUint64X(vp *map[bool]uint64, checkNil bool, d *Decoder) {
  33629. v, changed := f.DecMapBoolUint64V(*vp, checkNil, true, d)
  33630. if changed {
  33631. *vp = v
  33632. }
  33633. }
  33634. func (_ fastpathT) DecMapBoolUint64V(v map[bool]uint64, checkNil bool, canChange bool,
  33635. d *Decoder) (_ map[bool]uint64, changed bool) {
  33636. dd := d.d
  33637. cr := d.cr
  33638. if checkNil && dd.TryDecodeAsNil() {
  33639. if v != nil {
  33640. changed = true
  33641. }
  33642. return nil, changed
  33643. }
  33644. containerLen := dd.ReadMapStart()
  33645. if canChange && v == nil {
  33646. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  33647. v = make(map[bool]uint64, xlen)
  33648. changed = true
  33649. }
  33650. if containerLen == 0 {
  33651. if cr != nil {
  33652. cr.sendContainerState(containerMapEnd)
  33653. }
  33654. return v, changed
  33655. }
  33656. var mk bool
  33657. var mv uint64
  33658. hasLen := containerLen > 0
  33659. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33660. if cr != nil {
  33661. cr.sendContainerState(containerMapKey)
  33662. }
  33663. mk = dd.DecodeBool()
  33664. if cr != nil {
  33665. cr.sendContainerState(containerMapValue)
  33666. }
  33667. mv = dd.DecodeUint(64)
  33668. if v != nil {
  33669. v[mk] = mv
  33670. }
  33671. }
  33672. if cr != nil {
  33673. cr.sendContainerState(containerMapEnd)
  33674. }
  33675. return v, changed
  33676. }
  33677. func (f *decFnInfo) fastpathDecMapBoolUintptrR(rv reflect.Value) {
  33678. if rv.CanAddr() {
  33679. vp := rv2i(rv.Addr()).(*map[bool]uintptr)
  33680. v, changed := fastpathTV.DecMapBoolUintptrV(*vp, fastpathCheckNilFalse, true, f.d)
  33681. if changed {
  33682. *vp = v
  33683. }
  33684. } else {
  33685. v := rv2i(rv).(map[bool]uintptr)
  33686. fastpathTV.DecMapBoolUintptrV(v, fastpathCheckNilFalse, false, f.d)
  33687. }
  33688. }
  33689. func (f fastpathT) DecMapBoolUintptrX(vp *map[bool]uintptr, checkNil bool, d *Decoder) {
  33690. v, changed := f.DecMapBoolUintptrV(*vp, checkNil, true, d)
  33691. if changed {
  33692. *vp = v
  33693. }
  33694. }
  33695. func (_ fastpathT) DecMapBoolUintptrV(v map[bool]uintptr, checkNil bool, canChange bool,
  33696. d *Decoder) (_ map[bool]uintptr, changed bool) {
  33697. dd := d.d
  33698. cr := d.cr
  33699. if checkNil && dd.TryDecodeAsNil() {
  33700. if v != nil {
  33701. changed = true
  33702. }
  33703. return nil, changed
  33704. }
  33705. containerLen := dd.ReadMapStart()
  33706. if canChange && v == nil {
  33707. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  33708. v = make(map[bool]uintptr, xlen)
  33709. changed = true
  33710. }
  33711. if containerLen == 0 {
  33712. if cr != nil {
  33713. cr.sendContainerState(containerMapEnd)
  33714. }
  33715. return v, changed
  33716. }
  33717. var mk bool
  33718. var mv uintptr
  33719. hasLen := containerLen > 0
  33720. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33721. if cr != nil {
  33722. cr.sendContainerState(containerMapKey)
  33723. }
  33724. mk = dd.DecodeBool()
  33725. if cr != nil {
  33726. cr.sendContainerState(containerMapValue)
  33727. }
  33728. mv = uintptr(dd.DecodeUint(uintBitsize))
  33729. if v != nil {
  33730. v[mk] = mv
  33731. }
  33732. }
  33733. if cr != nil {
  33734. cr.sendContainerState(containerMapEnd)
  33735. }
  33736. return v, changed
  33737. }
  33738. func (f *decFnInfo) fastpathDecMapBoolIntR(rv reflect.Value) {
  33739. if rv.CanAddr() {
  33740. vp := rv2i(rv.Addr()).(*map[bool]int)
  33741. v, changed := fastpathTV.DecMapBoolIntV(*vp, fastpathCheckNilFalse, true, f.d)
  33742. if changed {
  33743. *vp = v
  33744. }
  33745. } else {
  33746. v := rv2i(rv).(map[bool]int)
  33747. fastpathTV.DecMapBoolIntV(v, fastpathCheckNilFalse, false, f.d)
  33748. }
  33749. }
  33750. func (f fastpathT) DecMapBoolIntX(vp *map[bool]int, checkNil bool, d *Decoder) {
  33751. v, changed := f.DecMapBoolIntV(*vp, checkNil, true, d)
  33752. if changed {
  33753. *vp = v
  33754. }
  33755. }
  33756. func (_ fastpathT) DecMapBoolIntV(v map[bool]int, checkNil bool, canChange bool,
  33757. d *Decoder) (_ map[bool]int, changed bool) {
  33758. dd := d.d
  33759. cr := d.cr
  33760. if checkNil && dd.TryDecodeAsNil() {
  33761. if v != nil {
  33762. changed = true
  33763. }
  33764. return nil, changed
  33765. }
  33766. containerLen := dd.ReadMapStart()
  33767. if canChange && v == nil {
  33768. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  33769. v = make(map[bool]int, xlen)
  33770. changed = true
  33771. }
  33772. if containerLen == 0 {
  33773. if cr != nil {
  33774. cr.sendContainerState(containerMapEnd)
  33775. }
  33776. return v, changed
  33777. }
  33778. var mk bool
  33779. var mv int
  33780. hasLen := containerLen > 0
  33781. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33782. if cr != nil {
  33783. cr.sendContainerState(containerMapKey)
  33784. }
  33785. mk = dd.DecodeBool()
  33786. if cr != nil {
  33787. cr.sendContainerState(containerMapValue)
  33788. }
  33789. mv = int(dd.DecodeInt(intBitsize))
  33790. if v != nil {
  33791. v[mk] = mv
  33792. }
  33793. }
  33794. if cr != nil {
  33795. cr.sendContainerState(containerMapEnd)
  33796. }
  33797. return v, changed
  33798. }
  33799. func (f *decFnInfo) fastpathDecMapBoolInt8R(rv reflect.Value) {
  33800. if rv.CanAddr() {
  33801. vp := rv2i(rv.Addr()).(*map[bool]int8)
  33802. v, changed := fastpathTV.DecMapBoolInt8V(*vp, fastpathCheckNilFalse, true, f.d)
  33803. if changed {
  33804. *vp = v
  33805. }
  33806. } else {
  33807. v := rv2i(rv).(map[bool]int8)
  33808. fastpathTV.DecMapBoolInt8V(v, fastpathCheckNilFalse, false, f.d)
  33809. }
  33810. }
  33811. func (f fastpathT) DecMapBoolInt8X(vp *map[bool]int8, checkNil bool, d *Decoder) {
  33812. v, changed := f.DecMapBoolInt8V(*vp, checkNil, true, d)
  33813. if changed {
  33814. *vp = v
  33815. }
  33816. }
  33817. func (_ fastpathT) DecMapBoolInt8V(v map[bool]int8, checkNil bool, canChange bool,
  33818. d *Decoder) (_ map[bool]int8, changed bool) {
  33819. dd := d.d
  33820. cr := d.cr
  33821. if checkNil && dd.TryDecodeAsNil() {
  33822. if v != nil {
  33823. changed = true
  33824. }
  33825. return nil, changed
  33826. }
  33827. containerLen := dd.ReadMapStart()
  33828. if canChange && v == nil {
  33829. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  33830. v = make(map[bool]int8, xlen)
  33831. changed = true
  33832. }
  33833. if containerLen == 0 {
  33834. if cr != nil {
  33835. cr.sendContainerState(containerMapEnd)
  33836. }
  33837. return v, changed
  33838. }
  33839. var mk bool
  33840. var mv int8
  33841. hasLen := containerLen > 0
  33842. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33843. if cr != nil {
  33844. cr.sendContainerState(containerMapKey)
  33845. }
  33846. mk = dd.DecodeBool()
  33847. if cr != nil {
  33848. cr.sendContainerState(containerMapValue)
  33849. }
  33850. mv = int8(dd.DecodeInt(8))
  33851. if v != nil {
  33852. v[mk] = mv
  33853. }
  33854. }
  33855. if cr != nil {
  33856. cr.sendContainerState(containerMapEnd)
  33857. }
  33858. return v, changed
  33859. }
  33860. func (f *decFnInfo) fastpathDecMapBoolInt16R(rv reflect.Value) {
  33861. if rv.CanAddr() {
  33862. vp := rv2i(rv.Addr()).(*map[bool]int16)
  33863. v, changed := fastpathTV.DecMapBoolInt16V(*vp, fastpathCheckNilFalse, true, f.d)
  33864. if changed {
  33865. *vp = v
  33866. }
  33867. } else {
  33868. v := rv2i(rv).(map[bool]int16)
  33869. fastpathTV.DecMapBoolInt16V(v, fastpathCheckNilFalse, false, f.d)
  33870. }
  33871. }
  33872. func (f fastpathT) DecMapBoolInt16X(vp *map[bool]int16, checkNil bool, d *Decoder) {
  33873. v, changed := f.DecMapBoolInt16V(*vp, checkNil, true, d)
  33874. if changed {
  33875. *vp = v
  33876. }
  33877. }
  33878. func (_ fastpathT) DecMapBoolInt16V(v map[bool]int16, checkNil bool, canChange bool,
  33879. d *Decoder) (_ map[bool]int16, changed bool) {
  33880. dd := d.d
  33881. cr := d.cr
  33882. if checkNil && dd.TryDecodeAsNil() {
  33883. if v != nil {
  33884. changed = true
  33885. }
  33886. return nil, changed
  33887. }
  33888. containerLen := dd.ReadMapStart()
  33889. if canChange && v == nil {
  33890. xlen := decInferLen(containerLen, d.h.MaxInitLen, 3)
  33891. v = make(map[bool]int16, xlen)
  33892. changed = true
  33893. }
  33894. if containerLen == 0 {
  33895. if cr != nil {
  33896. cr.sendContainerState(containerMapEnd)
  33897. }
  33898. return v, changed
  33899. }
  33900. var mk bool
  33901. var mv int16
  33902. hasLen := containerLen > 0
  33903. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33904. if cr != nil {
  33905. cr.sendContainerState(containerMapKey)
  33906. }
  33907. mk = dd.DecodeBool()
  33908. if cr != nil {
  33909. cr.sendContainerState(containerMapValue)
  33910. }
  33911. mv = int16(dd.DecodeInt(16))
  33912. if v != nil {
  33913. v[mk] = mv
  33914. }
  33915. }
  33916. if cr != nil {
  33917. cr.sendContainerState(containerMapEnd)
  33918. }
  33919. return v, changed
  33920. }
  33921. func (f *decFnInfo) fastpathDecMapBoolInt32R(rv reflect.Value) {
  33922. if rv.CanAddr() {
  33923. vp := rv2i(rv.Addr()).(*map[bool]int32)
  33924. v, changed := fastpathTV.DecMapBoolInt32V(*vp, fastpathCheckNilFalse, true, f.d)
  33925. if changed {
  33926. *vp = v
  33927. }
  33928. } else {
  33929. v := rv2i(rv).(map[bool]int32)
  33930. fastpathTV.DecMapBoolInt32V(v, fastpathCheckNilFalse, false, f.d)
  33931. }
  33932. }
  33933. func (f fastpathT) DecMapBoolInt32X(vp *map[bool]int32, checkNil bool, d *Decoder) {
  33934. v, changed := f.DecMapBoolInt32V(*vp, checkNil, true, d)
  33935. if changed {
  33936. *vp = v
  33937. }
  33938. }
  33939. func (_ fastpathT) DecMapBoolInt32V(v map[bool]int32, checkNil bool, canChange bool,
  33940. d *Decoder) (_ map[bool]int32, changed bool) {
  33941. dd := d.d
  33942. cr := d.cr
  33943. if checkNil && dd.TryDecodeAsNil() {
  33944. if v != nil {
  33945. changed = true
  33946. }
  33947. return nil, changed
  33948. }
  33949. containerLen := dd.ReadMapStart()
  33950. if canChange && v == nil {
  33951. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  33952. v = make(map[bool]int32, xlen)
  33953. changed = true
  33954. }
  33955. if containerLen == 0 {
  33956. if cr != nil {
  33957. cr.sendContainerState(containerMapEnd)
  33958. }
  33959. return v, changed
  33960. }
  33961. var mk bool
  33962. var mv int32
  33963. hasLen := containerLen > 0
  33964. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  33965. if cr != nil {
  33966. cr.sendContainerState(containerMapKey)
  33967. }
  33968. mk = dd.DecodeBool()
  33969. if cr != nil {
  33970. cr.sendContainerState(containerMapValue)
  33971. }
  33972. mv = int32(dd.DecodeInt(32))
  33973. if v != nil {
  33974. v[mk] = mv
  33975. }
  33976. }
  33977. if cr != nil {
  33978. cr.sendContainerState(containerMapEnd)
  33979. }
  33980. return v, changed
  33981. }
  33982. func (f *decFnInfo) fastpathDecMapBoolInt64R(rv reflect.Value) {
  33983. if rv.CanAddr() {
  33984. vp := rv2i(rv.Addr()).(*map[bool]int64)
  33985. v, changed := fastpathTV.DecMapBoolInt64V(*vp, fastpathCheckNilFalse, true, f.d)
  33986. if changed {
  33987. *vp = v
  33988. }
  33989. } else {
  33990. v := rv2i(rv).(map[bool]int64)
  33991. fastpathTV.DecMapBoolInt64V(v, fastpathCheckNilFalse, false, f.d)
  33992. }
  33993. }
  33994. func (f fastpathT) DecMapBoolInt64X(vp *map[bool]int64, checkNil bool, d *Decoder) {
  33995. v, changed := f.DecMapBoolInt64V(*vp, checkNil, true, d)
  33996. if changed {
  33997. *vp = v
  33998. }
  33999. }
  34000. func (_ fastpathT) DecMapBoolInt64V(v map[bool]int64, checkNil bool, canChange bool,
  34001. d *Decoder) (_ map[bool]int64, changed bool) {
  34002. dd := d.d
  34003. cr := d.cr
  34004. if checkNil && dd.TryDecodeAsNil() {
  34005. if v != nil {
  34006. changed = true
  34007. }
  34008. return nil, changed
  34009. }
  34010. containerLen := dd.ReadMapStart()
  34011. if canChange && v == nil {
  34012. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  34013. v = make(map[bool]int64, xlen)
  34014. changed = true
  34015. }
  34016. if containerLen == 0 {
  34017. if cr != nil {
  34018. cr.sendContainerState(containerMapEnd)
  34019. }
  34020. return v, changed
  34021. }
  34022. var mk bool
  34023. var mv int64
  34024. hasLen := containerLen > 0
  34025. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  34026. if cr != nil {
  34027. cr.sendContainerState(containerMapKey)
  34028. }
  34029. mk = dd.DecodeBool()
  34030. if cr != nil {
  34031. cr.sendContainerState(containerMapValue)
  34032. }
  34033. mv = dd.DecodeInt(64)
  34034. if v != nil {
  34035. v[mk] = mv
  34036. }
  34037. }
  34038. if cr != nil {
  34039. cr.sendContainerState(containerMapEnd)
  34040. }
  34041. return v, changed
  34042. }
  34043. func (f *decFnInfo) fastpathDecMapBoolFloat32R(rv reflect.Value) {
  34044. if rv.CanAddr() {
  34045. vp := rv2i(rv.Addr()).(*map[bool]float32)
  34046. v, changed := fastpathTV.DecMapBoolFloat32V(*vp, fastpathCheckNilFalse, true, f.d)
  34047. if changed {
  34048. *vp = v
  34049. }
  34050. } else {
  34051. v := rv2i(rv).(map[bool]float32)
  34052. fastpathTV.DecMapBoolFloat32V(v, fastpathCheckNilFalse, false, f.d)
  34053. }
  34054. }
  34055. func (f fastpathT) DecMapBoolFloat32X(vp *map[bool]float32, checkNil bool, d *Decoder) {
  34056. v, changed := f.DecMapBoolFloat32V(*vp, checkNil, true, d)
  34057. if changed {
  34058. *vp = v
  34059. }
  34060. }
  34061. func (_ fastpathT) DecMapBoolFloat32V(v map[bool]float32, checkNil bool, canChange bool,
  34062. d *Decoder) (_ map[bool]float32, changed bool) {
  34063. dd := d.d
  34064. cr := d.cr
  34065. if checkNil && dd.TryDecodeAsNil() {
  34066. if v != nil {
  34067. changed = true
  34068. }
  34069. return nil, changed
  34070. }
  34071. containerLen := dd.ReadMapStart()
  34072. if canChange && v == nil {
  34073. xlen := decInferLen(containerLen, d.h.MaxInitLen, 5)
  34074. v = make(map[bool]float32, xlen)
  34075. changed = true
  34076. }
  34077. if containerLen == 0 {
  34078. if cr != nil {
  34079. cr.sendContainerState(containerMapEnd)
  34080. }
  34081. return v, changed
  34082. }
  34083. var mk bool
  34084. var mv float32
  34085. hasLen := containerLen > 0
  34086. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  34087. if cr != nil {
  34088. cr.sendContainerState(containerMapKey)
  34089. }
  34090. mk = dd.DecodeBool()
  34091. if cr != nil {
  34092. cr.sendContainerState(containerMapValue)
  34093. }
  34094. mv = float32(dd.DecodeFloat(true))
  34095. if v != nil {
  34096. v[mk] = mv
  34097. }
  34098. }
  34099. if cr != nil {
  34100. cr.sendContainerState(containerMapEnd)
  34101. }
  34102. return v, changed
  34103. }
  34104. func (f *decFnInfo) fastpathDecMapBoolFloat64R(rv reflect.Value) {
  34105. if rv.CanAddr() {
  34106. vp := rv2i(rv.Addr()).(*map[bool]float64)
  34107. v, changed := fastpathTV.DecMapBoolFloat64V(*vp, fastpathCheckNilFalse, true, f.d)
  34108. if changed {
  34109. *vp = v
  34110. }
  34111. } else {
  34112. v := rv2i(rv).(map[bool]float64)
  34113. fastpathTV.DecMapBoolFloat64V(v, fastpathCheckNilFalse, false, f.d)
  34114. }
  34115. }
  34116. func (f fastpathT) DecMapBoolFloat64X(vp *map[bool]float64, checkNil bool, d *Decoder) {
  34117. v, changed := f.DecMapBoolFloat64V(*vp, checkNil, true, d)
  34118. if changed {
  34119. *vp = v
  34120. }
  34121. }
  34122. func (_ fastpathT) DecMapBoolFloat64V(v map[bool]float64, checkNil bool, canChange bool,
  34123. d *Decoder) (_ map[bool]float64, changed bool) {
  34124. dd := d.d
  34125. cr := d.cr
  34126. if checkNil && dd.TryDecodeAsNil() {
  34127. if v != nil {
  34128. changed = true
  34129. }
  34130. return nil, changed
  34131. }
  34132. containerLen := dd.ReadMapStart()
  34133. if canChange && v == nil {
  34134. xlen := decInferLen(containerLen, d.h.MaxInitLen, 9)
  34135. v = make(map[bool]float64, xlen)
  34136. changed = true
  34137. }
  34138. if containerLen == 0 {
  34139. if cr != nil {
  34140. cr.sendContainerState(containerMapEnd)
  34141. }
  34142. return v, changed
  34143. }
  34144. var mk bool
  34145. var mv float64
  34146. hasLen := containerLen > 0
  34147. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  34148. if cr != nil {
  34149. cr.sendContainerState(containerMapKey)
  34150. }
  34151. mk = dd.DecodeBool()
  34152. if cr != nil {
  34153. cr.sendContainerState(containerMapValue)
  34154. }
  34155. mv = dd.DecodeFloat(false)
  34156. if v != nil {
  34157. v[mk] = mv
  34158. }
  34159. }
  34160. if cr != nil {
  34161. cr.sendContainerState(containerMapEnd)
  34162. }
  34163. return v, changed
  34164. }
  34165. func (f *decFnInfo) fastpathDecMapBoolBoolR(rv reflect.Value) {
  34166. if rv.CanAddr() {
  34167. vp := rv2i(rv.Addr()).(*map[bool]bool)
  34168. v, changed := fastpathTV.DecMapBoolBoolV(*vp, fastpathCheckNilFalse, true, f.d)
  34169. if changed {
  34170. *vp = v
  34171. }
  34172. } else {
  34173. v := rv2i(rv).(map[bool]bool)
  34174. fastpathTV.DecMapBoolBoolV(v, fastpathCheckNilFalse, false, f.d)
  34175. }
  34176. }
  34177. func (f fastpathT) DecMapBoolBoolX(vp *map[bool]bool, checkNil bool, d *Decoder) {
  34178. v, changed := f.DecMapBoolBoolV(*vp, checkNil, true, d)
  34179. if changed {
  34180. *vp = v
  34181. }
  34182. }
  34183. func (_ fastpathT) DecMapBoolBoolV(v map[bool]bool, checkNil bool, canChange bool,
  34184. d *Decoder) (_ map[bool]bool, changed bool) {
  34185. dd := d.d
  34186. cr := d.cr
  34187. if checkNil && dd.TryDecodeAsNil() {
  34188. if v != nil {
  34189. changed = true
  34190. }
  34191. return nil, changed
  34192. }
  34193. containerLen := dd.ReadMapStart()
  34194. if canChange && v == nil {
  34195. xlen := decInferLen(containerLen, d.h.MaxInitLen, 2)
  34196. v = make(map[bool]bool, xlen)
  34197. changed = true
  34198. }
  34199. if containerLen == 0 {
  34200. if cr != nil {
  34201. cr.sendContainerState(containerMapEnd)
  34202. }
  34203. return v, changed
  34204. }
  34205. var mk bool
  34206. var mv bool
  34207. hasLen := containerLen > 0
  34208. for j := 0; (hasLen && j < containerLen) || !(hasLen || dd.CheckBreak()); j++ {
  34209. if cr != nil {
  34210. cr.sendContainerState(containerMapKey)
  34211. }
  34212. mk = dd.DecodeBool()
  34213. if cr != nil {
  34214. cr.sendContainerState(containerMapValue)
  34215. }
  34216. mv = dd.DecodeBool()
  34217. if v != nil {
  34218. v[mk] = mv
  34219. }
  34220. }
  34221. if cr != nil {
  34222. cr.sendContainerState(containerMapEnd)
  34223. }
  34224. return v, changed
  34225. }