gmsm/mldsa/mldsa65_test.go

301 lines
378 KiB
Go
Raw Normal View History

// Copyright 2025 Sun Yimin. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
//go:build go1.24
package mldsa
import (
"bytes"
2025-05-07 15:08:36 +08:00
"encoding/asn1"
"encoding/hex"
"testing"
)
// https://github.com/usnistgov/ACVP-Server/blob/master/gen-val/json-files/ML-DSA-keyGen-FIPS204/internalProjection.json
var kenGen65InternalProjectionCases = []struct {
seed string
pk string
sk string
}{
{
"AC37688A229C819F1F5BA5A2ED98E3D0AD98D1B5DB233FF8E8122040BCBA609F",
"FED3FFCDEC5BEE2E82D7AC7F2A244035B5AA94C1E0E6A2141C4ACEB45165A1A22E5C51360E29F01012D26E77A00A9F004A4F155C7E0EF6EA1211EF5DF3553D0FE7EF74EF13C1C4794E67F1667A9D6FD1E9254D52C5FA68768CF14AF5E337F9661935BBA4A6E0B08F3DEA4B687EFAA73C05484B28D79866CD9CCB4AA1F7107DC5A0CD21EC6F93798AC1B6849717D0BFF431E95DE178C18D13018157565662EA5E72FEC778E877357CDB248D728E43C247FB5692607449790074668757119543C00F94B50D500B85760B3744154912C7C769F155D475A1E5D1C6656F68356A24FC8222E7CCC401EDA319E919E0575BDED0694121400EF991D64908356DC31D51C242B818D406998293CA9C8FE41A9833C09CDC439E1A857F6508FECD89541DFC41D898DA4986244B569D85669C76DF202044867A7827B6EF19FF601C3A1E162C20FBD4B0E22EBAF49CB0A978B2755E3ED4995BA2277F182177E6E86F54131C6D4DCF1059B57A26810A1F0C143655502BC54CB8AB7A4612D81DE9814B037A6CDCF6CAAFF25CAE2CED59013037ECCFC5EF1965E4FC22F50C80689541C2B3BF54E27CE2DF7B7945426128F173064C9626A0F778131D46A4F6405628AE8D93FB5EAAAC8D8109B61813CD6E862CE6262BA8C1FE5EC323188827877CEBC9CE15E6CF106E6B854721E1F4EC83CEC4591BEBF85D1FB0E5C4FDB3DBF11754CD479B1FF60481172B62D9442564818725206C541C422160964B8F0414F09BCC1FFECE91D3B882D731EE8F23934BB379650FD413B426CD27CDBCB144637A216A944A49782D452654599FD70FED0B279E1251B9E2D0A009F66FEA00EC1707AC9F8AC2B05A1CE824EA6B1D1D7C338D4D0420FE7AA1ED6AE083752B4B43460CFE26C5951491CD5A2071467491B8CE576E389A9C556B4CFF6E76ED33A9BE9E15CDB20DDF3576376F494D39E9CB023DBFE3DB98FF49D06803E5BB7B0890546B2BEA2587601C08F42F7A659D3F49EBF277B12DB92AB8E0AD17B311A955C92B8FD162D0C4912BD07DB57C8C4F925BCDAA780F15146FEF01AB9E35563E2FBDAEBC74766DC4A46E0F7194FF218A0748270D29E7B37413B12C4D62CA9A6564EAC709C9638F984B7F791D4D2A0AA3752AB83726676D2B531574791FF148F352C901077086D45C3CDE21B7C6B9D663967E8263EC3595E447890EE3BBD8775DFC4B692E912B082F6565514729AA6D42B4965016C8B6D57C8A3EE6A87ACD2837C381005CE99954F7DB890184B97421F21690D4355061D33043E942A354776E13E1799071A4792F0B93BA11EAA5470227916DA23D1D0DC0A748B7BA89B83EAE5A4F32DB82418AC7318E9A829D8FCEBBC50C8645A4B4CA9224489B8DAD067F282DDC14CDFA92204048F5C549403CFC1A90EE3D237081BE018C099F28284CDD19D8E5EC5A9B3924C7439A5C5CD6BB052AFF7A396C43879EF9C3F8D0FD7164551924BC3DB704C592683591303E5F281C1211FB2387A9B34D827E1FB01823EB99A1C04DEDCD52D9DC0092AF751CDCEDEE65D549F30F8B86D2376814207A7F12A485208440B1E333D07E253B4D40CF0A186D1F0D677EC60627BA1BDC71195A59573D801CA3F4E665B54FF370F83D5EA33966DC0F43002E48EF7AE8A6FFD9EF433D43DD08B57473AC83C4AEF6181A0FACD0E1A76850D8F9634C18F76ED876DC8223E3B1084C440D12EA9F4709924D2901D8BD7CF9038CBCFBC073BC33568151124F2B4BF4BC3308AD17BBF322F4031A9B2B4452EBAA3A56C064A738AB8ED6989751971856130C5ADFC9C02BF37DA983F5AAD3BBB55D7A3100CF9A18971A10C38F49B4595D9D5C943ADA67234B9700B8E7B4B690FEB3EA4056EA583DAD0E5FEFB337ACACC399D3FE4DA118977976247DA08C4670F1CCDD68A3A0DFDFDF1A01D296EA2D8C2373453D7E7755B24CB2A97FE81D8E5E7FF922648D894683EF7463FA6016193B81349A6A9320D8B60DCF8781711CC72ADE2CB21114E15C2B177528F07AAFD75CFCE3B6C4D2886E08B3E9C5B988A502D798A9622632BBF060601CCD012BB18896C122A66066B412FE60BECC805D721F795A0484ECCD3342ABF33BCE10AC494279E4DD8CA609470491EEC880D4632F5D70BADB3A01AC29D3C06D252E2FB8A60604628AD2032FA129479AE9221AEBF9B50E261820C51C5B8627033F499857E33AD1D110664D40B015A6B05974BB034B12447B5D8EC1A052592C4A7C0EEB59E700A88834BEA9662C6BD970C3B0ED02BE2729BB9C19386C104CD7EC175F6EE2B00904958BF29540F37E6A46DA3B579D707B109A7775C4D51C28F90442551507F81F61C6D51106C7AA47314B29EED498C1024DD0F83065AEE112C64E6243EE016BC0CF320547C8BEF938F294778FFCF6EAA97B52F3047FE9A55EA88F4BDC368E793A31074A314D311CAB882B008EF853F0CB90071531D231D1DF12F99E2AEA91BC206A51A2504A5094C32746E119769AFF4E63BD01817890A4D4706D43E1A3031195A778087D73D64E7C4DF8744258B780F47769C274705814A272FAB4AA54294140D98DDA6D60E2E554E026AA3C8D756ADE20B9BD6951E3CDFC619E2A119177262A62C06606ABC298A823A739A0281D0A64F320FC7B8405F01BE6A30C26DCA683ACB7537FC0A5BA2B3682703CAA4F8F1DD9482887FBD3AFC894E3CA2A9DE3D5D06E20BAEFE7AC0A120C9E129CBD5F63586136DA805FEA7FC89339A96C8F909E2A242C89A4EB503AA2DF28C0C08C721557",
"FED3FFCDEC5BEE2E82D7AC7F2A244035B5AA94C1E0E6A2141C4ACEB45165A1A2CEA7591B846404B1385D720D4BC4BAEA2756B4CDF0B65A5A3439A2DD78453970F1254575EF25AD8B827881B5E1451EDA2EBDFC64DEEB72F6895663E6585311B42F3566739CBBC6DB2FDE642A3652E581A0B92791809696AA658E9D49931AB2E6267517630625568015403702634158601801407655365704035075831715573585800256678771033384533133541110214433172831727657228271604600277523852071551071448453805480686445025683741086385717011560134172378763628628645128088266712732863280751762304516042877057088124621563518856234056706424832536838545786170006507211266556037742857211566418215714532776165588426734070117182380435037767144132720368182544562687234143433334026763561488521704018524134245058877080413284543745185202074731885306400402504461617600048427581431668081513586057508663534436680501551737038880744430317308128424411130316045401041118068572264584885046768367327145732562677438185185513623306353287405536225581186750066525758707051020746877416017664010555801321630146767762051270161863162681562353273720786713221807232511823764871844145854287528871301275741560605603264212375450737648801810322304567761843688410075408868848116051553384713515231127860665408873402327447755122288075256728365308516213776778221755768816200421451200080831343538675676833653487682612000382563432833172546487405533141418866884115511551026761133725677466265053250414540481532572326302344751624102042485020844736232163405268772721314126385478547462750031146447337012360152518661174840553626186044608801322686116258434861313031381730013702622667400727446521027703858655645020547280752331163784145437231114544762038737080323605766443737307253438121247171458160484671260336141533826012514487342403185361501536228421762455228465134810468476450123645520202731662374355136721364517034446314078278701262216773070018817233517431736682135607064377288170584762850011156217164750123848141414640046371241011822272317287568614834284251316825465636703306705460224475812752836862204814008216072528566007811054624678621565763581213010248132752255018155222840425171221504418518183465837667887286760386411368142156618452416876075651455267242684575512256141043717123222277181606317204626876187244666645840351337143527845340652648844573250506527546440511156556157304060516608316456418646537341144258860104124416157180611011441224764687085523508444401168457705268401674251371117650124003471300863737075070018564177815604676674184530414115624768474322051438635287555327566175883054458603345315524030533682872464363542241158417634854242367080023885630461616046666564446670240565281171325533611488242485666548526426507026645078171686650254137556540165575214140461324806163721377780276525144151770203110783867141310551657227681400642274414211253085323683036754184142311854541434022708644546118000322700667414510264586566480863211300610838715871878546825813060681253364878072230543023213141402775688416056625254807274273202510551068783625331316045227874723870801257233118344267375403845424177222455631702207121621742045817470707827555353185768483581816873674228061764175367100352408505502287477275153166384172D7809EAC4F3AB4B48FD88A77955FA1C8B8DC23050B094C3919C33E372C511077C8816308A3C98F4286C24ECA70DA6B9D553FA7F6B309E5A8EA8F06CCE682C1E086ACA784B10B85624F77D0BB176B99D356FA947224D72C6CB4710330E617E55A136A7B4795077CFBC9D79CAF7BD7A6CAE694B583E818DF2679410DF3B7186093D49E98829F121145782A3903D7D037535641B99D039A1C5C64B77DC7CDDD5FC45AC9AE79CF35CBECD1FA668D4F76AB003AEAC9FEEC495D5B01AF443E4843DECB9C666417A24DDE8173F9A4FF8DB0B42DBB8A37A6D085C5BEDC99C70F0103030AE938D3190059AFC18CF76D0D10957B0F2749E46BEBA988C1C26D19AE303BA625452DE9D6B078EB06730264CF621F03EE6ED2FCD3AFBC28F0ED543A91E68C64AC7C2726E7A85AADDFCCC20D159F9F0B2B9DA71C6EBFFFDFEB9F9BCE4D1A15AFC7B1AA6464664C59E6643EFCECF2E359F3091D5EC672893F3FE70D1526853DB0E7155B8D001B6121B487C967FCE3C1DB4F1CA6CC76FE876050E44F1BE1E5F7C0964439925B41E8EBC34DC9BC973858D468CEB9EC5A92FE9AFCA7B5A1A28A0BD506AF5F20E87D8FC975B4E6C5ED7DC010756A0DAF1927210871D185BBA87DF5CF5355EE16123529544B9EC49DF79B3F3159572CA87C3144B281EF698A44437A352404981CBD29354A0F15BF71EC37A8C005DE81C96F361465DF6F416E04FC5
},
{
"97A6F36CCE36AF6283B335B4957BD8B177AE229AB8A4FA8AD7AE4134DE26955F",
"763BE1553B7C0293F215F7A3342B6C7988B5303A0C21C7DDFD52070D58D0425CF5940A68358FD5A99211EF8D45E86F38470D788F7C2D81730C1A6B67BC639F9845826B855FD88F13B83AADD1F082B4E23136A9870946FEA44C6CA9430E98BD181180656EF5DF1F45E41F208BDBF00370AD6EE0A8041851B3E172B97602CFE2A70365C67334FDB84041269E83EFF87B2CBB49CCEF717AB87677F76DEED2B403E2FE36B09F019985AEA0C69769CBD050CDA3E59F002099F501B53C0E259604E8E31551676220F29F11871BE2DD5BF2723BC78794E3D3861740D4B3084195C9DD38C5204D8D57ED78E35FB25ECC222E63C8C2B1F147FA31420BA68DCA9CA5C2E4F0DE80E6046D01432D2DE664702ED166ADDD87F60934CD320E67916D0E2B38D58A9D2C70461D60AEBEFEA9324AC91A21037E35E8672FAC93C2D68E14334D19B0EC290F85ED6BD1A3D768470EA612404400563261D1FE552E91223255458C0B4CC8C65708DC58098D289FD4CF7518D1D55BE14EA8257AEFC1BF67657C1F7BE3EC79F32DAB9D3B561ED3C441C773BCE047725E052AE5FF7A40F8BBB270C1133020872C0479FD180C1CF006256E060E3A617DBF6FDDE325F922886FA608731B152BFD31AD15080322E205A41C0BEA25C424FE3E8F95F048D4E756DACCBA2E9D9642C7F0A1DF4153B18AAD555E6C6350ED517B07771B133E2F344BBA98FA722187A8E2CEF7F1CF61CC9D081DF37BF539099E83FABFFE8AA29EEB19F51DE7540799480E5CD8F281173E2822E3A5B3438727D2D19C128441705DD855145AC56F7C4E34B7869818502129B9CDFE2FA846BBBC055B57E33C6B372035AB0F057ACF8530F5FCFBC7C66123D8B09C54100BB4D84EA2CA9C26CBBFD98811C38743B39ED123AB4B38A5056F677A7BF8BD300FEBA735136A3E15F180BB688208750884F036E395671DEDE8A1EF8B6E2F0AA0DEC2FA4CA4FDE40402704DFEE32343BB4836FD74568F70BD0B13B50D1C19087427736C2CB1CAF00BC0D6935B1CCFF86B599F67CF9A6778D1DC39F8989B7952CD6DD68BF3ED3BDA106E63FBBACB50B7A1E34E899A6891035DD9C3FD48272AD1E20E67FD0F9113410823DCD169E6BA043445E22B8E9053E8EE18219F5787AA53683EFE5F404D280671A98B9D1813D4AE165EE97A65BB1DE237FF990FA4AE741AB44ADC7985C11BF79BB68C434D34C6231BA836359C1E9ED06A6D46F457150B8D9772714B9E6A5EEC6A405BDFDF52345D1F0DE7EF3A2EA4B139824C1150AB2610A5294427005D40BC269BDBBC1E522A1D766F172DE6395B4BFD5D2A5A88EE2079B19DCFDCAA4E7AC39ACD7C0275A3C71A9D77D949CFD57CB7F5D4063B2F7F81AA5C34AE5385A478469FEF3BC96DF48F8E43ECBC1AE143153DA077F9479D9408405B1FD82A9D4748A9A899499D89ACA317345A2F50E63A3FA2EDE37CE58DB19DB6BF3821AA524618FC0E7AF8B4CB33AB1C32B1C08E665CC1489F69770B6CC7CD95554BEB0185B287D964D396A1CA091BCB91FE4378DEBE8EA0230ED85170D6C1F69C7316FA4AC7E1BE0A7830D075DBDDAE8D732E2F474F357E73041650EBCEC8B4DC503F5B842394659A63378679F7C49125953FDCFEEFF6C8032F7385D96F23EFD746FAB6301B2EA8BA7903837E6277A624A41361A8A7CB1C56E244BCB960A5115A0E7B3A2C114C07D54BFE38CDF78FEB4BD1A8B3D2870785E2D3EE01689E211FE57174F802D5A2895C6A8BA905D3B707A471C42663F00BACEA5AF77EE6258FC5BF9B6762E29B9205D65F245A9E19FF14512CFE7DA2910CE0A0AE2B40ED0DD2D0AB5D76886C4A9A4D7E49794920DCADD783A00EE9170683FCB993ACDE4BFC7CB93F71AE5C7EB85F7A3E421295CD86B88677745677B965BD6CBC24FFDC3B1EA2B4B344654E3B878E0A241B28092852FE78F93DC859112CE629D69ABC18CE9B24130516770DA6C25484EB4989A88600C39243475FFF467645221F051E491C295EEE82FAC9ECBE96B5910F41E00295E8EA2347642125E30C6B039011068789684582816FF9CF804D705E624D23196EB46DCD6C44957131388105D08EAD16FD119318B3EA8DEE5D23578A8E8490C57738A77614E6137ED1B9E2B47BBBB3DA5AD05CBE7FD319F50A0AF89BCE611FDAF267CABDE6D0C5D6E9BE881AC3C04C1D5815F2982469ED9B15C11B599B15090A42528AC55CDA93FC8FA12E9090EE91BC7F00EFB86105951D6A7746B008D406D73AF7034D79712CB732AFFFD0F3F779396E155620B5112663B3359F13243F4609C5219CD856C59560248C22E8EF15D612B18A3D85A50E08B114207FDDF30AFB1DE3C46876C9138F0E6181DF30A7862261FBB4F4AE13BEDDA1D9AD4093E5F1E6A835CCB6B93BF9051BE35A9F10D7837C161373FC9D575D7B7CF583F5BDB2F64BE58CACD5771E1D364EB7A81E016DD9DC60D7430F9E9AB336432193554715CEA37DA3CA65AF613C7463B1C7E02BE1E1E0FA235A785489F4CF074F29D7162DA9EDA8ECCFCB08292B79B000194CF7BB392738C5B6775DBFB8A053C5BAA457DB653396AAA721B6C825EE1663D300E11301AAA4B2B6A34A5BC52BB1FE5707E61DE52F47750E0C88972CBED626F88A62277135921EF416CC4E5FEB415A6EE4B0D89CD3462580B349034E7DFE05FE220A85E38A30DCDA3A5F60F17590E976484DD6CA4B2BE10638752E2B30154FB6DB83E19C1B188B5D99843979C97AE81C879B15429EBB9B2B2E8EF5580341E13A3A",
"763BE1553B7C0293F215F7A3342B6C7988B5303A0C21C7DDFD52070D58D0425C50F52CE6C98A3C296E1D040101B6D8F72B0958EC699E3D70E3E66D14B60E9AD4C16528F441CE3A420C690AC32CB8D885F314E9F36E99F6A7517AA7715CFD7B0A156A3B27C73AC0359955BA52F5CB2FB408D8E23027BD913B60FC2B1C3CA99FDE612726330281546676725565327771153012071345442368432431515347520828553611610020464115114738172150076288736805373513407850261524370665685648350225525124342433351658503201041186234771460707751672737365310771584071427733178536180507476380318067657101145073775767705177242162584146578886675646070474465076148387404588180331568075332684061416172863338111613862305314170412753502080046121176520503058846805782104610326680702436754286117483316400042875521658823263210435315280118503135055614451617465463678230780666762354887677302380001010716431812171141486303066587102434741408531080551337858600476503022531542041772765340257357457676051613305760317544431662854327805742105005625007165823640152836610485553322520724425546484080304635777831167545883221047720356783312175223041177307473452780723674760042361010042206408817258756260321717080738148388861503523763376475672546165202142622716423215341371286681752820043103701247760266184277038427045601746261077275584343584012206378570577330163221475805602751462080807782464847051055348135243222771823621183354243134661478287535377145172678571551758740784718734608281508523771058062820743610486328453421232305434724651313533537757536000858737761543084768704738541365544886448165543346244780283781506361440014012235416580472301400652210643771686055423711687100201478507148475312366134650213737784181533474621118575076307105321263246714320541284461623512001517004252425101686520304645741487378626605658626148175880014046580182378032375665460240778365812537660220854147718126733237518514277374150646205633778775863715321280784186626013826010123820187808440515188825525007136216261310250580277878216655272668427636618025503204302417704330684147121246502602401126043527135418578275080424332141345558887333663162526780632004716145018057566735815726885475882774520288402075002676661247043254840882052088562744722013066072410407322574834022312685153314243156057442302446587108168738486167061052248224350705420202241700783427272778677036154208328210220557786421761355501502805618250864525654461428436464734065651577200108070672338463062010072532274377134841870188414037037146502722233844637826724020321228620625383480680400517837540471373321713567641872217610153230427005567665427606254775350847102456613845772181873244478766514522125826315427824473481256570437810675287426361247021620765302381013358277226230132656387586851714264321008076368367208818383873735425848756563136642578788456047651141237421450060124706171556614651867780386415575376435733677313541652152668527281153316125686515413206847062851821070568250408030864411811454158013077848106082648505012058387783744740370450664506226877566802582687587207144608372884606738580777370486380476454334367622385563704036232267705336255540711161236566015624384546446425072461727350110660253046186546368838443652267576074347252582681027261ADB6294EAECDB9A4C9D34B84C48F2A05C881AA4608621BDD67538F2004D57F82110B539444A9D68BFD2983C040BF4AF3738171A4B61B37A74BFEF2103B39A1C8ABB0257D0FFCD4482344B2029F292B94003E1B2B2745CA8F7C80E248D2F0DCF84275DF3937AA376D67C2205CCC1BEEE8AB319CEE2CE28BCB0076406758A0BD560C53047F8BCE558FCC12512D9830BB116EFA3E783BE15F6220E11309184DD6810D1B2759DE5750EFE921A3B871C1CB7B8C33F1376A389C0FC2B87691B9EFEB41E3BE4D8F465527990B84AFA7CC2F6AAA69B948756FE0A68F0D624A83669F2462B0BDB95A0DBECF0C27FC0A82FEA4A755E6E602FE46B18015BB3BB97B0AC8EB2B07F667399508CAE7C2466720EF4DA10B61389443C129AFC82F388E1A3BAC9F70A6FB018ACD21FE681378F927C473B4E8774AD72DFB0D174FD329A06C612AB271089D30FFFA0063EC58E7B0D996DA3A18EB4EB1FFD5E13EC2D3BB8D71EBCBCD7DF6F82B7197082ADD00D2A87AE6287275BC142BC209947C55ACEF2EF8A7596D44FADFCC670387A70DF7B6522D2FC775DEC206202170A699B8DD3E9C87472CB7BF4B3597448221E0A1756DBF14A7B5FF69A3C977D58F1BAEDC49C1CE435AA1E2011D5F635A956865F83D32DD14BB6B022FA1142252559006AC26DC2104573D221567C81E4E8235EF0B091244F22D075C8CA57669031EB24D731409C6CD31E
},
{
"6DC10A11C8D14EAF3C4665F31828CFC4B8584D6C1A7712F1D4E4E62EDD3E9440",
"5DA10AF1894B5A37BA2EE3147B1A493609D80DA048FE3D68A282E87E2DBBF002E8690207C3A44461B4C9509EE57DA94F7DD7A9E148B5E2B61CFF49B067102DE588563FB737419C9548D7E4EC40AA8824F4F3FA50285CA18A923ACA1265B6F36B214CD471704299E7387A4A7FE2888D9E1EC3B73A433F6D12A5C68918D341E6EBA78B3C965DF8EB30618FB6BABF0E0EF3820C4F9C874FCB7BE66603B327D7F2CA39EC1FBECB2F08B73EB1C2316835E2152957BCEDE2DD63917114F520F917818535A4DE5197151FBC2DB616DBBE72DD460279393BD76CFCD860E8975980F9FAA11B9D5730879F22AFDF6227A3548251A3F96A95B1DBF2AF6AD457880CD8F5493866CA1C7B22F6B4CA77CB433B5280EE96EA0A2D083DBD50AC23ACB2A4FAE71FC1633D12B2F3CF99841A61317F4601AA7540C7F8402E2F45F5CE4DF67C83A088DE4A470A2C59FBCAE87516E4C1669D482FD965A42404B85AC8CBC88C0731C1BAE816DC9F04FD9547707A0C4D63CBAF79DE9153704B80D34FF9AEE2C9D9127A128471E2CDD1A16C7FDA41244F9D02678ACBA38561A102179F6820F28100BE679008874B7AAA2974F4941436B78F6E7DBBEDDDDA6FB3D8EEAE6B94F1E2C4A4349E049D0E14C1355DA82F86ADDB72B0658290D46EBB606D3CF212AC4B0F584E73E03EDFD74A98632660A796A28E8B9C41CF0CAC7014D0D816B2B649A5273FAD7C8CD93D8E4462FE19A478F1F5F569DC90D5E155C52732B88C590595F5EB121F20CD97D2ADC6B7EFDDC2DFF0BDD8A65DBA31E90000D644E13BA026B8F3406A87BB376A9B1C43B67F4BD2A41D3FBB474902EA2199AAA72B567FCFE1880622BD87888DF87C7FD52CED43FB2E39BA497AD8795AAA95416B06A2AAD17BAC6BAED6BA75B64A991DD4DFD1C5BC8FCA8B2F54178422FA5A6DA86F4B2AD82A5BD29B640EF75611B69D26DE923345DA31C469960E42A19A5E743E9A24EF62A06309AB176FBEC5430D7B1D11340A49251223488B8CD0CD5B6410110D733F4CEB5001FE1D58050980FABFFA6BE15A912AE336B6BFBC98E667A75D83FAB9D0EAFD70855B63B364DE94C0008775E760DD6659A4DFF80696CDEEAE176AC1F36B2883B04849152A366AC71E19ADE3FDA1FA363FC6597D6C9CBCDD9ACE3E077E1BDEA9656FA55CC4016CE23FDC11A9724FC056892EE112BF06397FAB6A9AD9846CC849D67495DFB34B78BA6CB309F12D968AD1204B47BF9420657815264CBC5CF2E492CD74E73EEF8746423F76C4F504F40E74C64FE4E20356DC166248BE46058F8E1ADBC7870B65337BA5DD3F9D06D897EBC7DD1EE4F89F5A12BC69485B5673610C5A70E22AEF2EA2F2C225CA9D2657EBC73EBCD779C0A54E45125199321E24E7DDF56F72633E7FC6489A4E1D9A3393826E933CFD3E217A592798C2D1E515652371A79038F77349BE97580EF9E7779A0CF5DFFF7E8B8F6D0E65B9E3F4C25BCC2DD3AE8B7CE8BBCC8D2CE6489BA0C76462E5D30FEAE7E25D7B19BCDE116C6E2BAAE8DE3BFB724FD23DFF7550DD4635B237117205DC0D25931DC46182BFE777B9C13F054AA5E8FA5CCB6BE1B8A87B5D8436FB620EB380C6687D680982150E9489ED15486190A2832A7EB813330F93FC54CECB0790FA7C5ED54FD68EF7A14F44B9C7D0AC727FC207ACF7B0D88AB4049E0502204BCC747D31C80862CF8E574ABD04E9ECD76F1466C581B4A4FE084FC58F2A309858A08B4C5BDEF00E9339160858D45BB4743BFB1E4D74D4F0A0CF6384B09294E854D516F8E4DB5CEE8A76BBD344CD30B0941B980F964150D26CB7D92B6C697FE1F08BB91B799473813B67B23CE203DF6F93A65FB27F44A6E606D882DBCA909782818248DAC880E3ECF838FC3C67A0A7D839E4BF476EEBC0827D6596721CDE3B397F98F3C7470B131E2F9F83B3899A09B121E9470F336EFD87561A8BEAD82B93D8C4B008D4D954849EC5F9B072AB710F24E0147D3DD3472B5EBC6577FEB939091FBFFE51A083FCECEA84422EFF6163CCABDE18FB473DB941484B1084B4746D3769FF63F40B7202DA8A9D25D19F4E274C4CF239D2FACE07154872D71D832C29769FB2B9ED3AEC529E9FB9D85075569473549912303CAB6FAD884579416BAEC4EF2D91AE54E64798432428A47BA4AC7D19CB836AE3AD323F55140BBB3C6ACB8037601479E867772A3C760E36F88CD18751A708148BD6311F3BC4BC234BB0C6F7FA8FC5A61E683819C4CF2F7F4F64A8A7A24B4EE1D634321D28548F2D7F6A02EE690244B73DF3B4FF78D77B8F36984A695AFDC63683D245DC571D9171A24EE7B1866305EEB16FFBBE96D9B1AE524E53967C0C4C9986D116098C67ED6CFF8A965805AD34EB21E008F7A68EEFCFBAB76FB597781A35DB87AC499A4BD13CD908049BDC151646A82B04390A3D46EE6F6C15340471F0B58DE573B7B15E0A112766684370FEF61C2D455810C8CA0A7B6559C0B8DF1301AA673F87FD7BDDA483C948909F6E3D84EA415F618C6B241445A903F9FCA8F6A8F38101112E223D4AD884FC131F6EA3ECBCB93FCFDD62207A161DBF2208D06964E6C7E90E9EFCCC4E0B92F3D4C425D90EE91E02461F5ABCA59C4C87607D9A4BC9F954D7B0B7A63D4CE995119FA8F17D7B94510CC1941877182D466CB48E325698A7E566494AE73FEDB814B72916FA73ABDEF796F298168B50ED53AB0C519748A375C38013EAB8341494BE066B1A8421DFE8C4ABB1E51C2F6DB020A1EF617C4508EDB09F3CEFA759B6",
"5DA10AF1894B5A37BA2EE3147B1A493609D80DA048FE3D68A282E87E2DBBF002FE3710473809261B0D2FB336E591534716812B1B9FBB19D29C3AADD977DFFBD44B4E6A0C5E28ACFB7A1BC87D45E54C3D5E7093B8E22DE3DC0DE854D597FF92C5C64A84700FEC97BC67FBFAFBF2B9D9B2C0F25E44918F3E15AEAA9B522934BF4418236482823621814371331223250658815510310087125572464841167615162082753714801855761535313380125462627318441336674213487441552587487427527024510314287075088314243370781578780401535055660616022584316458820641618354407187125144132520740781777883620665153364334457563474565833488077828841152367801678303887875611822765846461256670054450385004884222723814530435244613121826147656481602345676006826618687783708626713836445402570268638775427056086767212800417581212530300828122350784318460501573182556456370841458770612202218064047205630614041705054306400003863380447241787660756425070443142537834171233343821723266361325526170842642566522513132387708581224101263875060246678825338521483487786411515124164440526835064280664054316686545445521421052713502674267582500757725478542521864044768566371455458817706774207665020657432664000116878725054534880845807086703755544828318538660833550731528287520782827735560013300725485178554873635501724224101375844855787607720654774776306036621043224324673573366867876304324731708012538483578248883251544368721860217141775332001448062716084518330732885105086007772317087481063818763012010303851434100157602281723000444647258756207273105862748321357618214831018874600258625774787720565522447782836702508350580680157212381000848738746582510566817777176514556885316561828127514763188843147666220188346544677605030415733802734803327538453660484675610258850270521263073551376504250610460645150077704825512581020545143402663153641304072278482684708748141271518657741823564114656530651480372608724513884161483788815088750507745073473250154421333247006015354175580361633640052112541578827483605687033231415282183540366657686618330661714602637677060143604144374154087243587665338121583781728275066624831082476886051822488853307554128854007545738503088658336830746558665152605512140352725233328060256625012711566622841812262512021241447230247786700131125707641264717611263444221085714573170524021358422162653630534630385863625770706474860434646432500246355585868666102047625231421076264847523826252112677336054741363546142608276333437378250583488700618214837888557316086858601572351702378330720731080476728554865012711853342612253136820630048166466538135413822018153834880724601414388868623658327243375633783464603502615660350143173373764280801225120021520314536225046326154527385430704063067065274027434038366005212226523175224411563063437775143045338727737445172511383516688118714555121652625847447840415666888851741554086013477822443458158538412407156247355270133408318583511655847784477842358706560504324584134366053028142173174131035141733137555777014116187341871735681415302435321340878433224562581607506056454744180531205174347248151647202053603484855264318877458545403530782031645156308605367125754064428148765360768118615330511384416464824381202426430643624034334157670436630462027317080955C5E74320CFB6E5C412C28A060FA33D75D431BF37FB53B7CB497441EB11CA50ADFA0A97A5F549D717D1C56C93282C203104A982122D63C578DCF939B4C58AF699BEE16844C715E0130A0911F750459704A65E777A7A17BBC7EAFD6197073F5ECA869E0E7C5279BB9735D01C2EDCD39FCFF40E4A99DE1960BE7A4E25EAD9818FF48462C3072814A93E3ED098383CF018508CB14FBCE5C0FDCED1E40AF714D78A63B6660B415DA16FC04C00B289457469F9AA73790AC0B93C8EC3D86E4C5189EDC0E12360EE3BD126244EB844BD2E29467FDB2063C856D34019BAB1A63D00927D84757D1E657793520468280D70B8A9AA14A2E9FBFED4744783751B6E007183534AEA8A9BA59285E10839E90D4F5FDE02542471CF460E0FB1EF45B4D45FAA11221C742D97389978889EDC3BDFEEA654D51ED14E9D0D2AAEB00EEBE08E2B956E8E453FE4B211518E2AC23CB93C361CE4E58AABB87F5E99E33B258614FC0AA17DE70F53AD49461657670563CE05839BADA734DA445A95F51E7D78B2DCB8B7A620420BA390192A59E179A4367E986B7474DE0F005CC1AC6C48F840210466B59E95945D4ED7A28567218EDF8F5778325AF98EC040551577B4772A68CF9A25987C3359D8883BBA98DA725797747809E24C3DC2BC02AD794342AA6B8E39CD37C9069C5E87306A7F4C3EF8670A9A12DECCF347F48CEE2F81BA3EF69C9052B9EC1B2
},
}
func TestKeyGen65(t *testing.T) {
for _, c := range kenGen65InternalProjectionCases {
xi, _ := hex.DecodeString(c.seed)
pk, _ := hex.DecodeString(c.pk)
sk, _ := hex.DecodeString(c.sk)
priv, err := NewKey65(xi)
if err != nil {
t.Fatalf("NewPrivateKey65 failed: %v", err)
}
pub := priv.PublicKey()
pubBytes := pub.Bytes()
if !bytes.Equal(pubBytes, pk) {
t.Errorf("Public key mismatch: got %x, want %x", pubBytes, pk)
}
pub2, err := NewPublicKey65(pubBytes)
if err != nil {
t.Fatalf("faile to parse public key: %v", err)
}
if !pub.Equal(pub2) {
t.Errorf("Public key not equal: got %x, want %x", pubBytes, pub2.Bytes())
}
privBytes := priv.PrivateKey65.Bytes()
if !bytes.Equal(privBytes, sk) {
t.Errorf("Private key mismatch: got %x, want %x", privBytes, sk)
}
priv2, err := NewPrivateKey65(privBytes)
if err != nil {
t.Fatalf("failed to parse private key: %v", err)
}
if !priv.Equal(priv2) {
t.Errorf("Private key not equal: got %x, want %x", privBytes, priv2.Bytes())
}
}
}
// https://raw.githubusercontent.com/usnistgov/ACVP-Server/refs/heads/master/gen-val/json-files/ML-DSA-sigGen-FIPS204/internalProjection.json
var sigGen65InternalProjectionCases = []struct {
mu string
pk string
sk string
sig string
}{
{
"DEFBBD7113B9D8366A30D28F327565160444D21036EE7D968602D58BB19D2699C03FA1B79AEE7AE4968B0E8F76C46858F3190E4559B2447FB3585F8E9D6EC278",
"2C5C469B4506EC576F8159F8AA653303BB6B922875ECA4294F9799AE329D991DCABB1C6C3B8C3BB9977EF96CD24D2EC6EC312A045AA62E1F5927B102FE02145B404C2C84D9413A45D2D7C8DDC884CF0961409606E95C76F9EE230AF82284A2766B2B530DA4247DA0D3B7C5AD4BCE74D9734F2F1E8B6839DC906CA33D5CC1A6CAB3C3A7B9464F90F4C7D0F9144CF828495B10C5D320B19D529E31F686A46C93C469CBF13C284256EB3F348B8DE39144EB31C42722F1394A8F66AEC6CD0FD8F6BF218B0C7B6CB9583D124BD7561BBAA86D38425B4B3D8CB1CF3B39C6BF474F11D306D38D5C9669A056A251E6E329FA925D4672E76F547D2488DD49998311DB91884E74527662B8717DE7FD92CB01AF8F23EF13BC7638452837AD0344E53833A742A57A67814CBCC124E7C4AC9CD15F2E2CCFF1B80C228A7F8F4D6F264850C8F7EA09F06EFD5F20A52729E127C0D0D5CFA410F17BF4B805157C9186930370F3A3B50303C52491DF5D183CE8AD793AACF4E1F799B9194F43F9A413B79DB724AD91E3768519403B5DA33F006E1F1454E1208A165E021779132BAF8B1E3E56B9F925F74B5F3D7586FFF4EF90AA9C1A1FA769556DD427558B8409EAEAD4E9C9E88E419469418B061B27DC56F89C6590A02A547C48CF3DDD1ED4DF1A66789EA16BB54214FF30B7E538A16C6C72EAD73B0F7FB8AA3A8CEA6835A5BE017EB95AEBD14F0DE1464B9742FCE04B8920604F444F17B7756B047153AF83E1EC419945DD886939B5D6649309AF44E0EACE4D5490DED6BCAC0A709D8A5E63E9D38494950D1F46146D48F487D3143174FCD4F76D514CA8C3869FC16F6649C1F0BFB03F3FE5BB7428DFE17F67DA3CC66B97B85F37D4DFF2B34F092F3FB949D1AC85AA450AD490FFF1B7D8164BC2EB246E5D6318AB3110951D7CEF448BC4C002C39E52464DB869F334D293B0140FEF3895EF5465C226FC7C52FC423743F3259C176B29C97CBE09785FE0B5746E51974CBF81B9BE1D16E38D8EA2AC8B8A8B330C59AD31C0E4571855C5A5BDC7B8B07CC65F629E9EC7F25CDF4850DB27BC1310B84B41E60EE67F2656625243701F9D2F4BADB6868A96376A8BC95805081BABCE33467188214C947FF8A97A7E958C89B5CB3AF24E756244876B8E44E04B4C63C0865DF2EE7301A45A64A77B1CFB546BC0C88B5F53E65EFB2B06C67A7B8DDC2DD1199794894CCC9E1FAEC477DBE0B676EDD4A86ABFBD57899F3B9AF5D76534A1C5723C6713513752F69ACDD2DA9EF1683FC2BA29F048221EC8CEC550B5536690518872128D2149B5B41F717107847724B3046B3C6363B19712D4305CFB0C774DFD85225B44548536FB318F787CEF5F1059AD22AE7E5890E900D63C65EA042B0453635EE726ED0673E7530455F14F06202D599F42130A9B3E9DAD13657890C273BB8B301E66F8DF4CA27AD8E05786468D80C8641D5188CBA66F25562EB715B1C69A83F41FDA2F9E312B19F0C422D9C5DB220928C60F99B62F6A3616BD58472550A5B5EC1DB6CD6CBEC72E6EF7D4D5E1749310991FB6EE5BFEE83EE5F69D9DA118ACD46D0E13C5A231D89D63065E2D67DC486A9911F7FB44AFDD00EB3E0204792E51CABA72F29E15EEE053854D4D44F0673B914E0F77ABD245600E31BCC139CAD9E3EC281C28E33CE20777F9BB05B3702567BAD378B5202D819066F5E071957FD111D490DE5DFD67FE85EC55212D0392A9F5DF27CD6580A190A015FB9AE157AEB8B1BD2D854E9123A653A5B779C5A27E293AD421E0BC61673B34D73E45BF23D4892BF8E24F3581CFAD434E79AAE10F1ABA4F110B4E2661581CB34EC1A582BE2BB2DE318930EE4F5128B0F59576ED937400BCE5DD422672483D07F68DA9EE27F5657CA3BBDDB463166A3FE24B1A02B5DF2B3F0A8FEA6A50520DBB48AFB8A026C37AB171D824F710A0121D9990BC3D5BAB09675998DD5C08B4F723226E836F4FAC53D67ED0197DEC62E25B37C2C4E672CDC24126A08972EB37B18BBC10F5B34B518382EE954310F51AB6E279298785C73B0982D89CF4C11DA915097EB0DD8EE3B83B3EEEFD4F41A2EDA506B6119A068285048DBA1BD2802184A6418A16B6E04F5197E3A0F65FAF4E9204C47B0D6E3D96437C58E4ADB437D4D131AF74FA99B329B30E038A251A4C7FB3A31D94ECD3AE37B11073D1B2A03ACF00F87E834090B5CC273AB68E5AF7794BBB6359AEE1E08F5D5D196F721F62C3304A23040F5CD7A953546B96A6C07AC27459EB882389CB10258A7A97737D0EE6BB78C34167CA7294E4683E179FCEB688F316968B32B5EDEBDB94764336389A19ED0ABD7DEF75206A76065D75648B2B607AA4B344219607F1B0293A2A165F83A615157A81ED346B307EB9D3FBEE89A6AE999020576FAA0CA4954D8DFF40D3FE543032576578014EEAD898B2FEB09390A1B26E4F51B611F3EFDE2BD48D06D4DE4D7D2CBA63E54F1773C868D2FE05F366C3F543F3DA39629701F50345CF2DB050831D0D11D3038B3362F07C8B69E9C2126D89C1CB20EC6929EFCB19225ABE39E8028DAA695E0172B199320A268994FEC7F16DA8EB8710CD9F25877C93098AAE46665AF608CD3F17289F9E4D738A87BDF98625FE952EAC9A4337E5AD59D845FDEFAE14A20B85184552DCAC189B16371AC50542C573F6A8CE58F95E903953A1BFEF34272AFCB9037F174E1D180EF37013B7080402FA348C25CEAF035B143712FB312F4DB94BE35A9AC2AB0922CE78995551F48890EB7F99E270",
"2C5C469B4506EC576F8159F8AA653303BB6B922875ECA4294F9799AE329D991DF0F12A876E0CECE8BCDFED5C8201DE0DB827AEA04A407AD92A25ED8627EF64D3E60EF3430BB5832A7860576F065B4F40EF277606B04EF86C06AF961CD85C7A1B22550CCDEDD4482ACB5993983F33FC8BBBC479DBC2D953865BFC52FC3D2C484A07746167376152534087630375774074255666424335408805012785533004676177365215336521567788315628534413464237448171063450826617474367646171582051702822285041683041412260817567216712771555154124647543812271285665822632511878008613784228227461875581410875345352855311845215726876474326683487141316534832503621802153086858345520310831728805550026034237253444626167810228382646054721340216167610487662687525704607865272258237627102066667042270464405340836405312710561251351540658681826317145657434207874201061804881010784506467411085552211170220760064208051321204042654728477346682003065011355848104622883145664881118075662412686114626561213464712588482378332283054545868208741581717387402861705767718226147132671658670520285450102655440484863530812107756255268517223840225781662743110618035804366065638142566006471224773373062574435832467214616377282804655878754325274483514376676401227015516105604400682854515703648480721651808608634625740073202267121366216245203327381604606602340475278053535145535137855162351057273437780840688513155176320656310808206616636571005351182500707472785438214058704450745543610266886068070765623352716250616841346534545514480388422815426280132121150557843836054731402465864528872775102138812703825721137438137060371384330174373366715320015466532508601856287728482408518718821038067204716641520722623185440702255840554815002183082074473408136172886352563540071884050806512388311444474772310650810704842441486752366435608742556236368771321334737607187428066373768753261481263888670383234086018452370670614101778208888838666278721321807720407860533316802324255167235672156871051488077200867758868637315637338814143881668004887841276774002548425642136606574555700781375857276513807841263461105277040645637802781738437436343483373123144048065704426872607144488353347650050070658630730621201201201230655566281837230753157233332823148880883486516666164131643056616338872781752267308873406380376550760668861241741488425326368131423028855861153237117127505510155202036275084528631767638750564463765063161532528422584310045157136508605536658252003555356854330547521467404521345506228805313227426037433065871704342135471583716856465880255081057125387573762282516613574135433115506806085853670705468836685264631042418728881575862217444374521845338875734100238236350872830088106274534573214704714676114387815713074027134762036021428080033056142052052227426218461584384041238220570570853051162352858855834613806130025120687172121507508440601448763760885327435788324822847648151100728753052780632427724653207213742412401137687316426012332120268213814437010146556581648234777372741372682477630357615040675054665838504248352071875536552465826626833721786780638657638234521447558015418232662538783000128671475312255746435061784645820723562822306284070277818602386086847188772841177583444352330826472121256173666B9AAEF15D83E53512026F4913B22819BCF6CCF621860B77BD38797369A187393A1F18487BC241E66FFF4F0C19E391EC385FAC3605C8DC47EA609D8363F9D875E8A74010CEA910C4D7DA08C713AC182923870356D6847A5FF86E886F2B3E6193FEBA1C5C1249834D52E0143C1BA9DCE20C5521634C7AAE9169A5FA50A8011CF0AA94AA4442139E21AC2599EEA0B06C0DE0FD85AAC0E3FCBB5E5B5387AB70035D405A4531A6A680397FA2947C4480C41C3163F1D6C03DF9AF4664F39A656C0B82A4A1C42F2D497230A566F3543372176811E57273426E2AA8954F178F2CE808EC9F6520D746C94DFC2179A5FB07298830DFDF4A3320ACC8091FAED0B923A3D72E72DFC47747C42269606F9290FBB2F701A66876A1DE8BD897BB8726998FAAF8A88B1DAD15656BE48427715CA8096B394063AF5C1D7AB59DB0852BC348B377BD937A89AD6463E72B39F890EEAA144E4BCDE9C79FA75D5A65F0FCE08547893ED2C9D08394F57DCFF057ECBF16858B2DEDBD252133E60BC6DE129E2A26F7EEB1424AB5649878AE8BC1CD278BDE66A5EF7E0211CA4E9B737522EAF9178EFACFF87E54FF18F13BB01B0654FA0B7428F1F64822D7236CBDFBA8F3DF1348C400239C39451FD225FC73DC0D763024AB25162F72B2AD947ECA3D25FB03359254912D77F8BFF8D8CAE46E4A8F2CA4F012FF2D8E0673EFF72BBD0B51F947B34416DA48A29
"379667AEB571ED41A5CE9EB926A3CB731F986BE90197045AE6E3900688611B330D381813C5807E297913C1BC260F8B7B3A79795AF08923D3B0A754A6198B9B70830FFF75AEC94121EAD70A1835CB524E4992078B1A93CC57B39B1DF27B52148FFA5B6CFB63258F6349CA235B5EE09172FC47A8AC769CD0B77A39CE33FE46D61E1AD5B670B347C2D0C36B0347B60ECDAFAAE6CFA06D84050C5D653393AE96134329D1521BBB6A0068A3275E7174F0D35CB1547DB221A10F0688E3F9376A24DE17AA518BC0BACA3DA1F5D40B57246F71B820CB65BA68EED03CF0A927C8ACA91CBD5E2AC443ABB27FE3E58B4EFA73D813ED4BA08E000CA342ED643A752C1440D2A4D5EBC4EAB58A3EFA9A4E2979D03929CAF3EF1E05EE763EEA399874C19AEC1AD6D2AD82662BDD5A7E6B8049DD73F85946665B5B79DAEECA10CB39F5E14417B5CC6CBF3E0BD4E93D5188A67A307E2D2CE03B3C68AAB2CE319ABCEAEA03E1A352ABE852A3CF3334BB9A26377A71FEDBB33EFAEC1B438B82DD96EBEB4BEB448399ABFC149EFACFBA42112A21A0FCCF9FD9DB5D67942CA80B841E7D18434ED4F29D769DC42C6D4882B574C16DC45E004388D54D96E5AB1E05F33C3879153BD1DC9B0DB9F401EA1BB7F3327E1C2C7FEE37B84359A125014BD4BAD8054747D812D9121536563A7D12A1D9572DACD0DA12602326A3EE39E7DDC06CBE1B7AB0F306A7748BEE2C3F7A6322B2AF5B17F5DCFFD7907EDDAE80CF883B9E48DB250BC748B43F541FE9AC1024E0150B1A65983D882D8331629E429057873B6643330AB4EB463A9FC914B3C33A12621516D61238EA5B4381F604DC934497CA96BB0D9D7625624A31365B3BADD98754A0712AC160345D500EEB4464122FE605022FCC50DDC5AA4EA13158CBCAC2909C889A562BBE1EF06BEA7408F5A447E38ED69EEDF228D2557EEE48FF76BDA6B36DDC7561B7A817B2308158DF21E73FE1C01B9959EEB4F02444C127ACF619EE0ED9F2DDE1A3FCE096E89C57C2FA383AD47315DE7F52950FE1C1C7ED1FD0E2A1CBC3A2037F663B9774EE76D0D153A5B0C7C432E0BE24F0849EF3AC841C243F12D69C1DE67172FF4722E1C7BE376539E6D96A33BE1F4DA045F1E2EBE4CB77630ACB11F663A10EC48158F5191E5F8501A7394895E1EB1626B4C2DBA6C4B0C57498B68C99D6F7BCE7F6181E9D23F2237DB7FE93A01D67DFA394487A527BAB5DD4E5F84FFB25FDAB77316032B6DA57CF3204B93AFCEF8B162242A2A863518DDFF501AB7D495EAD3C3B8A6D1B018482C575EBB092273FB85D724FFAA73F359E9AD39669007F642D5F34CA2013E4479A30187D71B96E87C946CFAB2CB2CAF9F0E69C08056AF57C85C34292148003C09877A029D80D03AAB5E9829A301D1860D7109CA98C154838F412952D3E84BB216901AC505D811A3FE9242D308DACE587882CF27FCAA04899DA98DA8527404B02BF24698745BA6B25B015A5A4D1F0FD909ACF2188995724EFA812FAF9AB97C297A3F840E85AE3B37FD8E96D5E7B3BCA46B6C58DED427446678FC66A113F77C1FAEB9A1FC830F437706B7FACF1ADB40E1CFD093A2F9549B0F629701A166B8DF74501959371D182B2805F93923D409A13941C284CE328A22A5E9C1767C9A927C15DFF39FEE4EF55B7B519277E59D8038D0C7873A251AC2788E45D23EACED7C5A3E521F9AB18487822BC8152F13464029C583CF736F56A6C0F0F34C1E38E4347A2BD882126B0FD6B7128AFAC7A5C07D038CA0AE70E5AA394D007A2222C1F794A43124C38B617D07EC9C1265E682EA0095B5812F0B017426489E4222473AC954F41062E03986CF7D61D17C7A24A1046192E0A2A570FF3A90FA45DEC6689F370D6C287C858AA6C320B6A4A2E6C4E1A43122699937EF24257B394E2D0A7294F6895553E91A485B973B146EFCEF84943ED923544ADA86199791E59A47A98C0AEA2BF75850E994749E1FB945A01319E6DBC97F9DA9609612A8367B1EDEDFEA619889CA43FCD6BB9642E4758E25B2E78A5317B76D8C8ACDDA807A65C189FE37CD609866988DEA2327F1D60CFBA6D3CC7B3B49E81B77DC1FA252712326700FADBFD75EAE425DD2572A7AA6A577ABB0951C81C526B97F4DA8E61762C63650523CFD151F66CED7A60CFA89F861334BEBBD62414139AA61E6DD2D024C90A27B943B39BE981D4D1B3C59CF770398C80519D0DA9286818B65DC45873A90574D40319B1A3832D80B39EC0EB69A6F1CE64D793E1BDB42E206065E67193F5486C49E0BE581302485BA7099B7835C36B8DFC4290CD8238121816CC003F4402807D81EA6C9316C647AD824A77E0ED710A9EDC5F946885261AEEA8597D6D8A957C4D4A43EE4C3E93DAF44EB637093E2118AD61F560C41D60868D6D939CBF5629B171CF1765ADEC755D735FB1247ACE45CE8B02671B19342796DC68374353AEB86A265D70F27AF3E4DFBA62E1B4CBBFD1C23B1D81E507CA3552291CD2ED0B3D84EF5806ACE49799CA6D83C8B76C68864426EDCA4C003E425AE0D497F94987C5D5CCF2E28E32B78DA54C647BCB3778CF476CCD25C7509E79676B93A63361962B8E206078C102F445B0F14771E5C4FF380D65CB04C91412144EC917AEA40DD6E882CE6E96D504E79ED9D081C625028F475DF5F94113208CE829DE2847CCF47F2B1083B9EA942E66246088D36EB4CBA4E1A75FA4B4313616C38D2C7F5B0643D68137BD1168832E39F6E5F6E45171ED6D5EF99E7BD215D1C9DDBEB1E439D535FBFAB51F674B8ABB3EDECA9F24D6E1654162B82850D0ACF1321F695F5B6BFB2F7204C1E06D7364CCD7F14F55AA0856FA0B9B3B2E0FD91E6FC282EB8BE63284013E2B304E5D785FEA6E0A4CC05A871611179CBDA20CB697CFDA3B80
},
{
"9C8A99F7859EC3749B74D02CC8363E99DC6F4E6DB96F7AB8CF75740F9399FE02AD2AFDF8FF51AA229F51D87B5B6CB716C08428018128179983984830C062C573",
"43E1995879D229591B4289B83E0A29319E266E979FB5B0B220730BE99E5317C995850C644F4E650307EDC227CE00F1F82B334878F39413E96F81D843A5316BD10A5E7832830E9F9CF116ACB07946F8B480B20DA5C3B9C5BCDC03E8827C76E2903B63141BFB264AD34E24CD991B26B5FA55509251973C99EEBAC87ED76EA66D098B63D6563622F2C2EDFA0E6EF661F781F55A5E7FCB6F9882C8AB8D40FFB81AA0FC0B9EEFAA0F1F541F28F151D44A589CAD60ABE509BDE612BEBF6ECEEE2DAA27EEDFB1719846AF954F2FCA3937C99791C1B3123ED4C0C42290434F925785A64455897BFEF2DCCCD6CC3D2B238D24E7E8D82BBDA0BE3CF42DE899A34603EE62ACE4B591BCF6985E4075CD1BA8150D42805C6B97747E16999C92F3E333D12BFC1A670D15269B3767256A01E289A0881EB90F808D42CBAEB5507E041E12DF6A64BCE0795DFA0B5FD4B3A115B5D971C6C99AB7E741975E3B267EB12359835A97E443BF77B8F0A7D06B89B6B96B85CDC6983521CDFD7D42ABF5EBDAC35B6F12CE4F57DA6CD6FF1955228C4C42A8F80CFD00879B7400A3693FC5DC06E4FF817801E0142BBBAA2EF2FB4DE00D500D0EE4D5B79D9FEA54596363BE12F1C686F4DE04645339A60D59112FE67AC7AB7FD299BA3D9C762A457A670EA4D6E98FB17F7A6ED05BCA5966BBCD610D1D3E2F7FAF059418865A05B3B184C1F0F7C7B9FAF37B8973747ECE69B7696A88B0708E51291E201185E9B593BC5749868AB18882912B7B8A4B36086BE370BC558E4042905CF305211E1B597C912B849918D6C96B5D0714FABE7F7F6077C5EC7289C243527BE352486EDD738CC8BE5F693DD53B700408B3732AA86C96ABF0FA9ABE4B30B9067167CBDB9324DC6E2C032101193E19DE35D95DA7AF10101A24E5B830DC69D4112ABCE45E2ABD85943BD3897BDA327173394383212052671639CE7E3CCD0204BDEBDBD4C11C151D1417F4574A08B8DD4AC8BFA6738E462240C244AEF92B134B5B9941D946200629A07F7BCD8C80883C150309494C106EB628E4F2DB074B4ADFD86C49905DDF0CCE13478CA921294F22CFF849173EF2385703C387DEA90563029C9FDBAB3382712E90F10CDBCA9C358F3ECD5D9410E9F7250C1E3069B26C7D4B1161DDF788B36E1288AA9B4C29060BFB5E1DE67CB99B382454A8C5697FECA06B953794091379D939468531091FEF71DB020A6DAF1A245D0B650CBF081384BE9FB18DFFE5A71398C976193A97D8748DF10DB2B20837B8BE7B16E64E097F61028BB4F8435AC8E67BF293CFF53CE54D00924DB18CCD0994A01CE017D8053F5DA5387950E090987956072AA2CCDE419D4FD66ABD86496B6360DFD71CB83E51A87644370AD5EE8ED195F03E3B3555B4E3A3A06BC2E764EC1467362599D42A0F218645E7955D4DE16DD0648E8C6FC95C691114DA8420E52670B8B8E795AA95A71E251D9D44A8966882DD63DF97D02555A301CC92BF525366C3343A536D19E1FF4CF332EC89E2B346C29D3DB86A01018CF803724D3D3F9332DAC43D77D72D3BDF038294BB5362DD9C309B95119245B534DCD8089D238C618AF88A50337C54680263B797610CDA20956807DB2E3029DB1FFF421DB331431FCD7A56DCA628EE09FE3D301405BD667F6AFF18DEF3AD5B5D834DE970AFBB6A78BACC6E8BFC1029DFDBE92FDE7EF40918E95C72CBF824D0ADC73CCD0BA754E678F263223875E4A8587FDC942B6E2249339043662E31A09A64259D01A726544F871885A8EF7758F52112E03CF90242D6145E07932801E44E159619258C2676444AAFA7623ECE86185948EC5F93BE97E50164C79F192C62920E81918464F49FF43810D2E3719F9C418106BC319DEA98ACA21893D5BE6D4ED02040189435C6B485CEEC768EA580A0ED253338CC82051C10925AB623DA8423EB153CBCE096772EFD6036AF1CEBD774FA9BDB03E2EF4D90A814825669047FAD4FAD35839D0AFABAA390833B94FD535768BDF6ABBB4B4F75A5519AFC022C0E2B76BD18A7BA7EA22154748F783574CDBC09AA61247AAD50BDAFE7763751E66C6B8C1135A0E11151E4E291AD21E12622963610C49ABF7763E65C553C281AE29EB3CAF3315CA3E922D18D972E6263731DDADFB73B9B419F3F238692A7B90F437A501A93DFF7AD8EE35FA551CAB6397EEDBEAE2DBC030C751C8184DE10D2F7E3CE9C19C8FC69A8F67CB15E65814712D409B2918C71C829F6BEFC80E4DD6D82FF16CC60C701A2DEB4B3E90B3E28DFD294490C19FD76B6E58210D56454F33B47DD31F2D8D1230784A4CA28729F3D3A7EFFAB51FB47444E45364A0DA6132CA029A347244C6DC914E78CD310438CE84DA8BE326289F5ED6AD05CA03F2E5CCA39227557F15A1FC7F71B356448F4F8BA9B311909CD153302A4F47151946EE51D6198A01B61C95F84BCE4CB34266A331EBEB2E69B39C696D23DF04F1237286F55EF95FCFB911362B3BFF0B91FB8B2926FBC9F69916A7E13107C124FBA98BE465E1A69DDB986F680661FEE99869EBF8AF4F2C6B67340124BF99ED6DBB3B979BD218A64C4887EC5785F735AB7164B6F9E3F9642D2795488241D49E5CD8DA9AC49FE91707E0FDE662D589CA7C3C745992356BD2F3302080688CFA05F53CF5DED147AE9C86CF47B23A016FB8B21BFD95239862E573113B4FA1915FFB88773396B2E2652D3FA19E40ADBB7D9464CFB0054E4FD40FFE870E817FFAF920A924C1E63D183D5841610B55C4B673A04AE0ED0F2849A",
"43E1995879D229591B4289B83E0A29319E266E979FB5B0B220730BE99E5317C954ECE1FA070B14CA21E1B834968B853DFFC485641A5C1E1DE7A9246A0BA0964F0FDBCB7F5B1832672D41396874D7631F9F6470C5F0ABD3570B9A4C8CD37F638B569F994E594145A5473FD9BC3A549BF3F92B59B172C43CF322AA03F6B7C9099340280736585850347247110567826628608578577333268232255027555151211432318538165645062358655442502867681117676631257406034640844576238241682882013185746057802700672180826307401471404550560776830580434047124344652505481215508577507075214750328401383317614380663054288506057420507522567482636864560682268035408714555077620216841128486558366105723024320267136182082744415610326841672354743648580357402303073632770703338775226217006120657474880563856388755465184511442158874507017131246885070044527378675053126478335657187061370450631007266614466356707245245476854838668866428113572414778056187101537676885208413216122630481205070035516868086831064628131646012550066860232351333886664855583788621071233752327246205131817726348134515646385587612501740324517760556872411076053272048160727632202058870714470444128115712554118147831072455727531324364070088507355724762526017467321712102110322578022125122124250322574718778734033138237648612518355061608387642157282382431010783565487165672777164615354017261136316783347871661384650584721730882616101150343241140526587581151414656564430482576034321087316856020462221286764007818777075286464302182356117216851615056466053366065817108674440272552651515578328584026811221672207585575272614434151616570724225302813364760648436532440122251411286713437660584571430452420744602432561677767361763824088760408601653884574636068552343425617201462782715376267748271264640007661241481565662108813511311153365432866067152881111647841628760721660067486555553302487121100361533041333850118422656211731682148027588636537812415105300053664021036501115310085442032616568146725842522476270777237712115234004367881524164327035810011311848584775003521200370508640158858705543627171734056170541401400288081573450245206150383867030465808612224731647174282857851376187641276121612037747658374828580173311165210866371504383361120528241305711472668157516510060475282315151275224736736138200201251832880364236670055735352874352605748211070355341874376422481333548460832760317445568516125616226163742118278154370757667516718367651243242131005762225081114326052486310102623113216212154328056817638438087041873382618857472740584766311625755581345508572648288725088152048020554041485647837554555345722185877280838238371811477076285463648076265636480155081241337484811577806881240047507418625041077230768344124412405763800535177472672348553155631668735884736348331165445860341708828606805085687177004700040663124658158056604263476480855817478687718448668267008356175044001732608430043537702336417708778223025104226207382618316631871675705132885882002033538066035644855161107835175233316071136543311421753556416476824766307573106100177822526522412865482782162146537353541614487203007334371332055738766476237245762674236303854044227214427033247785306302883740471642640017628108416214633207783105380158810062441470219A67E3436063FEB76CB71ACE7D46EA25C8124ABB1C42FCCBA379F7230AF53662DCFFB4A74CEC995835DDCE55994019C159A2F2F762674A1AEF558C94E9CA0C8106DC515A903DB2A69B9D74E6D0051A6AA4F5E9C61E68C1492764DEB403243CD300D0E8170307F430BEDA98AD15AD4EE2B54E6E91F8ADE86B89DC29DFA3FEF8E18698FC83345292D1B811307F28CC4E3D24CDDB7F557E16F815D807E31E8769A8C06BD4D76AD54F50053A807FAC5C1AEC07FC19076FA3746A72D266867A381A4307409DB8902015A6670C7090841FEEFE1228D95BBD599628A6FEDC3B1FD63870E8D526F100C226B154AB13A4C520472222929A308FC739AA886550771E95C76DB5159C9EDC6633C70A559578195B755FE060270094D127BA2CC3DAA5020B4B2817FEA60FD89078E42648CC793D7A507D16336B96F4F5513E7EB3E31793E71F1E08241013C55DB7F4C0C1DE079AEB4621CD8422A19D014C7340D98FBA036D9D85511B1FAC74EA177B4247FD43F9034AAB3E3054969054B3A76C3A84B6E8ECEF1DDC6EBEB0ABE6D786A98AEE03E71FFD0148F3BBFEE41AE6B2B5128688B875238465CD1FB6FA0FB90808D0C9303CA02870B3B2E417CF6BFB74ABA09A68B8DB62C3A832598D21F89938FF9D4DD590F0ED9E20D42BD9DCD55EC69E4F476E28CDFB2D138BE3144E9FD325A8B40B893868D39D55ADDCB185CDFD60DF5822102A
"F243BEBF454DA7F4933143168BDA31215E330CF54F356FBD8E9B94EAF576C7E25FF3DB78EA410FA26DDB4A7B3157A6C74E8B2139157F162402A3E21E0610D50B4FF26DB5BB6908DED183F62D44902FF150BB7EEBDFE07B7C6CD971597EE6A2357D27A1C667F3E739B5D377E9405344C4B9CA1CA3B4E41A49961A58CFE7A7697EADF4F3F09A7B5231835B3D92DBFB9EAC56CE16ED156DCA7AC496486498CB0AB706758EE92B819E1BA20AC039094BC13E8CEFD588FEC77128D111C6A48A42555CF348A60B219D9C42ABCD3F5C99DCF0E4D22A82420166F47C1834DF1037D2E4E294CA5D181DF7CE305CB548E12DBDECC3BE831BC4064EDC55AA41C698340A94AA9099E4EFCB18EC3D0BCB366881065F6FA7F3C0A7655767339D752AB5066F23DFD1E9CCE15D3BB503ED58458B7728C109E5A0D2A8C16BBDA300D2AD436A1B6F6AFACAFC059632CD7747346B27AC051F6726F184C55D7558456AB143DEDA91FD728BCB4D9745934ACBABE9EBF1F05B8138A4CCFF90351D8F57388D9FF1092525A62821C74CC4FCBA5F572EA3282634824117003BF53579D5CFFDD13B7B80576F2890F56D91E859832231D364A953B97CBD4D4E380F4154E2E0FC3B2DEB3ACE124B2868824B73442B348F088565649B998C89E866BA2417006A9DAF06D980223E90E348D0ADEEBA393FCBC5E13C720A39C2C36EA01CE1EC611429A1C0423311B3D00898C27BFA0CEF9B082875383231FD05D39DA90B2D35B5FBA31F418A898B1C455995CDEF00A4980AED5BA1FA28969CC564D03AC845F29A9265F579435FF4D2548B0D9657E49511627624740A3ADFF3D862B13E46E33AA75983434CA13622C97C9D208499B71509D648E670D4D9FC3B0007A2852FEBC1C57EEB1E6D57EA33E339A45AAAEDE5C9F82286FBE289027F294BD59614FEF5AD87D26A028ACBB9F209AB0E5B6D2EB77AC659371A660C8592C5FC8A3786B3C6507BA40C1D09DF95DEB744473D92C60D2D56C835C5D7CB70327B5F36163491DAF6607FFC4FDAEFBCB05B0591B797A000F992B2B371A509FF855CC064D480063F3455AFF8B66C1BB4EAA539590AAC5262132232DC8182DD1C01EDED8023C84710AC85E11EDE99401BDB6A5FCB16A0F5B657C973D81BE52057EE38E21379B105B93602F4F27AD585BB3CBCC8F9FEF43BB826B43B2AC4A54F100E1DB10CC06A0BD5581C5484BA62C8A70CA4D6FB962ACB4AE49153D6FC04C626F5155FBB95BFE11FCE2A60DD7209DDF17B858572C7E68737D9173976CF0F04978C047DA46B115184DD8BE9365E88C9B9C3878B51B6C8A69F852C0BDA5211334D022F8758C76899AC26518E1395F08E3B6DFBD95037C316375B0CE2ACAADA0D6C98B48AD5CE4C1BA84B04BAB64D5487626582E50447EE75A6FD237BBCFA130836725CB10FFFA6D5648D5284231845852992CFA124ADBCFA9CE4C991B2F6D988025995819ACF075877BFC61C49C76592066763752841F56CD5A0F77059C4357B3238EF1487E30331E53FB2D2B1BE1DF607C5A3BB32A6BEF78CB904397BAF3B14AA41E5EAABC4A212C311AD5DD3AB56522C3857D051E885D5CA828CD266910633B34C54048DAE2F2FCED7902F0CDB30E70252F8BFDAC18910D9068BECF18D3F6F7A2E92722DC2E80E6DA0F0B4D2F524A0FAA500161C66A5CCCC973ED50F484384FAA384D975EEA959312711F76288EC24BCA2E71025A80BE606E03AAEEF07F372CC6C5F1EE01F19D9C0EDB5B16C241ECE7AAD9C557300242E9C01C7F657D82A1638D663F1BAD17439167FE65FB6534431CAEC4F04C19FD2D730AEFB6CCB7FC9383757C097389D0A9134E5DD6136B4C58D2ADA24030F82DDF9F26A4D51F55E15568E3F1ACC1765CAA57D4E729C08AEA02163C61D5E581E0A5B3B7A7D7F75FF4FB105229E446DD4219783C6D34A6A7D15A357360AB5F1CF8D7739CCEC9B96017BF897D5AB1CF504E97C05C0DE2FB2701894CB556E40437C4A423A57EC36F82C05C3D1687EF8060DFBB6CAB3D3585D25FCA3CCBE07F9AC5EC7252DAF17D47B73651024550798CF59EB989ADDEAD1A4F2E54D270C64820929A26934B60C03207680CAC1F39716E72F73833B3E10560CCA58ECADF39CE4C6A8AC1FBE57E7F5E47507E721F05F0801AE7A5FE368EB19AF49160D363FB77E54BDBEAF7B276557198D0C96D059F88C3C67AD7B23147CA2C8C59F839FB6458678F5F9E64D39507C489DE5002627E1FBB545B20EE42119933215B435D6A8F7FBC2759DF5FC61921319773ED05592BA2D28245F293C453A240963AFDB9EBB8CD74DA626176FDB251C1BAFDECADC3BF74D898120C0A0684DF6FCFA78CE502E924643E4C1F204E4B255A888D2EDE6366B79E0E2C50B77E58A4C9D47EE3B62F0A24851A3397D079126F723BE1811384863AD726F6AFF8C99685D23E6674DE0E1D7FB9A4FCCA0EF5067FFF5FC99A5F0B6A04DE9015E3030E52F45EE78425AE185F776E0AD5F5CB50FEA8DCD23F2CC9472E54F246BC56CBB061AA2820B58BFA810A5ADBD10778771D20CE730233B0CA694734FC50547E4AEB0BA0BD88E9AD9D237E24E70A9D182A375DE10BC581CCF2D52A7D21AB1222E57E3707B460F47EE3275E296C6DBE16CC44DA98FABF9E16C76E302D0B491F2C4F0C974102CAD38350E69C65C3067A1FE81BE625F380390764864FF1794B1E27A9A03050C470C5FFC7B9D1EB243F52B770AEF2B2808D78C953B288D874AA2D89551ADCC18E66B598022B4D35EFF0B42FB0FB9F85738ED9BEAEED2EA187500E52AE8F307936A90A524D390A8AE65578B08082F07C78C2F9FEA70B65364FEB0BE1380363F0CFDEE9ABFE57B47AF595F4F928F5C6AD4AEB786DA9AFD142D8A95D1F196F312FB89DC06072CC6
},
{
"8303F126EF8746527608461CE3F4ADC35C715D2E03A37AF3DA5BC8B08DAD2E0A9D3835F427A6871980251CD0F7890F4872449643671C9FB9F718CD77A1C67892",
"5B09BEB224A53EE7FA077CF4CFF9BF6CF12039A806D1A5E62B1632E3E735A6AA942B96CE680A3A626777DC422E5F9B3A2307719C47B1845652E49AA27ED8C9A9CF408D0C97D0AE20B3EF032A8D75B168FC5B5DD47412F4153AF20CAD5656338A9E4ACA9018303752ECEAD4BD4CA44AD68CA27A33A0A4F6EFA14128634EE0A921CC7CEE6AE3AE533D17ECE673B895DACFAED0B0F3DB38C8799B66062A91C78F98711F4FFFAE3ED32FA214924E039ADBC05D728AD51C83712F7F69547B9ED5679B17589D28A887F89D8B99520263152B2755973D99A7C7491C3B1D1F914A80452CA7180915B8B4AEA7ECA6C90195E720FBDCAAA84A865C3A887245CE3B80E8A3ACA9BB199A189A1B0D5A68614A8909F63102374594190DD42092C04A4808A696DC30723C02929EFF4583DE7460654A174496F55D6DCDEEB41780EC2FA1B2EC1800CDDA166018C2F71B033EC46B3252865AC56FF8850527D73466D2225027436F6E23EF00BF8D6AF0FE336F43DF7214E74F860812954FFA90D8FA4C02B25DDEA2A084B02942258BE9941BFC8657BFE3DC89B3A556A03B171D3BBA28ADC61F3D89168715F1670DEFAC8D44BB7AC5D4EFBF899D97043A349500E6634B67F4183A4F43044418E7CF2227DE357757337086A085B1CD46EC9E0ED648EDA66A3E5FF346C2D83B9413BF2FFE0473A8477440106347FBAF846EDA0D0FA814757FA3AE8699C9FC1539FB6B5290245AE144DADDB31C3B540FFCA670F059930002C2D0162AA50853B37436DCE61FC1E35CB60AB542CD59003A24938DBF5DB2511716EC6A39E2A96AB19243A8B7E9538BC05CFAEC28041FB7604CEA675CF3E0DDA8B188C43D7A39243775964A70A0CA4C727A85F813C641B39CCE0D73537DCD3C44FE92857CC5079DE60147EF9FB055129B7F167B1B32ABEE892F72F8CF9AB4BA2148372236A7A4BDF7B1D319F6F207586D5DF156112D0E3931D5ADD3D8F68AECA5673508B7245E92772630549DD6AA28DB3F21E829B07BC17CE6315AC580528861A30A68276FFB67F8F45C3854C1C144A82CAC52F8B13E5DEBA283EEB2E3924CB8A626CE1C21966451E7A1C8C0D83D93A29FEE97C57112E605D0E31D27CC046C856247F36181692E9BC8034ADC7AF8417F24D50754EDD2CBC573A9FC25922C04A8F8B623EF4DF537304AF07A1E549BFEF3B77AA64A991131788759F6295266F39624AEA2876EE8EF2596060CCA6D22220FFA344835D807195980FB0BE2E45E1D30C182A24C523A3E54A1CA59B80E7F1DF689ACE0086849B9AFDA4E189128D5F18A4A321342CD5CCD903DF5C706E5A86268E46B139D6757939064F152382C12085035EF455D40F90389D26525F0615142728CFEC1762D8E7590871F1B50DC429F740F011DC0FF95CDF4EFCA1CDAD5FDD1EED201BC16B80B44C375D85D90EABB50E2C968BFBA0DAA2390B14A33102EC8D08AD6989805E3BB2C77907BD51E8F3727ADEF6808442E10B81CBD358E8C3CD8E37421368B0609F034F57F48150B20EA58FFEA9FEEA8494D9581530C8BAF54BAF47A6C6029E463BCED33EC9548CB6BBF79C699FD9ACC257CEACA29BE01F45B0DB7C5C2CE237E50CC5509E697F0F036990F361B886A526883ED4EB7660C3FF7367FAD3B639C91941ECB849FD1139821FAC9F741161609B7CE9D73A441D0F6385D6BD92D3F0C6D87A30513645E2EEE444A92B9F1AF4789A8D28C712C0C80CE5FBC1F0D01B1A4FD42EB5D9980B65652DB7B7AAC2B56CD0E90D2B95F08EEF92ADB2142A9649CE354B8816D51DD5249D7B80EA8D4E59A3E2E3466342D5BF369478A84DC9366492E00FE4BEBBFF3678194FDA6A1DF121F60634696BDF61C4A3F02870F968539D778518A53EB9AAE65EFB56680E037B129FE1BA4D02BE25788DA4174056756B14ED71548A35686EFB2F783CD319244C25890CA5C3A728B7A0E53945C26F2E7DBAA502CE854C4725C8146008F8595FBADC64F1CF4FD058B10A7290A0365E26891BCE9C3732DE917301582825D0566E7620318F0738ADEED0EA5B98E32445893F4DED159157814C718696FC2A1E28B7529B6EA744258FFCD4AC5AD1F186AFA554AC87051B4CA8DFC25A049E0583906A46E8FEFD518F33B4EAFDFBFDA1CCD8029E41B906BB0F7085BC47998C610951C12779539F37A9BF0B7DBFF4D08D861C0794738A9F1197C8D9862D311CAF48E21D8EDF85CBF897FAFA9A443603BEE953449D73122348ECC5C29AC6736CB846EC74921E55E35365954EEFA3D42AC47E17146078060B65AFB118C392C454F12E8F6EA758CAF5B611755ED5011E11B7E65F5F623B78026E934334ED5B59FAE5BDFE5BCDEBC9343B2AA752E8FD5A98DFED1891A2565FDFD7A100A5AD52A1756221BA39CC3C146551E6BEC499C2095FE7FEF614E221CE275901F85B1229DEF6CC9BF725887B3E04541550F605B8FC8C8098BECBC36CB8DCC7167ED8556D5628592A8CC1F9E2D4CB2F47C18261DE4323ED1655965C1862FC1B36FF3DD980731F93FC4069DB5E91D2F8AA48842EB4CCDD2E0E0B03B796375E67ED878F5A7C8A7D02607E48FB907D27473D689472EDFE9E8373D8343EB6628BF5A83DE0801662C7231743FA7DC20B556F6421201B4639C367D26BD14276FCFE25E68B73B1E173649EEC8E4E5D2774D6E6A2897B2B5C580821D83BFAB38ED3CBB8179062E7357B3B1ACEDDF885EEA654C19082A98A2D6BBE37B6A4C0E4C2FEC3C68F34BF712A394C2DCB236FDA505C75CC454",
"5B09BEB224A53EE7FA077CF4CFF9BF6CF12039A806D1A5E62B1632E3E735A6AABE905D8C10A34A1402E1C7814797D9BE0A800B17395C59FC01632DC5B3A8A1E0D460A715C4666D0C90FEFE06F1F57F76EED31A05637244079B1EEDB48DAB8B75DC7892024AD0298DE885DF61D97C1BAB6EC76017BE7955D3BF9D79478F4A4537202166866300238353027342353027063162711165310130505226177471385270788085757330321008780008843507786733038025614723411268556113166606221287663767801247661571206535238516567336264628758067362270246576235675852617145566255126354146481460670016177407808736205450734535084382160656560523023623725465181278070120730650406564302212866173146412435130027463644483274161331740275387152043131544158332816225846868642551151846568158627551083534763818512210733854108857675524671152545667106363834801825228527703262642608068640802517405626527188588057312078266505564637523160042524313713540747333063383430021626815526257765064273870851848433083274807166361836837641176575268036684501635143718715856681814274267520465700242822247883073435014731583844144114788641020465100431783381701404343381354133176014023738477468432286730574210206682600354781133607325326111586543340654727330555026236102422563266742430328380474218211665531435413531272356181213146328654783835250532528577740218342600248410742558207785464707034806755212241264512746188203731806737141382161051325283108555728451536105458841620045037686306874366502777564853047735105070134625616161488871056488033376538758146778036366400081622327184104755256427426188645334052655484206376668075043733700545322661467611150723632172826468606565364851178556360647750121400252874800226645308256568674678012113805757246173016476734044660165557411675150162302267783423876722356846861186287432338310258615517353441374165585615036641364845766600217052818610413765544816168331288700162601423700484231175060127774137310304773881078124865060807410070251888888765136418717724465782363542686145003644246242758707077356505547851030684055018574677404358525301736088736784233462725483666640402710655086456848750656208085431148662702108617057643164107424172245415832166727267602262176563350604885584558021204460345205186775315221506201804354323562376812112852347105121243663621871550002776887551376735706035364243077622282258115151413040773705533845460023212201077312242160153868372560052654261651331843745632562500065360242521510888602366656886621868682151747421282604657730322871388101573557473783477762625554673534371060660777741038726357805400034641203075087836040060813466707347834811734621210326375314632572517801340152045602014451786255867353818574570387351538773306481785241234425873413547777557024533275312386367207154716834275565356060685368257651021150088357478311456105385408137105670132664715686026635825152611602177367261313258541760285001375750842211427507744664320348346742457662151171040681511244360322713858465262843162652144582443361604437888057254115658782101265475863051808465781320378362223210262852608660702754043635020217524472105056557525441868522728373581077521348548768787463147157334702740218113203285003366505278302678736211720358248635537746813308371063873131300765646E3C9E401919CDBA0F8E0FFB33F16342841D7FA5369C1AB0CE6C4C5251ED3AE01633C8C6D6FEA40B463A9336DF5311E587A7236AA7203EF3B830D9C5FFAE490366DA2F49C011B09FCD760F5916357F5F05C810C00DB1CA0E812E9A2F738D013908AF814652971DCAE826887E7FDB5FC1EE0F687492F11D8102491AD45FA71417704DB82BF75D2E520B89915236B9AB2BAC71A10BF9D3F68F7B398C525C3F03401A60A3EA25B57C6B20994727325546CDD246222E1D90EA8C80D7E1E546E547A04CF6F0F7490DE0BD5ED2CC8DE2257D0AD5A06624C161473BFE2D5B0C4B05EC5A3001A7549ACABDA00596C138C4AA635D770E2A0A358B8ABF3E34E9689B2D67D5DBDE2C8D48AF236CAD32CC1D031EE8F3033A343736F686FF48997C161C9A47003D4CD9C342758C0A6BE8457F0B5FE82A77C82F39F586A6E1D6ED797EE42BAFDCD7215858AA4CD79D0D8D36DCBBBC546989574B9E979FA44035FC73881CAE0D3D05FA50C6BC1A6774221AD7F1ED2A792FBEC0FBA386D9EBD1D1EF6DFAA148AAEC2D83C076BD8C75DB5F51CD12061AC38F36A2201379318536999FA3E52322B9AE39E4273A9DDA9090EDDC153BA0273609E526FDD34354855C0F12D719FDCE8BE1855B2B490D8602E41F1BEE6CC8A624636E47BEFDB779600A7FC89077D228F82BBE6E04420A7284A53993423117F3D599A6449F26B76243983BA27E2EC32B
"BFD1CBA70FC7D6F0611F9084415AF40CBEAE57CDB777C93AC90767FB5EF426740555FF4E57EF6262CE9778EB56A9F6E1A6753BBFBD33D929C87E4AD69C6BCEFC58887B80F4757370D3C30ADB971A07DFB7E70933C68CC5A712292AF1C33338871EE09615D72B3000509FA6DF8561F8E0661A0A82FC0881DC984C4E506D9AD7C1397EA6309D40CADF914A3D7B116D017E178FC1C02CFDA7C89BC67CA93D37C547FD2999D6E64A0477C1A3C9041AF135D65AE62687E42CA3FA22E920E9CFC5550734801CEFB710C06E99273253370C8B7D5911D9064CF370B81DDB11828113B0320EAE4630290A963D2EC1030298C243580CA80F579F064CE26D94F945BC47DB9445E54A149A7CCDFB41FC912624F8E49A8879C971DE8F6E8C966791EB9AD0C4CE6ED94CC474BAE8A2C8124C5991C7EF7F44B2338A43FC40D47330B4F5C4B40B9E9365C0D785EC85A771775C5A23D72A7234372A780B3F55EE68F8CA5761C4A14BA5B4B90C6733EC2D78324BE63C598E40735408A1080F0F48896FC04D1D0CFC2FC22371B117CC0457BAFE82C4C704154BC2A23B82FE951401EC50F3111E463B8874F400B7E22301A80282C786B318EC9CB5A0DE0D1A2E9EBB4C9DEDBFA5DC6CACB0D4D90FA8E8C3CD650E88BCBB1321BA1B324151F55B3BC9642FFC7BF2DA699621902C72AE9F327DB8610E95002ECE242333657CB43E5F2A2AAB9CC9262EE3E1F50C556CF27942F22F7B9FDC1D421CFAA3646C1E4FCD73DAC14D2BBEB579EF01D19082A2EA3B54F03A2978B466579D438B6D6BB3FEAF0F0DC62DFFCBBC75ADDCC706DAE5CF4BEEFA2AE933BB770271038E69A511AED3EE105F8E97FC70F0838E30D7F174F75C1A119AA64E34D3A9D8D20C1C14F0A979565E69C87B43385145D37B04C92E2F47037197AF695ABD674C892041AC91862F4233101A75CCC98ED86235D0DDDDAF348BCB0B5C1DC21A8036603B983E1FAEEC7E77565B54903849C3A0B77099C993A3CFFE40E5097501CA63BA613FD44520C1F48FB50C50EC435133ED83129DBF606B8B1A0503A1847AA72198A5E344FFD97DD30DA5D5B89A891FAC31AD11B9954EB0DA4784F30FDE9F1271BFF1C687963C1332701CAD23B4FCC25B6DEB59AE81F28303DFE1980B944125D9770D8CA1BE474682CD6973A5AABFE5BC48CE614851C1F97A338A1D7A9937F40D7408A8DDAFEB60560935105A023C043BF41E01365533DEF76CA1D55FEF1F3C3411A30D6283D314F269B54AD78F4AEACB207444C28379B5C0340C656429B9739526BB025B6724564DD16A8BA0CA77C67D28A57ECD86E05937434F6A77AE6CEC6F069851F8C5AADB47382DB2F18239300F73E28C13F1DF8F88619F1B217E29F1370671275A2F5627C85B98995850965AE97B05EB9E29B51EE5D110EF14E1F27424C67790B3FEE36783E8F2DF95CF1DAE6D3DB7B24DDC77CAE309C1F5A53FAB7E147F2160A598C48CB5BE8EC9EF733CA512FD00A3E02840B6D62A1A0CA19FB0A176684DF2A2BF51F462143F46991CA31811C49276563EB75F27DD1B596705E89A1F2A97C4488C2CDB4A3E84D7E6ECF8C72B4F78E8F7621968D718A1C50AD1B48427BA04663E255159DFFAEF646FC7BB2A9B60F6335880C28E76CC13E8FD7A8DB62107135AEBB37E3E937B0534C66B43C51904AD02B6839B09E0B66AACCEB9F9E0386D933AA01CF29D88430BE69B417DD1C664D5A3718F6CCBD72983E188E59B280CCB9673C6A16A7672054C151D3C1211705767AF63F010C8816D5478462A55CC8206674483691FA15DD8D5AEECD7C6A8107C15C95C29A2F70F2712F09908B4A732559305F7D9706BF6741B6E93DA508608AC23D4F7CDB0FBDABC540CE29060F21A81C84919199744FB9F9C6D1A29F3BAD8C20AF7474979E06BC5B81E023C2B2A7F8D5990A0C27C7A3416E6F0F505B7845C8D3ACB75C488AFC59487D6B3C95AEFAC16488D1AC8E58C3EC755756AF2A74E245E8D384EBE61DC7B17D313ED56E56608ED3EE795AE08A77095D1C89011C9D4B1A3949D108A76B4F112931E9B60EB7BE46F9CADDCBD1D15E6213C5B890549949A0162440BA31503194F116F5D4E1B202A92E53C92A101E57E968969AA11CCE7F946ADE45A93645F537C945495886A727A3E4831B1659D18B9A85FEFEC499127B0A1D8DC3F52D300CCDDF679110AA7E87DF81877AD929EE594672630132B8AD406A423EA805D157ED861482A67D9FD09BFA3C5C379CC2F9C0942CF4777AC0888FB77FB09F536283B55B9C865A778F8DF896CF0F95E569143B7E179D2239F2C03D27F8C4B4EA486AD9FDE87EE982181643EF23DA8A0940A8AF65349D9808C0B9B9038177B6FE8DD73ACC6113380EB749080ED2944E2305D49FF680153053F19DF32D1265C5B915B4885C7D79F920978246C524012E51A4AFC7907EB6DDC54FBD1DD140A1D8181DB21BE17D2D27EDF6E7E3C23BFF9415C46F5635885B226DA49496020ED45959C6A2729938C2B557DD59ADF65269A7FB2CDE688DCCE56A19554F774B5251F7BD73F030643B86457FF366D356522CD2B23EB89EE2C2363D2AE6594CC795C2D8F04F82421C2A0214EE76ACDE7472D94FE52F41BB6BA1005242ABB23D59B8B4C85977E3C57D833FC4B03DDE1BE679C685EC9F746ED3DB845A1D1690E4F310AD54E7879AFC5F9A3D591E41262F54C13B10F732314458EBA4218D581B13DE6F9A4CBED0FD69A614483026108F52D10081DA85E9ACA00790A0E82536636AED728A64600A2C3E1E73B1906C1F5641C7621510A8849FB35EC8F9F0B43191ED4D30DC886651E317D0F6AF795883CC138178DC4DBA8464AFADE79DC2E6353A8B7A66C1853483C11DB6889937ED2BC1AD6BB694AA49359DE8461D5EA4DBA709C
},
{
"48539BCD582F12892BC27B6D30EFE69173FA7416E7E214DA6F10CA01041059067CC065AAFACBED8D252C3BC61EEEC4236092AEC8C9F581AEFE959846BD37B566",
"4A386ED3C9B19F2EF4E06A99EDB049B0DBD8238A7CD150729CBECCB9FF9EE3404F6E691164D39D844CD43C4FC2B09F37EFDF76DDE41B743CDD532A84FB1A55D71F5C4B6FBEE184AC4B4A0F801753597E13AC73DA59DC8F12773F3C0785F6C58D8CB83FDB1C82F4DDAB41E7E7F8B2594FDEB35C74296D70C599F5865F36C95C4C70C47656F02B591909E21DF930AB71C1A74C2F9FB2F354401EE2301F0C1E3BA452669C907283CF4EBE3EFAF0FDC00826BA78D4124EBCB4C31639AC3E3025E7ACC962CE7C93B9F092D965C9A35E5EF1306305B6E56C6BB8A331DA062D775DC426EDFAFBCD975CD5A4F8B1828E6CBC430FF7086CC6E96EBFB3564BC0044D2851B35677518E367B451E755587D8B176046920A31FA9A53B1C2AF3C1CFB66A948FCCC05080F10DBC50113D06F8A03910186FE25ACE4439CE4F9EF4B999FAAC4193A19CDE4AA3FDFCA49668C76BDCF91567FFE84203F970B74486589E6B1FDC4D76F2750B039A59F83FDDF91229A8A3EE378657C5A34F3980C823FF191F3751D5A46C14F8303A14B9B15499E747DD464C0B6632C9A05FFD8ECADFB6D563FB9C1EC7EE232B3029E05AC2DD53AFED6014060B74CE2E539898FB678CE84C0BDC5B14F1D5E8259284F30A38AB09C8AF79D4271AEC133BEB2EE469F29066A2E1D4A91908C7290FE41FA7F6AD9387995948FE4FD6B5B31CD0103963437CF86D85E287925B82225239189E1C15D833A674C5DB269517579D5254F2032C2E9279E215F39460B3DD3010E9194EF599CFBD68B360D69A3699A1DA1385F665B8D95D207D8812CCE569B4F4C5B00A64BCA1D12DF85C70585243048A7C5AE611B3C98D3D9522F3C8FD6CB5CB5224B3BEBBC41A0284305E3EEEB44DAA5E59FEB55218FFF2ADEA1A96472CAA7AC4FE7816A262D59B084570D7D7A724D13BD59C488B8A47C878C90D6414E5EC9A2672EEEEF1068DEF475BE94778EC8F67A22B7DCC8B73318237DD0D0695221E89809FEDA3AF086D149F0A07F7C98A545D3D01B0E4307103C169955E8C1051C8593EA9ADF4BA9BCB920DB2D501897E747FD4115C716CA491219AC80E2EA06E1C5C25AECFF4CF90682B480D2A9C549E1BF53642F60DBC9750B141DECDB6FC46EAA86466E212328B35F11419C088D5AEBDD3C9F9C32A0C3646601BCB3D456036CB184B1A0C3C9DA4A9191567601FB01B9B8938FB158061BDE3F044BBD8CEB4AF32376D47A5DB9AA65644182193E856D4A9BAE0C4B59DCDA028BF63622D991DCC3243C6B52CDDA0EE48899FF52C075C53D40A7C8C94AFE9859E6C6BDEC4864A5843A5C493ADFED3AE88DD140B755D20019C49BB9F5B6A96DD657A8A94AB0851F0E5441719566E32E5DD7852D517E85870F883DE8A738376B4D96DD3A10A733AAE45D507FF9125162F2BD846DD15750DBD1D72003E93401A4D0954D58369A5422A1F5E13EC6941AA1F54431453192380717CDBD3F7170E9928D094F5F58178001F58B7781F3D55120236C8D4BBF0C12E210B666DAE07FDA10A900168F8D8336EC6747E4A68360CAE785A82CADF7373BAF2CCCEDB735AEDBD6CA10621A482D55D2E663FDEBC5E9119D4BA361BDDDF8CF4E36C4C1B39D602F51C588B265B99C3711FE85EAE662E4B3E926650FA7E597878709A0E74DEFFA7B71AFEB12F3CB1CD33B00BD1621AB575925D23A6A9CFA754CD9FFBFAB6851B84CEDFA0F3FB260550E048412A89499DFB882DC728B69AC729D2730A7F436470158D375F5974BFF42E7EC669F5A6BD0D6BFFF76A0A3C43DD1B225E62C680710469894042771BA7D2FBBAD0915DBE4714C9F2D45C6D3C2458E1AEBEB8717B53FF4A9E50FB8496D3FAC561A128C943F726597DFBF134E4775627BE6C4442D4ACB0FFB6C4E0EC69C808054A276FBECC999B1A1BA5534AB7FE16E4022534D219651256E83EE2EB01C41E2ED52E6339A89A982CC74A662B9ADD0FA0C61612F20536FA1F9AA711D7ECB9CED057547A96E29C2B24354C5DA782831DC7A5E62A49FA6E2DAAD23876B61989D4A481730B6D62218E06231DD1ECD9DE47E9A2C65D2A2CAC8BC40C40719E2EC568A2CA66FDB76AB985E0966D886CEC2752D17F822918F298C8DA4C447617B1DD015F35DB8EF733DF8E41AAC405D7D5C319E2655F17020D5E56B19D1DEC7980EBCC37580AEEEEC1DAE583FEDCB19BA1DB89F0794173111CBC3871FE6B4D76FFC331754A19348605E762732D6F5C6B584B7427EB9BF80455AED01B95DE67F45D7EACCAF0AD7A0F1E203CD97AED5440BBA976F59DBA2578FFD57D9A395F5072EA5B48CE02DB7FCECC87350275E78D27173880F345D751BD5CCE8B3218D5C44C2978350CE80ED6ADA510B6002ADE13A485E1EE2E64157F455FC7C6C36998ECA9C10D3CA0AA725A46FF81AED0B1170BF57DC53C093130D6274E4F9E5E55FD6BE2DC6428230314532B660D72770B0123F148075B37FF8C6B99225EE9B567DC8E281FFBC12287C4A6B02A9094A429CFDA11BE76BA2B6B1979917801E69F20411F881D9BEE05064F152244C831FAE544ADBE67CF1748ABD23F185DF187C9695FF0E9C2BDF4B7005A494D4383620B1DEB63E4E2091DEB740C71E4BD9B2774595A18583C4DBAAF096D086D66E7E96169AFDF9DA0DE6180D4031729AEDD93689A1E584011A62ED74EEE4521EE49D7B9D3B9BD2C65732A45AA95D1FB34D23C7337E3B87429919174050139E7E506E8F6CACC8D4170736DFB0418EEE6DF4A3E587BFF63E3697C2F43A6",
"4A386ED3C9B19F2EF4E06A99EDB049B0DBD8238A7CD150729CBECCB9FF9EE340514CDB80C4196BF928825B545EE20720E1F1B7044B61F50075F00D72B78B4584A6165DC91262BB2EAEB5153773196C036888EB1B67BF3769EA8CFF805F30C742B3334D88D6B4E552C24F092AB1F33CCF944F8A0CD49816ADDA791AB7D88772D1643714602342502488387112062367253543881787867501574008045374200552121046883578522385026251357556755824110063634135640734332362475224754258042824486736274360008666731031686730150074162500063502878873388811134446110684620574532676643033806515278474046714774578033676848315761433303066125171214323667687825284818556283731775137205453738820520406615772762360307512777743260415661611485121838137208332604023601632808741615557667563105843660411617512482022758240731206030373638657558015743256187132103300832176603864733487347828686243225032758681445352608284616856648552065665650674206001004565150160372572241844152454831300537502520385764888753620836006815281764827545788347482615413565082475384804437782354380122538525535305824350331727243184411417300867870677423881252603237248758063828503582180450085880006784357871110030610005828838314160843138428806338372140033648557768120250183675567234056783241048760247635137667134336613522808888686106775747567112665786117828351422021418513516103431062307255768453782183804653013222420268146188848601670186471601608676128647323410161868312583236881161152031485310082067233645834344882570765843631072565331181127346752874171512875660188816150468638422507145203538865366251157285755646328681088610735018054322210045021286360156571324141483574770430216007263110155570530030037667510476207777457550182852557265336320050010408177260334663100760034501122543185083324630108324702122008244654052007233751052604814272088615262671521381506221684437105248687477076615406075213116428377516241808702113150754247353708874451785607201474204662075038658658487320154541234741465047241634001328574083067047134030526018771063705586677351077670484451002427087100030332726224680802300368356468416008855102380160338212224626883480521301480733165326662507502745654738480855245120118285206285604220586511418238325366578505540566571164158310855740528808056102450715351257381372103035134788542153018873781454550676847513537146788616480137355014214080170203673225488746312713773466626573545446572365148586641303110054600225374035865875213621075485676013532014106185570063417424030625156458558632107761654633445640000050785400610844476747348508245416313285760153508141045385661305483835115110152505131382256457624521620656272005772656851023404415616627477550366688431527607046154568650520755332002711223467302586573751211831571638717757184401208435173328578035088434622603721006518515253265523848882588478167652101177084780782158563278140063500141627575138761221675540728470011078633245443105547651034081637274532211645535220230434145153216105414871067680158077585473611738303365560810480546483543803325187308606837341688881832752332132227236117284027187642335658053646677615874268252018471722160605417024257240623818800071142036460331850541424434350678236080664180358506458831205661714064448501777277754353E7D68DD623A00676D723B01145FE2FB741A61271E95043D56C3FE307CA22BC27AF580CFEABDCE4C8DC3C0D6E5A16FC5A9153A710076B7C63D20A166CBF1CE8C9EA9AF9649F83FF6E1F87C13E7CA52C29C625E3A0EEB8D6735B4FD44173EE4A997D5044CB1B0D0439BB535DB8CD96EF7A3355ADE74E201252B6A05814087B3D8E515E40D3B567443FEEB7C13F6CD7F32FA667773EFF9C5B708E3F8E60A8D8D19FB09748599453107153611867054EF76D5C332F8242A7A1936CB78987F140F33314CF8C9F4A7FB0CCCEBF6C60DAC2FFE0D99537465C0A7DE2EDABFE657694038E4EDBA0B31E51476B85EE22A02740C92B9B579E397D586CF4F61FD53C83AAAB05130C1EC4E37842AD94BA02D917B1A09D1E71540131D8743EEFB7614D335C87F83DF03503A531FC1BC77C689DEFD66BC3DF3D809B554F8A6F4606BB9091A227CF721F9B4BDAE2075878DDFBD001AE33265E06DCBE1CF4713288A0181BC87D66C4EB9082576BC1CA076332E770F7C216CC1278F73B365F8722D4CBFCF14E92125E4EEA09D2D8B0573C4A8F7E0D36A344F2741BD028A136EA572E615876A1F92A74082436C37739F780AC6E21B34F7717796427EF3607F799D72BA831A4D5E9C842FF81FBF563511705DB71F7487686704B4AEC2D859AEEAF6E496F82995B4EE88E7C12238FB39CEB8FBDF0A09B548AE8950A1CE86253536DC5D5414C537F3
"AF403004D8B3E044C9BE4349C061A1A4B06C8149338D02F86877C9DCEB4FBBF977A8751169A04C4F7C3A4067E89ED941A4AC69485844BD983355012B1B4975BC563DF5171331BBFF1B314F0B843AD6DB311B952E1FB9BAFCBCF75A71D4CC9083A76A8960971DBF7AF3D96690184DCE1925290F3193FCDF241D7E8DACA88FA316B5F46E379553DEB6D8F9BE204CF007A8FCC636ACFA2AFA6EA1B9A0F4516D772C3063AF4D3D3C14F4F3591E07149149125FB36B530744BEDB2D0FE744A6D2404AF69D841CB4D35B8B1CC3D421D87DB796EA94E181D44CA10CE7E2BBC82292377A2369DE9EDC73CD4C9339A020CD5DADA50B0F4E6D30399869EE23FC4748B3C0A0FD8B0A4880B412BC78DD9BCA8BE4A1046BBCC4031C584E37D098B5BA664C4E8DAC92A4C942F4713EEDF77976CEB7CB06769BB0E6B3D19AE1B97842F33697A189721C7D92AEE8A32E923285AC93E101AF58B067D7C05ABC9C3A59260C274EBA28AD6DFE13E858482A0B8E799828AF80DC7B1CA60F92D1D1A6D658A7FF7386C29E9E37BB29D3DF49A99AF9BC29B6B9366DACC291FC9B172623EF54CCEE94E868ECAECBE19600A769E9B0B5C642EFEF55B9CDCF8DD77F850D5A7127BCB7DE04A9951107EB7B94144363D228473DF5016F7685A9071DD5AD3949A7BACB009570819A0EC5189B592869069CB9B1D544F80978264851DC4FE00E871C3B2262CE0AA15521AEB2C8F61FAB5C10086CCD4C3E190732CD7611B16CFF8B1DBC1916F26CED3658C948FB7C5407C040BBB8B0F92A7809E602588FF4B93DB4B938F1051DF736A920A708529C8ADD0C57973C51F9A019A7A8825FE249FBE79F81CDD294135722FD5EE1C1303A11BB970BD50D75E4FC53CA8DC7949C4E9DF4146725155691BF8A4B34F565254E04B27B849FC6A1B371ACF3D5D49D156FB30DF06DDCF1A244A4A430FBF422F02551EEE34C3629A20D539501733CC9D0ACA95419A41C6C1BD87D142FA2DEA7E3B2BBAD4832C4AF0593C4B78E95B40CE1189C083F7F4BE6DE4C7AEC5E91038D270788AB39C1838A7A431E49E1612CEB521BE3A7CFDD101F47D1B0D7B217B1916934E689A40D5C45C07B62146FB4790D3AE865D43BAD28626B769A821DB5521D173056787F87A35E58CF16DD913835F781C69744EEE62DD9B75E02E6463F234CAD841BD059E952C9B5C347B7921BAD9E5738D034390DAAF6AFB4A5E71AC360BC49859B4E98EA82567138634EB0F75EF3ED2E3C8EBD050BBB0F4C65B9E2AF6A4A66B97F01350962D296CB08886C7D1FE99BF60AE3986E205B232B468D5A69D7A73A414C08C2A60B2E2103467E617DB4755B13D44FCC435C2F63241A2103F88D39BAA159A5C51238B95DB3F3618E6056F218F52279032C76ACE460B36FC56A7D654497ADED469FF5A48C7BDC5BA3179749ABDDFE09D66386B8A71550BF00651FD32871926538F6D5FEF1FC0BABB0FBD291934A35098AEF16CE7FEB572D307D40D9887D1F6F870FE046BE0374644C92DAC969ABCA95EF29E4361F7BFA0D08BDD78EE5767FABBC3072767C2B8D754C75EF22D625668BE16400739F8AE1AE7D4B1AD47562408A33D33D8FC198A394A2B08A79A8A981F997424EFDBC6F51C44DC61724747BEAB70AC8FBFBD7A88D1A8544C65EE014045A54033038E956104C213967F0A259740408FE7209113544A59948D2F6ACBC23C10C313C3002C1B8840659E51B84D1AA0A991C957B81A2436E65B1ED449B8DCE2071332726BD0BB361C673AFC21867B71D4A107E37ADCE102C890B386BD246637D56D7DC83017568B92A074C08398E6BA28E4950668077176A584CF7060E2675C06EDDEE1B890E7A25A01E7EE3BB228340D51C1B6A40402D4C0036D90C4AF628F806CD0FE7F5BA6B7B6EEC684A4784C93BBCAB66AA17C8265D6A5A1DE33D397511E088A1566309AD7F91F66D415AC0A213A65C754BA983D01E32FB577ED11AA8296538280E8E1380828AE5C2E331EE39DB0682A21A8994EDDAFFE44F884C4D8C683A70953C7618104E421722A01B1B2DA83526479F46F4079CA2B98ACCACAD7D08E24C5ACB098BAB162BAF156C058361E341B29324FE13A125440FF8CE1CDCA8BD51A06254DAB9A5F911BBAF73092E78159DF785038041662666268A242B17C916A60B19901C3700B9959BFA0874292BEF4E9320C3C08487743165BA56875D19AE896E431332EF306E85461C9BE151E676771318D48F6D3EA997CF7DAB279D93C914572E0160706143E621D28EACD6D3E8B62FC254BB9A00D3E593F43BDF48583DFA70AA51272A0094BBB2E94A21F8E888B8E8688FF31CF08B01C4D85A9381D635B473B790F4225EAD0C969D0C10709A868FFDEFB6282E7B7FF914CC7EC33313798953D4A48D724A62C074C84043C882A46291220D527135054B37FD43994C663AB8B6C3333394DCED5E4D4D4417D67B8096643EE323323074A9EE153CE7083171B760FDD259B5A979A8EFEC3964340DF5B829CBD671B303F4E531D92412617321DAF4022C2BD5DC3F7B4A5FF7453688537E92D1093CACFFF7B87A1502D15F8F68DCC3C080F3292C101A657657FA6577BCE726FBE397ADDFF3D88D54CE4EB39711E2C1DB662A3D2FF5B6DE74A30E7C56E316F7CB2EDE254F444D0EBDB56B4C615A7BD5C651E528834EF3E9AFFDE3AF9A70C1EFFB9AA06C2043A9B9AB55080C1FAC0B9BC392576A277066FC2C705B69A7332AE4E9726AB5FB7B828A845C13B28DF5F6CD95D7C32E5433C386F17A3C5F04B4B8DDD8E5C1CDB58D6763BC19E8DD940A630D6A35CE6925885CC87F4B04771F6851EFAF7B7EB093A753023341480F2D8FFA76E0551EC63077087972AB9211A4BD03BC4F1FE875EFA440600D4FF47F5AF6ADEDE1DD0F173C
},
{
"2CFA0C9772ADD199F6DA3F217473072DC6131771B27F9553BBB1D52C3CFCB9FFF46986EF2389E8F6CDE2CDB04ED93C0E6E57278C9232E4B3E92F215BA39E7BC4",
"F3EB97D3467BB90386FBBF74545B0DBC0D2F25BAA8E0631B4D0AF145AD2412A1FE4E2C137E620ABB2869F08994D5E64EFCDCE4A3C23AE35EA9B318E57B3F4A08A87CC5CC8D17D46AD57533A23834891619C19498D7BF1D8D493D76E120D224E2A98689BD66FF643EAE18A98DAA7F91BECACE46F0FDF17139AE97C9149EA8841FCBA2612CE6463C39B41B491AB611F37CB3F3C28BB0A36BCDCAB36B93453AD8893D6247026059EDC138F68392EFCE5140E15D256D03887058CD4DB83295C7252FD2B7AFA701AB77945EF5E296ABBAF174A1D1A94FB547C929AF2FE59AF9410C12679867169CD039F0B37406A2770DD70FF72F880C9B4FBAE0A3D98A2F2D0412E5320BB73E89D3686612E330054A819AFC51D438C3C1BEC5AAEF00E16D689A7667048613E0BB425247028FF0685E418158CA1D9564B3CFCAC4ACE02A09AEBCE0DA60B3628F1772DE5DAA4B34AEBF37D18E4E7AD4A96C95860DF8E0A3DFB8EB71C9BA6BE7EF2FD5DB69BB76B72B988A3B6B62D044CF6613C1A80FFCB7636F564591366328DD99BC3ED1EE4951263160C7909929F8F39229E6BC12AA250858E6AEE4F14C6BC8EE44A50276E8122404063A84137DB662B103837A653E3840A26CC3058C486189E8B8DA56789A7E8ED384CEDAB885F9F622A46ACD5DBDFDBD150C93F132AD8F7DA657A08B4E3B60AAACE5151FB5CEDF4334EA344D2EBD94E65B9C9773B9622FB01CE31DCD7900DB8EC4B86923286C8B3784162F5BF133E28B8622F51C1DB089B2F4EE3A126B1C4BA5408148D833A6E6D4289B52C70BCDB2F77B906899435E08DBFF46B53CD0F4FF05101C3D480FDE27818B160F3125B63C73CF75191A8FA01D282E0AEA940219B083E0DB09745B03E007F50D26500E7AB10B29BB575CEBFC1C1E46DF4DC3A3A0DD86514830D1236C6E8AB6D8E74033B97A68AACB3651590AD328372BCF24ACA607F719A6202362F3E75C15D1006DE76032C11DFABA3D4302C38E73D0F32F63B36066DBFD503A91324FDBBA247A657AB8C362CF416F0AEC9A543AE566D5BB7195054FBF9CCDDF2F5414DBFE9993FC273B8BCB93DA27B14670471DBE2CEDF45BB84FFAE897A4D7542C11CB0E79BDCDE145C4170CB45643EDC8A03FF0AB19660C782D25F07B3668426F59FA173F99CECCF79639B5FF9E7F6B7A36144DDDBFC975B588A56C2B1322C6786971F9A8284AA34BF2B5BE63B07F61E031539D36BBB42BC8E515FF2B879D9C53C0033AC8E3E09E7D434C64A19A2A3EBB6EC1F89A028C57D470C387BC89744FE1B4F08B79C8D58106F974E15F8E400335D7CF66BC7354E833675DCB34EAD2CEE785E367D4685D591C332A4A67492F6FFD6AC88A5D8AA2FD874B1CD40E2FDF9A0F2BAE580B48E67BFA595E5EA4931459A9DE2C7E6020F11003222777D5833A71B432D2ABAFBA5BB7168B986A3F21C93CB16A5222558BEBD63F3C84011C91E24D49D0885B4450AF1212F1081B950B7C62E4D652C5B2E39D5DF0F4F3279E936742AC604220492C6AA8CAA3C39742D1C9D230E77190BA9F8C06AC80B04CDF8272BA91635AC87477210103CFF84148557D33C79034AACD0D7343E07554ACAEFEBA4A73318D27E2DF39B6A2DDAE56CD3F70217237DE0EF6362D987A60DBC8CA110F496E49FC1F83DACCC8D0FA308A424CC9BA671D2A81DB861CD99005A649E3DD3263FCF1F88489F1C77CDAFB0AF44C2641E17C55FEBD2962463C2610ADFE8CC76A0530DAA98E5727D6DC5643A79004ED7422103481D1101FD65706055E63FEFEDDDE9333C1890DDECCD3707D058FBD47281386EB010EC3C792C9AF071EC574A2E33D3F510B85EFCCE5303DD040591B6157A901AE4F800D8031B8ABE13F26DF8CD9CA882F4AD1155C3B5DAED88FD581E5EE8E9E0812BF3AD1B906F69B54AE51D60D4D38884FE973357EA10FA9B0380A65229BE9253D81B6D3F1B15A252A8D5EAE3702D4E765E622D466DF92B74D24A9D07292DAD8C29BCA620D060AEAD788522538D3906B7E511A9C1F658927D3AF9E7694DF79EE6DFCB8887F177E13E588EB0AF5CEBD11215C4225377E2598C41BD6B27E2FE96A8B7201497284858AF5F9F5D88B6B259BD5F00BB53EA55CB837E1CB60CABF55331D4BFB5C222A9CBB907F60C99FD56B324012821F3EEC4500504F45C212DC01A2C08B653925B1D003CDC2E050584BF09F47F9C575C13A52610550CB6867E79B7F9E291E56E58F62A08281B0E038A6C8C7F50D08670D8142198F465FB90129AEEB8DA5787A135200B42F0FD385A3BA5B028FD14CA9D52863AF07EBB149D52C876EFF1F07FB20D683A42A3D422898181356828B55F034F0CA855D185EDD4DB69A4036B05C59F744815D0F1A01E6F21182B9172ECF1E2188E72D748E3E7F3BAD06BD050714498C4F64102334A139D624E0B56475923BFBC45CD3FF3365347069BD6021795B5D392E936B744F07FC62F911662D8CF47E96EA70CD1CBFE6E4B42BF68BB591D5897BDB706FA2F3DED9D7FB7E4C42116C922C8E8E8DE0A59E52120441927B4DBCF5D5FEEBBDB52F8EA8FE4160372C36708E7F23EBA2FADAFACB7703E9BF9B80ACE3A2A4EBFF1449E010A2F458B01941B97B5B911BE8FA90EC39F41D017BB7436A9E4D0B783A5C4D52FED7C4FC31A202BDBE0F7A73896AC2E5AA278EE7CDF982720A3B93D8F032528CD9CEEC721C49E217BCB70FC05BE48CB11F224CAB125A064CB3A7CC1F9301C2BE2F5D00CF8CBAA2E072DD6E89148921EE6DA0",
"F3EB97D3467BB90386FBBF74545B0DBC0D2F25BAA8E0631B4D0AF145AD2412A1302F4CF9CA1F9CB5C405CE08EC21CC99DDDA040BF85EC7EC42BEF2B582AD9F21B609F64770BC5722AE0DB6D344EEDCB7907209F05B3B05E5D2969F0EEF384CE43264B824614572003A18419D0FC9B833CF1F2B896B3996B7C9EE836BDEDA8B4186481323343074865778585306584776308533658388276174257688331650011652433414457814372305110728501770607553432384227205173380622644550652014767250215647077308502838316462185052348865771564336738888143500542270142757324107563406462351150418120445434835400608347464768073670380461131157614404354575667553627713717216008211876345281452287204372265657501137720350501531655575543708618710277083580660602056371217657782522587786140382501418623758048640211458467601204483811360480176414378381210764632715473265217871501753201487388460761033473444211405364140884150752837304810562075785624501522874545758128430548525566232426460251565138660303558832810500863206251572568428757028283530586345163043787400787881382301078188065446060361471286086254725430162845111340786404137701546800460368266511700352386486188855400607251322376521456328804147655771154422143210778861215145147636287274010003521461441717464254748448621317602005134620840671155833537127808371630226747215843400155711108163870402287812742647123713313288517764045867477865524515445016071361378332144287175638768524474637172766544033458781680075516303586831487155781516104207426566725570361838538755851567022142585220332127827557370132844402531581143234312224477868857520840134433743134172523064508308205772248277603521005742578108318483706315140712444637157014702336543432605155728824704744825530678531300822366076681712787816877051415143220305087417328886051564747187210666055778087486206386817680651771363002433056700030388300428417644506284073714733884784000387471244116538452447804804440308287408254868510363453261868632442312833758112211786032240070148660545260178772376283668277570801828020577157024717566605226137481210687728247347746558083315465427724666743648372817053263231608563104773886445062300453827378786526113605768446770487885744205674527083544254050112374478661644520062550002332007825717010530760814560217017842753367810280537486310158502175148272843764170033727705643506218623542075847778015655740101345237874570043631531260173206241722238773255374184543845102714207750337731266256536447440700425384310367203223253432203766804102676358548260730664151474666083707003208672472480440387736301626068112866368372327786123245245428836337114648737357040343328661056218106753188875012510028307310118431314243751472411183613032416181310024272526021607618088311083205304608156814668231527430714346534255651865813600530140822022552066720036188655242326147640572208038755628473410814356315785220118217548715412230051576048468811143033281573766276127288707711031827354872223152280251144364178026081436112838045786261328541126372505434548727244877624653564814846038688317785256303536277721211780643278556358702837327605602661657204035858747134811128836437713477617033113272035561526004784701538034462422260787457433056450056412773403215332073148336604026523545DB1FB2DB0AEFFC2EFFD1F3ADF5A76B062377183B7C1966D30DA7C8DD3B98AAD4ECFEC126F50A4B8F608EF4110CBF42F4199AFE1D6AECD7951F4626AD6FDDB5EFDA5E6AA1F4F937AEE2ABBE1AF74A64C912E293D5739A9452FA15A64F4862C01E323F2C0701DAD4C35DFC6B8073B290B6426C1B27519E93DB11BB72C178513C6F9352EDC9CB7C69426A9A843C055BE888180B1FF21B2D195DC8E20AD19B3983DA1B1C860ED5786CD924FA766F35FB5C421A57AFA67F053F635757381251D081BBE437EA8F54806838B5CA92E1AAFBE5E0F814167F2378A349CA0A447DBDF58201D9A83DCB242D30A87ECD4E9A29BE9A4F7BB8FDCBEED674701F376FF932616E4D49E4550475B41CB6C7A0A59970DB5A6071AAC3F0C87AC8A6359B78D9DED0816214DAEBCD4093909187AAC8DC4B31B6AAFFF9AB9BB6F2E15C5F5F4D421671706E61DE3019C782572A933D981BC9E0C28C6CA815BC17241C3CEF451BF884DE6F9528067632B8B46237C6B300DA97352DA2B2FEA09BAAC90BC2378F2C4A4643B04C4F714DD61EDD83282228754BDCDED1E03AD9754B648522F21EB526B3AB15E2174D4DD260C3C6BF76F1B16B877641997FB2D7A4BE5DA7928F73A4B276594191F5F8B574C2F5064142E1861E413D8198E1BFA2EF92ED9C2BE5B601BD8378E4B31F9739B16DF172F2BDD15C059DCE1DCEA2BCF402B06075F562FA758813BD6C
"464B4DA58B294D4F3F1695490853A4B67B9A5592995E244C487B133E9F2BFFBEEB9B8191A09BA23868F354DE53B10669ADD7EE8251F7CE6000E629E0304A113A8C8E1FE047241B23AC229F8BF986A2B7A458C73E4C34857C1FA9D23C2F80B6336B98737E3B743988F6AFC10759FEB5B01D4EE579DD6471EDBAB718C03DC6F5418061C298E8CC2A1B985E5087B70669E8A5C92A4DA2A3903B53CBDD6785242CED237A738B662E4682B0861AC8F956A1A4D90B2BF0D12EB50C715EC18C82D9235D4F75F09054A7B7B3A58855CF3439C433E04D4AA2F1CCB64E512370C00A6498750B3FA351145EFAA6608779216E6E79F24E53141CDC64316E962DA39FB6A846D6373603DC0AB1CC974B24B3424165CA43BC78AC589F074CB6F0F32A0AC20979F48A5DDBF030F48BB02EF6028BB7A8E2E2F466FC96C1955F568FDEC5EE4E19765A544F9B88BD1D4BAF08D85482C930F7305E2D115350B653E7245968C19A816D147FC59E740F12F639198E782F8FE6820A5E1CA8CFBC56A126F6F5FD80B3056803C3B4C7593FAC353523BFB921B6F97447F33936CA57BDB1FC72F687245D9598363EFC65CB7E2246B36E19B71D8E91096CCE39999F4728D27E2012C5382117A074E6DBEEE348A3FEF59486B079BAE3FD5913D553D5A9FE5515E8BB2797037D36CB9649AB4215D493032D5BFCBFB6B8EE3EC0DC3DF13A1AD7B9BFD0E87A505916EB50070CC03CF69986D8C17DFB231050F92D46D8A189BDBD167B8843634BA5D74316A73EC90EE857E2B8BF56F3988B4DBD7EABDEE19E909B0D6A8FEBE742074776587078E794E4906A3679DE97F38FD00C6AB080B66997A64EF1E9620C55B04A2412E573027332B720CDA65E044F3A4D4090430EED08D50B4871E6BD58D0FBE80921B0F5CBD6135C7F527A395A5DA43E206CB812FF16CA094D9767EEF579EC22C29207C97BD32CEA9A4F5A2EC2DFD9D8C5CE6175044A39D4B2FC8CB017D76401AA4A4CB6BFBCCED74C7522854EF49A8EACFD15E075544F5834B074DD274A3763A082BEB1F1A9D83924CC61F5EDACE7668BBD4172FF1B524F988877E335197A89D691E86AB01A5F1E402E4E8EEE22301892882425FD9AD99ED3853DBC58601BC597E8753F7F3FE30D4743B1262C9561E775D6E6AEA2AFA0532A4FD5381CF75339CED064170CC1D3EBF658205330D066B8ACE6EEA77DD32D979F588C81B92EA0576A5405FD0AC2B44E09B2E6FB9674EA642A190802061B889488EDCE9870FB5FD7C975C42382AD5542AD77F3BDAAD6EA41AF32EF5989956E24ADDDBE19305045D82EC296922AF62EF1EFFB4B14F1102E96339A265C890F579458A0397DDB2F829D01FB2B51219D5143F35720FB65994714EC7336443ED66BED2689D9C383DF6135133E1617891944D515655239116E5A284CCCDABC406F7E74F9110C6EE48F13D0A6519ECB51B51099DAB2308AEE6E85D2F4D74D0B1F1A693084B22EE26A7E8AFFAD6BB6C87A86F51523AA77404DB21F25D4933F5B7949D976156C36F9029B2F08E17271DE0A5268407FE3C92545886CF2503A30690AB50EEF6C76DCD73533BE660FE2E3701607C1C9A439744DC751DE1FF517761348CA51F08FF532E698E411B848A371FE08319C65080E1FCDBA6605886FA863A3AAEF17F41C40CC3FEE8F586E4E1E66A85B62E6AC49FDE718D0DC071B0E1C3CB766899F6DC8D339982004EC0520A12EBAA31F3094D9B081014B5EAD9967B62790D2B7F0103393422F8FA7A0D6592FCAD7F85C6C7D05DBB43DC1E3FA910CDD2D032C52694A1D38F9462F3896EEC1FDD0131FC90259195EFDDB251649418A6E30D0575BB8B991D8501F99CF5289EF583F2BD52F1A2E03F899E5D6204EE77262DA0DA03F11DC8FE81CDB200D363A1986B1096CA7F0347C1BAA13375CEF6EE6D295F8271CBFBD77F542A3CD8C4B1A208BF31F23201E3B42EC3DB810AF4EEABAEE239528DF1946AEE264086F3481A21540182364FE199E839CF62A4243F0151B8F41C13A4E38291C21D05ED351C8BBD83A4AE06C0F42C87F15D3D3B82B52656ACB79F564D14B3F223B78DA5E29AA272DBB81032C261D4EF1F9B64F1EBF05A8BD3D30D617F8607BD52D170ACF778DF181589B4BD597916D90099740D2F461F7CA6028BB0F5DEB08DE0EFDA078183624FC8E5F09F9EE598FDE6665E26A9703E4EC3E54A203ACC7A83B6E8DED489DCD51ACC81C1B1E17A3697EA9DC4D56D4DA801F46BB2925DEF9BB11A3B226341CBBE76C915CA0F57547DD0020D3B64F2E24EB93750E9ECDF581037094AD9168E9979388ACA89B250ABF3D5D98A208162A48116231F093B1E06D621C2B5D2D720B6AD06811C5EE5845002CF5737F0D802449B1B6051C6B42030F1EF115625ACC54448B6006C58ED06EE27CA133E54854A7CB9B2AFEEEE078FA5A21155B07800108766E872987BA36F92D544E2B1F57830B7F081B9C8E1EEA82D6E947B82D175D1492EB6CBCC6B2F62A3E261031F7B7780F34DFA3290FA5E7745211951D1F8826363EA892E391DB2F6CE0CC371EB33618F13D2B9444567DE228506F30FE305C22117BB8591F72620997712595E09F4B4BB485FC4B20A84393A87E0A095EF145CF42AA60EB9D798FE90151CA6F89D7E4C27DCD81BB8905D9E00347388DB7275BA61095254C37756DD46D558F377A661DC15007D4D489A4631814CCDDCEC675B59C892BA674AAFCB3EAA4FFA1ACDEC080909DD7A7B99F70CCC0D43112BA7349BD9B18F8CE9C449FBA465E26B2647CB0BC03CD0A998A4628AA96F073038CA0DEE8BDD747EE6C7FD7AA65FF06C0B872736E51C3C6E725C40944D760E220D2DE8FEB216A77521EE8F4B61D74C18F0D2D0F814881B6A8676DDA87A33201DC73385CCEE09DF2
},
}
func TestSign65(t *testing.T) {
var seed [32]byte
for _, c := range sigGen65InternalProjectionCases {
sk, _ := hex.DecodeString(c.sk)
pk, _ := hex.DecodeString(c.pk)
sig, _ := hex.DecodeString(c.sig)
mu, _ := hex.DecodeString(c.mu)
priv, err := NewPrivateKey65(sk)
if err != nil {
t.Fatalf("NewPrivateKey65 failed: %v", err)
}
sig2, err := priv.signInternal(seed[:], mu)
if err != nil {
t.Fatalf("failed to sign: %v", err)
}
if !bytes.Equal(sig2[:lambda192/4], sig[:lambda192/4]) {
t.Errorf("signature mismatch(signer's commitment hash): got %x, want %x", sig2[:lambda192/4], sig[:lambda192/4])
}
if !bytes.Equal(sig2[lambda192/4:lambda192/4+encodingSize20*l65], sig[lambda192/4:lambda192/4+encodingSize20*l65]) {
t.Errorf("signature mismatch(signer's response): got %x, want %x", sig2[lambda192/4:lambda192/4+encodingSize20*l65], sig[lambda192/4:lambda192/4+encodingSize20*l65])
}
if !bytes.Equal(sig2[lambda192/4+encodingSize20*l65:], sig[lambda192/4+encodingSize20*l65:]) {
t.Errorf("signature mismatch(hint): got %x, want %x", sig2[lambda192/4+encodingSize20*l65:], sig[lambda192/4+encodingSize20*l65:])
}
pub, err := NewPublicKey65(pk)
if err != nil {
t.Fatalf("NewPublicKey65 failed: %v", err)
}
if !pub.verifyInternal(sig, mu) {
t.Error("signature verification failed")
}
}
}
2025-05-07 15:08:36 +08:00
// https://raw.githubusercontent.com/usnistgov/ACVP-Server/refs/heads/master/gen-val/json-files/ML-DSA-sigGen-FIPS204/internalProjection.json
var sigGenPreHash65InternalProjectionCases = []struct {
message string
pk string
sk string
context string
oid asn1.ObjectIdentifier
sig string
}{
{
"4700BBBBF35949E8158C2926C06103C584DFF801EED33195EACC11C30434BCBD6AC54EEE2E62A6D98203D740E7770E6825B06A9B1BE5D596EEE91E9932CCEBEDCD119DCECA2875EF7B14E7C36A207E08664490F0218ACF08941917A45221ED6AC74260667F74ACB5A08C26EBEE69AF058D70BB2036B32F2E781D4377DE167CA2FFD52D1A250C792164C7A351B84725D790F5BACFC3EC3FF55D8673F896117C44DEDE32134140FA48407F0C76A98CB4EB16DA895A5B5A8031E86F5A2055B9A1713D4DDE6D323BB11950152A441D2865B7A7C9B23783BA91BD4C654FF3594B5E6AC42A9F0E445CB4C8120C14EC17CC963763B36BB423659CDC5B23C9E703C32565024111B460C86B137DD59D1F96EDE0154C52B77EB061ABD5DEFFD6AF6F329DAF2BABDAF7E2E28A1A321B15CF3B7ADC32D23919A1735110DD39F397EBE39E2F93A5D89A731FB34E66F42BD0C13EE5C975EABA4D9EC54388C61EF9AB31497F4603DC54B504F0C7EC20D7DFE5FB172FD7E424E06A29A10CE85ADD8B3A0CD32645D926E8F015CAEE5655E3EEAAAD9E655158067F578F586CEBCD6A80F3471CD00F828C83606988DD647C6FC3968CD952DAD0D256DDE3A8D25C875278F32E6AC6187A7B8400793524AFE4620061B5F33D465EAF5D0D354B8B068CFC968E37C1C77CD17889CA20B08A2EE08B286FAF5F581DE0B0B5F5E797910445A4B00363043A0CD2B0C10E111DF713A545A5C74FD1AB3DFFF99372CE992C92879BE717C42F73855277405B9D58177323848F142A199F2DBC7432D68A8D84120B5E6628911A973459CFE0EEFE67B231D01D0053AB38F1EEC379315B63CC5433663EC34F8AE79123D73A4C1B0762A6EDD095A3DFC0EA51CEADF00F223D6F6FA5EAE751A55582C774FCC13EFC079FDED39B6FCBD2723F1AB7E318D2515B8DE4163753BAE636415D9B68161EDBA235E77F426BB02285A6F9A5CE87E7B31E2F8A1B9DE031EE1F213E4B9251796CE4E93FCACCF081E5A981F76942D907758DF0EDE18203C5E100B470C35159A47C103C7ED6FC74A30B110C1E62C232A38FE48FA537CE89A863BF3B3F6FFC92F2C7E4B99BE569EC043227BB6B2B66841C3F236D5643218836AC21E7C201A7CAC77C3784E6DF71C6FD3BD3C6BF0436CA4B823DE73AC40F2A4CCB980DAC6627D8F9E6BFA1F5B10659275E31656E6D54CEB9CE4EEADAA1B1871E2D35ED3898242EA1413313D2EF98996C1788EB4B2D5781B8D1A6D194C81A2DFA92918E4A7371AF497C93C5EF0C9F609FE3B3F4CEAC1AAFBB8060AA486EAB340723207250387C1F0C569765DD1202197BEE3F40FD22501B05E1C6C7937D06E1E271D8F1261B4EDF23B0171FC71F918147F4274E508DA6DF15478D9F18A0D023765F856E944A0EA33C90CEA30266629280DE6764A17C4167E06C3C34BE8B6FF15419852AB21160AF58C9CA91F5864C517C4B2A8792253CFB8A3780F4FA666C0721C3294EB7DFDEAB66FA89DE78CB9E6160369B2A9391B57E673D0990BDC6AAE2A7425C94E7AD881776BE1948A4A43994C73EBAA448134A7E5811FB3FF655697F422D82B15F669F1BDAE43EDD0F0E8F637D00E52745EC0F29F3BBFB86C862FBB49C28563308B694AD650090583D3E3A5397C4A2F20905A898618A67F414041B6B3C7B1B496227281FF3EF2DED8571B45BAF0F8BE4CE3830B872B85B30D6889D92EE16CAF199EA6323A9712B3ABD1A51BCBA3D7CB1970A82076CB533C54BD1911E29EB08D72E6F992CC023EF50409D6DA57EA60167A7C67DF6EDF8603216244698C26BD72BC0CF63BCA5237815016FFFCDE849E9916A538A0116C8A7912C3E4F3839F0C03F6A55EF68386CBB31C894BF948A8C71655C7F8882AB4181B0379B29605440AAC004895A59AF4611F3D635439779DE2C559FA379E3B0C4C9C5AF9FAE495F91670B2B3873B6E21109D66339477506304FE6E588F2BB4BD6F977403C6BB91C752C1DAB4AC8C9C512DD925FC4B9A93C0A011B58CBBF8CAF1255F40139C8BFA3699A1CE38480084BA8B2A414A1CEA0CAFAB109FB0F22B79110A12B52147177B6F1332E6583A4ED14FD2A7B83509C503DA70873B17FB1D797FFA088719405762335F4B0F20B48D26E6288ADE6BAB7319813BF588A95ADABA22539AD56134F9DAA10353A823464FDFF92085E2A53FDD1ADF69BC131B086597076E55608476577C0B300E38B642733D5F10811EE1D22877C42F5BB8A1050ABF4C09FA96839EE08A3F77C4CDB7913A2B125D2825B7B190F204E8FF74F096E3DFFDC5C9E07D959A774648C082D42D60B3945C4F84D5088505EA683C2E0626C3000A98FB1844CE7761E20D3E4CC78B6A4107059BC396FE68F8EE1EBEF4F77C847485881E3E7E67C9301FE6734DF16324A96D33AA8A9B489818C769801E0E9748654B2FAFEC34C774A190371C2F0730527E2CBD8C4FE1DF9435644305E31959772C158A7E53D14166E9738C5A3F7DFC5BDD5CA96775B35DEFC973813D9BB0F82DFA768A2B630DBF1794334FADC19917B6A1EEB6EB4743FDB630ED8C02E8E5AA39115DF35734AE4A9437E0BB63799EDD55767A1345FA197BFDCDBEC9ADA1E6F84FA6B93CAEFE9E20B524B0F4C331BB750A9B2DE9E12550F25DFCF1E555536F453CA3ED2EEEA96883605B4896EC7778EFB3142D0CE713AC3CD5A7E607720E7BFDBB9D6C3C217E893798150D8D62269A340463E3C1512AD298E00E9D67D100987DD8AACD86AB7D53A6E58E27C9BC8C4B730FB7180A7C44A8891417A975156EB5CFDECA09ADA9A9FB1C7E601609A3F6B08983B2D696D06737E2486720A689D2070B87CBB06D15CF25E64DE871B436F0E044BE33472C6A4D9B9F271F7CDF8048F4F0245CFA943B6ECCCADF30D46BF66EF
"DA756E3BF2D404B7894D7E7C586704F70B4F3084459FB4A43184C1F750E4EFA0FFA0D43A04106EF6207B1BA641339C57F5B470A483BEC4FE316AEC06EB428BF8781056DDEC6CD147A19CE14B5DCF447B29BCDC0B4D8EF7049AE92B7F1114D2EAEC33E92B3FCA56C3BDCAADEA3831930FC0ED61DD49063636D19600DDF2E7D221565E2361785DB758C58D3CFD29C2C898130C417FB0352BAF68B12347625B7A90AB64D39AB8B757AF25DD90E710B35DDA794789DE1AB19A603D295C813D3A3C7F8BF0ECC59A3863963C9A2F309DC2C17F350328AE6C658C5A171E8CCA59CEDC43FBC4BC2576B13D86B9E6DA9202F7C3853DBB521724AA9284BCFA81C3EF52239410C9EFA435FE7C166865413743973A78B99246B9BCCA33101856EF9336562DF513D7D96529585BA6EF5C21821D10A10331A1A21B464C5DBA84E4E33C5FC5243E7BBB3AE5741AF9909FA6D3288FA95784B95B9DB71D823F1599E70C1590CDE71C8F73B35F0C35B8A028B7405615AF1D6DEE29C5AF64C1310BE168EACBF044DF539036B5D7F3F9E7F0C1FDBB20075EAD5F71073C6EF7CB73E8621C6720D6FE439996D396323CA4B2A97C719B01FDCE495A334ACAC1A46641312FC18CFF709981A0C6D64FEBB800FBF317E07CEB24E9C75C3BA828C50F2D9DC362F7B9155C9D3E967C3168C4C10A2DDD65770266E1DA843CADEE14A487BA80D393A606EC9F828DAED49665DCDC38C8E6CE860911EAEAA7FD8FD9A8D56692B15EECD7857E97926FE1B4129BDCB8E4EE0DAAADB81869972834F7E6D169C94470B29084264064F573121C3377F710494B79AB4F9EFFF0B98B1C5C3AC0B5F50A75423ECAB0DF00204B8782DF9C7091BFE108DE5E0AF80191971EEB18471C31DE062F07D05812F8C4DEE3ECE91F2376292CD659CA41DCBFF232BC070B131DD1EE8F4AC3A72D7E9705D9EA9806E372C6A07ECBB2186E5976685ED9165BB5C538CF560FB67692193AF17C05C9A40A4CBFD8139F5E4CEC7F6154DE813043CB9B39BF4127A760D0B2E09EBAFE6028FC0A331B8575EBDD5637E795CF05A886800599694544CB4A1061888533D507F1D9F0312FF238C7F6A8D067C6501727CE3983FC61893F5AF2564DAA6CB99631E9FF993CDF293EFC475C58FC4D086FF55182E31661641854897A3A238E0C915AD9A29B15790286B8D403213B0C1792E24E60BA5DFD785EF1F77383CD22613449602EB14028DDC25950213C8E798A1F925A927E5B2166BFC28EB1AC4D6B2541EC8024E83AC898A5D7B6B1C2D1AD56F9619A67327A7B0568D4EEF592BDC8009811D7BB8E114D53707424E61FF0610290130F43DD966E8E38B5D2EB1308FA2D6948A19CB16519EBB0582F1761C1821DBCB156A7F8796F093CB3F3691EF483DF105B00E1A5B125EF00189E74E51D61EF92B6D6486185ED7FA30196CB3331E870C248B32C3FC65F132A5F0C3C29273329271AEE2057475F55767859911960CA630A8D208E6C96E640763D211672AC2BD0F2FA0ECDB8BBC26B57F0EA00C93916125D388F6E53E89F6846C787A7E0EC1AF10D8F8854344181F90F46A24C131F77E74BD4F751CC866A44F8FFDDAFFADAB92D6D41B7912CDD61A83ED7EDFC19EF39B1ADAD92DA30802214036F76D196A07D531D045462350B388EB8EE2E2BD77638B0441BE0924FB46C68CB865C3D0FA77AA9B1150D4D322BEF8FD9FA6210F0C9EC79EE01CD5E4D2C17F281CE3EF65C59495F21660D272B63086C1D092A95F1A494DC8683598741C7B355FA22B57B39CD275DE662C2F70A876C19EC0C8000BF0437CAA4D8877B4CF041A6010CEB67314EDDC737AF7B78E3BE400974153D7EE800C37F414DC47ECB1B75816B75375D8F60EBF5B5BEC1E72C5A1807F727B0DB0F573F897906F672098CE2FA18D1BA0013F5A3BFA29518390DA26FBAA163600E2B0A1D06859FBB1367B7A38A51EB344383FCD2AC1DE6E02F842C2610DCF6DE94CE9B5F5396807E072ED427F11623D3C702A3FC7826A18FCD37743B776F4136C9FDEBC70C19D27C878C45CCDBE276D87E1EC06F83F42110F303A88BE4860A1E9746F2192BCFEFF66FFC808DB8BAEA8CFA0086B0A1006010E762ADA418E32446A362D73AB4C56DFFB0FCDD1076E04CD6A5C308935E67933B94FAED5A8FF13E563FD4D867DBD74D8DC578626BFA2D405548C117677AD7D3923274ADFAE69998D7CB0C83B413AC767C1B7E1772F952C50ECFC585102CC538C65EDD7196DA80E9F85D78DCA303E1DBB8C857AA58342CC362379B7BCDAA84E157A69DAD47D416E0B69DA51C33720176B9547746C7BB89A0B328CF8596758D301D191828192472B1B50B7473AEF9A49F49175BFA94F3F103C51FB5FB10D28305610A23DACDD0014F0B2480044CF47690E2F14433EB6C52728F4976B7281B9B1A04871B5F6471342C4CE0400215CF53D2A16DBF53E4F211B95D60FC673FE1CCEC3CDC13A2B7939E480F7BBAEE093E117F399382EA443A62437AD56856B2DA9223EE5D960429B629DE636AAEB2C6224B4945B7CEA7A59C5EA32CDE02CB2E5226C7C464ADFD3149ED4D02D7DABFE163DAC96DFD09D582D6AC3CF4E6DE828B47CBF92EAE11542B7DFC573B650069A1EA490AE68FE08EAC3152D0F800CC60B0FE7D695A2DEBA8C9D600A5C2B4B4F2BF6240C4BC91CC5D452DA031B2B537C20A22A155B7C74E5020B66C2D39E7F00D05C129076DAFF1E408944E8B1B18C5B57E2B159DDF9C46BE530715AB278773110052FD",
"DA756E3BF2D404B7894D7E7C586704F70B4F3084459FB4A43184C1F750E4EFA0B79FB0BB5726C8346CDEAC9B96FF5AADFD6752F46BDACE5B4588BCCD3598A3ECD1395FBEDDF177856B949411B7445FFCE59EF6DE5CD66039F7BD8A817A3A6FC809CCF251F0471CEA6301209BAFFFCD3C36E348A7DE70FD4EC052EFEE76F2DE1C060232835025742360331744256848500587607327287850834556022428663787406454646531365874855485683120313008158664233518218483424142812531127347164008847271232650133078623722360670770542300206027426851313884758743773353276882422445672843183734131744688806327870785223537180666425156722602415360461222272861604048208087352337223267431416770576543388618152788835401646254580067777142670443373420065626632122135812680127048870387234708772366578800603174412631475244220115823683284877564675048643447321436541012188654046178507887880342020644050860642471187726575655412762411720140277772421140680080637704421034512452100443863662254863322037573138020640855272448333821127665838202688762476015025387072244853617032170105403857534588741115082760531064878251017073373886485432165725112051127085740470434551381126055620504542506304482781025216617234371456384430677363583125156237122503068326023207458125447332785377147084204852342260342868256785687556110748643854852574616462282817748588016088351000635748655620871065255238153541818605616787560583853673676337238652106631145628122755178073172617765210050362248120214364340421145721855758815040344333271031783131188371058132606758708610274701861655560482654304622054560408464366026484151270002706112574006156360643680752101845320513674675150621436146502802043787806102607828066260544253063205200052075708664122443888402577156462671746282647817832311674113183626806201781651444336875743862384141807305570210488774035130275722006055557532322871206814355404270873755487345225470805078384066016705852740812014022676018843236072608105877527800371047536033122334226484368777548728247511472150061654173758011158667567517711786113831824372748230815731446286257160120537637065120741512873648200033878803208480848258728665718666322488378546408205071100321881513234886351751326686065413416246147470856007616522112586368322411210725047124563646266728112455088343808357460688085620866210508622736454153828641076650156864134827332324035283038621114167150201173002882180677802714733438738468616110602544163568418455030574032064455583041310526708426344685024121263717648448238731870170265623237833250585726173681540365346715202322066005728787675677870326465588151344268233477737130466261665320230521681015814027606523781133248571315316764521610550267121804287815561806587253132783665741464626227511457386842266837557766238157241570140242247645662705703800886080151750126313206155542006661671477177430560142413282505246843286504325124858573724874715777072317836027378485122722612777566650525683563670710558483138553011107478317441405268224044513021364527811243086845602515320274451670500384235780661161171101327823717646533687080210180010336430174205841104663262616887444185258172726886732701407523360046436274158543734708354861321208560458266747734620833861003875134203554088614044524130413207546243952EFD97BC4D5CE92C4980C24177FDC80CCCEC8F3872ACF0114771FD4A513C98A958F4F925D040B245EAAF3DB631E72E9CA2A83A930ABF19B7F91CD6C7DB1BFAAAFADD4741143C127121F5A1D18EC351CB4637EA4530D6BD0ED678753452EFDB9426AB4018D0DD84AC8A92FB13B2782AA0CB46B2EE2DEB575144690E67C42C649042A36D6037FF0F763721C6F6B75AF583492598B1C3EF446FD954EA7EC30F6CC6C2A0CDB69E8104ACC091CE947E0E060A4B52ED7A217882185CCEBAB01D5C50263F19EDC306E82F4A993ADB9286D0A42CDF149DCDAE5FD7376A3BC5DD951EF386B06144A8733BC6F34806DAA7784FE02BCC9D39026A659B962FE488A2B4FE3B9B961BF850D8083F20FA546E5F8B4F1D4999CBB305454216EFB40D70A2DA9962EDDD99EAB561B0D94EFF89A8294F86ECF5D862BB3F3BABD8888666498076EE0F01870322C5EBE88F310C7CC2756D436C8848B869E49C1E24CEC423F8854F9441418E36C259FB0ABAAD504952CA8BCA68E2387B80DE7F8958C6DD20147057000F189F0F5B67CEDC6B7F81A487E94FD2E8BC97C84FAC0723ECDC5CDB5ECB343A33DBB424E0A782DA7F103540477957FFD0ED6A2471372B73A411F27171484B6B1CD7079BE0D285744710AC1E925F81268D20DEF3650C2DD17229B5397CD7BD6B32F3832016A0C460E37EF62552EC4EE727AE0BBDDC6CAB3EC72D79E967763
"EB8D457B51986860C1F4153A9EE4D290B69D55E6DF5B24F829F68E1671BBB9E4FCA429BBCAD4052D15C26EFF27DEC32CAF9968169B35B015480F5056C57E2230F33D186210812A1EB3F11C8F716C07794D539494ECAC2215063A3CF4F3B91E3252DF6C2F571080442E54C3BD4BB75084044410E4B074105F6D707391C5587377AE6747C1F10CBD5D384509FD0C8F8679CB024D6730CC9999A15D3B156DB8893751CF4DD1301C8751AB40B04A0DB1BDA986E1494F8FC547FB3878DD785E",
OIDDigestAlgorithmSHA256,
"7EA0D5D6433DBC18B5CE6EFB57A7ED02A30E52455C52F726A76337B399F0A348F3F3E7680B0EB98E63AFF29788DA1B13C648E7507D372A2CEB51C2673B63F4F654F4A2E6F28AF75D076B326D6171A535B710E70BDD9FFE42E1322F1DEBF4F28916382B51D225D7010565565256699DB26A2C574B9AC36D9F0800AE6169B242F9C530C4C551D17BBD26C140F1B2479F7001BE9EAF55ACB82C8F6D060CE17A517E9C70104F3D2F24D342EB94A0BBE49CC21823F46EA548BE3C163BFFC221529741FC5AE723C2BD63C38444572E8717F60D07C06288C1E33C32C74BB746996CB55B6C4F648B69892D33A6D75AFAB141C07E09202A4A036585202986890FC623DD11E3867BC092A07576633B46C2D020FD72AF0064A7D07AA81A884CE84D02BDA6C796CFDDF22B2C17792B1E56A48B7F0B8427582633D0FC638EB989CF44E11427D1E66AA3594CF190F456D6FF79AD66B29E23B6F54E498446D03D0F78DB6C36302F00F746602CF381967D2EB46AFB6430882BF73C21B64D09F4EFFC3807C7964791E4106F3A5F10DB39A66340B3FB09E5F16191772755EC1DDA72E8666365E6A8B16B5480414EC24698EEB244C687679EC3C70D9B3B1DC728863336A64D524D4EE68C1D796F27B15A83725B61CCD9C8A4D6192B26013A38BD8F7B740D78FFA4994C1705AD35AE907BAE793DD1DB9456F802620EFC175EB82D6D6A3A2A20F6A137481DC2A4910B1960CD18F9DC68F19815253A2EBDEE965076806BD4B8A1EDE46CFECB69B9F393C16E7E7A23EF3C9B6F67FEF3DCB8921E695034612E800E590FEC1F61E044ECA5A578939BB32771E8934373EF8A2FB0CC2593D254A476CD05792C4C05146BD88F2DA5A7ACA913C951F1AFAAF36DD5015B1E4132DBA30B1FA1D942E127F05143D3D2E022F0C53A143E53CECF0691C3045CA58D354BD614159A5E5595DD4C266C3DDD54450FF441966F38238DCE3BC92977222FCD71753A711E0C5D6E482BC9DA3C40CD718A64E95073BA4A4899946251A9F65E3379AFA08C3A1CECBF79DC545C0E1CA6001A7A4A7FC1B33501F7A7302B74E62580E96F62E2AF74F6FEFFC7DD9B532C2B794C95D6FABABDE51F001A40D1DC9C31FF7FEDD8ABBA8FDD5B8712B0C0092360E3381E5776BF9645DBB796EDD4FCFFE7A1C2A52B131917D4E91C065355F4AF9B448FF09194FF76D936E61C05A2D4C4C095DFEA70E460539FC50E197F4D3F8715EE98EFC56C72B26137CD156279A093858EFB94FDC0E28CBE07B043DC85C109571EDB8CF1799A92E15693316238CCFC27822C9D77C2ADE050844713C3F81378A0678CF768B64C878FEB59074912253B165B09BDE16CFE709E769E1890FE9DF4E4E765E1D5A3620523113BCD41BBC82188C85C8F607D7BB81DB7B20E22481E8E58505DC28262DD50C6427F842D6377ED294091F8AEB17207DEB6CA5C773B31017A22FA235D7161CE67259DDB626004DA3B094156DA3F26A56A373E63E93F1B8B996FEB51B4D7261AFD5379A2F1D543092BC573B2E94EADEA95E06BB1F64C54E7D8B529E4F47C7945FE4A411FCC11469598828785A4FB353C5A71237E904087CA907B23DD365975AF8D16DF081B7C37D1F9BF41C0704DBE9306C81140E401021E8D4EA80BFB1D54A595425F29C4122D450DDEFF2137ED417EAC3DF039E04AE023B5B2C338D0BBACA6FBDE152DA616C90F87F73B794D9CA5C30C8A2054B3ED5478F3A35C7CE33DB1702F3B2CD9CBE2733F485A4C7847F27A7610ACD2C07F0AB249691D61475F97C6E222BBCE6E3F6EF721F2702A56692603951FEFCC3F37BC5B6533DE1ACE58E5A29D02BEA7B6054C1391621A213436F5880DF6DC0EB24A8E42D06B93DDEC27CEB178D1E2E8C4DBF21405A78BF2B3523FA9775020F0CDDBEB123C1C09D5965D1A5FD479FE4BA44D3B704B37D8000E55E75E9B09D263E35A8C0A437FC6262301A40E9BE1E23AB8F6D4D42BEE66773239E24233C209178B3D58DE7FA376E52B976079A328BACD3993DC908BF070E316BAA9D167A07CB96BD721295A8F6D901AFFCF5CB38B8304E2AA3DCD830504888193F228FD51F4669DD1D782F14FA75B7972F9E7CE7B91AA6FB83846640AE7C910CE1DC5233883AA26C1B03393DE6AD9D6AB74E95D7C64127D21C49CD7D7D4884B898A9DC521109B099C0A8C12DC6EA9CFD7617D9C194056962C1555DED49E2737C87DAE858F6808388932D4C758FC1507AEDDBEB8B28A008FE700B637640DB24EF1D6985597190B744FCE8632A84D1ECFB450D952E7BA51E39F05315CE0137DE1AF26FF390340F09434270B3FB8F604DDDA1DAB0C178E82DA05118E3C1C310CDBD1F29A01DFE6F293932FA8AFAAF70F590596355B34E61A9321F06780B0DDCA99CF79710233270AE1DFA8843FAFE3759A1AB1457475BAA9DDE0E97628C584ADA28180883A1966E5FCBD146189613494D2295FD54D2CC99FAA9B981614EAFAE0C03F53F2040CBD07B5B68336E462016B6A89F748F052C9B926967E8C1A1B5CC41A236DF594D8A10DA0F424CFB044AE24116E33D1DC9746CC9D872988A36225AD3F2FA6F6A3AC48234D4822CB50149CEBDD6BFA3B844FB0EBBA154FAFE3846067D8E77309820F15F1ADBC78D6DC0720BD60C756D69814007707F23D0AE455E775949311855F1DFE43289FD4B5DD5F091C1553A887B8E41F11FBE015A78620126B32F1B8BEE75DA9F80949F4B080FFD6361ADC0BDE5EC151060342E55C76B96B6C444FC755FDCCBAE60CE3052E0C1BDBA789737261F418FA9074FD2E734EE38CFFF5295F2B8107C088EBA68CD90F081854336E28396F7AC2E4DDC933C1889C9DEE34FEC01AB3702DC7F0DE5AE4A8AFDE261982249F8D37B367209EB9F68C007BF1D72A05F28A
},
{
"CA248AB2D05BC56E8BA917BC6506D8720DC8C08062832BA1CEDF37A712D17B6CACF4BD177E94380945336BCFAFA9E3290F2ADDCC6590A6873B084708650AA2F779C665492FE79CEA942510090A67A916E89CB2B5C8F532113EEDFF1B7ECC2E563D763659BFCBC6C1DFA6C198A1E4743B23C5D59361DF6DB01F2414F6A97B9055BDB2ED7FA2CDDBBD2F139436A5523552E3A9970F22EC082BF5D9269A88F6D574DD67EAD73758E4BAD5F780690A638A46BF9DEC7EEF6EBCA88A25D78788B1B5B07D9F9A2F99F4EFCF27867DDF959350CD60AE4C3DA65213779684CC26270C4153D715FD5B31EAF50BDA92D003E5532D564BFE93C9048CC57AFBCC1A8F00CA61F88A6333C2E99CCCF47851CA6CCC0E43B113CCF18904CCB70AD7E6F7FDDF6E5CA4FE9D12290540233D889895BC969D60F2C9F9FD5D6F60969C8D38020CDA548C0E0D60092D010DAB102961E99B694443DAF3D1526B7C6A0508CB1337B0514D9E7233FE00D97854C41C6579C7756962B0C5E9545978C6BF0C0E3A8282C62A108AF1D652FD19092C2E4C4A192B8978408A4DDA61C1DB3E75C530180A06A7A00F35900240B5F3B08B26AA2F98ED8BF02518402922D65FA18C328C46ADA530D65EE538A41BAE9180B470B0C1626871010BDEBD3BDC068548DAACB1D236A8213CE80C9809EF97CFE2541D2FA81E394D3E04C2EFCFE119E3F6EE283CEB91E69EE419CFFAB0A676C4FBAD9E54C0FC7470169742B8D48D3A0BE3BD3E7FB3937D81A9DD2C1D8E50E580BD977C09ECFCA0356EDBCF68128F7B11375D4B9527335C78B78A506031E34CE6005548509E71682E5265B3100B340CF93E5E00DA36E6D605E81B7B552AF39A22ECDA9D1F89BA703738817BFD39449433DF7B54CC0538C09E74D10A0EA9A1AFCE62ED549F68EC75932A0613F7844BD7F22A25F6DAC2FC0F407A050BFE4D9A3E4B78FF481037BF58D65517C915783BA380D057A9E7EC27CEAAFE8B5EC1C2CAAAF31B8C3227CBA74AD40DE20291A70ECCD9C6CDC9F78E5AD7AA2713B8819366B957A8712345146A4E994F3842C4D2F6BEB60DF2277B2252643FD1479219409A0D4FA7D48766C5D9CBEE49EB4AF39AA8F2BA2DF91CA0B5602C2FD7E81EE0589785992CDC6CC5B1ECB02993DCDB4E813C28EF27EBB1C634392B1399385275035ECB243ACC30C29819A6DEBF50DAE174C6682A5E213F24BCBF655C9F05DE57CA6F796DBE4F14EA668611660F6D869995CA1978901DE47CCC89744FB69749AA80B64B45EA70AC8D3EF847429E0BAD300F1BF3E8B05F0D16B563DD6BDD53E2AEC9B072BD9D95B589B3C9D89D349AE0AAF451A39845135BF373E9DBA0F9605717967CDD7FB6A281B2B439FC0B5281009103D7CB346B782BA730285F1E476AC3AFD42B1F342BE481C0850E1071BA8B1CD307230ABC0F2C42B5B10964386206C0C5AAB7966F5508B40E94DB60AD2EDCB09460C225082F6D666B9A743CE0F3169BE5BB3F4D6B1F7C952D2B392A7697DC2AEEE9574EFDEC7C04F822B6ECEB35E048BF52F78959CA9AECAFBF118434668921866071C03BD5EDDD459818060B2C553FB06E9100B8628A60AA9224EBCAC19C1128C118407490B65052B0ECE42A457FD4ABDC46D178B2E39EA0E651F1263F8E327C434B8A00001BF63F09B29C012B46FC844B2A58F31955744C18418F87F55A044CEE0F7141031FD53539EACD262FB7E276D8E78044DB208CB48C8E1FD6503029D6D9CBB90EBCD46CCC6F3314A50900DB3818E0B71F30DE18A71D2D1670EB45694E8FD6270BF0FA579007B122F3C8A9E2A2FF0B1CBA7EB9AD00D7A9081365737D9227DC4FEBA3DA44349B36D9DEDEEF5126407BE469D7902BDFC2CAE5342FF2C6E08F01E31AD0221EE375F34BA9996FCBBDDE37052C540D930BF6200EC1BEB928E6E0724DA9AC2F5E46A839776B9C22FFD18CA4ED57D8A753DDAB90492F69C61CEC5FE7CB98405761CC8FDED3A7EA3F9B404F7888DBA587CDAB0B8E010EFCED257BE061AB37624F49147F93DEA6525E6BAC9E451D8E42FD4D0A1F2EE78A6BE05F6D84260556EB3A866C07CAD8F392ECDAF3186CEE5B5BA9A2E6B89672E9BB50DF578670932D5184198DA17838E4E406A19118A3DA4B38E5DE175357DB05C727E540AFBCF9337EF296F3B8264139C1F63E939C3A11A1908E1480A4111FE878D1B4E2B1FADB229A3DCB29446BD94C668229733F53D77C0A973A8ADE9371491BDB5F9173A7BBEA697DE673B61B38CB19F314155A3BC4D76328896DE544A080B181457C37F3407A9783AE032A3AA4940520CF7F1422CB61589785B321536E188111AE5AB03DECE8722838259C1C6EE9DBABC1545C22925FDCF5BA23DCB2A3D0A94B209923803FC6742BA1A782A75712BA6166C4241863A2AAD2DAF003611413CFBBCCF32F294A4270E56CC0C43D31B6E5BD84F0C5738B763F50C26EC2B0ACE1EB65E4B45E3CD03F522C37AF8EA2F36D409CA0B043FF79B46F2A3000699D6EA895FB63B8AA7253866EC7F03F27FBA170502B0C305842DD4E1E8F27B1C33F07426B5FAA301344994CCDF9F2204E974397DCF33F70E0D907402C76FC44BF207F61E83ED66A927E64909CEC0960820AC41AD3E7D242A0F08141C93CAE77D53639D659742A13B1167EAF36E061611BD17DDBEDD17AF9F7D8D513518880102E9A70FE4E2431FFE5B1EB4DE0CA1B7604D3CA4A4DDC11453487FB8A7310C49D635E7A52566535E51BCAB8FF17AE80F26349231626E46EA8EDC663830A4CC99DB003FB61BD7FBF27EAF02EBC85FF0C970B05D63DAD75A05FBF37D1158D20D549863DFE24458CF83A86D08CC6432EDFBFDCF0A4DF9650DAAF2741EDB5B946F877B772EA65BEE988AFE56D8D8725C7A0ACED8B5C85978D
"03F8CC6130ED179E4A9D0228DEFA9D47BD91AA9EAAA29451AAA2E59BE4FAD107B2B008B54EE519682A3FE240FA695175119EF91E53F353D900D3614A5F6E1E1D91235EF77AA20AB9F0F295602E78BDF7D30FEEF10E59EC87307C01EDFA38169BD035232AD185B20FE3668682EC27EA260FA5056311EB749AAF47E389E2F7A0C755817003FD873EADA62832384EB0813A56B2CDD64410B19690ACC5CC3E553A4F0F7FFC418A1C396F5D862B133545762F108C8A1F98AF8796380807D1EC1E1233F72AE49F1D0DBE591FD5DFB7E8C90E8649BA980798D28C1991D85DECBD4FE850BBEB14A4F2DD702D4F64031794B112ACDF33802DA00DA9961D0E9C7A996F288761898E14CDB5671F40847558AE2C9E5B3D83B829A5E7F5080246939F83A2E72FB0FE9B8C26539F98854EFBFD0FB006BBB5763CD5CCBC0C1DEF24FBF3DB5C82409294BB938C2C2FEA8CCC46C5F14A25CE0AB4DCEC08AED0A0BC7953BD71BFA8C85AC706855BF543EB5A95BA4819E4D3263B446ACCB06593695AD0B4A6A008E84C2B13A703872991FCD27B9BA1BD83AAAF8E5DA59771FA980783BA064689A007692CCD01FB2EFD1711E1585440C999B8342854D78507EF59E9DCB89501E2403988EDCC91ECFA57AE0E5876A1E0E1FBD30B92AB0427654816B50D332588A0F705ED628BF8D0E7E33D39A2AF07E2B617923C932F8D642F93239CF847BA2CBD4CB80A655945CBB52E0C0ECE22140E48D9A8FDB5DC03D4D304697A769557A014DBB63E5B17172D5AB1CFE9EC81FC36C9A92B4D0EBF2E438237DF58B1B946AC977385C05309ECD2CA5F2C2009296E6C0E4AE909C53899CF678B1BAB9508F64785845E7419271BFA87251A30CC7E48460DB2393D98C271C41F0A68FA6B8A02101DDCCF746C8C22B50492BDE6FD073C2DE2C6E73AFAC070C287285F718B847871BF7D0218812E5EAF98BFFD2F1ECE9C1DF3116993F8CF589C52D63041131A65056ED9940F90530063B7310137A04AD535D57991C4D147344A85154C42CBF7C0869C9638537A3D709D3675CF89A4D9C4C1FD8CE5E4490588439ED3C2281F954D70B758FDF698AE0F914AEB695BBDE3D16B6F2CC1214B2C770D966950C30E4B7E94DC8E9FF2F84DDF482D04E4EDD215190FD34EF3CA61D9E025379E995DDE7261638C1B8DBCEBA97C5B7B0E1A3DB58751D9796FB805E0FC08CDA7F17EC68B533106F666EA73962FDEBE3EB4C18C5A41981388E407B9B0049605731C61590A2FB2E3630DD3172E09B3B63EEA146B56CFD70AE5D07437D5451D0F4CE345BF773353FA8DB6DCEC4E72FF7281D4F928A05AEE0EE7FED15C97D42E00396F350519ED7528D83685242FA38A0616DF11BBAF2974BF8306BFEE629248B12BDF558EB16A21536CE21547A3CCEE60AFB81FA1C53747D63A083F72F8648C2CE7584A1B61954260BCCE7333E1B29EBD5D67F2DE4872411E25573A8E337D2D00DBAB720C42F5C12ED4006D121901C133A03852A0CC9B0641C403743A7AA0C478BE1699279E6E0C7046288183BE8E10DAD3BF86911081995661B3E47352A39EDAE031C0910987B69D7B1E314A49C9219D69C76DD3AA28CC826C841E69638DDC0707D925E49D94F2FF2193B2762AC6135454DD67F55A5C2704755624A470CF03D489CD39B36B4ACEE4D1D8D758A916CBB441D32AE64CC2B1B9EBACB16F0DF7D101690388016B00AAE801D76AE82328D13031C91F2EA6F1B588A976C81CCFF9BA22B5988A55A2D9812EB629F6CEB5A6B1E6E00F225DE2E43B875D097EFC2FAF8B3BE88AFF33B4E08762195E50A0D9BEA6939E669E012B7E23554BB09467546FE1CA2F61112C1B93EC285813009D9C2F14B375FAFA35F62A728A216944F088FAAF9D449365B34DD809998B379715ECD83FF68B20DDC7F3510AC6F07F229474CC59A4E5B9BD75C22434EDC1B1FA15941361BCF227A0201A2D6EB9D436449FDE71AC18134CC32D89F8980CBADF8974F1C8C1115C16C6762CB5B73D6168FC58538424ABD84D35E3DB5B79B9B9C446784944F55E21DA7B876F31D12DED0A9E3A0E8E8640D0A8F5C7CCE6597248348CD1816A674D7EC99AC796B39803C7E891586CBD466D695E65A82EE8FCC2481F1194F7E3159E0C3ED74B5B252D234BE2D7330A6227F265B17F8012169F3EABBD90895081B3ECC5042D42CE2D99BFE3F943CC69D800E85D344DFBC1880D6925D885C2D95898167DC38907C7766829C1B5A63DE2A3FD65306DCD49256880EE17CB9CDD011911AA81E78B7195F34EA01247E9CFA361885A9ACA40C4FC9A1909D3883462C072A4C28CC7DBD4BD068D3AB195051C7A1277B315B9A5B2D1B3A99118EA96DD5E67AAD4AC96FDCACF111307CF67E6CBDFF6A5EF2E1AD47AFAB68BB582244232DC1E671FA50C420AD6C2F0AB56BCBF8562BCBD4630E381DDB7D158BBE4DE72764895C12D25508901DCB6800844F678FACA41044F991F9A2A7F9E40B0859F1F796FC96ED6F1213E7540FB133B311D7ACF837919B737A566B7B10CBA678AA7689EE963DD5278198F2FF3D7069A355389D12BF1392E15B5269ACA4E60C4E7327042E04FAA9D70DC794809D3218DD936384F1EE9DCB1AA888CC102EE9C5F218B7208AB28F0FD2841121ADC4FED0297CF8CF02E52D58E45D973EA37AFECB5F2A379DF8972377266A910B53F10F53CD120DFD45C952DA4FDD7E44D0BFDFB8630F523A68A754875A9CD8B62A0FB0E2EAEE5AB4EA896D3A12F0EB3B8E66B698DA9AC7F79",
"03F8CC6130ED179E4A9D0228DEFA9D47BD91AA9EAAA29451AAA2E59BE4FAD1079A9197A37AD147E0B3E3642F470C202E633422094E835D941BDE513A438C9110EE363186C17923325A165D3316A4F64DB640B4A9D582978CE727A89DB79BAEAB894660231EF6CEC489BC91523A3ACA84BE763FD334D2C1169DC451742595925D43388443140326663715666055632473522417837556008334418088103577336183581887340381670230722135510578805781422623204711243344528053337174760025817517007251632307470252485283717103553508854452068564042351056228531317862537464363037234033455035207614357440680754057217786545768466718031830332054575658736663862563800600501824378638565430178230641440886370770085623217711323721822730278301611226266500148378654221651153167122724000088813822357377518456145024387676521215466624122103057335200462541522116712522388047434336446766137625448258210350110761404845410825770126633026850420755608823414224241855187028070477871153464161806134472010104278083034441255755883843513650158085350580015817572444402406844453407007816315021372783360360068433311067475603865024113666862238538587886575763641058538424317066767726370433580405643867541373124373026801483663573203062468427646015738722060064133317407537678121546183308228221070607477820266426225777511827707735276141634108470540401107320473133406752062807478662544164525234143781272500361127002254824463164518638631104423017831347817532773163065882333264721141510302261735876773604433352300760800187024855808331164086026407172570044285044256244831248354186084533472157414534171162201680667263441086865031636286434021814435207148078788078441787868348504134621852834188344364660481685820412781318534835233457586218330430112635462557577836367004168024167627437616717287471234200827658186445852322847338200765604837656453472142371184734601655008404118857736577888867500501232718267526825075158351653314630621008220684830006675588862037515103644072230165017655778618332158766237637647614812451003631628304633003071150136156638114013300787816764042256530063263670854266612050028276818884771776416668272411707888054447405236773817758110018523202357170106475857840120243064736608427267045844216555661686823230848264027308430054082421464000714607726803304310583456504105203734534102872856608470570540774324401021238421480051227305335560070841883373686780187623202564242528366620326260583824771406481871761115381886315888522840447311216158462707343040756835134433726171723484361248888608158536004167868047317357300542111545480473466336463045876324584717774436553388338537217337806838828462435781083234543121405371134801180727464047726618318051118145385407061816134840614667257205767768256582418117000325682266751147321513448508535087015015744043608885211380017013276188728871487178281518323606581124285142333227188183426254554358466213532700134113036380220736352367253302052184120705367880801781537267557701305847175007273081183363182268564681263023174227773807520162437002508347565452510253275581200146636001457373006618525004838310234702275308210400505632111820355863808486478886836403345233010871762245423766018302107617553040165133148785361044174075661508211455331307886650615335248743CD3EC9056FADD467627795BDEE1E4E0DFC0B69E1D58B9AA259E0A957274FCFB763A06B09C7BB6B548C64093675580704058D510090ED5A5B1FC74A1B081AE88D6EA4D5E2AD3D93961AF847A1C6DE32EE4BD6443FA36D2DAAA080397A61A6FAF55E9ECAF197A51E3608F7B19A37E5E530436E41B027B9C5660DF9AE33432A823121D805AF506445E5C89CEC89E8FC0256D7047FF53379F98F07B250EB177A3D6B3E04CB27B7EC961C6285CAA5267E83372E487DAE289F255E55E510957DB111382F30586282C00D0020F6B591C616D68480FAB6C8A28E723949A7F6E651E445CC2D238ADBB20FFC9BA402B1B38D495CF8F4F19FA5C21C32AE7B253D9604CB81E06370F309DD5AAE2D5A22149A6FA22A027905F1A08CDBB02235DC08EAB172A9BD02454485272DAF3BB103EEBA166F66F3359B0F5FB24AB2C89210284AECD83A15E5D94835F1A9FDDDCBAB682570740E000858A53EAF7B56B2E5EDBAEC87E4BAC2CADD22231F757A66C7A1F5CD8398D52A4792B3F545DFDBEC04DB03676AA0D870189042F3544D4A6EE94F85A4972C97F6616D9115970E3CC540E7ECED4517532E8A90B55D8F274A687F28386032E8E9C17B6B81DCFD06B8BC69FA9DE5AF5277380068F1D81BC8720EEE08F2C38E94041D3A8BEDB6714842F5473BFEA557D579D93DF809088490D2CFA9841AD49E4DAD7DE7D1B3C12FCCF792DAB35FE6F122
"F85270928200179CE0F74E1DFA37C73505596B3058EBEAEEB35628AD467D1448CAC398360ACB4A4537088A2D633AEABEA7E2C84CFD5F7F91897A5ECD454FA46A25B158E5F66F17CDA56990D87D746811246EFCEBE839FA22A88EA52199F0AEC8E007A1CC4C0E2CA3CDB086F782281F2F9CF7BD",
OIDDigestAlgorithmSHA512,
"BF6058DD24D35E699A32C9B4454AF1C5E574CCE46708CAB26057D24579378C53C60DC5CB223172D4B82F91B7C6FBE2F4BFF25E10CCD7BE8B708173A85ACD44C2F9A2E3A68A74496C6060942780C0671AF842BEA1E47F639ACFE44D1D7064C4DCE0815A79D004D59495586463484FC5DD4700E28464899901C89749F8BD14A8353255320645F20FAAC1E7B834BA3D556E0E8C3A9149AAD5096B70BB3F48F2862487D4C5CAB6F49542A95FB2ECCC41DC8AFB2078B7E7043CAEFEE09CD34D1CA6CE52ED9E9567FC2177764C822A9DD341DB428BE19F817665AD33DDA8587616842B3C67949C2758ADEA92CA5D7C67251BF1C9CCF014A2AAEBA3FFB432B246FB1CBC8CDDB8FB27869679D24DF9305BDB4966FD99EEFE46F47D842349D69DFE955A2776D0219BA91D13C2CAA8E48AD74DD5A3AFBEC209A893622C85E109AFC00C7FC84C8D15DC4063D20C46817FBE2EF01BBF6C15362830DAAE5BEE66AEC6C7B39EC5B9D3A1B86934589E49B4CF613EAB5DAD03FF1393965C1698716114A511074E46F3B2CAD6588B26F713ABF6017D0A869B65A7E9CD10D3DA5CF0A6A935DCDE64500B827F10044182AC27E6ACA12F53D5A190119485C31D95AF740AA2413BE646EF1F1CF4087EA760E8A024722FCBA63B29C47D2B0E89D0ABA72D07D69F5B8E1C480A742BFB97B27C2BA75F0E5821CA25D618C28FBDDB3DEB757413578608A0D6E22EB5770126DA092F34C16F3F731EB1313AE2699FF5BC632287C181063BEADA019DA2A429992F5181B8EEC988DC3C5706BEDF103C2A1882A6D522A6C0A738B728BD9865AFAC1FA645A9302E708149073CCC9D6FE281682CB4DD916A7EE8AB6CC6456553FA259C4F3DF9BA009F2541CBEBF33A448DD050EFD8A9324CEF24DE909D76EA6D82348EAE269FD389CD3A7448F64EFADEAD9412D91D63F9162E207EBE54F8885012201DEA6C1B89696126AEE9A53485269E01A66B6B3EF1CE02F73492AF0D359940DFA89E2B4B7427D67100407EF6C71E6E503B2E692852E48CB5725A224C5A8C7A8F5706FE3E4C58FE2C4EAEC4B6C281912DAD702CB7978CD9C0F9C80A29FB3953166A4DF042422970F014BB4F5BC4E5E494AF76855A756C862DA8C834E2F80E22D011BB291A7C1EFE747EDFDC96D91DA484AED32CB52B3219C052D5D8027A0D6EC2B714741FE3A861F4B3C1836F33B74A55624D9F4A0DE6377662B04E545560141443883B1639EFA1563515442BAB884C726F78A103D1B4BE733EBE59BBF1956CE382F444D37310F6A91FAB7C0C6410C4086DDB5D8626E780A22D9A9E9951A86CF17442BBDE91C5D52AF652F46220639E73BC57672E838AD4CDDC07B346F4179DFA98068590322271CDE2E3C2B53291048082B0DFC320E7F33F002C366E43E9DE238179CFFF4251226E59FB033F057D8B8F7040AF3F06BAA3CE5560668696851682433393F807CFEB846582038097490893B9C252BE1B0BAA384A8A574507D3E749BBB87D1951748DC8037A2A9CF6A4E3F953CE13A06AD51618C83B640588B728FD7D99F406796B948F546D5ACC22292A58AE6E6F0B6B6871339E23E674A71CB6A5E417DF3AD21C8C3507BA29832E922F4EC818709C6AFE9C2AD9233FDC34126DF6CD12F1DA574BB96AE612171CF9AB8BA88033E46E37698268CECDFFFBE0813DA280F718B8188A0EA3CF565B985ADD334C8559359F57FFA3ED91E3AFFE57B48EA143F0AA63092F25AC41C6E46CA651256F5329EF0DC5909521B7F92C150DB17C75FF3A68F12DAD41F4815389AF8306709464B81CED5D384E21797C83B2D00517E42D463213E53E03346F75C82DA1B7654C0D0B6D99DF1156E1B2DFF19653855B9E14F598D7475D6BA656E6E39516EF8C583305CE1C0A3D48F8DD9A305E46EDD25BC84CD7509D8F7BF81A3AAE02C610FABD813FDBDC58BF07725BA917D10C7D296D1E8DAFB6450F9C45840BBD447288D2DCF796F30C688176EE191A47BBCBE9CBB44EED789BA7FC8CDF21370A166B3C331034A5B182C5969C1E32FC9F44CE29108D89EB805131D7315CCDCCD8066FA29C0BB9B785BAE0037A590B6A52E28FCA271B1CE79966745804ECE2F84638A4208344B9A5F4A67D05B5CC38521534B84135B5F0FF320A4C74022F9E04323A0FFAB19135528F6609C7C8D7A3232CF09C13A9CAE018274B875EEC477141A6F54A27C82C149AD9E1CCA90A998A0FECCFBF850D64D86C4ECCFAEBD55613B7E1E41B2FBF3D1F088B63E7BA8C99399DB8E8F4B103DB3594913D30390C456257DB6265887636A1E8F32E417A6DD53D85336F59FD9922A3FFE9BE7AE3989B9858766224B1439A1E1FF223E33EC48134EEDBF9510BE48969A1322B1F7FF1ACEC8604E3E93CDE4AC97DEF1D394FFED223BE627878A1EF841AAE4D467419E516CB8A0E939E66DC07B57A829F646EA4FBF6E65546EBAACE1E7CDA44A4C96EF50E5D9C2D93E458A556C1329AB380F268733009E6542E55AEBACB33B9DCAAEE464D25379B9E1792C1132A34318C2E81F103373792D65192B22A6B7890E5CF40E7410846184E298E9CB832B8F357EE13DDBA8A9DD3AC3F7F7318B9C41EEA3841533D8A1FEFCBE7C0889B71516E7A874B636AA75AF6DE6D0D3E760D48EAD8D1FE8AED94B60B2EBAA54C04F1520191BB16784B84E8F933B5B6AE52DC61BDC9BC9B560776EED58D59CAB380F5A8CF325A23E5E05088D04256E2199FF5AD14BCA9296CCA833ED9FFC1CABA80A1C26F1C04A5C0F4A469B904D5D262CBCC31733E8FDE5762134CFD1C0E586995483BE26527960A5545DE9CF19A5D890239FA7C3EDFB459BBE375044D46DB294E8D8DB48B60499819F48FE37FBEA7C03C8EF5FCE475E768B55876B54E68088AB1052E7804BFA800A9CC
},
{
"9DF847941D21413391741DE8A652B4C2D6CEE03A870448449C697A8DAF14BD359D539CBD86DE9094E80EC4DE24B857D78FEE6AE57B87173AB5CE72AEB62942565341A0FE2A44B041B35BC29F3EFE120E1831B7F26B10763E51C701371F44F0AAAD03DD36C66F0846E0D6F6F1C56801B70592F3A6D4F05A3077676E338A9117AA4C88083FB618A00BD78BE2C541EEA5BFFA8CC937EF3C32B643934F677BE0D1C39B38DF6B28FB44CFC9E3E306A69DC4C6CEE9135C54B2E32CF3303BFAE76AEEBA92886206B574A80DE81EE9D26926E67E8D36D1699B634BFD3E95E0D0092CEDB3B54C2D8C1C52FDA053AEC0A0B021C1D3004426D41DA407BF147E58B314FBBCA8BE9AF42BFAE7C3B40BEE0EA223607C9748F5CCC5D5AB4DAA782773DF07098F6151E3002DB90AC9CD0AFC806A4E7FE7885E5FBCA45D0D8CBFC7AE35C3B4CDB08C595C220AE8DAF7049929D2616A1558AEEB28ACB895E8BD73EEE908B10F62F7DC5DEB7FA72DD2B00B18518C1B817AA8CF5F4425ACAA0E77D90350DD99E50F56254454DB13E4B7F311D457C60DC1C1C4CB83EDC065883C3039FF645F20E48562DE5F4EDC45452CBD1FAAAEE8DB48763D6271C11E47EEB57321992140A2D79DBFBC320F84FF24358CA235AF1BFC5DCA5A3F0736BEA34194EEE34D017BD2CEF3CEC6AA46A5A3B64499306460DCDC98C12314F40E95A6636902D7B23A44BE65F102118BB4BD81DE4E4E9CDD220C446BA01D91C0E1C4D1045A7A67C784F204E1775271A4487DB652E3F5B8DF9A01DDD0C95CA43F2536B863A659086A1064D4072E36DE00DD0EC8455DB7F69928775E63E5772B59F9331856524FB210C2130AD98FE057F864C348F5B59E723E8C0BB25969CA7E1A3E63E8862F43C325037DE3CFF682A4DAD1C82E64926ABDE1B948991674B68DA5E3005C33BB28C19227DA60727F2B862521270FF770621B9A97A3AEF0D5EAFF64EF63FB7DA7C501E0BF9EC6AD04548568396E00741A7D08DF7D04F9BD098131ED8865C70593C094229B2A747942999E9160B87106D888C9B7688F3D3CE79D0A34170947A3E6E620AB75D9FCE334706FBB40E15B14B548F7CF08ADEBB46B0AFB980DA9E9B254DF72BBCC274FCF57D2645344A846E33618DD01BB9C8258A1EDD2C5A954B598C4B36387C4912C934AB26B8B068DA13ECFA4ECC342AE66B866374DF9BA9982C25D6AE0E5E6168723DB1FB02154E990EFE68D5F2B161303A5994A9D4CB408B3FAD4C074967C88CB2FCF03D64553FF03038301016E945682D2005D6EB2455726B265032157EC14F1E8FBF38199E5040207FCE2A3DBBA18FDF51761AA6D70C722519DBC49550700E627DDBC86924B9A33ABCADE7968A8C46EAE592857D23CCEA48286CD3419B0CCE6764B4C9F29C6571E6F34E63C144AA81ED2D5F922ED7731747CE54DE9690A679206F3C411C69643A87B16CF04B04A8AD06F363F8042D3D93A5C13356D6FD2343E3897869F1A185411553CF5C7B28E87B152BCBC9E49A02A8D92DE291BA799E471DD819237FCDD8C2BD488216D606B19862FDD06544412C0CBCF837CA643299A77A95632CB14B68F591000B0096BF9100E846D4541108EC7104CA6EE8B369D2B84928C66717A9EF3741F17E20C220C72BD0FB2446FAE2C0410C8AC69082BAE71F30CD215DDB71FC1C9DDF36E149E90BCB5AE1939A8913857A86A1D913B67D1688D2C819CDFC120D7485BD5A705D46E2D59E8D0D9933B9E74A8B1D7FE8E681C9F85F94383CCE9A58588AC754605E0087F69ABFA58065661D0B04D858447A984BEA1DB880E54D7D95340D72FF50C4EC22E351EA71227BE7A0D08985BA53DE55DB7A18195C80E3E9E11BD2116816369690CF3C369A461254036A4974CF3E997755759935E755AB6F29FC3093867F51FA4558B443DB33CB64B00F7EF7E00DD621AF6880BA007BEF4503176A65BAC26372623972A55038DFE62F99B1D69ABE768451EB55E9F1B423C7FE048CAB19FB0E61E619B66692281D0552827E3443ED499FB28450B924599C289014DD6D3E2268ADCDF5C3E44E3908B2A48A438DDCB3DCDB61BADD72A8DC57BA0DF49FAAEAB18F96005AE820B8BB5A900709857C139A1D2FCFB82EBDC87908B6168CAF98C91FBC3A065727F9E3AC83807895FBA1826E36AD9D68BA96FB85FD3854DBCD4C4BD335F2AB17EA4A37BA987A4F1A43B5A16D81D3C8EB6C0F026741E0A16FB48C26D2AACC5B9D0F14320F890967BCFE3D669E981957E42EE69F818FBA2C1C59C0B400374D57BA443976D9B7F7D1FB9082117E0D0B20788C5E1FF276AFD675FDFA075",
"65E032E5D3B212FE3DC53C2AF13B5C5C30AE2888E585BF7E7EEC91AF1DABAAA51018720DB0ECE7CAD867F08B6607D26F209245C0059D57BF8AE04F664159AE79C933D06883D9FE34EEC262A1A534D233468853EDA3862FBBD40836BF94F776AE8757474BE6E95E7D4E2F182C9570153B2D8CBCC5F1860015478C5B999A0F2696D31D372D38BAEB79128C92D67B01FD46A0180A51B8D967CD140105FD9D19E58ECD35C3401D1822A80172FD05FEDB3779B85C7447BAEB0347A2FEEE6F2D70580346AE1D39324D14ADC65DD3278B498D38B69692B4BEC47F248F55D3A3A84E57B355E37A6C46F9F2888E4FBB3C42F6E74FD1C80168D86932B885DE91D98568D8E8487D67D0083186C2E252446A2EF7178903D3620CE78A30AE8A8495428D227A73C9EBA4099DF9ECB4B466DD6ED1DEDD185620D5D6C2C1A55717386649A63AB1683B6AA7545B54F6DA17F6C60D7AF440AEF756470DC3F2187CE27C2BC279AAC0AB274FA922A2DFE014C62EA494A77B6E76C3989F17877A95C37CDD2AC13A5DE6ACC20BCA3155C748871DF270AD8B3BD6E841DC96F66FAA689A3EE87669DBD27B371C8EEF824A57625F4B6569A22566F58DF40D27B6AEBE2ACDE25D1D15B9963432292321386FD317C3921EFC379AA0E29D36B12C839708CC36DE98F480D53082F80E0F66F1E0A037BAAA08366B9AD02FC076B385D1D1B1A235C9DF39CACC0E4C4B93E78E05A583BC8591F0A74B9B05B8DCC98FAE235E8A6B03215E3CBF8519EDFC66B288C8EF257BEE1D1D373F44198913E41F415DD5B724B428348B811FCB2BB0CECF37367185D51D8CF147E07C1FEF69FAF4C42E3CB63B938E42A28E9268A83E5FF7D7E8793CF144ACBDF04908DEFCE7C5D8DD3EFA6DCE96712482E5D1ABEA5D4D5AC314404BD2E08FED29B5430A765E1398050A6CA0C58A152CC137441CE6D3627CD7EF6F2FB3C240328BDC16E1E22F84913CEAE899B6B9B66737EFFDA010F003C41C7131CDACA9604AA3C22B2E369AA30F3E8A2598B05F28BC18BCFA0AEFE7237EC115EC27F8EE9F82ED311AFEA3CF771CC044AB2608F2272DA437A7D754BC227D227FC7E805B2DA5E8417D2379A440EFA75306C3B0BB158B93292F89422994033581062C9DCE34C65B5E4FDBFDE14C27C4A8F23045B9F3887BA1FD134817CFD0A3C282E84C52111F6F4E8EA9A19853EE2D4249829F411DABE2B44F9F73D7FF7ADFE5A5C57688C6369758D872D4FF8AF697529A4DA78C7BE8826FC98D9765784B54AD704EA915307470BD515D4AE503F221E0B9F30991DE3309724BA57A3D535F1B610DD30B40885F371C1EEF47811F55E81346BF26BD302216D6F111FFC72A3B9616B32F16E051B8E84EDCF5369FF766A978E8AE273E754B6D91E0330677B87F2A8EB398D0DC3C24882F093B1CF5756D54B0478D7AED58C71E5A0DCAAFA49EAB818B6A6478F6A75B9250359571562700F407236A3C04D96A857C9FA551769BB5161966647D5576BA167C810017019B2A690A982C45184BA9451E257D9EC4237B6603655E8821302BBAA78E4CA0E3D8BAB7B02262AAB60AE61FE333DD31B4ED892BDAA784B11200837011D72298B96F4DAD5BA1A5D9FA82103BD6D7CD3DF645FA7B8D49B8315820E22B03DE501B07CC0396C810C24A29234957E4393A1869939C0E49B9523DFEB94DC0CFE8DC47B64C02BDA86407827AB62751E5188860AE85E3950CEFACD7E9CE527F288F4B8E5F82A510A7B2344D5550944D81C74A90486FB4A2E39A3B7196E08B74EB356C4558BF7382B17E6263BC4E23E89EE8ABB1BB83051BF58F68DBE48155662C396A0A02F4369652A2B7D241ED3B581C9AE7ED56F4D897E68F094873CB75E45A1470DF7EB9BD412E67D962C355DAB8972864CBEBE8D62F0496935A94BF707ACA0EDA1374B2FA6BD5A42F9D5FD6A024A77A8756D2A3F8782504F23BAD5E95C39C053DA0BA6D074093DA75CDAC65CC3C57B79E312CC7C2267DCF1414334248B8288E1FCD89C83D3FD01F4AFF09DDA7CC3458ABEC8B008C993A9ED804532A589B457A5238B2CC172462C1EC0FBC3364C12BAEB48AE19110F82913EAC62E0779DCC2F9966EED480F11AACBD74468BC495267A846675E0C765E21997C687ED07E28225CAEECB2CBA5ABF4FD2C7A622BEFC039200B17CED57771DF41875F62805C5F5123A793DBF29BD21C4938EF474C7F4E16FE7BB107A3F5C1132601D75429C4E36653BBB9F7CA130A51BBA6D42D7D660E4F4A0AF93C9F06AB5C83087512CA0AC3D67FA3A20B447EDE18FFD473B9BC2B3B66598981DEA07E90C799793AAA82E2899797510B4355186702883798D32BACC2A75F6B19A87689BF5666D188C853641C94BE80C23D59269FA0C1052B4E0C2A774536099F6F274F6C36FD37F231584680B4539B3B0887E83970DEF429410002B7056ED41BE37EB5AE03C3F6710104930FA4EEDEC4100F3EDA6AE3632D3FBAB0BB0F56FD69C58AFFC0A7804DF456D74C6FCD2038C64EB4DC2E2E2FE641E660BF772271A9AD84D80D3BB226B2862D1114D65C43582744EF1CEB816FEF6DCF8F787341B66F348B34441CEA5398C8D55C3ABE391CA5B297E0BABA1946A16DED1129CE535424FC39375BBC72BFEEF2066C59D0117DAC0FB1E5B132CBBD5C7EEC1A70143D678B1BC3254D5EFE4924057D397163FBBF80A3A9D7816F9AAA9CD5336238FA5C7AFEDAB8F4A70FD8FB53D3D7F4D3FE3A9FA4A798060F37C05721F6969FF69A8BF8E141930",
"65E032E5D3B212FE3DC53C2AF13B5C5C30AE2888E585BF7E7EEC91AF1DABAAA513FB80032B750BF88E5BCBEDA1ECF94DB0F60343927BC52B5D1FA30E171E0F62A8AC5A675F07DE194B8D5092114282EDC1CD8EE34760A7C3ED38078230D357D0B6C64B6139BC6F606232716432758295731FA15E1F54C41B1D9B96651FB703E8126765801582232037413263535483261381563486000838162516343675074052236718121871713322307331710333680702620513176484020772428125400000485623110435280382535302288518657356518073667518401430812676152610743537647182853725321588825637355408064017535180357261543710453267442787256342860748504674615210428385854634481531276845004558602538052710456805802867530874703848534447050316472340070354743784322128200827016200007065375027475326042341742628776770223826107771507457617887748111724135034853058403563685086754286320588663558336414718711480334237575580681841061435036726324772653261474786873865307425277510423023858112487821567174740577737802221774271204534777782757324103355464571360265170514051552266308518320702682235363870828623210500613550577580476833543331870085067151237835708040873618423465005523675485856178456614533873322326644766483226137055162057804186024657041307468741264117543412861507870516074146856410623084833535585052682405821870776318806446467242865414703713328535340415582824336077876130621148551754826365305225557741108878107370461612311542745705615357384804812870207000671814345074727062503830861488858272178652784207672737268534200046605782858520736173285324871326668324370836241265563453310825761816362705878154304747618282246501421231042485570082766416731120305284528736787013080457602741081111742418384128233862571317113311658812513130385882484202807151842637515512822355084538810183413140270617382612481331658718015216035652883854851573074718455203807283243316861014626626477606743347563306533707158112712687341723322551138861466725158304275824013510066531620560888271064623502012016014064078354477544643671344275370568232824161364507415838406575862688306238648422613065242750711144385883721747307237484406786402813224132544334717866700156534567814137517472815886010530676417225883320135250353366772462013326278576547417240313180123838103538507074735847772053568502614810884102726863734468717425456053048848582770541301237203453215126630201566457560247374145111243311513445752085564854031252185527603730125621457552186052114508840146372070533172717352741212413025065333812312262371071206333015800837501605554737158430882114611384365225561814518511365834553164674317388458400116541563233323420267084873606407133114765137041231825652324281612236131403361847373763468672254875232013754255350700771558522442136856833612082561436534127257060223543373187251568514875846865643347203301247645005507580574783781345252772487138361350702024222513260573878233723307523033761443425182706058223456545572748067651340674185372684255301061501432131006487376014135426770740850184387167282831716522616424261431700888147812612551084878835436778825852468586026684657750702632858072024882573342662254855323263731826542874553553628755882630314248631566555334710507204134472185054511764177662328634234876001378564235830073901A273E5B270CE45B768D43CCCD5603CEF458737601B2517FDBF047CD6B7ACAD51E283D2A4EC9F60605E50DCCBF47C9F3D9ABF62A70E0C23617FDF2B2AF5EC745589499B943CEA9CD293DA1DEF6AE5E890953AF28EA1A42BA1C22171CBC4D8F4D7C8F6C6155ECF69E4D5D33D6EB6A08995537F1BB6171526647870B4CD1686CADD97D17E69100B1DB06B06CBA5EA175665B5E5260C26AF91F6BBFF2E4833E23BEB000179B0544EFBFB0514B04E869E919947C794884E50A04FB82F75D04A9B0D011D93BAA48686B21364777FE69292718A95AB690FFE9045E627973485ABA5D689DFBE6E0A396F76835D1F782727717D077CB7A4F48DE0176FD23BB200B0BC8EA0FFE047CF2CAA605C8BA18F35A07909FE77C912BC0C7FFCB7CF9BDA4FFF018611D5AF5626683FA16A9D6F6B369F21D22B497EEE9B0E2E5B090D03664181C3831C9F490A4DC52C6CBECC4571FA420627FFA851634E44EE363493648A78272EF8FA691BB8CDCD45A95451E98CD3F7D0D4C0056238613DC2DDB7BADC73C0C3134DA7ACF06F38A7EE619EA191E73BBC73C019064442F50E424776DD7F92FA7A070FEB647EC1A7C4EF0A82202AE8ECC88B0FA615A16FE55E43D4B4487DFAEEFD156C6A02DE82D8DDEEE69182D232A924473083A656F67F118FE3032C2CFFDDA731D8DB3A8193C68611F823F56DF0EB31683488942A529EC737AB833CCC8
"B78AC0E1EF57522AFA405508C64DF44B5540A0FC29E0FE7BFAA7E5091B1F79BCD6FC4CFE0B2F2DD588C7BA21FDAD8168A26B7BF2E7FBCF0488CB101D2CDBF1B46152B547B697B6D03387F7F9E487460AC411E40DD4DA0E8B440295C2FF615C7FC19EA843B7467A87784FCDF58713061D8D107E895BB2530A966C8E301E2F20007D7E0CEAA5D41A429B40C027E5A4F8D232B3F12061DAFECD884E18D28915C73977B2997FE538D17F30E0635980DC58AE3F1745E56898B317FEF22276534B22FE9941043D5237E978985AB814F1FCC0ABC46C1DAB13607A7BF0ECB7CFB069DAE9F4545641881D1A5CC35945E213",
OIDDigestAlgorithmSHA3_256,
"93167A8D88CC422C7D5BE694CC5178149D8AA9A28897A65FEC37E95BC5E83673A4636966F3996FAC962D1FBA9698E8598E17FEF98CFF58BA0BF2863CA8DA1A4862E92FF14C103C79A960DFD88A6EB9F45FD600EB3152ADB9BE4FE84EC9B96AFDE4271A8AEF6BC5F4C99E36DBE1F253428EA1D822DEA69B4486A6E5966F7564AF9864762252E5F425A854FB1BA7C9AF01F5FBEC0E24A40706EB06E68DBF9982D04FD42EFB2C598FB8738C5C6ED2146CB3EF4CB73264C1561D8EFAFCC69175A293BF5C6B0590F362A4806444EFE13472A976F34246AEC031A94E99A7DADE13C47DA1B39AFBD9330439883B741EA85E03F96630C93828A193F88098CAF64146818712D84BE627283C4A7C58E6A050D40F208C5BAA0B6FCF14B65720237B6E79E7EB9DB1FEFCC423056ED087C4C159241CDE2299DBAB11E19E5F6A45E21B71B1B2F3A74B6C377524FDF692E15F17CA9055C618AF283DAF3CA21E42971C1AF0748B8CBB60D2C36BA77F4230C2B452035A94083FCD7795245F7E8B118FCA72C7518ED8294743459CC8C3A446703029642AA8A6B5BAF329D8F2B858301B378FD78AFA2D40B1A44B69A35007F1FFD4A5CA48035B145AD46488B07445C85CE39F994846FD168C13C801DE09B03C57CEC46BAD5E24C4DA0EC92E9DCE81BACBE027C665929C3C2C08CBFCF4CB0E86131A54F5F40D9CA1775171F7334FBF435133A14AF75A3337D5AC88FA38DE5A4257D0549C405BEFFF32155AECC06718ED4BEB3BF6AB5C89D572A9B96DAC72FFE12277EFDD392B4267944FDE7CA3B70B3F979F330E8B41FC9AE221A8000754C571B2FC6AFA81EB8C6C283917D28F38BAE951012252F41ADAA82EB044095F24EF5F1E7E3BA837714868C01E71617FD0F34D04ADDD27C78D5288D3D27A5D2FB5ED305DAE7C2148769B7FC01D1432A62210912FBE0A3FAEBB06D7FE165E011C991A38B7FFF7B1EEB29156C30C2A83A1E1BB7251097E45EDF947F38FA48D60D6FB10BF51CE325590FCE17D5EEEF8B6F882E87F8CA1087345768543637A687C523A936173C316B7D55F046ABB693E636994E10CE8BBB46943F094181AD5506D35DCC65A7739370223E92C2AF50F45C74C2FEC22E930760F82BD31A6F4D2CA4114B0CC02AAEBF63DB51BA09EE50F318FD5D3B8DF4DCECAB4A277EA4C93CD2CB29BA55E927C4E6FBF71833A661EE478A1C05CF9E04972331690158431486789659C4A8F8CF1182F92B45914F32DE606AB99863E4CB09CDA964FC9857D7F9D053673228C5B435451049B420C6B0A7B229C687831D89B09F08586286C097591449C43FA3291CA50352E6A028038293066EF9C2456BCF2A30DED1416762A4FF5A57C3BAD254B2996BA0DA9AF18D679CEFBA9CCA55CA0EAE864153A84FB24AC18DD41A6A913E584D67A01105C1EDA5DACD0011750FA33DE1DF85105C9339C97E305F73E55DC78BE678142800E126F29893F8451C706C553E680C4C25D779580F93B42BE3DDF1DB2BAF0219B2E3AACCC91AC5D1943FC09E0B638530EEE3B4D3F455A5C122DA156D3C2138B692A4E7E6926EB2714FB5A6994A74B399DB547D9DA692A353999E352B7D42782EC7DFC92E75069C3118775C1979CA777FA98EF0623486DCECE0B1DAA3D8CE4F813EDEBDB56871C7392329C15E8901C04FB84693BEC5781DD29C82318C32EEFF94030B584C21EB6CEC08435A9D1354F015703E9CAA40A7499033A3694D6ED6EE676615896796CAB465CF0E9D95E4C80F9BF6725A589D1FE6C0F2B9373EA8BDF0A79238FE58660E11EB5503C595F0AC436CCCA590FE5CAEF6D7B5AC9A4C3F7985D6D9973249439B33386A822F114CAB3ACD5042D226CFA76B74312F3E90D9F1EEB2695409F83C255AA99820D4F59941762A3DA12E37B0844551E59AC6844A1716A7D9C35D6856C37FE97DF627EFA05D81F3B42A61AFBEAFD62F4CAA6795A4F776D7F454E6789E3BEFFF8F350E9C15B0AC5BB9D502C2F9A127EA2E889547F911DA4265AB4CC0E4DE32ADB83A0C0227CDC2D25AE249309C1BFBBCC3DD0E270B2331AE45DEAAFC6F2769C264CCD03EF30CC4CE2EF1153FC5123CF2DF7418B16A859A06D1C2F6209E6C3CA8FA1E70C96251726F3AA18BE62E0956D0CF38F87C61341DFF322E1FE83ED3A879A2FD95B7EF835E27CBCA76B8365D81F5F56E5648C76696BEAC0A0ABC79F02CFFA7B99BFF57215C5398684409B3C6754864BC21C64862312C44F5E5E322951FB5AD0F18A045033F451AF46FC60C2094572A5C031C84BEFAC874B6DB865454BFBB50577119DA16A50D2D33044E47936C00939B385EE4D2C2798A6274633949E3B0E5FA758677E7E94EC21191FE427B3CDAD2EA9FF19A66A4B812BC038EA29B899EA15FCB6A8921EF75D6F86E119F062EFD0F01C16C4FB1F0108B42ED718E3E25841C7C16B9C74C06E3B0625DDA4CB65220F753A3C73A504CB8A48DAEFAF3D11CFEF30816B3122B8062E2D84E9E0E360364A9784BE186E34BEBA73973585BF73E13A88D99A0C89A5B5CE8032A18FC49D8449BD1D9DC1A17B8456A8C25685470E9B313AB2D3E31EE420CCBEA6633E2B52BEAC849DF7473792327DF1B973BEBC088C78C61053946A86885A98FFCD7F483FAFFA2FEA134ACEEF24EF4B55962EB68D18380C9B5F44A247548B72F3B34C3B4FF9F8D529B9B7F8B0A11775AD07E009A62B7D9A76ABC62476C920579EA534CFB94A060BD0FF93D20C014D0118E1ECA5E854C59D0915599272AB333AD24588CC6345FF80ADDC655DB4D513776676EE2F6E9ED3CB98111A234896ACBA823AB5E03EE5EF2490DDE53AB6E230E8920C2A5A6BB9F998BD131B5E18EA201AB424E7F0FE8AE2A323A54267FC1241B648D096FCAFACD766B204E9D71F9CCE
},
{
"2299E02FA98D66CF6EFCA15FA944DBBF4A411776ABEBDF148DE895691C1F4A452ECDBDC3B6ED5474FB53EA2F7BF7FEC9CCEEEBCFBFB3CDE05C971DFD026223582B1C57A70DA7AE3510D62A79CB3BABABE697CB407776618575CB6A6523644B26CCB56A26A2E461982F6346213943ABC7FC41624D88F00E9642FA8C6F3FDD9856F764BC7602A7EC48E55430860DA480023AAA42BCBA428A892C6DCE8F2C46EC5FE953C5BA45E5713FFD1D90137A3A031189B9B52C3D82A9BD1E025C74E7E9657668AAC010B509BBF0D6803E6400A98C89E2B57992BC540AA9637BC300D548BF3C8190BD06C3E5C7024C7281472B0D38E20332BDA626E70625B184F67D0C076257C76A71388C8FBB9F5C9F7AC379BC2E5AF8D00838A087A6F3C949967F8523A2C636FA045A6731B20B6B5D2DCCDAD06E48047BA0AECD9852CBC5D96A3F9B27FD896C5494E80433D6997ED5D1F3526BCC338832A682AC0E1ACAE3088D3ECA31E13C518038A704F77BABFE4DBDE86236D4521835707D634E09A5FC98E07FDED5E63BBD342A27BEE568F9AF0AD1B6B31663C4886B13B16D9F707BA7F78C6DF02AB5D00370FFC6FA5DBE2CE6DE1CD3CAB19C8806D1AA93A5EAACBDFA24847D114FD7CCDD9C68509F699532FFB99B1A5C6AA02C749EBCC8F7936C6BC19F2F9090BEE581F8793E6BDE1126C399A12612566D5C2AB5143BF6D0D0461B074661C62D2FD426CBF187B9945541AF948D993DAE73B222655CBF64E4B1738032D2C01FC1BB5133DFD5860890C28774791FA8445178EEC86622827E62B4FB51FA187B1BC9BBCF3DD2EAB69D3C1845E8DB2118E0036D98AEEE8ADA90F9231D9573C221D5AB629592FFABB1EA26DC5241B37BA17F496E141BED267E5F4DCFE883D4DC7A8E5AF8647CA1624F178886D46CEA285FE2A7F172ED517BCD0FDE37F44EC23A70FB493D69125E4871BB5C6596BA365C97421DABBE44D8C3CCC40AC2C5131EAB7C1F400AC9816B7D8E65364AB11D3FD7D2A44A12FA3F5AB10612BFD58FECAEA8060D82D6920800E15517EB18F6DED68B999AAF73BB24B8FEF5D313CA63C095797E2C2887A8D87281170637B23E4F8419DD229525652CD52E952AAE058A18E78CCA29687BF7B3AD2EBF14A091534D29A4D89DE34B4D5FA2E6A7203B56073295B8978A0068F45DB7C06DE28407137D4FD081B53720D07F16CA915CD8AE731B11441CB40EA21DAB5A0FBDB3CA632A334380CFAE711876B26CA62C1E134E6D74743846AF3B57FD1E7FF3CEADD23D2543E9A4AA4523E75357F4580B0CC19C9E28BD90F1F0A614D8EEC6F296C5706A0A78B2EDBBB1762B056528EDC31445C41115B83E18DDB6D830A4552170284D7C44B76C51D0D2B25767D66DA7C8D7B82E10371BE342B52276CA83C06D08DE01720DF1C47C4255FB2DF8FBF33B53805CF1125E00729B5A6D0933AFA7CC00AB525B11C12824C8CB8C10A9B63EAFBE56257150C0195A39133335158D47CF65A5E437ABB29179F2ACB12BB93986CE9083967B7E0D71E4E2FD0DA33B1AD179F646493085CE3354D1A47FC2A4FB5847B66E4FE7073E15AFD56905DE06631E716E552711803D3DE06B9DB993BD474DE7DC1406598B40CF1D57CA6DC3AE9EF28B383C09F1E3345BBDC8DB27D65C6D7A422CB37DF8EF56AD77470A46DCFB05BB9374150137897A9B590DF6B039B817289EA668C86A3166A13973926C7F8D68B47815E0EE840B20AAF51DAE5F9090210AB389D344AF7ED073629A0D58346FB9076C87415BC3CBB272EB17473AA5C83C46CCC7DB3895D43BB970A3B9367D0CC23D585327CDD7EED28FC26919EA3841161CD08A64F6AC125B94541849955B74DB04017F7CBBE50CD131BE884BF0688FD2B93915AB5910C3BCD40F0DD9A91F90180E5982790AFA4F317BE375BA69E76AA12EC16826738235867A8A770B1688B5A678F1335B0ABD94225F882E8E973E474B1B24625EC6090941B58C369E1DAFBAAA720DF9B13386C591202E2F7DC4EA13B12994BBD13227B471A266E2CF4EB4518E05F279ABF070E0D6F595867A7BACA7975C85526E3DC09CEBB9E921135DBA26A6A9AA2A6B8270377C03F891CF126D5BC47A3F8A755AFA39305DFC1B27EDE3CF866599E7D67121D7E7FAAD6976F0FAE7D4110FF72C418B3F90809C8D5A5731296C6F81C9FA426CD3716CCC01998BB9CCEB56735916503F072E932942459343B3FC47F430BCE53D486A25476B49BAD2BAC3E1219D0B2D7060A03DAE388AD6F9B9D715BB6C457DAD0CF37F8787B1DF44DCCBB4193F4D1BC9B7B339AE69F231C7F1ADF94B8E979E6EDD216EB8D4E5249A4EA7A06952C8A7B223A3520BB35ACF7AAB536DAC4B2EEB7D3506E2E7FF3E6C0ABEED09396CDC1B5F5A44797914D374BF086EF641F0E38757E00D466D2701F79C1D67DE281AD7E9A2955D90D286CB8B7B740AE8F7DA8A719D152310567EB0BCEA17FF459F4EE8C9F165D1CB61819D7BF063C51EE4EB0E9C63072D11E4C84E7360BE117001BCEF4092EED40577ED79CA2607D9A5F2117BFB8701028E8E7BB8C56B48B8DA4BC382CA08B7305FE6959D6596BB8C9C8EB9BB19995C338487F7F7C34DBB9B15530F86B3A4675EAE2B1457BB858986863E0680065D0CEAD276263267655C743E5123EF1D41CBA20FC01925832FAAABB95F5C1FC2F9EC38432CC87E47771FC7519887663043E6E25EC87AF2954F169AF56DA9862DAD0DC5B753320324296B89B3AF759ACAA01862E689CDCFBFA38B7630EDA8B200D276C633510649A5CD6C2B983A9621C547889D20AA59A3744016BD9CD8D1915503C449D03AE1523E390C3F2D410FD661284E027EFDB6C51B470015A34482B20D9A6CA711F74A1449069AD66F74EB7455BA021F8BDE2BC1ABD5
"32D2A14E3EB0C2A6396780C0AA29CDCDF9F06FE44CDC869014B028B6E55CF17865B39FCA6D8CF1CF4C29D4F40013CF64CD9B218272E51DD74CE645EB78075A5C54F8DA28949CF520CE568AA718882DC6C9F537F81A85D6C6D3FD8DF97F30C4566D283FCD27CBBAA348F7F8A578519D50964B90442FD42A469759C9EAF5F366A0BC3065AC8287AE343CA7041BFBF3FBF222D556D10CC8B6789B685CEEBBBF743A7754AD0A10C6DB9D4EAA25D519785FE750056EAE17833424869F20EF9E25975C0E342F68F0E848CFCA3E2BF1B8A85B4D18D5260C3E7ACFC6B898EC4812943838125B99EF79868654EA091235A82FD178EC1BF2D7A84E116DD612B5ADD7D5488E2F5DFA6B27E7E89B9EA4DF00D6D1590A902EF15DEA598DFF96EBEA8CDECD89A3DA655979EBC9016C3F9C31C2948B86222F89D9DE0E7711B17966C8EA286362D6C577DD4EB6024004DE67085F4179A22F7F6EBA2E835678B2EED2DA8C8DEA89C0132D74585C5B51239EE483B556F9090E8F3B0C890B940EA89B0E472617E3C846F0393686ECCD12C7A463D2399C910E7C883C697CA64896CA679F897A10A698FD1A04A0978FB51759AC5AEE31C7D48BCBC4676977AFE52E20256EC49B2017D49961B633F5A3C5DF86E9DA84854BCCF60152E47DDD2A3C51A833564F4DD2ED3EF3F3C67815BAA7A2A869C0CDA9CAB6BBA449631C54C949DEA912DED9E5BCE6E61FC13A8984EBED606DFC298C13696B27357421534DF910D07D7EC3D60B5FB41DCB623E286DC00023B8A46F1AE396AC840B69F77A32BC25D9FF4DDB77A46D263B253C5CA0CDE96A9C7722B66E2FAC19499BD13C175A1A72A09672CAADEB057E2651F54BEF2E7C9CA5A579AEDE118E98656B528D374124AAA30D963BAC52BF3F4CA1F77A221AD44FF9F866C3E0C285C03561BB307CF562B077CD0C138A270F750FA57361B3209211038119855583B3639A4184C28ECEA1483085C2D4B47EFBC32DBED7C03A2C4F306125919A9BE6430FA9D522FC90B0FCD2D4545128C0024887C90337D16DE529428C418C10C4A8ABD801F6CCC36719E4A190C7A7041E870633285C9FD30D099720C6E26B299DFA5CB2ABB6C0F9CCCC23960C015FC5BD49C4CF010C51D82A956BCFF149ED68991FD547FD47E5CEE503766096702A1CD2B5DA39ADD1BA121F76FE5B340E969897E299D66D76BF92DB37D329926195DFB52F26AFDA07622C1ABE2D6AA409E5AC80CE48E06BB6FC4B9912CBB3D5A47A3C2D69E050652D8D5A47E32A0EA7C4CBF2C4B0A29E85E93B78F8BB71F0337C4B4926F0B798D7286EC0FB6669094B55F819F1EA66A88359FE861E727A97935070C5A8438944CF4F4B55C9BB24493F5F24B74E504C159A0A6A09BE75A140D78DB6CF800E9B461498587EE325C212AB058891D258B47139E65FA35DCD40F5B449AA070BDEE126B6B6173582C6BEC9299CD38128DECCEFF8A77349290C9FBE2245EFF792DBDB05763D6C0B56F57213FB3F0117D2F26934B62C2945847262577F3DE6CF45AE504C305225F7399DD9078B40968C7913C4828E802DA7FF02E778FE680A451FD06360C2EA893C828C21B2DA2AA2E6D0FC44CA8A155591CDE56B83B5E35EFAD7BFDD8BC73A54796236898A039B1159A2ABB6D9BD8C98D17C57D9B717DC0EFA39A2C4B101ADE17C63CE0E49516C2790515CB68EFEA2FBA3A0527DA5B5951C58406CE08609A390E3565D6E361948E2ADB6D58025F1F09765BD70244B0BEFB2DD79F0F4E11B062E92D778D1BCA66A0B4D7B450B44EBB0C91110B024D14976771989584F538A8ECC6946FA28060D79382DFAA003C10F05F98116BECC28687A547AAFE139CF349DD74448C3B751CC0263C380904BB5CD34D04B3172E249043668F9A8AF5FA30D6DDD0E4B2A17429B4F1FCE85D42A4EEAE563750E8A00058385C0F4AB2B541A5D3D566FAEB990E191942262B3D9F386B701506DFE61D0D276DD2AE71A0ACE45B9147A305EEB9A7628D556A6317528A937C826E413D6FF64FCA127B9ADF410118E9260AD9CFBB2220BE327C352F5B3EF070A553DB6CBFFC0E65D3EF5DAD09D820AE7C6E2667ED215831C88A436F5DB3C9D72B8AEDCBA678FCC47A77C5ACFC0D3B917A1B27E64F6946F0081B735087DF5020C6900DB36C6D1AE25F49920F91DB089AF7A88AD55DBFE33E58B07CAC1F353C312E7F62F8951FB0E2150B691E55449617C1399721A02C910FEEE03E68E0575F1BBCA3FCFDD7AD1A2F5DC09641784306DD2DD574815B7A78E02F5B393F5A393CDF98D44679FE7B6055EFBC15DF5F325B70B523EDE9F9FF96ADC51C30822E58228688488D50A3EA3429DCFB25F6845346A9E7DCF87414D707EC99DA2B308164221E47736D9151679CC7B2BF1C8D4603BD8130D2C3F469BA3D1FC323817D0C82C7167A9C587416A5C5351E3D21282DFA3ACF4FCF879A2CEAB1927050EFA3D4236E7ED53298E5664C139DDE1B19E4F29BBADCC8A99C8F47636EDB04B29E12A28C24D746F721CA197E1F3006942E0513FE2EF37FC40920793CB3AE1C32B584F4B42B27CD4DE023EBEAD8539A05BD3A4E4320954C2F52BCA03781F1DBCF083E7349F1A824CB41B683477A2EA48C31A4DCED8C3E3C563DC340C35088BACAF788F1419EE0D58DE7CD9E2C8654C551B3A56ABED90155B087816B277DF8224A508C2BCAB009A2E0900375D21B726B0CCD4CDBDDAE8AD21C3A927C49052E0E7D568B6F9A85FE8E25B4738CA090DA20B7236CBA67A583C",
"32D2A14E3EB0C2A6396780C0AA29CDCDF9F06FE44CDC869014B028B6E55CF17883257C552D7E5800CBDB226A23F63ADE62A50EE5BC25C21DBC241D83E36ACDE7E8784338C1D7CF4BD4DB6446BEBC4FBAECFA858B67E0FDB983E436E9CA2BA5F6B9E4901B6F69B150401E9C6CB076A8F21EB218525901E5EA63FE1676CEABDED263003700861226516683350308827730785655531122215447363688587823544324736070878234581046216014776462030173427515082533412476237465652257688275556322318867624201414641352481786143243553664844111178228044484068100417048108583301341861427187636643110525613620747748684455866550215028035058161043564352836682542208503664386006671153804406570244487762722301128617107833872028102463407587502681815701033373522002787351432068682468801637757543777728148480454864257221408664563855126621168333406275064583108577270554114356313001113674610775111112444765173855415513562527402403316705307235865068078450627720487236176373675230438287503780675703148412114400036603168367778502206557042275384728048604018005441765021841507876730873235454152030235374644148548300786173460205571072681451402872570302315182403136518520587517264806205351425332288411710381473565772365233064854755470234064280484180134658637402754127000324801727311351288043205502375514284852712452738401075260437172600402576524247607677443757120435712656053187045836758143812658303551858547047667264553737466325415561327347518066380885620851228324847084462122588243404138227064084638720628415784842052167171181458723031331027310317003024442764526161554458436567713707703616232024878336401543043314388054330265155025856137407083814116525775465225521328742133758612083158016536784225827445063100318183171783065558638067617338185327080828662625043551360517762774275674623227208236570162468224712353524805300256632257368146138461712262442057248811232475585321576367608117472458300473655476378424564200230718230142101838053875847387506273283686827864683550544085104558270111743166703741461681777672328633231328335260381542502078452736074608050383888258526482202153316812427041641300068603038214232778357245883640570176706724803337816740826808826707641533545312602863305387120542511021407171027067323463640537066214843008417888674820721833524601181380224705623874185333742440588611144624015663732741071560468462703535351547065825664464744361115468230705354872101338356227733225565218081867358365375851753256630675501837752231271640268018548248341861778032117602336067157023210845275688401800332285182857471228273531168378311816253748124822138641651800862801444678682332211383500814435134751366387833770457613528134177503513381314387477310417637375647062227034281746720483661743523663274617752856801773377127207358236642587562584335174845130366045355278433671527836845535455402644867838485551250863132324626542371883088183230763107826705637817668105533452574042515802262115885288138726444672410772118844612320344614334481551870385740310070851237230234288228180630462550861742052814113782221028250477834033222552313054360888833886088274485435174763874307385203634477644867451354813625785211542307032521808430374344888033271660247887004272724135174771853035360818875827124647731C452387937B26F3FEA19B6D61963BE442A43537AD32B19BA7E5C1F7F21B261654861C2E2512731E3A9FBFBCF9CBA0F285EAA4A03A3F0B9E019F714C7BEAE4C49452153AD2128FE86052CED88BCFE4C2D995B7E4EA98AA3C585BB750F630212A8B588458DE73DAE5A257D924413FB1B89987034DFDB2E6B3A0FBF5832DC8C77A3988C700AF1335DB217AD9BA1941A25242ECD7F0EDC0C9D639727AC4DF63922233748E02D9C9F605FB94DE8124DFF8061A5BB5DB25DC2DF545DF172DE29475A2E9C5B90D017634562E76B8EF09FD88C2122C03B907438F4B756FA4A36A4358900A2C56FB302F3AB6B8E5A8556A6767C3CF04C21F10CB49A23FC38516ED8059C2565329DD1FDD99984794E4A1FDA9A22F36921E4AB5BEE36B29C1E2E429B4A68D92B1A8E14A00A967C6878F4AF1BD9C89C6EF3F5F6F53C596F5E6B37BD8B0F0EED12041B11435268BB684418387F70292EC6EAF1B3A2EAF20CF2F564FBBEB77BCA67775732A822FE48DB8D2FED44368AD44D82B92562A8EAF7F4F507035F8C6DD5EB3B99186BD43ADE7B0D772BD04553D1A885C3858FBE88DE3E7B5609FDB092CFDE2C78DB5D0075A9E3FB75E1034F3EE1CD999801934FFC0C17BC2FEF3230E37FE427FDAF0EA2308EDFFE86F8810BF76088C468CBF02E9897DD1B567504C8FEF4945A6F687E2EC65670715160CF52F62FC83C6E80A5F9AB7669426A858EB8
"E9BCE318676486C73ACE1E944AD1A7D7212541A16AD88F6870092456C093FD360A320B",
OIDDigestAlgorithmSHA3_384,
"C574824C6F91DD92461D8E72450BF1EA361756AC91E85FEB3DC271BD7FB9DEA73D1EC35F9FC8E4DACA19816883473E2DCE3223EC51C6143F0B93B4BF30657E09D64F182687AE61061A4FEC43B33BA9F0EB5DD04F1EF54C074BFAF090C15516EDDE409348A21F2F7328B7D626098937C2B11D9529C178F85789CE50D38D5983E2942A1D2B164AE8A345D325D223D93DB36BFA24C06B2895C1EB4E8FE0E7E7868509ADEDA80E2C17DC460BA05B9CE630D86E99C6A1AE350CD453B513E5E41A79D3D71A40292841251E514CE3DB4090AEE9564FD3E862809DCB2DF00E6E07546578938B8DA1F3B920221027AA27E7A59869BD11B84D0AE087C60239514BCFC0733782005410B87913BB4E0367EB4E4C6FD93B1834F25A04A52933D7497D20C22168DF8F4F6FBBBC0248215399AC5C346F2D6B0B310620B449FDBCD2C18ECAF0CA0C25ED64D0A612543F368314788A469553785ED2672FED3B666E29CE1DF6D9B899005A3FAC3320F34940E5F4DB9C92CB8A53DE8083DEA87064C00AB3762A725E81598BB723AF26AB5360B03D8BF27DB18C04B2DC3DEF40C7DA32A352C3E72EB71DE11D1B1F38307542650DC482DFBB88CC0D2816882C85F98E0DDEAB781A872A5FAE14253CD2E4330CD1FEEF0D37186DC1A1C66F0368C61C2AB326E0DD02D075AA1178E9B03C9EA1A30167E724F0D83B911731E90CC9F1FAF299DBBF2A90444C8EA423020A629D994A4BF882ADEED574D698A62AA61387B6562555A935ECE24B637228711D86AA9342C89F1ADABEBAB6869F1DC0FD244BB6B76FB7F5D1A0A437399A5CBFEE75C4A10A59C245B3D3E19052BDE53CDD019A7008FDF82B7C47ED38771538D2074E36F8C5B996E63D07B7F895FBBD52EA29C6277D77C0D50691284A37630AC87FAC96A4A293F2415B204BF7F29A1211518CD6BF82BAD43DBA5A175ED2508BC49E42FE613ABF54E6FD2EBDBF42B6C57DE7F3FAC0B8793309431DA550FDA86714118894D3DC270062ACA6C6A1E37FCCF357B75C82823778EE8E98C9F9DE3F102D71067446C2095C0105157CA51EB557014A073DB8A90F1F0EF9F8BF9A3046F90CC3B37F18FA56F615A5B3B6BA9131F1B1DAEBE84EADCA8BB7FE73348B55797CCA117915325A1B6F1C2D893192F7BFB949BECA2625754452AA04AA79DD23A4E4B1F730EBD2C066DE9727469825347804A469E3D2EC4F3814B6593BB93E6E9481411652660F53075B917B076FE14C6D181226120934A182F6E13F44BF1D7A838E73B7BF76CDE27D34F11AA01A1E26F866DAD88E3C05A57BC0005DC6DDE97740D1FACA98151E94A02EAFC5538A438D94F596851ED7F646B4557515EEA144181AE6DF9B5654D841075E67650E1AD416E86BF6E73FBEC3DB543072EC3FEECE2F005DAD26F42002010837A97E76ABAF6F33CCB5ADDB87697AC6BB9F375438300AF9B189593363E3D86CE3558C7A252F7E9260FB3C8EDDCBA71C68EF1BAD0252F7ACEFB059E29534684F22BE9DFC4F949157C59DDC22218A0C44EA73F12D74FEDCC1790CF9BA8F883AD8168E423CF047635E33170E8EF79D139B25130D4CD79A1DAB6BB5FDDC0811805D6D7003AC1A5D5F9BA5A83CCE8CE9F33A88D6D43CCAB889B6B9BFC721EEEEE759370DDB0C91448EA19CADED1C305617CF1D2DB0336FFDD43FDAF53C17339CC56299D0F9E336104A8997C8CB5871D4FEA77882725EB15C9EC579423854181F815858AF1325F7285CA43E9031EC9BEB4D09D8F39B548F94038B46A9086053B501A90211D3678B937ABF6EAB734E2EB1F044675AFCBA8769076939BD1413EE772B48037AE55CD8CE442BF5B2107A479437CF56EE8B7650B566D02A9482104A745FE7DC5AF6831B158D9BB393C9D127EA78A89730D5AE0406184658B0972A64AF690B8CE24A91639DF71D0E96B035ADF2C550A716B4D2E4149B567BED742F43994E60FDD41D2FFA29F1499572A12DC51276DFECA8CA958284B5D77F8E1D70B6D54831ADA3FA8BFA3112606D47DA1D97D4196F9D2472D652436CD68591656390016388160D5B06D90C2EB61AE84F35B8D16A6478D5982F0EFDA614DB0A1016DD269837C62BE6022A15F4F9E1AC3B171D55A7F7AC33ACB5CE51E30AB168F70A862288FCB3D2A352FC0EB80807CB44CC1FD4E9472678394C046C7F855676FB7F70E0514761D28856B08600660186EBBCEB0EC607C2EB1D49D23F25302B2F1188386E20AF27195E4BA866C5E05F678CA138A31EA362233E5E0608F84FA768948DB6ACBE59A9A46308567C01CA5E3457C2890BE727878C942E2086B05596A56DCD1C47A7ABA0C51D3570C819588D1C31B62A691092CAA8F327508B6F464FCE8BA66BCBAA461A4D13F39C2B9B12600852979FA6F46B5D147F03ED09E8FE0512DD0F68B6CBC82F0FB2210B327468165F1029C80A5F5C0ACA4EF9FEB21470EB1FE58FCE83F859849FF2C480EA1CD4A474DDE55291E401AA508E91F86E1DFEA2E11BEA39B38EFC084CD5A071AFEEF50594E3C3221B3A3918AAAB82DA4E7C19BFE2ADA7FA909A125C6606B10930851B3577462F015EEB3459E65D36FE1A589B14B7583252BD3822CB2C8A7E245D76F381386F3D9511DDBDFCA57995435B1F7DD0AE68D4DB15E78A41D649B3E6C7DE2760BC639A42E8D1855EECBF3AB6B4A6E9E2306D3D3FB53B6CED53DBDF33F785452F30B0E7D09C62BCE5700D5D7397E8E5EE7600A621661C76F59865874090AD355F336E128C73693C34EB31BA6F6201885B4D3FA204676AB8D27632FE225EA32AF290C868F600911DADE7BAD7754E20122E35147FFC8AEE7DAECA60ED93254E84C0C58A4749C066E9DA1DC7565995883AD655B34526B6AAEE8FAE2E6310B3B536BC013E472DB54366CD52915CA6
},
{
"FE",
"BACF22FF84BBB942C972BEFE80EDE6737766BD0E590BC205AF21F4B4D53B9CEFEFCB01CDAC62A06A7A6528C664039527CE896B71FE64ACA4920EFC81E44E7D7233DBAAA671385F390A5D12F71B38E88ED7BCD70813E282E9C688679459114DD5B64C530EB427086C7FB2A7E037F182FC92ED9FFA5D3B4A4C71955A523B70605C565313DAEC937963B59EE35310B4A9B5CA0B2D604273DA6FD499606B31D69F9FC7BEF0CF08D73C31965E6A89C79FA736D9737E01BAC6DE161C059204DE38D0536324ADA807934A89F0F72D64E5A7FE3FEBF8653CB0603500ABF59AA9C1657956DB87CB4F8B6A1D07BBFFA03E73E4FE4BA8DA3E741E02CFE80F08FC1D95D6C95DDBA4A4A6DAB665A1D6F7F63E7A959E3A0D33869979E766CAEE7B4F13F55DB3D6ED775102AE65848CB42BBCCB6528810293B05AB651ABFA2B1EF52824E4CB43A19E64DB3C58D0BA405F9866DE6B0C912DDF99A59C9603ABDF6A7B12AB7961C6866DC08F4D48745B31D6399B1F785FCB003E18595AB0906C3294EB1F0994386365318DDB2DDB95A7A7F2DB31725EBE1BA378490CEE9DAD5F8C2AC15C0548A42C3C4E320CB3F55EB9DC8644692F03636F5664DC8544B26884DA9DF73FDF89CDBEBBB57E90C9A78C03DFC63F1616F1F58507A1BEC788527B51481320142FEF14754F478D5D3D2A8A0D1C3EA904FEE5F1F798E14E8F33A970009214FF5DD34845BF96033E9193276AF1F9B75AFAD555E5C2665F66385FEB4C0605612FB429D556692ED4305BFC6F9E96D62CAF0072A019F6FAFD97ADB825A0B3DAA5EEF5BE394E8E141048ECE9FB709B07759549AE2FAD69163632964F4C7C5401E1F1568BFED1F492F1223BCC5C52820A7E141726123D63B368ADBDF073E29659BFE01099F96B8A2ADA2BB4E6AA1C098F1F64DC061AB43421705A6ABAD17A8ED65C5A208B6C1C7CC6BE4C861F5394636F91120E636A02FEDAA8E03BE54C74AF5047BC49AF41D9E0DB5FBF9F477AC852C2452F1CF07D397B2CC70DE6069D93B0207099457396FBE877D62264054F55C10D760FB5E90D1F53EDDD006C1F4C32421AFBEE5A7B01956025E923C119F6AA4C650E4D2D603F737E6CA51E068CEA31D5390A7C9FA2E85B054B2E5385720B8CE4D6B0BD8D103A62231D2AC8A0395FBFEE69ACF95DC86C1FF8B940439A4A5E5772BEE39D8848B7A1EC9A9D73E6A1671F4F2E5745C263B1041F6E7363A5904AA856776B0E0CB7919E87018DD6BC996EC1635DA69A6B135ECB9A5E243BAD492D3D577251ECA0D9C5CAD3D4344E59EC9354365FD9E423CE9B6DBD2954F89E7F2B960BA4CAF54D9316AF75165B59242B922382EFBE85284F3B2D8395D015C6F03921689D1520C1348DD3DC6E67AC4E92E00076047780709E0E8982DBF264E2D1E55A35AA5FC831E7A05473A5479D067B2B0E5D5735868DC7A5177FE8528CB8ECBE2F272972C391D1333BE165665AD54EF716F3BC1A45B0E88F6F31DA98FFDA8294B9589A3EFC5D4F7687D854000296B2B2BE91B063DC73D916602072268BD1D3FAF396F21877CFFC20A2194D3F8F314D82B2DECC12A7183A0309037F089C543C317106D2E441287AE7670AB0284DF150F066C9175ED2C494C7A9591D143269C4D451F0A17BB0A5A420EDDF4F752F7207CBC08DA5F48B2754221710E53BFEC449799D8AFD9D0A91E744012A6AF6C9B28937232E7C9981633D634A6D4A26E43D77B73EDE080CA5DF31A31BBEFCEDA1195FC69048353E1933659F0432BDDDBB7B18FC930ACF13537B82DEA87425385BCBB25FDA8EC0906EA91E39B71569F12EE3AD350A59BD8A3BFD45D20A403EF5E7ADE9B530BCD2A381B79FAD732F375C8A5331AA8C8CB5273A17DF0FD49DD57B5D3D38D024A62E8BA3892EC1043AB5B47C12DFE610E806E9DFF718834D289B591B69093D4AAC58F9784144CFF9F629C91F09AB45DDB89486903AD5E3F554E8286222214EFE87DA6DFABEA15D314790F2479EFF494A783ADEEB80D2ED3527CDDFEF866936395827CCB555555F0A2D62803C167D3335FFB9896F1039CBDCD610DD451D7BD6A59716069056917BC5C822AE329E009EE483ED03F6BBA1F49EC0E8D79B2FC1CF75E0E5DB98007FD1BBC88E86295A21F861F92BDE6658EFFD7D53A3599C5657966C2379F537CC0AB6E7CDE7547235C1554A00C33571F929435FEAEBC21A50551C24F2A7887C01E7334ABEEA63DD485DC3DF74E9D70930A37AF4DA750C62653A75D8E3063C776C1E8E2D9D6299EE4EF936BEAF194650AE719A13ACAA4680B5683829A0FBF88C13E2C74E3410E3E91E6FA2A4D2AA4A87B55B15A842F4D552E9E352F658C58319B7AD2FAA5B3AF658B87DB51DD75F21353E01A491C09D4EF8312C90CBA461296BA1E0542401BE41D7CB25A7767363437A277162FF14A10E166C96FBB3AE53138EB2344065EEE4029FF974EDB5FAB437BD9C2E6E1AB94C0E410DF143C5582F14955D085ED57ADB8A995F24F5B28CC29B4C25C88E4A3D54B7D2DB4D4F4666629627E88F9B7DDD609058DD4072D3CD28C611F1DD95706B34F58D41388B36C0920DEA4C8046D55EF032DEA95ED3663AAFC3A4E010AD28CEEB80865E3E5C66F611CC61AB384E33D95D1ADFADA62A02574FF5F8F058FF9036AFD5281C1D92F03DEA49E6BD0AC5E147D1BC90A3D573831AF1D155749C706CCE287DCF24D98F22B5C3FC5952463ADE4A966F576F2779F4F9E9D679EA2317BDE0BA0C491564B47AB3FEBB205CBE127E4997",
"BACF22FF84BBB942C972BEFE80EDE6737766BD0E590BC205AF21F4B4D53B9CEF4124F06D70E86C37F26105DFEE8E5CE2169317D013B16504CDE82A4AB827F5D34B266DD00E9E2BE45EF230CEDFCE3D83F9BE22AA48B188100BB45B2CDC4BDD7A873C6F6BCDFD3F667F74CB73ADEF1B4B7AAE1D5F1EA8F4B9572D00C0682D07F714607242712571563773537818014347065870513226866653386628012243728881432783565054855246642704512517536182436652256036803850366415718376822422747530063085615504201028633460855243504465100783003373726355042241332853010687700028553606580046503538674561313211307647667317616640730326552362887687252247551355861642066874417651234737077405373116150400736628326361578187634883477236488088852320561857357146302432526267088708835530345186527263807380284244065754015631457781032376614223287168348451517273684570240477100624854324582630576226711363014202327771051314831742756063553471734031057458710865336485520323774801481534886283477225240301578773254562175887618005307541386721618878210010017440740802041035037448526746335588525283645586747478004722853650636267380543352418430206020246628475234067518214525171576733261610546151423586262507660287054200171662077728846435200260347055004885525776065342080581652024180677106716021033068512341856652124417055641257387855237887740254487754634634168024141586153752806473611877425564308883783013228544716336610882542787325208046101611568756081807177036884835075886708705107667421106175025487784742564332533413558673625563455860655055277331131535363517517072148757776078215356450625577375887556716382037313117474538275541812663856162536361054846370523531031016354241633375474754671872341883475157448601067705563654834536305706734256138204033852782338176460155262053453173842288108824103746650083473412814272816632625358000227144380028882882581715522245007587646501811307325551063508778684016165067438038502011436056305228365827815017512528338307547638284763445067757173867175317618182582513132051113414670747441820621447206674555856012880065553762404773217300445735715177887032765501587404477756637628314854870314480761513257477250116540802782161181755582280166133302662500841545315283140071326106430170526371876538068608521750486771413654736830282378027085453282883201828841464875637076476867705144226256404571405406411550627400850335605336458242342317403881851418745348277635333738502457473850435786413150714848643822121871514203566022475236372656586368776280368253056558355161056765657551881436528034802255874030211123875415455147885302300558281220252388427618412210678201358741070376827637014742431614238884050318043405683556428620642636666435462515681454733470134115552858486241783737355083585660565015611474745037711146240632430586201057007087754587278686448856136283513172035478254653271403706617213351325637652125380010167470457880471230222431813565285544513201110488322725185757183736600816130280288002842477406206532068537808165343478264358000561756704046332334307827363018360461507568570642801600103604285756825673530252306110108033216202508813500178541101305801544377622374275308182353102035440225522013717453851384364343668471030213440652265218130156541538738332228786678A03C70207C458FD376C09630A851FFFFF57DFA7AD98C6786D83D78EA06A3DC3CC3C184131A90244CE1357D2B32B03EBABD6F726C59C7698AFFC69527D26F9E8A376077C3AFC08E95DAE691D0587FA686AEB81C362A3CA617C897D1A0AB9DEA1B4B2A9BF6154050EE0DDF1B380C23250C40536DCE888C9B0B88CF9300F9725CC10BFA15090AF22CCF172692A0DD5A5138617DF877F8B492619A23A6239BC078A276ACF883BBA9A8483022095A99D7F7974C916AD7A14AF3B9201491880D9081FE64D91A4112A2668EB365F8539AD95F1FFBE69963951B740DDD987CC4B32239B47EDE42E84FC08CDD2F565AB5E25BA56D9C7D8B2FB868013F651A11AE9D422A35CE89DF273A5EFF6D19FFA782901D839C7361A2D1400DE8748D2F3D8EFA8A7A50106C5EE32CF2FD99B71719141A0F4C2A00B50539DFA7DDCB503525476FBC7F235CE1079FFAEC8DE6A0C4BB8B88817C6D9D547AA34776702216EAEC33CA342DD11FD256D36FB607E710E0074525FCF9155A06696F66C0B2FECADDC3B0A7988C61F0FD14597EF1E9BB773A03AADA63897BD0ED27BEC5F8E00CF1E911387A2D009C42A1BA95628280A800F1278F414E8C35A838EDC8FD95E11475ED9D1FB1EA7E10751DACEF0CD4CB2FDDBC618940948A46BBF996096A94E6E804AB77EB4AA36748030E2ECC317AF3628E237171FF94F69CE0B3C877155856309A9C1CB915F7
"E0E507E13E033946EA4EBA5839F691D72D53CBCA52AA1DC11E8D02E7EC721529A052604B25121FFF6F6744936C86B2848F1707E3A5DB0240312DF35E02A8AD2EE226DEEB7B20EF353770A655EB4FEE11EB059099A0F7507F3EDB6B1547577015BD2FE35B989D891FB1A8DBF55B411C9D423AB573BD6A5EC5817689053FA0DD1366019708ED314CA0784E04FFBDD2F6C8E1ABB6256AD6165438D08CE43E026DB5A798C7510AFD49F9601F4AD4BF96960E5BC807AD5685AC2D53A105362AACC0C323C49553E15190E8580DAA160469F63D06B791FEC6907A3DECA8A39AE6A1060B354F3EB6D49DC6EDC7CE3DD0C398D6F63CECD830B7F513617A6AF0A73E58B6",
OIDDigestAlgorithmSHA3_512,
"C542E477ADE202E77D7611CD0593EA6CD1E41D5D7311E969F3E9F589759E314BDE76F848ACE5F36224756A9989D0B8CAFBC4B4D346933F2BDE02BDF98FC6D59F2B563450F10ADE8A3DFC2A36E42DEE5C962F89ACC659D912B29CD31EB42FD5CA53D5756B1AE56F39AE4C0C7A8EB2C7133C417DAF27A2C9FC6AD28F6F2521B08A2A52CB535B0F950E66B9687FDC829D871776272D8E256F88998A56D2FE618565000A09019DB07D078B31568E8D4C57760975CDA218DED3C9C7E46F904A4FA09611E5F0B532D2787B781EBCEDE651D7F76F2A4A17727538F0E6EA964CFE58D36BB506AEDB52594F0C4486D2F024053E25228A8C420F88565A048A60386E7A8B598D3383140EAF85635F82D8AB02FA77A64EA4A5247D1314EDF623AEA5D6B9EFE98571BDE9DB573D648B744CB55DFD8A5CEE2165357920FF557177DA1A9F07AF7CA414294C444A6A184703C4203C90FFEEF83D2ED5C7F7A9B775B9A0933DA02484E01BC67C0276E38BDA655D85420B4FBD36BB842F3D9042854F9E44FFF8BA6A50652287DAE407AE703B223B797DE8062D2A1CFF942806565FDF475004CEDC111010BE2DB6FBEB47E69BB5C80C89F80F9C205311E1BB1B2105DEBD486C64B1E2A108626FAE79E5353042AC8062DD69B8EC40186CF2477B786380C600021934B3BA9C87E402965E809AD210A95991787D623E35874394282EAD80C0A05E8DFA26C24F224A435D18D5538045DFF5F52D32DC60F229AEFC13AA2C1F4DA7B4871B7C1E83F0A0ED80710DB2D7E7BAFB0E192F1B811C1E759B9D0E3089A605A79B4A42679A1D1613D3AF1FE3848F74AB2FB9BE1FD950185EBEE6042430F6FD3FB6CE7D641A968CAF9A23AC89A4A63D319EA3F561ECC6C457CEA7A4090E56F5748BE715D49A10EDAE0356B367B46E76BBD73DE3416495F0A89BB7AB7B14CB40A0CE888F81DA1DD0018A29E1EC7A2FFAC5460B21F415E8131BA105ABD6BD4AA3838FD892549166FE44F6B585DE7865010407F0C9F694D3865BE866DA192BC50B96058F0BE2947983FB6337F1395847837BDF6E5214FFC8467A2F478E5B22DB03F72183D22CA3EBDD85178D2AE0CD4F31A4BF4FE4D29086506E3388D4E5601EF1A7134C8BC77BF78E88C1568E7C8F2B87D5318A412B0A1F92173632FF41B7DD8673AE834555BA9641E2AFCCAAE4F9A9BDC5109DB38FBE0F5A1683FBF110466503753D41E863FEC9CEF4916CD97BDD62AB3353D9323CB173832F7823DA303DAF48261160CFE105EB3A26E6A8B49126A382F89EE37F0091D150CD7CB084797A814185C9EE7D79C79B54A555E8621CC8078167EAE7F6019B753CB17A5E4F98C3AFAA8A60CDDC7DA7611DBEC4254AD2A55C2C71FACBE1F00B4C0303F14D920A6B9BC8336A24D217CE105D0E82C47497DE256FC06E2EB585EA8770F1004726E822F44288F4D604586545474F1CD0C729E7F7DA96E19B24773F062250DB08D463FB06AC5CCA7B0DD4740D7E998B566CB9BAC4DDE3B10630747C80D7E196D4ED9F123261E50B2BB780EDCE09FA8AA752422745E16CC85BB428F1215A9CF984B5CE85670ADBBC6B6A06817CF47098159C9132729D33351BF41D125B57FCD0D9806EC66AE4B0C72A84F359D93357643A60971B728B6057D6D326F41EA73F44821418E6D688A7C383E2ADBA1B2F7B48560AA41F1767C3161E359FC99C2622175D1DDF9C8F08D396EBC97DA08F672FC547B18AC5E509B275FA99317CC9675B200AEAB8BEEC90228866BEDA5605A6BAA6A0355E8736ADEE1E5FDD01B0A7788A86312B8B9C026309A71A8AC578334F644A8C3FEBC823757223C23045BC28DB06931F145070C12BD06AE0D168F60F7995AF8819E0226F5947850AF9EA54606AE08871800C4DCA37943376E7B62A9A3881E491DC612B6A5B510149B714FBDA30EC9C69586E2D89602DE7063F2C268862B9180DBBED1540887D19017F22CAA87CEEC9A05F84DE0B43678014F2E5066FE2646F23586003A92F22B81C9A994EC0A7E36E9A9A3EED28C9A6079DD73DCA0A49A2C36417BBBD6DD2BC90416687FB86409918D50FA99E3C62B6CB10002C1CFDCB8FD7D313C900D151A91F03DDBE1F97138674E1AB3C3BE2F4AA25E184C9923EC8BFD94709D5F5C4CF502AB3745CAEE114D05B3018EDB501EE9A4DC0CB02FD25AEBDC561BD7CE999CD4B48E431D07841AECD7C67CFDE4E6EA1EFA47A6F6AABD3A79F2DB1A2289C9D5CDCB8F85DB8651B87BDD89AC8401F0928CFFA972730453A260F84FD9E53EB946110A899FB7F9D2889B1C792749C8A7FD49D32D92240966157262C6A1F12CD239D8962251CAD0250D5D7FB7ADF3EF1320E0676B14DBCCE74EE33330CC87455E41CDE595FCDB220AA85409456C8AC38DF70DED9EFFEEAC7416B2C151310177D2C7DCBD0259000C7E4042841CC527A8A0337925F69B6C9C88D09823FEA9BA6946B9CFE0D69D2E1CE1B6D601B6EB9A5DE9900D91D336FA08B1239F3ED828D561E3E0A41C1D373F9BF01143BDE70E80AECD629D430EFFD4C477152629F7962A80965CF49821E5496A4A4F6B8E63FE6EE92513C904A3BA1B62456A9DD790B1DEF328370172CB47520206D727DCB27D3B348CB937CE5EF2015B95F6853DD6FE19CD279733CF4C884113EE61B90ADD468B11CBA84DE1D4CF82376FBCB018A7A88BEE06A983DBDE5C3D1E84D64C29F4488550802B5C31765C1E25A0FC2F98608C1E680C243751B051B453FCC1160B77004229C91991E718E71F903E1025F092B809CC3E419C23CBCB758FED98067B3703A818C9D082FAB622E7ED29CBA4A13A48535B7FAAC67E702176E90D66C13DD450CB4FC9E8B56622BC7A67B3D8440EF8CC12DDD5C7F3F1168AD53BD61F0C89BB601077004EB18BF08
},
{
"CA7FD4E8F3524955501AFF51CC36886B6CEC0FE393D2EB550CD0C8B9A0A0B24AD2448F1E47D41DFFB3AC5F030F2E005AF348417653C34C5A9E1BBC1052FC02AF1D0E80CC907BB3AE6263A6E02C8A70C9E01AB6A250CF595210209AFA8280625A8D8C8D80F7E075AAEA9146AD155D7B39163F90B5578F3BAA8F78AD06259D40A810BC3DA7C3870971D00E318B7AE9CABE27C098C2297317CA345008005246B81B1DC096E01BA2F9AE02BA296E596FFB9879004CDEB85E69A79D594ABD360B2BF97C8BFB758143BE749E5020921BB4247E0E3E0C7E3F35A619351824DA1698FF234C44237EEE09D6857E8C135F779EC0C1346156352E783EA009E97E58C93D00B1B09830DB7658DF64743AF67DD5B003B470ED17174AAFBB7C2099D7CD6D4BC0750AE80F7B5231AF4B78A0E5EAF45E3AE1B7ECA389B20B9AC013830C26A458055A24EBDC0F91BBA01476CA23E46FCF002CC07C2672A5E561E6F7A136F34526169C8555B9F58AFA5DDE5F486E14F291614976524CBAF48AAFDEE16709EF99FF5DE5DF1576D119767E0D361AFD54C3424D0190CFF3A20BF5B1FC27D26C090794F85C9D31574093F2196AF458AFA586D6B14D701183925CFA16365509C432E17365E6C0832B7490BE1214614F9D222C0705EB054D7D6D7AB9E0C8A6E7FFA5077BB9917BDBAD8CC2B69AEE7EFD4B3CC3BD1E54AFCBAE9B05E1C26D10ED2B2AAD9012AD8C60DF4A5CB4B6B3E8824E3C26F0B6D112AC36192846F25B260941786A8270CC3A722D7A8E3101E5E4D6E1F73CE877516695AD1E5D4C1FBADA6E7B5D999B8ACA7A8A259E421C66C0CA93664700CDC9A266DB14F44CEB5760106F96F5F1CB784B1EE2C5058BDE2C7A8AFA09B4AD2F2A71636D2812E6A8AC3F90B07C6E97F0BAD34813772A3F2D0F8FEDFA9DF92BE8108CDE2EE6AC9FC15E950D04339A6D1A7527F4349DBDBC08A04A19C7D4443EBA44C44BEA880D18AF08E5D13433DF772957C13FDBB36FAC5C77673CFE5BA7A62FC940E4ABC4C5DCB503A8A4491A336FDD48756F7A7408FB286F10AF64C31B57AD2EEB68A3BCC09FC73CB4E4AE981B6C26CCFF1AB355D51B32E4A06B638C186AE7573C64865A3CDD6328C4508F3ADFC9DA743C7D2D03AEEA9372C2DF9923C88C8D441E8E61F5E0624A2D1E613F698DF4C33A8E2C18A6AF06E59D5A67BD860A818A03BA1D2FA30368A05424DC0A9487EDD98066A4A4539047614E31645E80B76E0A28F6C75766752ADF327FA8EE10551702B8E774F415AA80CA1183A4CDE29B1FFD12ED5FAB8AA6C1F55BBA4ED35B59E5F2FF47F99FB480F888A151FD276A859981520347F6471649B28729750E32221C0FAB0E527B1C72015AE4A7C1D459481FD1C881F67768900052C21611B6DBDC2F6325577089566102497BB08748680CC999E051EA628542661B97A9DD1FBB7C0B6BEF2AE022E2FF22B3E37BB9CFAC98FBA036CD32E6481F8D067A52887814E5C4358034E164ADFF66123732811249E06E2022F20580B18B9FD08E8E2249115AE5658E03B01BB91D923B4DE472E7EF1B949C9C9AD3FA4B5338304F9A813F3BB4F7A91A712EDE7D0ABAF5EC50D3EABCEE6A10CD5DFD090400D6BCE12E2673137F8B20CF2ED65A2B62FA99A3D7FA2110195F750D94BEC6D5C6D8F0CC5A4078A45ECCE772E3041B6478A48C24D2D0DCF0A31721A6CAD1DF67FD04D34A3AD3D0EE1F6C73B4EBC4273B0640DF7426C4D99A232AA02B2F9711D280D3370A3F22A45819B2E9AC6A001B4342503EDCA4603A350F126CDF2CEAA10818DDB40708698B441C83D560F9E8AD900ACC15D09F2AB035DA3F74CB66C1DCEE13E3941790250F5721DE065495157483DED3A008D8B5EBADF5442C17C1AC2223D86A766E6C8B63ABD5EE858BD8A5790756367888E4B459895101A2F3D0E445A669DEF90F1CCBBA565B85BD323E3DAF9738FDFC07538B02D17A933927E1BF309220C4C8873CB205533DCB14E686D41C8A2883B20177666B326636C1221EF822706C43065BC8D71BEAFF736DBEBE68073CB5571F032F9CD62620905F589D04C7AB8AD24E8E10D2E24787E29E4E8C8BC2C58E5E27E5A3AC43BBD2172EAA1FA2CD9DC2FA4A802D969BDC3DC3B07357A83D4E3B7EFA6AA289A5D5537C25ACAE1F0A3755F5F7CADAFE4389C9C96E49829637F7C3DCCA2ADA2393B9C4247F712065A6AB0C320A8E9F002B06A8D58E36426AFAD3ED451154CB176A608496CB0505EC5E57FFB1B47C6A243CD4319642448318509029845D7FBCA55CC1AF74B3DCD55C9CEB19114E92FB24574AC5CDFA28D819D43873A061A1D778694D43AFA0C16F02A22BBE1B5D5750C3318B2635F726F3A0704F3622DE77885B0676699E562CAF7D80BDF4EEC949680A5B5218EAFCDDEFD2EC9ADC503FEFBF961A8765C662AB164A762213E7F9E03A4D9F76129E0DA2E26B3DCB4A6C7626A093A4EDCE039708806DF0268DDF492C9E37065376E0826483E98BFCCEE318077003025C13981841A016569402918B6E670CAE6373E729A3EFB885E645381ED702F3B8194DB1384D9A7A3A9F84721C09D0D134EDBA1BFA281C500D4CE5B2BCDBB5DB071E9A5B3F9CF9697E6E0F45F3FD046B990213D4B2091252758D4D31B719E84AE5786F207469D348C16D240C7B91DD5B7D9DCCA5269B53763E0FC513E4BBD6A27A8BD7D158820865A7396F057F50623AA032ED8DBC63D5BC4AC8A27DCF7B823172A45DDDCC7E8E6B2A8809FC579D3FE18C958E66EC4947D869A350E6ED33EEB035C7A3BF32EED02F99D9D7033C3F609AAF8FB0BD2BB7F815638FCC9CAD2744018B453BB737EE703D52BA1EE55FAA68353FFE0E313579F6707FDAADA32C23E9B8BE36ADA4749F99BDC1E636222877F01133F8BF96DF
"5811E7A983FC61CC90C356A055D7DE8BDB054F64A04E93A25DFAF7D56B19F8510D13E61C878B345E4E40D20BB97221453DD115B1CBD2EC478C97A74A60ED668794872FE0DA25C955D60176E943707680E9DCBBFA5F6DC801682961305DEE54EE3BD346C51D7D68DF8755500036CE4B5684FEA20A8DDAC13C937D8032115E082D1BB1F995487E9BCF2A32CEBD5F10D28A160CA19AEF309CA67B205B7BE4C0514F1EC1F0CCF5CFF548FF04B8105A0DBEF2E11A6E0BF32CCC609682CC3A29D91DDE3C914ADC37E636E21AE1EBECDA68085BB992CBE4B92C081FDC80F2B6B98B41BFAABC94FCB673D3FD7CD8DBE2658F1C4AB3EEFDFC0183078D11BC5DA4F8DE6DA73AAAD3E7BBD703349D012E6BA71E4E1433D602E0AAD694D8AC95F65C52AF39BD2A18AA6BD037C2AD304C5D5827DB1CCE3A782F7175515BD0BCBE14C258529CE17CD117CBBA6507CC4942A25BA98325EC0DAA27CBA246EE565D4BCD68B9BA10AAC4C02CE3B6F128BDA94AE15C0E826C4F97E23176CCDA17D1425C3CB36C1A56CD8A7FB6E456E2013DBB23415BA7FCDEA163CC7408064A567F1189BF9B149C797EB414FE83D926A6A166F0F3FFAC25B390DCBD847E7F865CD6EA9B4C729AFEE34BE5573C76676FA36C79AF714CFD9D3E3C62D545B22E2CDFD8D1791F71B8529D74C21C76F4A0E6A1C1BCDC730F9EAFDBF5186B737DFD2C23204C0AC90CAE0EA23C8253D2BE3B4D1720118F4C49AF0DA211D4DBD64D4BE8E6D247346C303D3622C5EE17886BD22AAC389E12E498389F7F739D77DE51E3400054CA7B57A2499C4146983FA04DD1B1CC06F3BE5E408D75BB69DC54ABDA3803423FAFD3D65A1E849AF656A4C42043353C04CD69F9A65DA7E13A6216A856192FD765231EC59FA279A5A3A2F4527EA287B72D44A4D44C5DFB54D9849222373ED841DD5ED3CAE02FF9732B82C778A503D785DB461DE8AFF3C9182A73CB55EC00EEC8DFEC01FBCECBEA847DC31AA8627A3C117AFD3E3795FF0E05197FB5EED8AA79281CAA3CE8058E95F02971FF4083E5DDF747679AC135A8FF7B7CD563D231C0179574A0C6D752BC00C5D2A0785B2BB1142A91BF141410864390C4281DFA211CE13AEADCC095E0B069200CF9126DCC2AEE040B4FF948312B6815D82FF5E8F750396E90081A62E53E1A471CDB548325073EAF993D4E36FBE1713E1895AD22029C80C87E0DA4E1A68647678BBF4306F811A58EA9A1A6611370CDBDFC798012564CA4079E4E5DBC7CD7D60DAA14F8D14D76D7962685940BEC9D94848FFEF2C8206AF58AB4F5AF1F331C8BDF5C3E2D6C3E06DDE59FE3A32827C751EF2C1B342C47A0529EE11F047375C57E201DF8C71DC47EC03E5B93D8D5F98EF9A79F7B80B482ED0EC709FAEB0250187C50CE4BAE49A91CB8D01FEB9A67C82892B37CB9EBF3F1E75E87D1C2D51F23B0150CB1C6BF989218FCD6BB3E01C752F4558A03DDCB637F2703E69F093C3FF162894FBD9C2B2412F159681831A68FFD8E9854EE48AEC9D05FC816CE15D80E7C23D46F34F395379EDDC1BF3FA2DB3C9053E69218565DDD6D815F00EFE2BC03593A3BBC0FCDE65C71DBD4D9EE9609B9F3B08E9DCC0B719E4EDFBDE11AF9708BE8962F18080E37D3C20D59E034DFC08784E04C8AF88D0AF7E959BCFDE32AF6550E72DC9879ADBCCA79E7E9D23AC70A9E729ACA68B270CA4406DF70FCEB5F20CEF07CB47374522BB3E5D9C4FE702B2870375F22DA699483AC7766F3583A50EB327BE58A5A6335D07808ABF04F9AF7312A41FBDE7E82FAB416E7D72C1CD521F99CE6A86A91A5E857DC443C6321C32AA50A2B42D6AE81BF6E260C447872A903740EEAF7F95F786F69BB612179D7211DA9E76179F008C14C414116AEFB2BD3A163D45D5A37F3E680002B9983D645D53CC4C386AF8F689F4B76D910524E80FD0683F6502B4C9EC130BB6F31AE69BB88923177BE8178F2BD0F7D412B79363D9D351F1316B8B40E546E4B1423D3C675A133DF9A5C525C5EB656AE07FCB826C47AF0A73F46F609B3C316623D0CA00D7287EF8DED8981C3AFF5690B40166FFEC261203A6FF5F6CF0CB2C5C10FA5A11FB44B25663C1F8C0EA742B9352FD639E9D2E60E7A2A396F61AD86FB54D0F12438DE613DED84B43BCB4BF5337A4D6E991D1DC5AB43B4BCDB55C2B67C86B8BB917233CADCDBFB5DFACD7AE2C4FE7E3A67CEE8CDF002B755C16A32896082C01920938693FAADDC901046173C3AD400D6C52B7317FCE2A658E2DB3865C3B58687AFA59C62CA091415BE2537739998B8BF7C98C24814C1CC3D3E6E2E3BEE898EBE9C8ABECB123C6F676F4A8AF79898582AB47D7BA2A5059C85A84DCE020C34B92A575F20EC6F927F31736EAE16662FA04D928EE050E59D99B65A51614D71BAF768C6FD739B6DA21EA2CCE525BC51D3C141F82CEC10113C7793A4FC37702C679CC54769ADF5382763A79C625B41BFC85C3EB635A6CEE4883F30BEA2607093E7FBA963BBF55E9CCDC3C59E7CC5107F7F95EEF24EFB006F3A512C3593F1D32C3C958DC1234178986EA380D340995885EE9E5CDDB7DB0A3B922936DF9782B7425A8EE15B9B7A950588AA8E8779B9F3A3532FF913A76F33C897EDB126B65D826F19B75742A9F019E237B1763532CD6D14AB1A025F63758DD3EFF5594F5BCF3003F67247A02123896189ABF6BD0DB7341CB3713EE4BE57D2331F06F9CD84E5F444155DF6EBCC1E943631F19A8E51BB5486CCFCCE3ED85FD7972A97889FB72CE1",
"5811E7A983FC61CC90C356A055D7DE8BDB054F64A04E93A25DFAF7D56B19F851E46052967C064B1E69BC8C3B974E6F3DA1F83EB000009CEFF5EE219139A09F02F465CBCEEFE5FE30FC3CED644437F040CC68628E82AEC41BE3D77F4B07C4837965BC63025D4A0F095FE7DC02B1902FDAFA141BD7AFA724CD987D1F84C75A13A98237873037065352214615784005517817477373573242633280361718167272300077041772478844567774570763522750684201477370250875071430210627182727433105588524384232821434836262026051850267387078583066475662855662517866737834772648606370776761050378624408826633211673766326370886418554562111484828642648545261327205723607547187115155730662616811743561470255627336714821131236772262045354572035838611053106186051772716640145463672603402408122726368362624741665157224467600273687182511182437344633735462425328882267418535324861411853685478412757084787772488251870080318126033424202682070312443078576285015150461601573735652671812687413478502235115138025151513367010812147116343723252087268552633157570620007633573080257115011452766373172257737082470777232325260234474856400048286548403176101671005160660825287033238383885075637248271407304104360281750815246086212403583417755066032818578877327781467157382766605100168845407314673452473127848437570332656607476415788812200813264317576740547780076781163737012538310158835142853686501571634611218662555303477810288050568745026623714431452523018442318763158880646577442101331474468321274586855255546444661352118527308434448357111445276464318243872535230483741077245540155040118528205758078457011038644331362601163318608172387547536002650707644126112534222012071466824324651067885802865665604372707575442580770658470027826001541476474012326318100568421557838306526081141872520888872374655040785067517315035335511304410777777170132435275365637626276464341837231406011426338123476025514627248801871454814780844416355672300138205247154173742417404201714877358313374608804335867848751053060420704408177783661056281785238843007667328483486064367243512251017873833535323336781432670674775606223265871182843380524702031662072835083774358458301345473070311353350880665143843608477324035133714046275541737468711567631850651586666577517535028654074461442261488248272727556603737343470030728833442854270533345387316586328635460588214506650120533272014446075286781717146187243412860273061036250666450683726260513416832153266860031027527313205461076745805444685434313041680656860487367167543580501001406227478164602523441406044772011601351841836317736326203786121871404117847512176181718054673771837142080548585071552314118770838274707218164153280351443276751401606584452834688884064863200423362174025528206385531878718518703433353617176277805832344415274553350470833255281888445382214114508536371120840336761113557171380154477854323288658711226170875835082356240575563201213144764164682600760402748626236863578003554012162347637032643240517300600634662004862312564257838020525351363565622643858662538836385637874086137821175255552418131134177117517656731503348750425348416506556527113185121548111354703362011322023066424038116841204634045024403374775317541040575217288314276634075835644884036715792E0F78FD63DECF4DD0886951DC1F4E09BC5A75B6A6C908A78E8494AA81182F81CC51591B2DCDDB6B33675B61D4A25A8339596E43E71BAE641A188E7B7F571DB029F9F8A4B07C25CFBDA841E93FCD631D999D040953977D9DABDC099A8FCC71B4B41352C88639C259CCF11C9113AC648F9645A304776FDFCDF6990EB36B2C31F9ECA00B71C3EE4C991DDBC6B69625E1FC2965C022922483BDF93B9D879487F322EB103571CB62E94963EE61C9714A882094C842D70C1EC82F99413B6590AA26E85CDB51E42487513C2276E7881FEF3E49A91D55948DD9A6CA3ED2C6B6F3FF4870709EA9502FB5A5F05B5A6F5C3A92BD747EE6B039F5BA62FFCBF9F59A4562CB46ED1578877576EE2A3A5CA03D4FF16E829D9E1B14BD7AABE668B25FC6001412B510B3B8A56BE236EA4E8678B76C1B8574703FB432D92CEBBF572FADE8C712E4F484CEAF0823B6A86C823E0697C6990462DAC332FF6D4C8D08B2699C087A62081FD4D45C5CBC33EE80B02C80359BE5C948BCD383D40CD3EA429837811B9837AB9318A7FBC279F685952C5A3F32EE96497E48EE1739C07C75535429DFAAFA4FCDF50E18B987F99014E64BCEF35A2EB271E190FAB8FDE7EA4121656E8351D3BBD8204E57B902D2E5F4F6963E3DA5B93827DEA7733CACE987E2BC5A429689427299EFBDE7C78B1C4F48942189BF6B38FA2CF66C68B7274A8080F712C6611CCED
"AD3D550A32488685667AFB4882FB968288A31A12F70F8D950750DCB547199C09EADD8E85AC3AFD",
OIDDigestAlgorithmSHAKE128,
"9E6D845B89AA8580D2B8451327C86F3D861A1A4FFEFAB00A244F2F8D3955F2F21B6E0D3BEEE62795B333AE4DB45603AB3F4D84CF094613E83C70E04CE8FF52565AE825C5C9220B06F28B0A592D909F60D8431FA1164C05F4E9BCA7B7B66BFF39C63EAAFB51645D9D1860E0C762F802E8A96254BF404931FA8CF959548257055B1FE591F911572E5EDF068AF3FE665DFCC77FC2E4CAF6451070787F8F0F222A0BDE7D261D080BF11839556C08864A2A522C8F82197B7C85B8C9082352CE16E27297F44B3F0EF2DCDDF6D3958392925E7C7590005E26D78D536643565A6A3D5789B6DDF8453FB12A3DA3821CC80FC8A88FED5278B9C6F5D63127369D4C2FB21DCA4ACB882D280B951C1DA1C4CFE8C3FFDFBBA447A1A42D23185EEF307222A5036265E0E776CEE4754AEBFD2D33DA13E083DC398FC5CB08DED12D47839BF66B05209D24F73A044CC00D4B4026139F6AD4999DBDBE4384D40655CD2A6CDFFD4378F65C86C09611741E4E8760E1081869D8C2D59B5678C6C5AC0C1624B73DEFE87DD2ABBDF7221F369A08299BF1F85D701336441CD86276A3113E6AD62C5B66B0F979E5C61DDF82005A51B67FDF79F2CE24DF930D7C824BCC6C9CEB224CD430B504253FDA935DE3CF1F3C6C32A731E7A7ADAF53D7582674901ECA3D1A60C7086BCCDB11E580F2D5E256339ED919F4794B37837DCB3F27D8D99503906A0269746F3DE7DC3F9F2A83E78A2E1410AE0D47C475E42E2DEC95E641A7994B973E75175A4752F6DEBF4ECD5A4AFD6EEFF3C4BB6DBACDD4EB5AD7B146EC563A4524089AECD240E4B265BAEC387294A126DA809FF4BA94AACAB3439B69FE7C8926C9BA78701B28E481029463B9505186F1441CB4D92A64E0942F41BF49EEF1257E53BDF2EF4573FCB0305B79E02201FD41BF418E7372395DC968D678F73788A3704D40FD48EA4846BC2A4CD8200CA5C09D4BFC17EA6E8006BD7A8EB9DA11EF2B7ACF9CE1E464CA574AF863A2F6EEEAA9981812EC8ECEF95A6AB9021C44A0BBE6C3447A40804C749B648959301045068C488EBCDC55F84A3124B6BC4A66893C56A69C4FDD1E2932B2BB9FC7227DEC65DFD0C30738EB18457633959E5BAEB065B2D581129304D3150BBAE6C176DF57EFE029BD5676B08373CC1CDC69F110E851005E06D6F7AA55543E633054FB14E705A28ABA6C68376E63E60D5DB0819236A3E1A7021985790CDF52528C9D51497538F91E1B2D0FCB335B66ACA68D7A3578DD372D1CF86DCFDA11DFE255B8DE2E24E9097F942CF5F4076A61C9C0C9ECF6765C05A8929FC0D20EB4F44FA8E2F69683EB0ABEFAFFA1EB3DD2B2906604E74394785A2FA33B75A706E7FF1D81C9CE193AE194022E9D3488765785D8B55CE9015C97FF8894A76CFFCEC4B4B2347F60F7FCDE33939FCACD5ACD42BC1AE2219BD4BE03D3D0F752B9EBFE8DC7003B924E9D0E1D8D9A0F187ACE07A6E12483CB51A43A6F9F032B57D01B9080B07C18BBE28B1AD2FE3537F19798FC2F80777081D468182DAB58382D744AE368413C4EF11AC59F360E3CFC4D4448418FABD909AB600D1FE7128114D68FD7F1D0BB5383A65FD0DAA39D8F13CA58823E9BDFF5C21606E110703B9FA2F2F4390DFFDD9D3DDFEB5432E963B1C96B16694E07E27320A51B26E50B0622169E0163A1AF9C292E4F03859BDF29F78FE4C75A4F444DFBC441B1DC40E6B04A6F97784E79CCFC1C8EE9CC330B9412508680E92AF238DF3F0E14AD3214B7DE6521A9A733BBD63A8A648EDE787F3991E67B471091C3B1BAEF315DEA33C8BACC2B419CF8719AB9B30B31087458CF3EDA52837C21E38D46EEDE2A52FB48F4D08E8968F54EEAF4E38275EFC5F79E90A6FC0C4C8C37BEF77D21E37C62EAB1C955601A473CACDDEDB1A4232963C20A409FF869252505DAA8588553CA6CA6301DBDC3F8F3993A7DF3E90106D6CD5923EF2856FF6A595CE31CE769B88900ABCB7E19BC289501E236572082425092C78FC666C04C9038C3450283F18EE9B0A7E552BA5BC021F61DFEBB339EAAC9C39C9E5112B477B07F097C87B8EB2634372E7EBB138E242F9CB6ABB65D26D9E8E221C122A355B73A88CD3C3EF44168591753AA3EF4D1DEB4634C319AC88F56594C85395B1BAA8B149DCB5B8F87FE9B5F19E244058B35BBC6715990F51C82AD1E9A0BCF04DB565F3C884CAE2E557831FFAFC8A8425A5345BC585CAF3E25CA60A4D1C5955CCCA64A9CCBF74F97593E25A3083C8D057A446BF669F4C6AD9BF7879E1E6EC1CBA50967E99EECBD3ED17FBC518E6B749F503FCAC85EA10E290969CCB96ACCB14B0784D89BF0267B1C58A169CFF8367C69813FCE882455C3649F98C95F64CC41F18515BEFFE3A553B4D9D1DD388FB85FD3BBBE2CA186F3B8DA9178A0AA262E6CE677F1EA289BEEAADA8E4D22C819012F8F46299FD5A7A0BE5044DD8CF90D97B69FD04128EEEB4E34A05A172344BAF889B6AE7AB9BB54F0159256E04910D6D436E99F44A2988318E3D7826E6A0B783C675FD535DCE485FFC452CC286712D78EA77739EE643D63870E483C35DF3BEEB1C999E0BEACAEEF34BFDEC2369DC230F4CC7B0FF21EAE4282ED605521DBD1AB36A7339D06E6D5F6D6E530486B51729E8FC99CBB9CEA5E0134695D97272D45C301BFF2739EB0FEB7431B042364150C9FD846FDFFD40023245CA9D1719B9EBD63BD2E4D632796D06C3118E5308218817EDDF1604D634B214CB3806E276C6081D3910B61501A4627DFABE93F6C717D767426B7F21C98D913BB9FE3D49C3821C999E2645E9CE4230C1413B1390A28700CF28131FEF30C5FE4B8A1E00F68CF8F8D6B29AEB63330B533FC3AF1021EC4376FA0C81EEF3DF522360C0E8DDFEB51FC8AC007D7ED8B1A9ECD28721A
},
{
"956B3986FD524C6C081C87B7BFA2CE0F1D5236B9C0CFBE90A1F0F3074843B9298EF8E205A83A0815F4C9F4061ABE2684AF33112E067E587770E1C005674035FD23A275E6277E432F803C3818472E7262F55B487E40DCCB03DF0983EB6989522CE13B358C201CE0F8B1520AD1823780F3CC2A8FBA6D1739582E95030776F5818B0EBA4FC7223E8C8515B5967935FA99E210F9E0EA1560E7310358CBACA1F5AD48CB40CB1C1A91ECAC15A41A55493CB1FA42A5FC233D4DCCD9D769590FEBA1292F0BDFB6E7F4DC880D1D1D38E13ABE9B5C67B64ECB25B9288227BFF8A29F0ACA4D865514E59918B1917022DD65CFF499CF0CF819B5EFAF8520C55000A56DF930FA8308D6D48EA755806C3D7AAAD9EDD32765669BCF044E555C29A38CEF991ECFEBCCB653A31CFF36A8C71D04440BAEC3524099C33DE4FCB1D6ABF2D3C4501D9E70",
"B530EBE2BCD6F6DC851E89941C3D2C85A27BA06B94ED655097E04672D409B82F589295C30661D77B8EFDBDCC90AAC49F6E659F273281E629F2B52A29EBB283F38D42882CA3FB7183A37D906D228D3EAB763D107FE56DADA47CD728D3EB37C489453F524D38D226F330EC492E5CBAAE7BF3F96D469E2843572ED5F10076C193139AEBFF9F3C4507AB6E8CAEFE7670545B12F49E0C76D075EF375119D528911595815786E6AAFBDE5AC29B8A6F2F56CE0F51A98DE6C5C5E3EAB8867FBE80D7FC3FBD07CDBC4845FAC72DAD993DC34130424EED80BF1E232A863252649A9CEF71BD01C97686260051CE05F4500980DB95666E77860041B57173F90F140B9464E7ED20534F3345846E6763594C6EBE94E09ECCC5577B191E1D612059C5B2D22A4D160990690E7D0B01DCABF904A47118FC86A6036518A4B4A958A7CF39284A90E378FB77F1ED270DA221680063556C85A829AA077767EB1777A8DC260E069E55A2EBDE20602B5313A403E1C1F9B37E2A6976E5BEFA120603C6B216826D1D8E4D69557A65606CE0A13D5CC29D3D4D4A101CEFBEA44779105B0CED1ADB7219EBB8A0822B59EDE57D5D19E730A75F03B8FDEA3F4E491B6A12C5B001470C568B234547DEA3B4262D073F16B95F56BA734D886ADCF648CD91633CD63B3AAF90321771464B7C7D3DA64F8EBD097BA47FF65B50A0F3B410EAF9CB8DF592825D97C919012888BFB552F606C5F6EBF8E90DD106DD86E451B1DBE5880C447C4B956C6EDD43EF3CB1A596628F545E3C0E580F1B28593607FE500F1463D1700F3FB431E8AAF3CBE02EB6022B0EB6ED7CD7C9D079AA79BF9DCA46A05D4E66F8ED9BF80B9BB475978F48EFF3A112478863920CB6AB6434D342DA085CC532982A55D8656F8D4AF985BE495BDED30E6BBE5C08CECDDB289209A7CA3008C2CD1805F40CEE397F9A803262E67153B85D45B932B967832E66FB3B0F0B781968ED86BCA8D2B6602EB94417C011E48147ABE55ED52FADA4978C3C6C459BC3A8EC8BE66DC199340BEC89BDDE7A1049A68D4B4EB8DC02C81BE048A4FF2A5F456E3BF5ABC2C358DE462853C99D8D7E9FE07FF016D0E6C4BB7EF302D3614842F2EF140935C69EFF655B50089BD01ED022FD02F74D26601EFD1EAD35987D765B116C403EDB098982388CC8CB0F626AB1B848B122DEA44F55AA82E886512E77168BB4F03A61596F76E05136A3CBDFAAD7D30DF4ED9454E0825645B5872C20C773DC76F508D1F5BF53D7410D17911A0835027E5D4047A6E506F0AEB6BE03008CF5BDAD46283218956EECF8AA1F8024BB211C27862A2551A2B078449C98E07877ED857D3C52182B52F0059C1664D9B09EB6F209BC2BB14C8087B06F63F0EFE817ED2743AA719076AB30620D26EC843FAA63283B1C8D38ADD948185DE166BB41FB3E5BEC121FE0C945D2DF39A298A5A46F9C130766F5A2CCAB0E3D30BDCD4C83AAC7841441F347501CE05276A3F1A7EB512581D45DE20E3EABF68D2C1240590B53A7A0A35D9C47C4F0E30736229DCE1626FB2C62C373B8174D32377F798A0E2F41C91BF5854280176F0C31F7056CD06996E7C418E646416952CD4C252AF3B99CFFB19427D383138F2E861CEFF1E56292A79FB895D83232EBD124B938AB83E3BA610F1FB3A4545869E6D04DB5AD38634C9148DD3829CBDA7DDF574F73587327FB328A23A186636A7229D2D3A5A020912D9F12A187B63AEAB7C8E2A8747EDB024D31E3C75BD43FD6D220EFA81AE6101309889E75D62FDA5DBFD283FE1DC9AE9C46612CADBDBA4B76F69750D46DECE08E6DD254F480B2906C09823A91A1ECD8044C9F3BBBB572D17AE953516C816C20A5D57EE2B6EC0CD754663E5D9780DC1416901015EDC231DEA32DF2A54A20EE99B9701BF5AE52BAB76115CD62B6A9E088ABA9536329B64D1D099363F2D8DC75BFE47D56497AB500CA852108BEADF692C5148B25DD31D4FD5CDCBF236D9AFC3D62819AC7278F66E5603AE2D7E981154B55C6A1EC79008121BA8BE75291F6FE9DFCC1A1F55938C47842CFD699FD61459BC290D1394370602D63305C08F0EC93794E6629415E8A2B6E51B77403880602DB1FDE16D63BF76418EF107776E708351D3CD043537E4CA2A9D4D586B3FA4A9E640DEE75464E5643D0776426157A46CE69245B4DDA49B5747B8C7C2591C7021359196B57D18A69818B118F49ADB54CC4B3394AA07DBEE7BD464DADBBA370AAA62FE66E9F296D00F5C694FC49FD396A4D50F9169DB0A185BC7090D73423F1C5B658D2C606E130653EC8AC40215D2BBE2F614BF4688F10AF213334BE39B923EE9C85EE0B09A492CA5ECDB6025952D75F237E2A5B4F30E796E77421860D69230F1019B18AD21FEB0D174753A684F995C1DA28C1E553CB79604645A36A7572596A6CE71346836D383F2074B8AF3CBA011A493C6A02CEFBFBD638217DDC4C73C62E67F94CBB7C76D3D5188BA76A12981B6BA63D4AB2CFE672368844152A9F54C903FFE4366E0B059B2A327B0563693B062B50BE59D1F89ACE46C7618F9C9ED4685F05C17E59C8735116D24EF739999E69CAE75E16ADC908683A937F199D184DCFABD919E5A925707BE15BA3F27E8AE5BA65C07BF7C11ABE38FD059779A97709F94D4B19911D8F695178ADCD50B9847B80402808218B164BE481CDD405181824B8F779CAF31F0745665AAD325372A43F6B9D5BDA0A76B69FCB3ECECC9C21246118D54A7204A459DE36105C9AFC053FDE73971C0D2468894F",
"B530EBE2BCD6F6DC851E89941C3D2C85A27BA06B94ED655097E04672D409B82FADE5FB5457E107C96495BB80072423EF224B21A95CEB3F9AA7DFB2262A2E9E2688DBF039435E603D60C5069D7F499EE64304810758C56318AF986E65E8971F3B15F9248E830D3B9015D354176BFB1228D5ED49D85BC0C6CB244AECE6493EB8AA0024583734814631485553677437210377412375535664707520822344487475048881137563316527738466026161204285208762175583001443114064740207120024741164217348320134858465050110674054327881042100001622877260302060047777571081861730216567012785803235031585686228772705750568444715368066325533271012250305371531406283504248275840572735170223474881401158603834577537755735270155087531258573154066410864355411438750472058066033838613004010750247764427831355762164803746030600744658882860151716843356026365654722620747148775478246544838742624366113275860251517786831387402466405334308658300282830168426762368451720362564456317381055108782038548008261220205864104317470565247005811285676078308071567680407152315058027048014561173123615110421687006121636468843456078424210604003258525543141614054530145625014007612378758881048205431335758724445713674084566554115652347863110547681562260631631206561103613201264267170255216636272506870830457016234725371571116866425312052348752820142833852635484384571755340447517173470678606083550474860724861738444701064833365403201788053132275558080303326278552124472632020546574687416130087535618116073837223385570864888813840325330676602666028735073106367736576120741404138334040415314228303445764285522124311308183168726361211477315460274162820065701281884778843027351607053641117830218015071218333142678028333175665561455586383121001673614163041554575278887062303442700381541243343327027171036631548681755480120462376478840628357717114355726212581705165052025720715008763386636668037540271612877805758613141163881277753610786178608243104081888348207613174686838776637747746578206328307562386577351526600517535611708220626466173513726353043348038861038187383524500600722812625023308360467506622251424507210861320842103274636848024021338303740328137745462432326368752231156371838504564463734013858262556013486617028504580440465657574222056230210260145726511278872437262675677375351284250014700625633072137263280277428782077180608043316131242814344572654855258655022587580730305834346804025566450652786866375814005226357867830056704513777780278850132638406830765723285670220461871545870851732240761230637154306252276540415133654642114161041555288155483135086714473157035853522437142840342062722331234780223755844715617081311665712141171052104184560876445031668116378184155684361071210222532638463585633664303726750785258035356741860610400257264111335318187180080837560351547381075105380445557474473275645178084418433210603878826551380458651457338068133033123261606486884278412021653206633886326751336246444641082250857368276845316005321260467447618187241352005305211483554114211212344178686775830623711005020187465730022830643222473550082535300054770481044683250584032001672327380607326245681310101078480085542170723324537078625484362873731653248376547732076323062100032334705570541752318150261041575B9617E1BAE00D32AB8E6B5BF1C0ED6534F4EFCEC4150F82AAE35ED47EFCCF08E91D87FC3932CD3928C4C9FE8E9806C5044AAA32DB813B690AAFAC3818C610E6B93065CCF6CED9C2FAC61E0F3887CD20BCA613A980CCC7562D83092EAC4F856BB0B105EFD361F289FF3BC8EECF3043C7BF65DDDC391DFA7CD9ED679F5E087A8F8D02A0E99FF11DB8871BF339E1E2D5820B67733F61A57B7974244A5FA2C1969100658F0802D51C2DED4BB6E10C32FC6AD84411CBF38AAFC9EB0EE6E15020A1DE3AB6F79D206243D8AB2DC06061AA947335A1AFB28BC45E1AD0EA4AEDB1DD8765A5F88C1F4EA5C6332BE8A7856A9705152DC089563ACB01DC1EDC1631A61DEC49371E68F5D782216EBD421574210BB553FB0ABDA3FDA2488D8EEAAC5D3EB3BD4D6BB740A0B4FAF494E708299C95B789B552AA3A4CB5CD06F345735A9E3F5623DF22161919647A99685773B9B7C8E9E1DFD5A75C4028A422835804ED85A9FE31472BA3D4232F24E4CA0602147C85A9DC8C181CA557D94954885F4938B91F22F75D50F22A48A443EFB577B2D5D611FA2BFD25E87FA87CF42619B9A0E4EEF24F59C4A23816C6E9AF7FDAC5E66D80CC02BDB4BBABD82FA249BF7FAB12A4356D251D58676247550BD9CEAE863251718F055BA0B0AAC13B110D3F3AD2151A9C6E36BE2EEC65CA0A50D8859740A1B113B0C235B7EA811780708D2D5100EF3C9C5AE
"",
OIDDigestAlgorithmSHAKE256,
"EC37D75B8419EE289E34EFACF32977E88AE2CA92936BE8FCD866A65CEFBEA214052BF163B8CB687254C6DEAE51E5782F4B20F459D8C83DD5841A30BDB0238903D86890298E0C1ED5BEC4630BC53368DFD0B1588748A39B57DF98299FA6D749EB6A2A75FBD1CE2C5192A5804A6E5B6C650AF03AF10E3A36EA218268E55B9250A4F4FADB82F0D6F1F2B5EA640DD695386CF80785E001C8EA3834BDD9D2D7FF1D83E748DD675AEC447F79D67DC8ACF7ADD3A257D7A6DB0114022D5A00124E694F0191FEB08E4F3A78B44CA0197E5EA2EDB5ACBE9579FB167E2FAA5113DD2093B08E2EB31EF5E1089242A5A5A61214F7E62CEA518278FB6F28931811CF594B68516C0346DB8B7EAA14B4D431D224D9BB92BDB31EA944E471068A308A7636A992E88EB581D56222BBF12E82A571EFC77CD8311B70144969596C8929815B5F1FCC2C235CEB9E0AD0A97774FC0F8C5997C6B7A3645175248EABB5F570675E4A4EE7FD3B43AD48B4808B6870F3D1780E9DBDA8A3CAD57711BD6C1F9C2148C7D54E1F71DC5760FF593E99C84D6508175710855BB6DBFB2A4C4E33941E11D348D47F48245211CB07C98F85306095E38D45508DD57973A7B2C7E980A07E35356188ACA01E9EFA6DC35DDF93D98FE02D6673455C7B06D2C25C4ABF75DF05437F54ED90348FF645ECD62BB8B4D51B0E347E25BC0BFE88794B6DD2736A1F9E5B9601F5499AB70B4B6F749D68F53D4271D16A9538B4A6570E429BC57D0D505C8495A9EA9D39E81F3E36689F81C7651A10AFA540FBCFFA935EA14A4DA2C5B8E74E9DB3359B05462C9A217DDB6547DA40B666FA2C7374D0B1C0E199CE9C66591625911CD96179B46917BE50EB746D240EFFBF43C012A3E107CEBD9646FB985860A9CB70D414209CA7FB3BDEBC5F2720FC2BF4C2FC0A9BA0860AE19B52136D472235D3545BBE93705210A65A66DCCE76009490C51C491DCEA06FF967F2FD97C1BBFB94A05748D70E38912CABC418B68E0D2058BFD473295EC79EC25FD08A999C6EEC8D4161CDC748BA00574328F62601B52B8F6FF6042ADF60DEF18AF9F4A3D93C156C9F95D9745175ECF78F12AED150F54895ECF8901ED330A0161FFE7F370AFB1D7574193448B4E3E1476582210C920357FEBA603714CE33EAAD056DD1847F7119E633D53555BD86E6DEFCD4066016BC2360FB6BA32A4739AB527AC47F2CDFEF43F2B1368D8E3F22C067D68E1CC6550CDCAA2B2F1A03BD0074A989872542187755B9EF7225ED6E4D8B833795195021CADEEA4B05B5C68D2BE326A99156908165BFA643A1FD1EFADD94699B2EADB55E8EF865940BA1D1965813FB27438D17BCC1EFB7A91CEA7C4DD00363D2C1F1A8D4281810AFAB068CB42A2A6A5F5B53CC6FC5A1197976EFCA75E6DAF3183B14E0A74ECD59D59BEBC88ED23BCC99A058F359FE0FB0039E17B0FB04020463803ACB18BE5F0B43EAC1857D49504DC86F5178C22C63EBF74D464485086583E74394AB658C9AF85A17EA20F0AF63175E385AFCA2C06E84C85054DE01FF0FF3BC7688C17808133B9A4858E0701A39B707E81BBA540DB3AB2AB9A1A865AEACC78367C64387D4779E7D211E372578A50E77D700033615BE33BD210B95C23DEEBCEB72745362BD20F1D79029D7AEF1989D78D9A7FAF418E113107AB944A178F6483D939B54A2175202D3A815E03F55A939EAD0B73D96881C8D066E324ACEF0A4C92CAF34AF9DDCE1D69B8AE6FC0B82B5FA3369B12DAFE14164599EE1B603CF5EA5E7C70A2E9BB95279659AD1D193143DD4F5B124131AE0B0B6F86EF73CA32D603024DEE2559C1D24BCEDCC1EE4AF4DB3B88866455DB80D89A02A00D4F054F0AB6AB825E85ECD5D24D6619D896F4C4D31C9980E60C85E105D04D725AC598CBB342812AADD8034BE5F80F4AEB9A28E64A5B39A391F0DB246ADBAC6EE59B34383B3152335467C91B7A5C35D7DD06449A343EF81F57019B17280A52066EA4844A396028AAE60D8705180C898D39B22C42604BBB82B51ECC61BF9A60A9413B85AA6A17B1FDA79128C1090F34A2D8D109AACE63FA1FF6DD22675E54A773218FB9B4B27F5756522C07048327C27852CF5C837A6D8775F22FE74871912C27FFF7C9F7E4B5398702D651383B3C61B307C34314CDF84F50D3E4999EC7AC6F5827A81DF259805C5C2BE0C463EF5E569CBBCBD46D7DAE47A3FF1491D2C0C9A7110F5CA0693DE1F09A2541946205DF21BF93C829E2396595F2B4211ED9AB655E53A6F0E6A8A7B67F1A78B9706C1AC38290599FF19B941414FAB71BA1CB2F44E7804686C3D046FA3C7AA9A57E51D0DD76E1E9D776A7538211EECCD4240117FC35D4108D9E05DD895C5DA7FDB68C4898817CC18DE3881356EFB85B9FEF7F994B9D2EDE6127582B91A0337B8E8C0DEB73C402632D3AAEF4F43FE7C73356AF49B35EFBCF02317180450F634E18271AC3CEE855DCD595BDA8453AE364A0148ED7CC9A40DC3E589CD981904F5CF0F3CB8809DA9073EA3B206B510AD88E8F83E712D3C90B80DBBCECDDC5BA94C75B7A7B2A720ECFCE47C0304C8D6A4D9918487A357518008661A52CBD7B8800C7910D2FE88A8282D509D91B1B3CBDE71998434EC3EB2E70B7EF1A716C65EE5EA5E38CD83AE69FFE94637DE3A61F6D07ECB837FF158EF97015A155AB587F28515B72FC2555C92167E4F1DE2CD5ED43B97476C59FEABEFAFDD257644181A25CDDDF0547109DB06D78C17C764602338456852A2818571FEEB24DBC0131932B0936B5CF402E3897349245D414EFE512B5BAA50C724393E60A43285DBD91B45B1EC07ECAF249A92A9A12284363FD2C31497F96FE1C898DF2158F4BFE541A2F92670AEABE509A49119F6C12C8A905ADA2C838475D112FB0202E05D63F3
},
{
"4700BBBBF35949E8158C2926C06103C584DFF801EED33195EACC11C30434BCBD6AC54EEE2E62A6D98203D740E7770E6825B06A9B1BE5D596EEE91E9932CCEBEDCD119DCECA2875EF7B14E7C36A207E08664490F0218ACF08941917A45221ED6AC74260667F74ACB5A08C26EBEE69AF058D70BB2036B32F2E781D4377DE167CA2FFD52D1A250C792164C7A351B84725D790F5BACFC3EC3FF55D8673F896117C44DEDE32134140FA48407F0C76A98CB4EB16DA895A5B5A8031E86F5A2055B9A1713D4DDE6D323BB11950152A441D2865B7A7C9B23783BA91BD4C654FF3594B5E6AC42A9F0E445CB4C8120C14EC17CC963763B36BB423659CDC5B23C9E703C32565024111B460C86B137DD59D1F96EDE0154C52B77EB061ABD5DEFFD6AF6F329DAF2BABDAF7E2E28A1A321B15CF3B7ADC32D23919A1735110DD39F397EBE39E2F93A5D89A731FB34E66F42BD0C13EE5C975EABA4D9EC54388C61EF9AB31497F4603DC54B504F0C7EC20D7DFE5FB172FD7E424E06A29A10CE85ADD8B3A0CD32645D926E8F015CAEE5655E3EEAAAD9E655158067F578F586CEBCD6A80F3471CD00F828C83606988DD647C6FC3968CD952DAD0D256DDE3A8D25C875278F32E6AC6187A7B8400793524AFE4620061B5F33D465EAF5D0D354B8B068CFC968E37C1C77CD17889CA20B08A2EE08B286FAF5F581DE0B0B5F5E797910445A4B00363043A0CD2B0C10E111DF713A545A5C74FD1AB3DFFF99372CE992C92879BE717C42F73855277405B9D58177323848F142A199F2DBC7432D68A8D84120B5E6628911A973459CFE0EEFE67B231D01D0053AB38F1EEC379315B63CC5433663EC34F8AE79123D73A4C1B0762A6EDD095A3DFC0EA51CEADF00F223D6F6FA5EAE751A55582C774FCC13EFC079FDED39B6FCBD2723F1AB7E318D2515B8DE4163753BAE636415D9B68161EDBA235E77F426BB02285A6F9A5CE87E7B31E2F8A1B9DE031EE1F213E4B9251796CE4E93FCACCF081E5A981F76942D907758DF0EDE18203C5E100B470C35159A47C103C7ED6FC74A30B110C1E62C232A38FE48FA537CE89A863BF3B3F6FFC92F2C7E4B99BE569EC043227BB6B2B66841C3F236D5643218836AC21E7C201A7CAC77C3784E6DF71C6FD3BD3C6BF0436CA4B823DE73AC40F2A4CCB980DAC6627D8F9E6BFA1F5B10659275E31656E6D54CEB9CE4EEADAA1B1871E2D35ED3898242EA1413313D2EF98996C1788EB4B2D5781B8D1A6D194C81A2DFA92918E4A7371AF497C93C5EF0C9F609FE3B3F4CEAC1AAFBB8060AA486EAB340723207250387C1F0C569765DD1202197BEE3F40FD22501B05E1C6C7937D06E1E271D8F1261B4EDF23B0171FC71F918147F4274E508DA6DF15478D9F18A0D023765F856E944A0EA33C90CEA30266629280DE6764A17C4167E06C3C34BE8B6FF15419852AB21160AF58C9CA91F5864C517C4B2A8792253CFB8A3780F4FA666C0721C3294EB7DFDEAB66FA89DE78CB9E6160369B2A9391B57E673D0990BDC6AAE2A7425C94E7AD881776BE1948A4A43994C73EBAA448134A7E5811FB3FF655697F422D82B15F669F1BDAE43EDD0F0E8F637D00E52745EC0F29F3BBFB86C862FBB49C28563308B694AD650090583D3E3A5397C4A2F20905A898618A67F414041B6B3C7B1B496227281FF3EF2DED8571B45BAF0F8BE4CE3830B872B85B30D6889D92EE16CAF199EA6323A9712B3ABD1A51BCBA3D7CB1970A82076CB533C54BD1911E29EB08D72E6F992CC023EF50409D6DA57EA60167A7C67DF6EDF8603216244698C26BD72BC0CF63BCA5237815016FFFCDE849E9916A538A0116C8A7912C3E4F3839F0C03F6A55EF68386CBB31C894BF948A8C71655C7F8882AB4181B0379B29605440AAC004895A59AF4611F3D635439779DE2C559FA379E3B0C4C9C5AF9FAE495F91670B2B3873B6E21109D66339477506304FE6E588F2BB4BD6F977403C6BB91C752C1DAB4AC8C9C512DD925FC4B9A93C0A011B58CBBF8CAF1255F40139C8BFA3699A1CE38480084BA8B2A414A1CEA0CAFAB109FB0F22B79110A12B52147177B6F1332E6583A4ED14FD2A7B83509C503DA70873B17FB1D797FFA088719405762335F4B0F20B48D26E6288ADE6BAB7319813BF588A95ADABA22539AD56134F9DAA10353A823464FDFF92085E2A53FDD1ADF69BC131B086597076E55608476577C0B300E38B642733D5F10811EE1D22877C42F5BB8A1050ABF4C09FA96839EE08A3F77C4CDB7913A2B125D2825B7B190F204E8FF74F096E3DFFDC5C9E07D959A774648C082D42D60B3945C4F84D5088505EA683C2E0626C3000A98FB1844CE7761E20D3E4CC78B6A4107059BC396FE68F8EE1EBEF4F77C847485881E3E7E67C9301FE6734DF16324A96D33AA8A9B489818C769801E0E9748654B2FAFEC34C774A190371C2F0730527E2CBD8C4FE1DF9435644305E31959772C158A7E53D14166E9738C5A3F7DFC5BDD5CA96775B35DEFC973813D9BB0F82DFA768A2B630DBF1794334FADC19917B6A1EEB6EB4743FDB630ED8C02E8E5AA39115DF35734AE4A9437E0BB63799EDD55767A1345FA197BFDCDBEC9ADA1E6F84FA6B93CAEFE9E20B524B0F4C331BB750A9B2DE9E12550F25DFCF1E555536F453CA3ED2EEEA96883605B4896EC7778EFB3142D0CE713AC3CD5A7E607720E7BFDBB9D6C3C217E893798150D8D62269A340463E3C1512AD298E00E9D67D100987DD8AACD86AB7D53A6E58E27C9BC8C4B730FB7180A7C44A8891417A975156EB5CFDECA09ADA9A9FB1C7E601609A3F6B08983B2D696D06737E2486720A689D2070B87CBB06D15CF25E64DE871B436F0E044BE33472C6A4D9B9F271F7CDF8048F4F0245CFA943B6ECCCADF30D46BF66EF
"DA756E3BF2D404B7894D7E7C586704F70B4F3084459FB4A43184C1F750E4EFA0FFA0D43A04106EF6207B1BA641339C57F5B470A483BEC4FE316AEC06EB428BF8781056DDEC6CD147A19CE14B5DCF447B29BCDC0B4D8EF7049AE92B7F1114D2EAEC33E92B3FCA56C3BDCAADEA3831930FC0ED61DD49063636D19600DDF2E7D221565E2361785DB758C58D3CFD29C2C898130C417FB0352BAF68B12347625B7A90AB64D39AB8B757AF25DD90E710B35DDA794789DE1AB19A603D295C813D3A3C7F8BF0ECC59A3863963C9A2F309DC2C17F350328AE6C658C5A171E8CCA59CEDC43FBC4BC2576B13D86B9E6DA9202F7C3853DBB521724AA9284BCFA81C3EF52239410C9EFA435FE7C166865413743973A78B99246B9BCCA33101856EF9336562DF513D7D96529585BA6EF5C21821D10A10331A1A21B464C5DBA84E4E33C5FC5243E7BBB3AE5741AF9909FA6D3288FA95784B95B9DB71D823F1599E70C1590CDE71C8F73B35F0C35B8A028B7405615AF1D6DEE29C5AF64C1310BE168EACBF044DF539036B5D7F3F9E7F0C1FDBB20075EAD5F71073C6EF7CB73E8621C6720D6FE439996D396323CA4B2A97C719B01FDCE495A334ACAC1A46641312FC18CFF709981A0C6D64FEBB800FBF317E07CEB24E9C75C3BA828C50F2D9DC362F7B9155C9D3E967C3168C4C10A2DDD65770266E1DA843CADEE14A487BA80D393A606EC9F828DAED49665DCDC38C8E6CE860911EAEAA7FD8FD9A8D56692B15EECD7857E97926FE1B4129BDCB8E4EE0DAAADB81869972834F7E6D169C94470B29084264064F573121C3377F710494B79AB4F9EFFF0B98B1C5C3AC0B5F50A75423ECAB0DF00204B8782DF9C7091BFE108DE5E0AF80191971EEB18471C31DE062F07D05812F8C4DEE3ECE91F2376292CD659CA41DCBFF232BC070B131DD1EE8F4AC3A72D7E9705D9EA9806E372C6A07ECBB2186E5976685ED9165BB5C538CF560FB67692193AF17C05C9A40A4CBFD8139F5E4CEC7F6154DE813043CB9B39BF4127A760D0B2E09EBAFE6028FC0A331B8575EBDD5637E795CF05A886800599694544CB4A1061888533D507F1D9F0312FF238C7F6A8D067C6501727CE3983FC61893F5AF2564DAA6CB99631E9FF993CDF293EFC475C58FC4D086FF55182E31661641854897A3A238E0C915AD9A29B15790286B8D403213B0C1792E24E60BA5DFD785EF1F77383CD22613449602EB14028DDC25950213C8E798A1F925A927E5B2166BFC28EB1AC4D6B2541EC8024E83AC898A5D7B6B1C2D1AD56F9619A67327A7B0568D4EEF592BDC8009811D7BB8E114D53707424E61FF0610290130F43DD966E8E38B5D2EB1308FA2D6948A19CB16519EBB0582F1761C1821DBCB156A7F8796F093CB3F3691EF483DF105B00E1A5B125EF00189E74E51D61EF92B6D6486185ED7FA30196CB3331E870C248B32C3FC65F132A5F0C3C29273329271AEE2057475F55767859911960CA630A8D208E6C96E640763D211672AC2BD0F2FA0ECDB8BBC26B57F0EA00C93916125D388F6E53E89F6846C787A7E0EC1AF10D8F8854344181F90F46A24C131F77E74BD4F751CC866A44F8FFDDAFFADAB92D6D41B7912CDD61A83ED7EDFC19EF39B1ADAD92DA30802214036F76D196A07D531D045462350B388EB8EE2E2BD77638B0441BE0924FB46C68CB865C3D0FA77AA9B1150D4D322BEF8FD9FA6210F0C9EC79EE01CD5E4D2C17F281CE3EF65C59495F21660D272B63086C1D092A95F1A494DC8683598741C7B355FA22B57B39CD275DE662C2F70A876C19EC0C8000BF0437CAA4D8877B4CF041A6010CEB67314EDDC737AF7B78E3BE400974153D7EE800C37F414DC47ECB1B75816B75375D8F60EBF5B5BEC1E72C5A1807F727B0DB0F573F897906F672098CE2FA18D1BA0013F5A3BFA29518390DA26FBAA163600E2B0A1D06859FBB1367B7A38A51EB344383FCD2AC1DE6E02F842C2610DCF6DE94CE9B5F5396807E072ED427F11623D3C702A3FC7826A18FCD37743B776F4136C9FDEBC70C19D27C878C45CCDBE276D87E1EC06F83F42110F303A88BE4860A1E9746F2192BCFEFF66FFC808DB8BAEA8CFA0086B0A1006010E762ADA418E32446A362D73AB4C56DFFB0FCDD1076E04CD6A5C308935E67933B94FAED5A8FF13E563FD4D867DBD74D8DC578626BFA2D405548C117677AD7D3923274ADFAE69998D7CB0C83B413AC767C1B7E1772F952C50ECFC585102CC538C65EDD7196DA80E9F85D78DCA303E1DBB8C857AA58342CC362379B7BCDAA84E157A69DAD47D416E0B69DA51C33720176B9547746C7BB89A0B328CF8596758D301D191828192472B1B50B7473AEF9A49F49175BFA94F3F103C51FB5FB10D28305610A23DACDD0014F0B2480044CF47690E2F14433EB6C52728F4976B7281B9B1A04871B5F6471342C4CE0400215CF53D2A16DBF53E4F211B95D60FC673FE1CCEC3CDC13A2B7939E480F7BBAEE093E117F399382EA443A62437AD56856B2DA9223EE5D960429B629DE636AAEB2C6224B4945B7CEA7A59C5EA32CDE02CB2E5226C7C464ADFD3149ED4D02D7DABFE163DAC96DFD09D582D6AC3CF4E6DE828B47CBF92EAE11542B7DFC573B650069A1EA490AE68FE08EAC3152D0F800CC60B0FE7D695A2DEBA8C9D600A5C2B4B4F2BF6240C4BC91CC5D452DA031B2B537C20A22A155B7C74E5020B66C2D39E7F00D05C129076DAFF1E408944E8B1B18C5B57E2B159DDF9C46BE530715AB278773110052FD",
"DA756E3BF2D404B7894D7E7C586704F70B4F3084459FB4A43184C1F750E4EFA0B79FB0BB5726C8346CDEAC9B96FF5AADFD6752F46BDACE5B4588BCCD3598A3ECD1395FBEDDF177856B949411B7445FFCE59EF6DE5CD66039F7BD8A817A3A6FC809CCF251F0471CEA6301209BAFFFCD3C36E348A7DE70FD4EC052EFEE76F2DE1C060232835025742360331744256848500587607327287850834556022428663787406454646531365874855485683120313008158664233518218483424142812531127347164008847271232650133078623722360670770542300206027426851313884758743773353276882422445672843183734131744688806327870785223537180666425156722602415360461222272861604048208087352337223267431416770576543388618152788835401646254580067777142670443373420065626632122135812680127048870387234708772366578800603174412631475244220115823683284877564675048643447321436541012188654046178507887880342020644050860642471187726575655412762411720140277772421140680080637704421034512452100443863662254863322037573138020640855272448333821127665838202688762476015025387072244853617032170105403857534588741115082760531064878251017073373886485432165725112051127085740470434551381126055620504542506304482781025216617234371456384430677363583125156237122503068326023207458125447332785377147084204852342260342868256785687556110748643854852574616462282817748588016088351000635748655620871065255238153541818605616787560583853673676337238652106631145628122755178073172617765210050362248120214364340421145721855758815040344333271031783131188371058132606758708610274701861655560482654304622054560408464366026484151270002706112574006156360643680752101845320513674675150621436146502802043787806102607828066260544253063205200052075708664122443888402577156462671746282647817832311674113183626806201781651444336875743862384141807305570210488774035130275722006055557532322871206814355404270873755487345225470805078384066016705852740812014022676018843236072608105877527800371047536033122334226484368777548728247511472150061654173758011158667567517711786113831824372748230815731446286257160120537637065120741512873648200033878803208480848258728665718666322488378546408205071100321881513234886351751326686065413416246147470856007616522112586368322411210725047124563646266728112455088343808357460688085620866210508622736454153828641076650156864134827332324035283038621114167150201173002882180677802714733438738468616110602544163568418455030574032064455583041310526708426344685024121263717648448238731870170265623237833250585726173681540365346715202322066005728787675677870326465588151344268233477737130466261665320230521681015814027606523781133248571315316764521610550267121804287815561806587253132783665741464626227511457386842266837557766238157241570140242247645662705703800886080151750126313206155542006661671477177430560142413282505246843286504325124858573724874715777072317836027378485122722612777566650525683563670710558483138553011107478317441405268224044513021364527811243086845602515320274451670500384235780661161171101327823717646533687080210180010336430174205841104663262616887444185258172726886732701407523360046436274158543734708354861321208560458266747734620833861003875134203554088614044524130413207546243952EFD97BC4D5CE92C4980C24177FDC80CCCEC8F3872ACF0114771FD4A513C98A958F4F925D040B245EAAF3DB631E72E9CA2A83A930ABF19B7F91CD6C7DB1BFAAAFADD4741143C127121F5A1D18EC351CB4637EA4530D6BD0ED678753452EFDB9426AB4018D0DD84AC8A92FB13B2782AA0CB46B2EE2DEB575144690E67C42C649042A36D6037FF0F763721C6F6B75AF583492598B1C3EF446FD954EA7EC30F6CC6C2A0CDB69E8104ACC091CE947E0E060A4B52ED7A217882185CCEBAB01D5C50263F19EDC306E82F4A993ADB9286D0A42CDF149DCDAE5FD7376A3BC5DD951EF386B06144A8733BC6F34806DAA7784FE02BCC9D39026A659B962FE488A2B4FE3B9B961BF850D8083F20FA546E5F8B4F1D4999CBB305454216EFB40D70A2DA9962EDDD99EAB561B0D94EFF89A8294F86ECF5D862BB3F3BABD8888666498076EE0F01870322C5EBE88F310C7CC2756D436C8848B869E49C1E24CEC423F8854F9441418E36C259FB0ABAAD504952CA8BCA68E2387B80DE7F8958C6DD20147057000F189F0F5B67CEDC6B7F81A487E94FD2E8BC97C84FAC0723ECDC5CDB5ECB343A33DBB424E0A782DA7F103540477957FFD0ED6A2471372B73A411F27171484B6B1CD7079BE0D285744710AC1E925F81268D20DEF3650C2DD17229B5397CD7BD6B32F3832016A0C460E37EF62552EC4EE727AE0BBDDC6CAB3EC72D79E967763
"EB8D457B51986860C1F4153A9EE4D290B69D55E6DF5B24F829F68E1671BBB9E4FCA429BBCAD4052D15C26EFF27DEC32CAF9968169B35B015480F5056C57E2230F33D186210812A1EB3F11C8F716C07794D539494ECAC2215063A3CF4F3B91E3252DF6C2F571080442E54C3BD4BB75084044410E4B074105F6D707391C5587377AE6747C1F10CBD5D384509FD0C8F8679CB024D6730CC9999A15D3B156DB8893751CF4DD1301C8751AB40B04A0DB1BDA986E1494F8FC547FB3878DD785E",
OIDDigestAlgorithmSM3,
"d940219c709ad0e496a82c62ecbc8b119891be4298c4c097bb172fcaae5fa66734b730289907cf746569b92d753301250f518b016b567c34cc607b4293792cae88cc7ea2eb608c0b54e46d131fa858bc79552334c6af85e6c40331e4929e3d578cb8d0b0ce81b7d5f810696e74d4e8834fd0fc3f77d41f9b87a1d161e39d7585b5c72ab742006388164d184f65c3acdae51355605bdcf3aef84fa4c74cada90f21ecf5c2d7c7b7cfcf30ccd6d38719870b19255f8cd8117479ad90ecdd82638710fc1ec6375c1e0288e574a6c82beabfce858897254c8df84d0f52eb887d9aa9eeb4ac9e549125515bcd494c437425fffb1aef3c076c6f497024e9510c38b2ad093a3bcb268ca69b30611f2705f8c9f755c3722f62a199831b64c33b39b1e0a718a5c3be64023de637ea47a7026af52c28d87da99d05213f015443fb6949a84e5b65209ac0d62828abfda5f7eed709956a7af0d5c2579bcba24621e957e90df611ebdffebf277d416bff46baa171672de74f3b4e3332e4fc531657fba7d89e202eb9324805378f99c9de7fb4abc4625eaafe7a94bbb95397f7fdf079423f973924fe030b778c30576c17c91f45ee0a831f96123bb9af645b12d88002f183b706bea86fc6ac000e204edfec9cabdef1e8de300acea4cce48ea68775fa8cdecf12606c3a94f33f0183511aacb9e597e0759ffd496a7e3ffb2a66c4a39c065860f882d0287bdd85a18e6aa57d5fb3a4209122f7cf3a90d8615646a8da527d12bd5572650a023995c2452fabef4caa0940c55f9868a13d9be6662f8dc2913e5046a8750d1b608527cf179b511e8a6bdd1a0220caa9e6437b9e5bc4ac3003146c24a2ebb4390805d7d73be5c77e0c2922733fd6bd04fa59f433fd96aebb42efaf92547c2e5109fed97e6a76313a5eff69391b724ac9d3dbcdbf0acc32caed1d85673834c9098a85ed374b8dfac9b3be42239907ed14103001c4a71605bf02ac72495e26ed44bc7810a273d87e8c7309e44d98a816978b3d44543bae2089b6cee11d687d31d5fb76f74279f978627a1368704e7f2ad141bb1d16a8b9a61bdea6dd2a83975cec329349891ddd8d01167ea55c4b249720769e5bd3b1370753060838bce7cca5873cc3c2cbf77d725364140d258de3eeed91cfb92e4ba0b2be233c1fe713e3354cae820534803d75fdd506d1cba7f272f4ee98fcb7c636eab9af8a6339ba9f49184c0a741ec827670d5e888a3ff8ac7b003d237920abe6e2c93fc9891f10c1e4503529136cb01969be2ebbdffd33e366c9b790d6bcbea0d4f111ca20c4b6e867e16f97984beb7226b8b29c7b03d38a6f12815e4f350393d40eb3850c8059618e3402fd1949c7f104cef04a8a97a812719ba3caa6fcd16d4976b585251d57b7aae25b9ed9f985e333a029b954c365ee85dfd515a4938edff501b8ab41dbc20c442ba81a72499994f58e6d32d15271937a9873419a9a580f8f7e5d5d7780f4a025cd541cf0b7c0750e95183c6ae56b84669986203fc1a6828de8386640e78fb4d377815efb523b60315d3a674cfb0c53a27074d012048ad23afe261a1ac32db1d05ba72fd3f49fa503b5294bf2faa04507b0eb0971e3b27564901c9d79457fac4f8e43dbdf669021424f425236cd36fe55adf007ed0f9955cea159b1b430f08e44761c4760170acef454e54d5320d5e96d2361fa350ffc07041f6dde9db5fa475ed146f55b4779f91d189538c45f7c80cd422ce74bd0a1fdfa382a58479d13979167a8b9c6af014f1f79b40d75b7cfae7e4f56c612fe3b1de9c0f217621ed1e9955174841f93d9740c775917ffae93b08afa1c076bdf6233e4e62632e85c79497402263770fcbb31745a41471442fd8944f726fc64fa7a86b61557784227479c23b8a3ab6387514fd9ba70066bd5881b3162c9409a3360251f6b8a062e98dedc03d6279b502b8e72ee8cbbe134e3a66b7edd6ee33144a428a3331fa904ee0009843af101a9c3ac1dd1fc0213808dbf8b0d704de2eb27b420c45a4c7421cce2722a432dc42024bbd0c30ed2049e27d7f1db1ff3a6519ed98b824e3f9e0b92836405f962b7f3828d6a52b6917f74f502599167402cb1d1a88455f8551909f9d8154c141b1e0ef58810b9c443554c7632a31f758cf03f1393490cf4b95056fd88a1ea1a3bb4ecf55ac98e947f8a725713e9e26db4ec48cf0f12cad3107761643792fe7af8e169ed99ee9cdea1105eaab7dd9840ee443f2f546bcc6f1c081c499fb0bbcec96a1fcb1be1c78fab93309bcb7acefdbebb2735c741c5b520a2c182f8e1977f5d60dc949c360755182cc4b27ab56b068e48764931d20db5aba7487116caa9520f870d842fc7619c4dc833f5743fc7d3d7562d058a965df02d4aeeaa1773cd8739a2945feb86482c6720f1fe6212ed564fc7810b94cb5c3089eaaf224d43247c5ce5dd3d5c1775e5e9b71d8cb58fd882707184d0c031159db45ed130776a86e466fa9a6f99d620c7eff24131b04e4191eafef717b49a12065f1858cccb749e8ef769e99e64f7ca81fcce888573b392e1f3787d247e906d8af29efdfe51a099a38576e0959ae6245808323755a650a76e69cfdfb468ff5bd5d31a12064bb18b90b6f89410c22b27f9d3899206144a91486b1572ae4b3ad4a30f6ff1e8f7ac95037494bd160ce49d18d410c9a5e46e98e9e8c44a0bc393c7cfab8d0ccc4527c8dc9a92200ae6d4e218b47f1329c1c54411e6987cc8c1ca476f51ae73d17bfdbfbf0183393bed7ae3fff809662d77fe08bd24f3d32263d67f0fb4786754ed2a6fc80def97f12e8c9bf5c63c3d02dd34f7dd8ee1c790cb9ec8dae731d1f8bedc13d75e376db6d47d6a59a716127bbc50bc77165315cb25cd7789ce6a25
},
}
func TestSignPreHash65(t *testing.T) {
for _, c := range sigGenPreHash65InternalProjectionCases {
sk, _ := hex.DecodeString(c.sk)
pk, _ := hex.DecodeString(c.pk)
sig, _ := hex.DecodeString(c.sig)
msg, _ := hex.DecodeString(c.message)
context, _ := hex.DecodeString(c.context)
priv, err := NewPrivateKey65(sk)
if err != nil {
t.Fatalf("NewPrivateKey65 failed: %v", err)
}
sig2, err := priv.SignPreHash(zeroReader, msg, context, c.oid)
if err != nil {
t.Fatalf("failed to sign: %v", err)
}
if !bytes.Equal(sig2[:lambda192/4], sig[:lambda192/4]) {
t.Errorf("signature mismatch(signer's commitment hash): got %x, want %x", sig2[:lambda192/4], sig[:lambda192/4])
}
if !bytes.Equal(sig2[lambda192/4:lambda192/4+encodingSize20*l65], sig[lambda192/4:lambda192/4+encodingSize20*l65]) {
t.Errorf("signature mismatch(signer's response): got %x, want %x", sig2[lambda192/4:lambda192/4+encodingSize20*l65], sig[lambda192/4:lambda192/4+encodingSize20*l65])
}
if !bytes.Equal(sig2[lambda192/4+encodingSize20*l65:], sig[lambda192/4+encodingSize20*l65:]) {
t.Errorf("signature mismatch(hint): got %x, want %x", sig2[lambda192/4+encodingSize20*l65:], sig[lambda192/4+encodingSize20*l65:])
}
pub, err := NewPublicKey65(pk)
if err != nil {
t.Fatalf("NewPublicKey65 failed: %v", err)
}
if !pub.VerifyPreHash(sig, msg, context, c.oid) {
t.Error("signature verification failed")
}
}
}
// https://raw.githubusercontent.com/usnistgov/ACVP-Server/refs/heads/master/gen-val/json-files/ML-DSA-sigVer-FIPS204/internalProjection.json
var sigVer65InternalProjectionCases = []struct {
pk string
sk string
message string
context string
sig string
passed bool
}{
{
"61473E50E2B5098D5B7DDCD478FAD60D33C30B2F43F659E0C90020244228C8D74922B37471F40097C88E2E9FAADB4BAE5D97244D0CB6A5FE40A97585F64B566BD57CEF99B613031AE25B7152DAA21FBC3846EECA40108E142F101DCAF3E5C2331B1F0A42753CC27E46704727283CFBA9276831CBB7372E51668B4C38C447340436E681DA08C2A19495D80D42267DA7FBD1B3B4BD9338A3D8FC9217BFF644E4000A174BAABBC336503A9FDB0CB19986BF4EC20333B74AB4FFB933EF3E8E176B9E82E1C464BC48CA928C1CFA841B812936E738D461B6EFCE5EAD696608C4F8DFE9B0B7BA48D1C78FDD93D616D86664C6BFA4E7472CE0A0F474FB4D16F56F1EA20BABEECD2948B27ECD2D60E1EDC7BF342D2E63E35708F88832F8FC899A26733E7D15134DB05B74837451E0E60272F2C24AA2D69C6C008D7B19076A99475517930285EA204D23EADA9593A2C349CCE77D3606F0B4D1799B8E0E8236C8CCA35B7D7A7BC2B51F32A409C4283C28C882C969E641B3145D41E08532A8D193D33FC40A5AC7C63F40A707699C83AE95EEE11648FEDB6A950C6BD866531ABD72F07B393CE97B0DA6046A3311B4BDBA4EB2098AF5E343E905AF5111F8FF3E885F12DCEDB76D2A1BD99311A2DB0ECA0988852D7283650F6274FACBB47761539B03928EFAFFBB6874AF93EEB4B3F8C2AEDD2F01048F8F52D355D43E43B15694830544850BB0D89249CA13661B94B3BB90E810B1C8F23E90A480371749AE0C269D9F43965F433646E52132580F18ECCDBA4BBE36DADA8C691FCF1269EE26D615FC4E1D0C327618739A0A900FE37C61BC2191EC79CE300843091FB22F85F257B06DB6A24E1F14B67DE05438E1E9D758033488470676AB386075054FCACA112A4BBBED537D79624034F4FBCA30CC96861649F6D56E9BA39C89B6AF41D4B493C12F778B96081F9AB0A30096BACDE0EE5BD46E0741EEDF835C106787E5CFC317F9C58E12FE4A2516AB01C2CA6094A8B32DA1768382868C3BF352D7EE9D394E5EA018550AABE3C787FBCA93C7B4A27E45FB81EE04FAF9FAC7424D034C92F69386564343FB22A5E3E110E5AC8EA8256C41B1DDEA7B94B7AF246C0978777B89FE8CF1B2973CF733487EF16F91BE8728736808AE9A779C364AC6291FC002CE368FD2BF47F5418C237FA5FE308ED1E2423B2CFA30170056C07C859F16987AE77CB5B4F97253E7F04EA41AA197C63DBA3CF7FD853F9DC4A027179C87957DF0EA9799973E255B1C9899417DB681E53CA1A2BBACC02BD78CD0254E931EDB66661AFB93D36E86725A319461B9E6FEB3E0446AAB856FA03CA4ED919EF91F1EED3BBE29B0864E852EFF2BB91E7483AD0F40EBBD9F74105907590424F1180E6EC6E285B0D9C8FFF564114E07A828BDA5E5E1F356F6397A40F04EAF8E0844DCF2B9405955CC06FA353CB91C293775DD4A3FDFF4F8FF5C1125FE28C81FB2E8890F1BC51A0B47A2688F266E667D4478FC98F092540710EF541198C994BB7ADD6CB3F8254426807698EF03512531D35E938BAD2398594E38882D8FC3FBE15EA85BD7371804623C606B949C93467FFCCB245362209121668FF7B3265F0DD924F7E3533985AE4A06AB7F0B39AD13B4493B56B22F4DA29EB4B7E2FC505DE34A413A719AB7A79BAF392F477C1F88587BB34604F57DAF9A54097C6FD5CDC8A05CC64EFF385D5451FB672A7F95B3989395D3B434308669DD65B24B8DD2808956ED3FD55C82F761FB4069220994BC4C4801EF64BC806CCBDB575013B720ABC76FCBC8B33F2BFA3953221AFD0805D822D0180C930D3D3993749CF149A173904D64D9BBF49E5A557FB5A4D6CED94F122E6D3556AAC66143CED682361D2EC083DE179DD1D319380243678E77C3B0B3F94777B0EC5028C6A1ECD19AA23F2C128D948A511170969E0843EFA240F1F914E4182A39993E815F37613CA9BF6992969155F3AA04E4FD91965AC76C52CC7354D73F4E5759C2E19861B2A30C0BACEE980C35663DF42220D18ECBE6993FBDD7596D080DC1F307EFE150299388B69EB5526D93B4ED2353C64020DCCB3B66F871E0FF619C14D3BBF895183AD125E141ED5A14AA3045B25CC1BBEF8D36A9CE5F0C0F84101EA07B56A28181854C6417CBA533247E9071E7244DEF52856D5279F57C6310953F130EB7908FA6EDA7FCB8D8C5992A9601B2E5AA34A6BC9E073E34E722930F7C3A913AECDEE7C3305E9FD5E7DB83DC546A801F1F65FE450C52A8F698A4D27402F8E512C91BFD964F3AF08DF84B074688D19356C0CAFADD2B53270271EA2A0D9996FFE4A50FC9D43722759058CC62039FDAE732C9E36D15B8A9C6ED341268DB127C3DB23D19A7F660E9829EEF9B5873B6291806FF621C988BD8FDCA719743A6699221DF24A1ADE5400CE312C40B5D8CA355FC36C1C1CEDB80680654B48A5D16C744A6A86243969397959415242B5C7BC5BAF7AC7ACE6DC874DB7DF643B11FE22851BF25C42AC9DA435FE7A58F18695A221C553C09DE8DE0D96AD83903348D117DCBD316745DE503842C317D463598D721DE2E614ACB44C67FB70A02976173AE70281F8DDE6B846A99B860615FB6B3362D0395A761F68AC7525104D09A3DA7C7599E7267ADEEA5F0E28ACE80C7E1459A906D3E4A52812AB277EAEFC4DAF20ACB66B57B7BB3F734B7CDD19CFC5D5E1835B192931DAC116C26F1E4BB5C2519FD57F98774AF0760F7CCB53196DBEC21342E72A61EADCAF76062D53F682664FC2908CD41F94379F9",
"61473E50E2B5098D5B7DDCD478FAD60D33C30B2F43F659E0C90020244228C8D753636FB52610FCA14D4B3C11837592B9B0D97BAD6A7AEF9A1BA447A86BF1C337261598869D679699060D9B1E7EE9665EB812425F366DDC12E8C2622BBBCA390A31A954FE0EE34BEA498B94B82ABDEFA4C95B18AD95A38289AEEC39E3C9275F1D10245388868154288472023570533427426337277624432715248463106026865264678607323870145543725556044444232580053227145883313226485167111323361083121441205477787722101402521238213802887325102055580416174315363768455461755224532274136865076613547334353674372045883070812288201172634158858747306611608728888126662064516610037824425078061763706456777788766212454366420386604762715545624441446228704008468643418383744680810082287616178878374053664664501413146218288256608174350551366140634700370838546800235751731674237551743510748315822368478581343426651180312457154103737646187722562278667603586504846844876062082637447721310226222823077664751766687736074077370872006413080740308420653432888878433058622173470808664568064533766505056828165264065277821558501175163358248450210005584311311255786348562520087113040540760016474108156515807502428113161861258211865832680561053441085232406837448755342105642406405240852336854212138806162067004210881860801055346653413425238265365750100626630026300413822018516623314006828255642713236275612512566602744186527251216207386852508212405463602383050862146468341078811418823520117623065008817728344136008455805620700820003468483670408081871104661853406043804626126675430686188147062757707875524108048680307523386137028482312016415563624252886716523711424312611061673452528121770302768862057037630408127757878023078531233755550400164657768054562877546211535203876677726374101644306280142303342612687652172640882243077776546836867874334100724565725261213181701521077267746888343440128677451440538600444581214756333533021862783833082735060533805410400517007802612607458325872600017311056018331638015604806043278522750336176278345754058643641404141044565664508145114771118313556143336117065848573103587234814278262871605450172570647766603204167327087754712661725071256556274520471320803005626428063215224136336675467145522560057545822712136538860513437680055627343425043337501087036334811475613118805405058024341677472255870374544183246801575651868710845234626688603722268153345147776444811021828686543107522058124350253802173841684353670507828177651482581606183475073334373407101015413468371283062676668428035468308146224144136156445440812462725032254732704017486017406387405712852450551107557185263256566758317564677337422543347452158507225226202752644886018183056676766860630528536002278108603573122872108304557087228738608870783880622607103410575354675417412576684357888354057075205685230247042162103278428521531440052161334014140845336770101454821413737708760306622828553237634732608756486221763605558260855520812104636143641880675466530122221305553615233818814053884201740673162157830865457363714278530855742006603644002336473511606378601033248131458512828713428720610880576888523820326120885364840555367771764267524067824217300071578365758702320342208060053531646428675164167663214820759387284943896627CC83A86192B891296C3E5F7FBB698A87C38D8F73F50737B0071779679D16B788C6CD7DCCDC9CAA667F5196FDCD242614EE215E71D186C9D76C69AB7BC651B44DF46C77BB4D1A96A3CABE786E8526EA2076EB45D42C287D649A41A024D1DB91B74ED542A115B8337E4C1C9316F75A3FEDFC063D227AA35E81B80F4CE650620F8FD1583E2F3F4B178ECD4C1F5AB93125075E03C90B16C2F01C6C4F7F821B0CF5044E9DC61688E26C986683B0C10F461673966342E9FC9E0AB71FE4F06BBF5D8936525AEC3E34EC83C29E32A124EEB21AFEADC62B814DBFD24CD2865F975D6F5A48BA61A0C17C59EA412DAB64E87F8AA7884EE4E22401A159784E6641DC8919F8A0B37ACB705401C802EF14F467FA18A9AA9C15F1D3A65EF2359EDD1B056F0FBD7C20D47693E0C72A4EB1A927F11B626900B579037B60AD1079CDD36DA7D3A3CCEBE5E5CCC7DDCFEE3359FA505047A205A19ABFAB4286BCB2FF910633503F1A2F85DF3A6A0D73E2AFAB063B1904B14C24DA146DE4545AE85D168216F76409ABC6BDD4983E7974A54EE654E7F898527C22BF38B5D8B721E52F7C6DD1058A91135A961A2598DB979C21C2790F7EDCF51DE674C3F8A1B28A5A83FB671C2774DBA092F7FF3B8DF38C590E0CA0DAE394CA3F2F7F77D8F6290B41F71B85E0B44CB47FE534116E56BCD1C77679FD38BB760116A6B7AA5A128901
"7123CBDBA01438A3A3A4D23156515294ECC92F40E867387C50150DD94D6C7A08ED87BAAF3FB0A8F2EB4D320C7C9549A67CF134F1EAFF422CD30A8B480623F1D6B14EC79FF8CE8621BA193F2B940B86DC5E14FD3E432B57B427B37EC5D1620B2B78C7180272A7BB792F781C42B46ADF51D05DAA124F699DC9513947B448B699D65BF395745D573A08274CA8E0F5A9EE6E67C67C6B38671F0E3B755AACB0E3C6D75911EBA2D847184CC9E3796E78D93FABE6F7970E8EF2E846966EBC76A303ECA0BB20BA3454D466FFD50A5D21AEB57CF7EBFDB09C8481F8134640763E47ED5626052724F4D02BA996941B8F86052F870CAD0363FA2AF1C8DF148A60FE6BFA1B6590635135C229FB4FF8DA8E4C610C9EA63EE2396352E78A565DE71ECB7BA2712268F193A3D6C5EFE666B6E2B44725C73256DBA0DC1C8456230727FBB10F6106DA8FD572283FF481DFBE55E7A80B927D58982D2D817C01F7DB19D29858A5AE3C4D5FED47C57E5F60835C1CDD145F6FF6A07FA05F4CAF65C7D69AF088A078DEFC9C6A46180132FDF8F87ADCE644D792CBA1731136A14AA69477EE79C27658DA604261B5A72B1169B1B641AAF243DDB6505D67E07BD8215D521272296BE3B33AA36D20C3FA27F03382EEEA57FE9DB806A15A5D75B0FB4780065BDD975E93589B0D3F48AB4A7E10ADD318DCC35927B830A9D1BDC37EC079EB196A420BD4C34B5EB1437FB6CD62D75E1EDC362AE760EB4866B25BAAF20ADE8CF6150E22DD2F890A42C32444701FE2057BAFCE5D4D7001278C1F3A5DCD8E22D688EFD6AF68530EEC39849AE8887768A110283814E0677CCDC57675EB1BC38EDDACADBCD9C0F22DB4C4AEC5C93DC79E010B56205B6BCE8345C897A29507D29BFF4DD8B0277973F73184A4E363AC4464680C7CBDB7C2DCB65CD4364CB823B259A712710EA22FAB7EC80DE337222B577B154FC6486079AE715B7BDFD3F83C0414BCC70EBB2859B42E55DD37653338313CA72E89BC386F20B6CE9A67575E005BFF7217705367FFAA9E0CFEB7802F7C0BC3D23ED4543C772B2C1A76BBD2F8C12D0C5D66E23FFC037B7C82C534649B3A2C896C60188C0DB96655566C57E27B2D63406353BB5C067724EACAE10DA2CD8198725937FF5B02905F19C3E9B620EE455E906801E634AC85C16BBB1A1D6DD3293E0C8C4528D9BDCB42498768E2C7E3E004E84FE0CC0B8E25B78211BD2744DAE781A5B19900F32EAD71350D74596407D228E35EF75554CFF0A68C3857872F004FBEE1CCE99A0BC363E0A4359CFB35B1F0D998EC289398C94E8F4BA5C3570E52A7D109A90B54E16B140BF2901EA35E3B4B508F65D9D6D15867ED21CB0520CF5670C3D8FA3780027F3F72C3FAEC00B6705A51C693AD7E1580CB402A0ED420DDD806DF90D513B88C12E33DE4EE569D9992FBF5EBE3F8D5360098ECB3C493E5BD236119978592B2664534BF68E47FAD6C7E05BDF491443EF29E65228779FEC1D14C21649CC31B9E50EF872F21EA739B232065B1856432DE88FEDDB324E2A2ED7556A9DC7FA3CED2308B212670CC3DCF518A052A6674177B28A1076A954C2A7215F7FB5FBAC525294ACC269DDF5B808F6972004F54B8E571B564A1A5CC189E56280181F05BA64251D95AE24CE5CCDFCA47D38334A2537397E85705FC17FF832C180B6ABE25C763ECA7A2A2C74FCDC8BA60B9A54F45B76193BFA7B8BF92E9F47B22311AAE873F84EC23C8EB04E6323EA01698E60C7BA55E32B9F1FEA9B387B593A788FA8E6EDF5246C520F5A3EA1B84BD516B46487C9C041DBF888DD986490C196CD61F6AF08F0C5CE063A87FC31DBB46CB84F3C0A02169C7F3EB1D7A3B33AA6D9FB9C1A5614F42442CE76AE664F708DD03C90D30B7ABD22D7B81BA33D438434A490C76CBFBBE0FD8B5AA6B734FE549AD1EF2B37F7DF37A1684BD637128F8EE975ABACBADA527D0B6498A2431C157EADFF3E22BC3D09E0415BA1CF2CB745963DADC2DCA3AC53D904AB5831E820934327788D8CA8BD3CBC525F491EB36718539670D2E66F4CE73B7BE6EFF8E96C3F9A6A5526451ADC07109422299AE7DFCFF494419E27CB0DA84DBDA858BFCDC0DE8BFA20EE735BBCA534989DE4179AA4D3D4A6BDB9C7E839CB58C87201B010AFBE7849B44FBBB466A25E098651865670CFBF68795F7C49183039EC92DA0E1ABEBAEA243A885A643C5DF639F2E02863B7EBA2801C7ECB99D2B2C21EA3F8026CDC50F9AEB53E42234FDBD734E95EFBEA4EEDE49546EA6BA869AF628CBBAA300382EF88FEDA77419C80E96A78172539353F7DB8E40B854C654FC41606DAC31CAA43EE6A22943B6807C1E02A834FBB6C7FB63D4FC85483F1FD022D2A327F137CBB7CAA2383A4FF728F460D67FD824E826A06952A478E895477621F1206BABE1539EDBCD1D2256314D084DE51A8FB640C1423D4F0845D5A684E8C48F6B9CFF75D97B663518E62B64EF72977A1E6C7D0B058C8E20E1845CB9D3F3B3488746A3E5826C52989BBCCC50631FD365FEA99A38304BD50E8182E22B1401F1E5378E84C3D79624B9A5AE57DB9B10A2C3B070BAC5D9EAD70B097B7BA625F746F297686005E284D6B96F73220756DE8AFD2907225AF3884E97946747AE4F932CC8B5AEB9250DCBCAD3CBAE4E27826B725029CB3951BFFCA0508E6ED1AD57A267BD9AA572C92EB4C86259E15794D9DC0665149E51B750C76D2877E8D9D62E24B42342280388D187EE7B828A192C251838684400D10BC5A9E59D2E44511D2F4AED720E7CAC12444A66E6AA166136659C6CC90509201C96C39FEE3A47D3376E9892E3C07EC892E13E71651C68CF659820E5017BBFB6C12EAEF0D70E8E50B5AF824F797CF9564A9DE888BBCA4FCA879AAE7D8AFD83BABD120EDD17
"841713AA646C473F4C554AC77D4CD2429E938F120DC5672A1ACFF1D836F76CF27E5CD02184E425C19EEED3521C0A5076436061C67954675539988E8A2EE62D20A867D2CEC215A2FF590867741AA0C3A95A20BF6417155A512B933727E47FCA0663EDF3E0B3AB9602C479DBD3A692E870C0720AF8ED900D9C4786795917677834DC0E070311831C6418ACF525B1A2D7A4EC4E8F5DB4A6146AF00563CF0FAFAEB99F8C757D37D5BF4FCF",
"F0D96183738F558F32EE2F05928D2CCC5D38811E1E766789306D76AA06DC76E6BB98440832F935FAC453AB27361E64CB83B81959BA46B55259B7738C1BB764F9B45C34446ED14B81B3AEAAD6E4B42C23C1A16350243FD5CB18DE2D8F2888CC0E89AEFE26CB596A249FAECC6F1F23E6799E03970EC6741C066589C03D06C6549D733D21456030477AF2862DA8E9D648F40C940E7F3A0DA25B166DF73CE12F2254C4C2A15B8414906D31B1728A6F7E873EF17015402CD86DB55C2AE4B2861A4E03743820EBA774A0AE45D3F50638E329080550EF939D5FC739F6B6833960C9A424871902DB05C7B282BABCB3C81E9478ADC2213DCD8E91238D0DF9D36B20FAF60D66FA7134C472DB441FAF34511A693847BA6C6C89912076121CF346B5D24C8FE09F25F70848938A23EAED7A5FA7430CFA7FA16C70CAD75ADC91B266928258430104A40FDF1D1CA7A8DA031AD82519864D972CCD14BB0BCAC8CD6DC64C1928A1B280421D5A35C1FC3087CA6F304033F9C25BAC017A7B5EDBC0AF563D500485F0D9ABF8FFD28A3717AAC4B0B85ACA0121000C09F3773E84C8E92755F887EE07CFB0CA5D9EB2861737CA338681BFA3217664188590911C4FB8AD3FD8981583EB7B12962886C4AEBFC52E0CFC380D59736452FCC6EC4C6CE54DC07401317B7C6472C34B4E23996A1938093E28433F934B30D595421425449C2D90B7F7D48E4B8D93C66F83F4EDFB65D44AD081E57AFDF12FE20942012AFACF520845ED4637786DE975904B7D5D5F0D12E2D46A2B9F05EAC30F463ED59C6EE2505A140C6768530DEED9A9585EBC93910AA643A35658782EA677BE31E6D0EDBDD7F2EE067F7BD888916C860C8F9028A8E5F9D7F605480D2C9356DE03B3AE9B513798C81B2F105B16C24C34055B41195904F52FE8ABA406A86916B9B7DF376996AB0F4BE571B8EA39AA5488DBA1116E5B14D7463F7F30D80914A7D1413ADD8A6A47B5C613BC2BA7DA7F685CAB9C5E9CF32A0F44D5DA426F6DC658FF21DEDAC3EADADBCFE89E73201035220626F3C9D6881783E9BE28FA81DDC5CDF852D3651DB89E3988F8598472A81C2DF4DDC8B624BD7247BCCD2CC80A5EAAD6AB4DEBCB65CE2C7B26A513BA0A31C6DCF4F325070B089DD3B71AC86F40C4236D702B4A272E2F5709D719D4165D7A1B24D6200AA80064258F322A9CDE123330E829B9A418CF20A76405D87E11A5AFA7DD978CEE72FFA3E6D8138BE948E90AB218FBE4DA0AF003645B51E87538C36442ED37EC1A81C617DF0E7CD707BE8098C802A7E0153B02294B129604FCA0E2BC441D796A276C92206B68C9A844389C59306048911B5352213E5E49A0625FDEFB6CF233D72E45AA6AB5AE7D72CDDA7874CD9B91CD567E029799E11CDC65EA5F712C874C345623E91943E426E354DBD1581632DB9D41EC176E86E3495FA18054DBF2FD1B5A86B20650E9E106BA55CD14037606C8C4D605734C2A9AD7A83D24D4C7F8A7C4F7E347FEAD0BF92C258CE7E1C91E6B0E94AA3C6F527D1B89C95A77CC9DF6EB8EEC7D43240F4927ACB07E41ADFB14392E42D464238D86FFAD71A1F921DCD5199676FE713F7C6C04FAF6E29EB2269075143C882B31B1DD017C2D2597B870201E1CF5F60A408094777C9D29F2E3328DB57F04B5B5F4BF5A1004E94A47E36E2B909C772EC663197C8BA225628A423686620CD62733FC528690216D1B680F95EF26EB6BA49683F1AF9AAEE2D7D116C8F9C9BF2B72E4B14318046BF68369929CB80399A9AE07A3EBE54EDA98F820735B5DFA3AD51C2CD7E0CC467A9AF73804981C1C561BCB81228308D1CC19995F2CE63233B760FB7353E2B476FEDBA7FD7D574B313244E80E988EA6AE737F28C7151C2C095C16F0F7AC3370D73614DEBFE907593CE08781B5676033437C5E74C50A82BF3B23206550BCF39A7301FFC286AC2B91436BE3071652FF23279A7DCF7E595059A080B6BDDF1CB06BAD6BB86EE593E7182B6046B71457E95AACBFA714EDA0D11D470148D0AA7EE7C267ECEBEC2792DEDA52AEE963C7FBE63572BFEB2C147BF970055081A71E6FF28244E293E2708BA41CF6319361019E662328792C34A891569A61B995FDE3720E8B38459715B3CCCF009E1D224FD24605B5F8EF83ADD8B120032E269E8FEE4A85C1127BA802F0ECC96CD0AAE1931A971F5D5775CBB7FAFD1899FE524805E0C32C117A685E50509BBD6443AF12431C00D50ED8E4D3BA3CFE51B7A8D774EEF747F5A1BC767418122BEE393755CEB3B2D608E71DDBD66F9B6EE684374A06FBC1E5C577C23C1F246E1D6EF07CAEEA7ADF22883CEC1AD8B54F3B13ED598140F3773B7521463851CA0EC6AAA0456CDCF62BA07E10307A7C46F6320C9E6D95083B41BBB7A127A1C5F5A84A4029D28A2F32EB4BD520FE8699C98E35E606DFA43CFC972A37EFD0FD400100A93E530FE224C8992005D624C9602A619623E3F3F3DEAFCCEAC0C50C38F09A1B62DE6E8A84AA9BA9FB661A6083DE8A2CEFBDB3E002824E1307B3CA1642F1F2DB8806320A5BC2D5E2D779D16920AC92861C765DFB377A74A5840E3E9A9C9FA5C77BC57A45629B2E017428694B2C19A7F5BC0DFE156DA754E72C4AE247BC4E32BD0C4260F9EF74098CDD88AAEEBF487C099F46C1D7F5FE77B2CFCEBA5FF6B1E9622F15D352D41764B3744958AEADFC0C82B70C46093F6898FEBF27EEE19641670A259FF352992908C9218C299A59AD67A044EA2FC14BBD817A8EA4ED7CB7D0F165CCA4E4690F01FD13AEE42E052436569D23C3DEE2B4728E54CAFBBC03D094FEA64D010417C3AD9814812A1777637DEC9B255A91DCF2F8288E0C338A081534E10285757D13143B37C87F6F52F5CAE7D12B08179FDEAC36A920B7734AF60D118BA2A9C8
false,
},
{
"FD13A4E22450750C1218DB6A94F36D42DFCC2E9D93F7A39881075A5C3DBE38A6C59FF7109D9A99630DFE1467259B789211E862B6E4181DA20FBF8F3DBA3B792453E1EFC10E997A9BFD0069370581487EDE1E64DD34E04156EECEA3FD3441B2614A29622BE9B91587178C830A385A97115C06CDAD2709AA6BC11572C7606865F0FA148B912F68170209C985F8E0DFCE9954F664C53E48594F7A76D4CE4B1AE2F973FF37838E548AECB365881741AA8A8C05CA28F72CF907F9E7FC254E3916D94E509C980D5673D954C8B33A4915643C23FC082BB1184D783DE38D1405FF47350BBA63BB6468932B8C1271EC0AA71C80E83C18E63B106A7127569E647066CDFC04B069AABC9ADDD9449242EA984E697977E4168E07671B9210AC1DE2530DA1B3866181F57197FD62BAF4956EFCD94FA36EBB9DA444D9F0BE8DE2F6D3736531674547DC11046BED1DCD577C076E5D1EE8704D849B586291DF43BE9E1B01635070BA690817E41B57E603FAE318DE2952E4C675EBC6D1ED651AF3F5BBFC47DEFC93DF4AFC4EF0B3E0809BDA20C98FDD510A2015BAAACE8C45D8E7E9587D3C229D21040D61940ADA2915FAC92CB4DE8239A31B3CD2E67BD4E5CD4FF92C6578C67AFAB3D584F59C45F5B291F291E1D65A8F199A11FD8AA2209AC8D2823E5F864228DBB0B9E354998622146C49FD49B5AA4DB8C7D44155FEF3FEC69C0870498BDF0F74B41E0063D1D44A0BAE9712244D846E2EA7F8F274C68A538BC1342F81443CE858CD5A2728EDF55AB36D39DF88CC563FF0D7EAAC4F4BE7CD0E5C1B45096A189338530FC3F8B75D9C5C17F20DF3A2821FD127DB371DFDF81CDDC3F3A1140B8999A3CCAB75996B60E4D485B72C1B0598CEA9E52DEB89CC6BBC5493BC2675583E9AF1C58F4C8204AE3D645502EFE53B603382150C6A871F318D45244DE950FC191115277F607511F2B67128BEAA80337D0DC68C47B402BB028C3FE326934580B5427F6E3009DA91DFCC6802FFA98D16C241037BDA69DA60D4E9AB62B4D3A5ED04064A770161E64B454FAD700FA1EB67301CD8E38D2AA049B3D45A38109E2693984ECEEA51B40EE30B86B2C2E5EBF791B33F1919A9D6C9ABEAAB7A635A2538C71F52201A08C81377906BC32A4DE94584D2ECAB9327F0FBF282D0E4A8F64619758EC422A31F7FE2B9C91AE506CC9B6C7C7DE45B1D19BB3DF5B21DC561670F0CCAF0350A306E5E0F0FBCB1DFE29FFDC394E197DCF9F823F70107717EBE169F1240E867F5D220755F638F4992C244C988D92EEA5BE2F088050CA276324F9C8542BF5C51CA254092526B1E065B7569C86C4DC97C9A674D4E9235A1D50A03B4DCED6CFE076C38FEAD16A9919A4D766F055235BB9F03200867BB9A5D90C50F256704A0AC8AFCFED16EC084896304DC546B7A19C458A79D4512C64AF29B554E70A97BAB50731EDF53B1E10AB0FFAB24A0BF6FAE5BA497214BC900815A1CFAA0B56FE4A70E0C4E0E737C236EF31E5E36B65053616FBD037A6E8A95CD29658B36EBB8DDB275DE25FC4C386F7250EB08F6B0FE0C86CE2B5848E08AED6B9DDC11F6A95D64ACCC74D30FFD27FB824DC3CD02236F70AF2905115AAC2F89CAE57D00A1E7744C0E6269717EFD50C8099BC6D4C1600508F0F9E5F14712D675A908222B9D46C075524AC5CF8B3B12DCC273F6B6A83D7B4EA6F299B0288D498AA11B274C2CFB0944508695948C8CC307728AB152D76DB83FABA5F708A3BB2E464692D88A2F68032BA3F4CA539E4FD38ACA915964165BC1D3E0A0BC535D46B027BC780704D2C5637DFC4ED70D99D3F46C6764D4F79C0C3ACD844D222498E4F7F3BA49FCABF770A4C566D4B1BBA437099D4A7CCAC9F8B7821EE56CB622BECF9E5FFBBC874F6A28BFA328F3732B3F1EAC2DEF232AA22A4682C5722369DB781CE0A53463DBCA00ED8BC11B4B37A2A5CC575FE7A9AF24AA9BF158BE89F2B8D0025EE8AEFB8BE38E74776618B129662D43D95545D2BD65618C021C85E80A7457F1293DBA2960372F21A5C082EAF8FE73B06A227E70B112AB9D989577A8A87526F550E57343CAA19FFE4C4DA0D52DD8300369FF4658220EB39470A07D4ABCC6A80DDC4C6BD53CF897AB7CD49E7A5C2EDF11C07421DB3E2CBCF6035BF95825B4BC015A8AB5168F2FDC2A9FD4F24E3A125A2C9DF845F31EA65615FA0F65EC1F3C944A111491FB93694FB89443B1DDCB2838BC895BDCAA36B3828234654A8C986E58590195FF9B09D40E9AA8E57F1BB41F3456EC83CA1D0A08D4AF0136B75153269085AB4CFF4F352F4BD1C22A2F8F21A5BB3788B0ECED54F5BBB15891D0BFA795C54F2E541BA15D945A760C4035323814D672E8CAC2200E8CFFBBA0B09C52EC38F1C91FC72A47A8D3337C594F0EE649D61F201695D7419D725C268D23BD8C4CF6EFB2AEFB34953B221407027D85B45C75530EF2448649FBE7B2C92DCDB36F7C5D302537F9A2AAA0CCB1B5A21CFBB12C1825ABEF94FFB47021073246C60B7AA492C96C82E419A465467AF8B449F7909FB6F6C91707EFB913DCD9D70F7C1E4542B602925B334BC60F29772D694914A8A30A0C79E8E7D8409E5641990FA30695EBF61C00DB6661EA35861E136F97F4678A9F2107786A1B1D7A0E415D2D1702384CD214EFD5680E594CD91E6D44C0309D9BFC8D1E964AAA5F6D20CE08813C79C8FC2338548969E0C7F8CA3814681C76E17B1003CABBCA98ECA4B911FEFAD0D4BCA77B63040D4CF6163FE425F93435B71E5387FA",
"FD13A4E22450750C1218DB6A94F36D42DFCC2E9D93F7A39881075A5C3DBE38A6C359BDCD16736009B4712F4CBDAA701304AF405AD1318FBF5354CFCFE7FAF25C4A79C9CF8F8DBDE1936DBBBF9264ED7DB1E1DF04029C62E45B446B040E9C9BF874AF0AFE2B027B59B671C449940D1943574F062B8EF39E14C8558ABF564ABD22835523086865650042200017452044016333468575302887254738475283802384668075878025728254421681126440875287131331578308304381368772200600648521316366845815565020505785840081451730504511117864608404711813008603837155111042385445856380444210882420832244817532503814680400858576185306582822063308827057065242880587681860210414250075704265058677747223825650713274728517846164270847536455143027050003427880847404272406055776452116014827084737121150558661711055531656076763045380175873324423754767238306742510387354537110820122547821682351342321028300714208108714743887110240432234564012766361402035628743034518200120565017385775468403686766712764312284338570253321285383183847821372564858768371638425230072153011177827613617078600345420862544854830135711748812470608223557468525734433870374217684381866740415038774321375650047761664853541270473174433087685444415176161778743117137234728860630001424730221033480324436510400164516784650738835706878223020436775738884568617404476226481451354413828275184562344704344761883675861146146254634232115145763773115735742461126184401612726031828425022854508263777473485735374682006207236735526232657818302116742575073164484514375160144125154470402042887655603813814515134264547833171555304751305016136834248333004263051282721620675388304617100141130330186102384064507455880286821547070143774386524215052406843117816057603834388035306741407411718241884214214225243136228475541135835880848771058351247327655183602724443258410777617422686647681432385033715510247643645547712754345470472012541033035234125520601147574041158386448535220402070240648053867500814687821768510828772382226584372568168404012257453223287118807562555634276550274488873802434373163563671675117705378204624674652331554457756161130021632543134887130383214518282518507870534627055284464833102020142813267873628778016136665817685814510620810546308272438308811143727376742636465201370741275053458074488344283611145480746728501356282183148451715150362002044022768741427176230740538542620458425246542117186245238145530778463176410622733262001044443558854100885463405031163622767005027462818775071465410727421217020650173720021313518724404548484022560071430005437212466157656360554740012581522008052248588476171775664073582886065337343181531188684341587328052764270004181320336062073782611572538584621347151840127557234182827337086708562583246681630558076113254807742876382273377314715750802860340774224148204050773221574147425837741724571423440746632085778410405487863537656562267358357512467206487411200362008337363454786078621036431014724241201822721665834872762530446102225517016148875317665168607013261686150661406256021851762542431651018464514206547581454461822137636530272034222161500166332615384633228851720615316836201337683865878401170345217417081708118714320817722450830478634500453000610141823127804551531716307568102D49A78BDEE92762B7563FEC276DCCDA8F0FAF202C6E64ED2ED0B774623F9373FFED037F9D2AD43928F3A220951A960156372C0EE16CFEE54846584574A5580F813C2CFBDEB1EE81ECBE42AB215B8DEC6073484F025ACA557B0E121FFA5780C693DD1D24B68291601B5590D072EBBAA6E3C689FFE2A16366072EA2605706F068E7C19C9BE5D332781DEDAA57438F68DFA75147971F91DB4631497B60482C5C8F22503471D13A9B20AB0C88E4B026AA864411DA1A8E74E502E09C59943AF93592C3AD8378D2A1D66227A0B0E8B59300FC2C4B7C986EC1C107ED64D901890350AF866EE2517070405C50B978429C1489FB827DE5DBD57AFB1C16C49AE68B31A4DA029429FE4464FC3545270DEEB5BF122AF2F06540DC52610F5B676D3576DA59A99EABFE4EB4BD7EF968A334045B5F39D2901C4593DE05400093AAE3E4AE6215B98D48C4CFC09CE6B1FEA6F169D546426865D39B9D62C1762FC4D1DD610C733E03B4B1FF8BF477BA36079B26D6A82540CF3583719DB85A784E53278D3044E47A8A9B4B5CFF2494E9972C9D07F2EEE9A1575F38A560E066BE50F2904875C980F40DBDEA03AE8A01E4F7DA30312A7E573B7C270B60DBC44ACD62A3813CCF00FADEB01ECA760BA8FAFA7F2C0738244FDBD9403C664C441EAEB04FC363FA0BF58AC44CE8D5A9C038F9EE59C6209C92BE5194CD9C7BF47359E004941D7018F15
"984CBC323B9AB59EADA06903976C5541185682E875C7887BD5CE628B187ECBE75C7D1A93E65B7E9C99B2AD79D3492E4B5161DB282F50B6B2DFA28EBA364E515A1A3C4DC5B7A7A3F47EB1382B7A681D638998D96AD8E524A942D13A8950FD4DD1DE27E2F1ACB7E32BCBB40E53F9F9841A2CDEB7841F2F81FC2DFA7D9BD36FA98C053225FE834A41401CF9995AE252A3C06C0EF8F98953030325653BEEF80025650FF0A59DBAF12925D741D72333A76269E8769BF8D5B87DAAD0DFEFAC6F1881F31DCD0244BB8C370806CDB206FDD3E31511AA067AF4423311356129F1F92FF28947D4F716BC7313EFF0903B08CAB20BFAD0E9DC62A2C9C814E4BFB8CF7B279841D67DB909CDB3FFED0CA943BD5717D1EE30A5199271C90601DEC5CABB612098344D92209CA03C9FE97C4D2BA8CBA7D9AE7B1AEF135BE6D3F6195A456D9D7B3B38510E6430C64C0820B9747945BF1F5C243267379C58E942B2C3E6E8A95C585EF592EBC827CB0C16B2B648FD9E9896DD0103A2C5FB71CD231A35303DDDFEBF69B61312DC9C215FC6F863A86A7C0378E200C4E768C50F72086E87E98792047A5B21C401177B96A1E86C67D56D793CAA03BDC241575AE02DB82B8D733D09CC2ECDD122A6270735A5411B4148F3C79D95E1C5F353C0D14C7EC8EC094D20D8BD2AB45B9C0B0F1E70F6108313A4D8A819C178AE4BFA33808969DD32C597FD462854C01AF00D8816442DC026D4493B29B08D830794492D7D44A5682521544C301DE4CD4ECD88359DC80CF879777726F18EFE8611C71B2BF5A38DA326AA51223CA6389EFA3BCA27369F4B22BF3FD00AE7CC13764490F368BBDF0818F5BFD5E8EACC3749825FF2050543170530D60BFEBC8262FC933BEF73F0BAFDED40CF6B4DA47BF8CA3D8D8D4AC8A6B13304E323B9CD49E8600D7A63E39774D710A9BBABB7771CE85390D948A4E27076F61E86E8C7CAA7A9EC86E26A8DCF88A4853270BA3F9DD0BAEDABEE6177356F427708326C3BFA098064FA488731099441F1507D1425E77E298BC1E3D14B0CA4350E137322107AF4034695A2BEC75B7CD07C396D1B6A7D56EB2A43E62FFE4F1606B90FE3ADDA117B5F6BE8927BD3A96D71F1E12061135D45F2C14E338BDA5FECD811756734CD6DB19D9A8178B07017395ECFC08FEA28277C2044B11A8CAE15E1E49802920C073C3280CB49888F7E89A3DCDBE2A1BB4385DAA3826F7100ED7DE62311F63913F31540717CD26F03CBFE8FB5B2080A9538F2DBD216852247AEAF523B4C538E0E3F56E4E577DAAD1E58F029A4B61FAF40B933769F057969D7FAB84B2AF1C8F3F4A346D56248C3C8AF92E04B7F5D1C00F9D944034048315415B82DA8408A3FFFA37087C1B7198985BC73BFD1598E2205A3F8D569F06B647C64FEEFEBCD803B6E633ADAA162C0F9CF43356FA4C4955204A3FB297CF8A3397E12EA81B0E8CCBA2C178366AC92C500CC75CE0D29EA7766E5AED8B788AD53F2CAE66C67638C6E9D505F591B2B7A01DC5B83D6D0EB6E1FEB7A4D0D1E861D198633AFE1AE6E2083A245B97B49D5F1B4F2CD5ED4A13387A1AC94DB88E62FB357CCA82E0DDF6DCE3B302509578D1AB4C702343DD2DEE9C2B5408F4F7CAA50A8AC9C4696FE9CF3E830A03DBE64E8C831FC1185D98FDC509E62A7CB01C89E6E78EE89F11FBE16C64CDCC319237C4B69804158EDEB223F329EBC05ACC4E9D0AC4AC3B90ACD680989EAFDA818C17A0CA30F6CB4D174E83231F8575A294800C4F4F485942F1F5BD53412CCD61D533789F8E54DAD89DEC431DEF2D865A39C1C56C01BFB4F4A73F1F0BDF59295A6C6240A5DFAF7459EC1DFF044CF07211018CAC6A8739D425D9483F02AEB6F68CE0901E614E97E6E63C5C95D5E59E4CE631CDC2C5E619FA8AD39F3DB685A0B681F3D49299D6B3DEC442928481B4A7B5170EB4B36548EA618329F5152D6C3978B0DE5A8D9AA55B9AE5230BA0579D247FF8BC99EFFE6184EC717F37E571A901DFF2EA11A6349",
"B54760A84F74EF5C923AF18D2D30666BB36876F64645E755A7ADA8CF02BE3AA196F597903052987AC352CC76D72346BF9B29E98D3D6A604DD790FBE8EEB3AF5FB0C9B174EF01949DF5B460A693BFE6A2959683B11DEB6B47698791C4F08E2E24F95F35BEC6DC561EDA0778A8B1C9D46955EB771CD7A8BEE687775045206FA56E5D117068293C8D0DB35B5ADCD1F2BEB9CDB23495FD8B3669C75EFA53E9097A35E4499B6F83A21C8A8074A80D12864581CA394F9BA489B8F881F40A45C60E825B696D63167489F31C4DD91EB584B75ED2A4C1616B65E4A2476010F977BE69639F292DC57059E9432CA5B47F47D119087B6BC8AF29ADAC892FDEBC00B7B599D1",
"FDE538200D42E42804DB1B7B9F35C7F8C33DFDDE2433013F6082BB67CE01D03EFBC2DCF14AC835CC1046A25F50A1DFFE329781FB74F642804947664EBE7EE18376E008388CA5EF5DC5C624B192BD639D78E23194C56A0C52F51EC35E519015D746246A87C341D545943D189F4AEA8ED0BACF590EB6C539BFB9818503B9BCD0C56C14F287823EDD1696D7AC99402544BFF57AD2A59D23EF005F15D8AE7DB554CE658D6A3B0103F33055781199FF7E59E651B11C0A50A119BB614E87BE168EE8F9B86AB5655F796F883AE8B387BA5A137A429CDCBA5715D0B9BC36BFAF7264EEC785C9F387385C160A9B0E5E20314E4AEE04FE52C3D0AD050CC3FDB729B31506D9FC7995C61F3839ACF88884C3998B7EEEC1FA9A36999BB749817DE69139E0316DEC55391286C3FF8E5D5618B47FC5096490D03EAF4448BA814D2A324E7DE0ED87B2E4A2F10673EF3D88013703FC58B50A9BD8E23142D4E4BD17BD18A49373D4B4D104A0C8BE29D67E4ADB84F706A3DFC5462EB6ACBDE1091E43D41EC634F227F083ECC9FEB3CC21B1B205500A604E406701FCF8E51E89D29E67528AE4451DA63BB292E5F338852091E60622EB85D16F36F3DBA477498D69D8DAFD59520D4728BDFD9B4DC6B91053FD213806C7E02358DEA6AF13C20B267C66C2F2A3A418DD308A2B0A660F972013BEEF601D4B09BF089F0FABB432ECCF16EC56B4BC9F9565340265F331C97441578C571A03C5B604D880A99E1F9572AB9DAB775EE4EE9B6A92E4C1A197AF7D67CA37D554FC0F85198A9A11B19C4A46C49D0693C3722793D343E1E9958EC720D7C61A113A11D84000E9B19E6B33C2CC629F3D5D34257C580C5FB07809392DE1329868631BA770A516BE64C2136EB964593ED8CB7D7676C9A51CC9E0156D2AB110B644B7B25C9C0DE5D8F898BD4B8A0FAF5F27BCB91AB2B0D1516F05EE24DC1B1827149E28E6F593A99AA2F8804F0F8D07DD9A8ACB757641BC2BEB6098FC0C87349FD45883A8619478D213B3BE791375B1EA349B22EDF349F4A69135BC9D969DBC8B83D882E34D9FA402CD4CD8AF996B834984AACAC459645436FA6E8B46A24A04BB7858C47165294F6CE4A914380946BB9EBE91DE39CBBC1BF6A05E5CA5F84FD78277DB67FAC6246A8381263C9C5EC47CBB9E70673D4EF8EF295804E9A07D08FAF273D81160BCF706C518FA0BE30BB1919B2FB9A1FF908836058C5125928AFFD0652C4A537458E9B179ACD32684C558661460FD6A7502DCF8139600D87BA256F5C46BE33E8144E5D6862678D9B58602D33D0254B4BF2C7D9F6C37DFEE231E2A3D297F7053FC07C01497488A0A0F36EC001849CC14D0C8900BD84EFA13E61F3611C1898EB99B08D3E07024A4A530CAA1175E83BF56668E99D1A0FAFDC598854DF3E928651A1F98EEB4A66CBDB3EFC1C06C8EB59678F6429C6C196A398A3B1C9D0E1495FE9B67AFB856965351E1354790A4581400A7801AA47364EE3CFC403C3418B25E98BF10D0C7042E80FED7913D04BD4F92A036536F4A186AB6E980559B8B87BFC90F837471A8FC48AC4E8B0D9ADDE9EA4D27AC65E01A1B563A5B5A2A1F0719684836224BD18AF2CC49C6BCAAC879FCAACEC1CB75982DC78F4EFBC6DA048B9AB692152FFA1C82633CD743E9BA83C450AA036AD37C1D8E37F6D513883187330E2B6E50075A6EE058FA6061B065B40235CC57EAF3953D0F8D555C639F49E26A64D836C4E8C9D88D77C934CA3F7E08080103D6AFC1F1CC2F7BFAD92428339FFD21B56581E356F3FBACC1AFBD1873801AE9BF225621D8E6B121DA33665D999CD9E2E021E04956B511A72666F76D7DB89ECEF3AB2B60D7675A492004F6DED1586E35CD3C893971C98A65755F20E03BCBBE8FE0BC0370E0067478CCE8DA7993C3E182CDF51A5B5829E0CE48A50C0176E84E07091FC954A4C14CBAB988D501CC88AAE5A7B289434957DF4529F5B9D08CD63F99C033C655B1927CF6B5163152E5D23442539E3B87BC1E9AF813281176539268D5813B38211F1519182F55A12A5451BA4AC9042CEFEE1D0014F8E34B01250839E5BC4ACE93ADA5AB2FE993810F283150A4984E84A0C8C1993AC812F46B18B0EE6148E21ECFDD6A6BB922172FC40594A0F6E05E1E07E64DC251D8F6227A9CEDDB11230917BBE6E7A144ACA6D6197FFD3551E0C14D9578B58A4CEE27DC2DB6E0B63FAFE501928EB30BDF40355B76F7D6B3E088E70A36F886AB45592E1DAE7C619FDF48B415EF8F860CB90ABD096FE7F154E71108EA5C2B0D5A45F3A895F3FFC38B0A709BBE08B2D59AD942383CCFABB50A637A51F3670480E05C4D9F5D87B52D556576F289B26A55BF6A09E21FE8A50ED6D1D8CF65643D55B385D48FB264B1089CE912D1FAAE54D4C0DAFEAADD54B012DB4C5F9DFD7480B595AD85E056192FED8FC0168463FB58AC5CA84B2365093F29EC953FCEAEAABD90D28C90EB98699B684FE6C96F41E1AB9297DE96BCB7A9A129FB043087A787EDDF54412133C38369818162E891EEF2B1A655307732A4C5DAFB293F525977402434F27E850F4365DA10FD9493CCD4726B357F25B4191F018010DF675FBD685F38773F53E781ED8669DD1AA0C42C94276E0BA1284E08C1DFF160E9DE9FD1233437E9E39BCA529B5657CBF774547493B109D51ABA36B70572D63C7C05059219FE0233D1E5CEEF120BCC59DB69B6718BB3C43AE2B5DAC14B1BF3E1EC92ED6CF56F6E7F35BC0F179303B198F5CB394244AE85BF9D67916EF3E2644475CB2A509056D6B31FB7119D3119400DFFFA6BF09452703E3AFF2B8A749EE3F3E17008FFC5010960D6E512D4ADAC76EEA7A2BD69C8AD00720C12FF51740733B1A7B2BA5FF385B5EAA3A577D417EBABB01EBBF2807D5290F7FF58
true,
},
}
func TestVerify65(t *testing.T) {
for _, c := range sigVer65InternalProjectionCases {
//sk, _ := hex.DecodeString(c.sk)
pk, _ := hex.DecodeString(c.pk)
sig, _ := hex.DecodeString(c.sig)
msg, _ := hex.DecodeString(c.message)
ctx, _ := hex.DecodeString(c.context)
pub, err := NewPublicKey65(pk)
if err != nil {
t.Fatalf("NewPublicKey65 failed: %v", err)
}
if pub.Verify(sig, msg, ctx) != c.passed {
t.Errorf("Verify failed")
}
}
}