diff --git a/contracts/contracts/snarkVerifiers/BatchUpdateStateTreeVerifierCustom.sol b/contracts/contracts/snarkVerifiers/BatchUpdateStateTreeVerifierCustom.sol index 48ce34bcd..479eff01f 100644 --- a/contracts/contracts/snarkVerifiers/BatchUpdateStateTreeVerifierCustom.sol +++ b/contracts/contracts/snarkVerifiers/BatchUpdateStateTreeVerifierCustom.sol @@ -155,7 +155,7 @@ contract BatchUpdateStateTreeVerifierCustom { Pairing.G2Point beta2; Pairing.G2Point gamma2; Pairing.G2Point delta2; - Pairing.G1Point[137] IC; + Pairing.G1Point[265] IC; } struct Proof { @@ -165,147 +165,275 @@ contract BatchUpdateStateTreeVerifierCustom { } function verifyingKey() internal pure returns (VerifyingKey memory vk) { - vk.alpha1 = Pairing.G1Point(uint256(20087353828077202850794044320950857268374503478528972609823484324215331801636),uint256(11476883565453070321867378546975856970885584116909418759035533502511538352926)); - vk.beta2 = Pairing.G2Point([uint256(21661869609286011667004284886876061748883471906320898511156819152590982503460),uint256(1411267331255101216687187759308799712318293061108820897500456502826062760161)], [uint256(242338193632610253406780460721162660970322868717712034766855444702801043068),uint256(11205102304711535815941921385002492265801636744630227197506747841473030702040)]); - vk.gamma2 = Pairing.G2Point([uint256(10703132643546140356186378204895065022814221219458116741589121895614548783664),uint256(8728787808915888886518516188706571827044921488715782720858292899421614548992)], [uint256(21855932176432612007184523640521010134533271824713890942038051024979667517411),uint256(14463000202053145707614344130583620641279820564069360237424059003065520412766)]); - vk.delta2 = Pairing.G2Point([uint256(15511409780586937596469386375448730565918438087848214063975685304482412679403),uint256(2871962587045834446520485474136952467328346328772359835190464961287391630197)], [uint256(15098923887127735110115098383257212634964365431441844211165982132092604642119),uint256(19716506293446006761611333969798166840619850480902019859898831749671195591534)]); - vk.IC[0] = Pairing.G1Point(uint256(13449409323553982807626717659206995893486616914721488975771211075709370315026),uint256(19819167563363500342420294247298414043779583800301883591559879913778994928970)); - vk.IC[1] = Pairing.G1Point(uint256(18288751040873995405829352561880517511670216090222253370470629005274973230224),uint256(3340939551764112714060652679366038538227707806197811714382712640842923887338)); - vk.IC[2] = Pairing.G1Point(uint256(9034324435110195600984520035015153412337260951213866638651602731777208517827),uint256(14546595006162979541631014330847388063705106451104883570324018472333580218369)); - vk.IC[3] = Pairing.G1Point(uint256(18959526910556928462007511646743694022357186454775805231806268761848703787052),uint256(21548913956199741505617644115252315331247918262133746388493422156797029529793)); - vk.IC[4] = Pairing.G1Point(uint256(14667130442384977541051000098091277853515714184455121995211368752877562919286),uint256(1571213305279482731892557325220575745236783105648521604666877211311213326751)); - vk.IC[5] = Pairing.G1Point(uint256(19913405290485444662222555136914754224161963225418121384899196830085445637499),uint256(9353516643529373068293908681832909830620075327436046394651358446880200530845)); - vk.IC[6] = Pairing.G1Point(uint256(4392121493858814884850445257811530682565304094158379534072964024456308711140),uint256(14425403533600244626342298100875789752762767255327078376159416785560008923705)); - vk.IC[7] = Pairing.G1Point(uint256(15817729744441652723145528920073644919288747927823346517846772502038661326087),uint256(6339493756631971029867733380652623802663224827384426871973039193434998926674)); - vk.IC[8] = Pairing.G1Point(uint256(480637294199047307667161992553993337214654072373808050110284394523079810339),uint256(8832148377128939012209474718545762695603645681727887570297879424473451535544)); - vk.IC[9] = Pairing.G1Point(uint256(18744271653088608732764725475608044605973633651736355180626060057128665597247),uint256(10029431604036329130096548676181936710270515833881358240468741367688995476231)); - vk.IC[10] = Pairing.G1Point(uint256(2887974560189403494889743306897414514537070863016749530233722584820661287284),uint256(19531090389757911465455371999342290893522171780307155242713966624430836080666)); - vk.IC[11] = Pairing.G1Point(uint256(14831622056182946369342012331708153541419644376854897007623505162522515905155),uint256(17207180946963880497939168446060614092109855520510825916157704836216098405189)); - vk.IC[12] = Pairing.G1Point(uint256(15506398342704908970868595954855105998758099219541375937953499095105173507550),uint256(1509358924009691430397237655658579260967617755952022251213522582773276442679)); - vk.IC[13] = Pairing.G1Point(uint256(13081356290354186063074749971306070814496882977524291959736906760563684568695),uint256(9884406427032162441347033456153235609148950546399906330857509941718552620268)); - vk.IC[14] = Pairing.G1Point(uint256(719373316591795302151839273680068838979384878504494828773494046765201947280),uint256(4285574473052728017508050004433562406388738477725957133910140811836712357969)); - vk.IC[15] = Pairing.G1Point(uint256(1161961279887123633351369246418294359429428925248242696699854294267840126266),uint256(2753838659155669461065600495917012924384518686391121187033697795542200403972)); - vk.IC[16] = Pairing.G1Point(uint256(13682879487790288634920243025369860399504234851888478701512257545221680936810),uint256(2153246008085528874532592135250171671811203616520867548078143863278493007749)); - vk.IC[17] = Pairing.G1Point(uint256(3516369807590261163059894146447014910302140628998802112065686961872586702551),uint256(5370787160830393410214210351964623688718912410066120987032733452259286528086)); - vk.IC[18] = Pairing.G1Point(uint256(1988524361751778706932724684329605660441921048206095037586339797069472862182),uint256(21114285963513640070787641747881253082556602533623795027313886115253996080647)); - vk.IC[19] = Pairing.G1Point(uint256(2485955165890974183236816009331112192305108639988665043518792297482584311923),uint256(11880640146304852444592379682415385509408598783155502899174478577569880083056)); - vk.IC[20] = Pairing.G1Point(uint256(10219331172860533280779041276433310836289975824303193871202179089572278703569),uint256(7370861950873412157131303975669615391088774540400276783484707074149416805294)); - vk.IC[21] = Pairing.G1Point(uint256(14167728148516477840256196286607935101668320057446161671806500834090072725785),uint256(14874328203966708937121090833723158080118646495824532613915964279405802897922)); - vk.IC[22] = Pairing.G1Point(uint256(6889309751089080036157423235545680142690650792398279314062387575899228869494),uint256(17678911668088463543175270505444996571219698085940587035964935219043301776169)); - vk.IC[23] = Pairing.G1Point(uint256(9673323848791621411824117667951494409448803912571572035911987567276800873692),uint256(8010318233717184439361450385728075741524318837946509278121601177634948395076)); - vk.IC[24] = Pairing.G1Point(uint256(19001216591939800685596329025823328559725214996604900719736845720656499624867),uint256(16800790914194952657872094131443784987321340590188967934648441664397455856225)); - vk.IC[25] = Pairing.G1Point(uint256(14229772670511491842377063841403695319183750623861101302835638264008211544676),uint256(16700086453597824634366081416911323903395382119942186242938984470600767077018)); - vk.IC[26] = Pairing.G1Point(uint256(6190110473128199039318674139275953731627477080237305570664048170694216558607),uint256(9156069687286703875886126396409243836856376303654173871625378309678962742301)); - vk.IC[27] = Pairing.G1Point(uint256(19041950742766772503703484046141610117011636465603587128037213418839536735126),uint256(1741521843922631538075137437516945946494447419662725791349055244115174732397)); - vk.IC[28] = Pairing.G1Point(uint256(20572595967381616358855167208674217372017018727251574275804447670907816537950),uint256(15530155742998922859635289650887433052284249839254842342598193039162339193385)); - vk.IC[29] = Pairing.G1Point(uint256(18894959902692739855443380454453511822218459028123989847552010175424931175589),uint256(21720555445949680264216624728183544115705279456243597689157013642155036265415)); - vk.IC[30] = Pairing.G1Point(uint256(11420223426220804446523491080946075698396582996335464285431689162267487484067),uint256(3181697461117579761185097953588782487765626082815159306282849737563745424506)); - vk.IC[31] = Pairing.G1Point(uint256(2921370814594030903899051421374417440461203550081209203567416200073023145049),uint256(5347812108419343983369408836373704300702310310540619421686782928991729409164)); - vk.IC[32] = Pairing.G1Point(uint256(16741476685225855934358725975984964877988445638736565287964542186206107152293),uint256(4729669602346204655607884191853032759553867998868447356742304646390812496415)); - vk.IC[33] = Pairing.G1Point(uint256(9756675234809793791892705465682087248632694984652554680972716007491924825951),uint256(5988354804897075683722895724359335032053854461455265017672782021744588344814)); - vk.IC[34] = Pairing.G1Point(uint256(19814683865678732851894888194537462976081202780523678223106719506629549258897),uint256(6080471180403505923559123931327801567873683689169241241662583679341260897736)); - vk.IC[35] = Pairing.G1Point(uint256(1438239620527399948189462788892238398578982906275271867592155948061939566626),uint256(2199055174486710563451423451952849431624087101967400585017518019108165853190)); - vk.IC[36] = Pairing.G1Point(uint256(967676148418361677737873476276863318059309477609707671643977589336859176127),uint256(15797276132011461989185803015523111093330042939894033038100054846133562563324)); - vk.IC[37] = Pairing.G1Point(uint256(20201801978563503818789599624676158315679823610998322710056742798817954976063),uint256(11598358783925779109653102359075130468763033066887386333859407419035615301007)); - vk.IC[38] = Pairing.G1Point(uint256(7747526982755731888665585361416626948929515076673700820729567631840982182127),uint256(8266477541281971795125742686488473665271470129792619047143237743745554013710)); - vk.IC[39] = Pairing.G1Point(uint256(19630347857068381357762752321517383973545380130254869958667818061574406509936),uint256(15186347777687718013099982394931225548070830348604080143466772297210051562836)); - vk.IC[40] = Pairing.G1Point(uint256(7557975808969352606285335263414157381982093159126770512582919553699648350483),uint256(6331359472500035804643208799188536087855091113155475777082984912192250759374)); - vk.IC[41] = Pairing.G1Point(uint256(14845008071231916162530646819506161170789752619959011105785671398905933762955),uint256(17510852870482242342381039816675219266744505657530214435696082802116282488658)); - vk.IC[42] = Pairing.G1Point(uint256(13028483425255096939536859978320334835707092501368542039049983266498742408332),uint256(9680955997542002092545710879095660094124123676658363044411252537219803810269)); - vk.IC[43] = Pairing.G1Point(uint256(18570485684385256456511558721236129814674664211827057233856298536476007823563),uint256(6786587425550032533190651930990699335249545132866171624112725170443784236607)); - vk.IC[44] = Pairing.G1Point(uint256(6229010105044576579707704062880618330142301356182755458537022491776084974500),uint256(2958446025628338713087051414787827196521720086407187883901740977668009458474)); - vk.IC[45] = Pairing.G1Point(uint256(19711064707259131885284329850510953278564434575422258680339661582446519996893),uint256(6447334502627514228819588471839200327796435951160054171955070846382297766993)); - vk.IC[46] = Pairing.G1Point(uint256(13654512333629104147605163426403071872951885435411994083936410963051621892949),uint256(17650265592485694925363566185316073499680014776202819473217500634597804211217)); - vk.IC[47] = Pairing.G1Point(uint256(5632109105332974207832397468511779966406880188637740594191372151186045229561),uint256(13651675148237626614923296165038029228539866352571194577844266938252974170084)); - vk.IC[48] = Pairing.G1Point(uint256(8527345386665720309165783434253008921795266063983738469923301602966779024366),uint256(16149187991861855926722833165905235574832072162827813978624809869628415187689)); - vk.IC[49] = Pairing.G1Point(uint256(6646163805935695669626521901182643404621755887577997925506901386112844229851),uint256(11361301962986100960081361654544753510182204509642964951112554856701961156187)); - vk.IC[50] = Pairing.G1Point(uint256(10921559406917075466554221464922756249180248754762588574619694367252428227945),uint256(15987818311916597433092891016570609774371036003985987971567882858356951694123)); - vk.IC[51] = Pairing.G1Point(uint256(19319321803549704705343605501384818081154665651565507251713174153621472515462),uint256(2737644346677906343234185972413750255380030320584877572350390603749165517091)); - vk.IC[52] = Pairing.G1Point(uint256(14097924791420990626067662965994354649057100100900878471771528723878979063670),uint256(3446659685548421144804125954538853863956916787759744530684127569073823331713)); - vk.IC[53] = Pairing.G1Point(uint256(9983862632251067005815597520616536972155239828533016448370610241448628423219),uint256(9425718421842054710526654962601883705369930663657776686776262667638786657422)); - vk.IC[54] = Pairing.G1Point(uint256(2688984403049401342903683721913746062136910340901612180883159738614628664638),uint256(6537385568788079956897582609732708399792014147299594434121004163987996923797)); - vk.IC[55] = Pairing.G1Point(uint256(18265540920707633157018592793425156625083767097873832410185928416315911651112),uint256(614830982358373399190790570742951602645537091079871616861069500149456469620)); - vk.IC[56] = Pairing.G1Point(uint256(12125321699285743073611607029813382470546481051048160495748291470225531864512),uint256(3716293670309368968675908852623314593073639774424731454150351335135845445749)); - vk.IC[57] = Pairing.G1Point(uint256(7853056802721517963036421484032072942693765378562098368306104805678418585162),uint256(6424789894907881712069802715529228349918886636331654615971484908566086243872)); - vk.IC[58] = Pairing.G1Point(uint256(19115005503431091096721184080895329804587690694447705536547788962171345376377),uint256(21684667845604031973485165382669985845242661934129735060595710490022281580308)); - vk.IC[59] = Pairing.G1Point(uint256(5934951296346946320689083498211342144043216739159202457194772865605223848817),uint256(16531730612519172995954542776277328233589925446255179981248179286637232098743)); - vk.IC[60] = Pairing.G1Point(uint256(548179290994039790062273715118266322711869818074110355798782872494554119127),uint256(21277541640969431282210948877991685569792198011788537435034440443744017806814)); - vk.IC[61] = Pairing.G1Point(uint256(5698932685323749446566832552112536072262214364822836541442194088625134869756),uint256(18173025416893411048966167980710924405089325259853820754338009550096212580109)); - vk.IC[62] = Pairing.G1Point(uint256(5407139961162687782789268353002587250953566955217132246179178517076765432715),uint256(15088228606773832436431560223153028924260952727854826128522128552157315934324)); - vk.IC[63] = Pairing.G1Point(uint256(3297833865321076345999149557999739794735986140950154026339694076355675796967),uint256(3411471118249712872884387591128740913549716748840876207700900440280171428377)); - vk.IC[64] = Pairing.G1Point(uint256(7842388686335992312801332510612951894847538866301083390230994724615251547549),uint256(9506065469948872795705994936031211750874514789756601843559917376763183093918)); - vk.IC[65] = Pairing.G1Point(uint256(4095852829188395404575969005812446864304840367703021566476256455754460675693),uint256(8491316200241330102237645830695567828271170242496389953775586915469855840662)); - vk.IC[66] = Pairing.G1Point(uint256(13025537576077929051149126228765064213045713215302857727492279859380396356016),uint256(2692834756506679874200086947427348829159380570066044209560542269051062640881)); - vk.IC[67] = Pairing.G1Point(uint256(8213689088249141668841132843593219869582692686267381807826045996178718589976),uint256(5934750740375389011242980889807579582140412795439731691760487737537146384870)); - vk.IC[68] = Pairing.G1Point(uint256(5064286005858996906539521173567342723294768227186533518332524072316626813796),uint256(18194357467986683563844190921029033308662124754563987268423540451940150494386)); - vk.IC[69] = Pairing.G1Point(uint256(513524361877395586890580626735501312175734658618400473937221160065153077430),uint256(21066430682077818283600250344847770187662959287016517114730950504105800523459)); - vk.IC[70] = Pairing.G1Point(uint256(16131973789317585551032586924024478720306017209112230164516773197156811660827),uint256(2629437023298887657704157265354419011007844685935531259234622748649925287960)); - vk.IC[71] = Pairing.G1Point(uint256(14333443795131676087362902053591471457648753635869483711366294938960766965855),uint256(12375065056354337574541874851953853772434526791527859885521192098306924954605)); - vk.IC[72] = Pairing.G1Point(uint256(8650965935327444683681899304659642514103760946243255832533343127837713901260),uint256(17350766954455027422821468769776856954427397105499750970125107357315321891443)); - vk.IC[73] = Pairing.G1Point(uint256(19127940891316463106484748416155199078020628471209896451231437541817085077431),uint256(9663583369451454043509657828849429547454302647650088620902697913423546564526)); - vk.IC[74] = Pairing.G1Point(uint256(4024045629953114025834675015518977207041945104823465323803797652513143739853),uint256(7099031579319409562306045437060668113626384467426238808017971940237526720957)); - vk.IC[75] = Pairing.G1Point(uint256(19777520349508781241579877240909708384019577017734082523373047015766886330187),uint256(20543687412232979508991763895812193752676648814819172150316512715838932781811)); - vk.IC[76] = Pairing.G1Point(uint256(13381716905414454291256465188057975528662534279036129120834023444787120778828),uint256(83068903289307625321440883120020242942419200390426643332494275740989439527)); - vk.IC[77] = Pairing.G1Point(uint256(7761960949208896426802556459429974793308266350208241353184947107970422491129),uint256(2089026195731535072085584097366292321990391592844991889095562893901021029045)); - vk.IC[78] = Pairing.G1Point(uint256(5197970819517869977641836587074894393807023630746693731371708152450489969498),uint256(15030173127846951102748719502126507555120149267996232824889459685032460633760)); - vk.IC[79] = Pairing.G1Point(uint256(10738029463630555541033436864764967361429379579447728903906800161601920881914),uint256(8890051727148365024606043733688100310356137564792142189316987818514656702210)); - vk.IC[80] = Pairing.G1Point(uint256(12792936448350863485798336539770498877619679941787502943063936842797879294217),uint256(14379669594142278338427457116016736020516627571642516277280265863257375782458)); - vk.IC[81] = Pairing.G1Point(uint256(13559434756703389257582627200705563231522482733893623255451993723994545049976),uint256(14892650996406162560002958956428094083109122401519142177808416014717662579626)); - vk.IC[82] = Pairing.G1Point(uint256(14252276184535708042709518130518888874496340661124769270302165933313034236450),uint256(15273924344508848264258477250341486434993268879902111993744999413719610729096)); - vk.IC[83] = Pairing.G1Point(uint256(9809205799202468521806578646546780450146808562401906118296006228293627684369),uint256(11307415536498866034675798915908732740209657309834816970198638577514763250721)); - vk.IC[84] = Pairing.G1Point(uint256(21705327260612726721607027572593333828131899563073285225389452443571564581741),uint256(21018596752445529907566552196456728940837044358621700846827205193330981345608)); - vk.IC[85] = Pairing.G1Point(uint256(8726253405089330847191862720082852744524984989277533298149093584335630612059),uint256(18486186530998050985018181700908491808421033831981323727450435858762932718129)); - vk.IC[86] = Pairing.G1Point(uint256(6503536483724878233870656193473281418950363845795000055683485451008630495010),uint256(20373536533546802032215725505482963077326337719927421078346183177571358001238)); - vk.IC[87] = Pairing.G1Point(uint256(21362345493034032487313388146136193327479786529066051395403594100453963769111),uint256(5659302265151057957108067254997946560345397781011169944959956043052574665674)); - vk.IC[88] = Pairing.G1Point(uint256(7449550964742803340675630812325796218565644913828914465913881384357756681548),uint256(17292064125777099006635793940096466365126227952794001913174478930939581123256)); - vk.IC[89] = Pairing.G1Point(uint256(6125497125689284067831318181472617987031052184276342829492439288589510595502),uint256(12585026108513932953515017993201613768584424358528209508664951085853306523754)); - vk.IC[90] = Pairing.G1Point(uint256(12762245270309389117737641685449675404740403315746754385981092875802564011552),uint256(4776105253784521029665216303967098003880083781647370925393247521792397407888)); - vk.IC[91] = Pairing.G1Point(uint256(13807938458651671227739057402325558662935793724423758150238166950827759630565),uint256(8407443299360885769442648551918604539455371547608849811398829544820103779159)); - vk.IC[92] = Pairing.G1Point(uint256(19354271469665911556037183311554687370650863636736009934227267454117678598867),uint256(2889581474166896849215445080012200130279831332202980472677608450870018824419)); - vk.IC[93] = Pairing.G1Point(uint256(6226227238242660704404188961830279826158507659691896952725574118929530402933),uint256(16450115825870066758814214991430148198082508764837404422948743285414888884178)); - vk.IC[94] = Pairing.G1Point(uint256(4780964847774203341666353527075414079062026230513049950866837627817139518944),uint256(16859068361144747142625578004213384508540191114869687793312011678232224372225)); - vk.IC[95] = Pairing.G1Point(uint256(8062525302997605008090891400414607999817592945480209521332494130391040549486),uint256(10042482661997039621263546535097387401245876819894143240347776832509613454998)); - vk.IC[96] = Pairing.G1Point(uint256(4156112324011039404668548707912082198272430690748058804543223692230235584010),uint256(6467835632275616211076158221632969554420082266873705242098900605173284788072)); - vk.IC[97] = Pairing.G1Point(uint256(16978493603420177201284890469513822737364101412764684161147950679395900370490),uint256(4804013104215913645504042647931299604664370881965529654982744609336873815572)); - vk.IC[98] = Pairing.G1Point(uint256(20063224436134296487145192369456053667043930173386619477170690006672425660230),uint256(8018762550302361989416661307519944480135763273042015031096306898128032672769)); - vk.IC[99] = Pairing.G1Point(uint256(9381136972738249930310747728613628512869836321932371408132641447585727108675),uint256(13792274675162440241090306118979937533255670775110959353619238438903042099483)); - vk.IC[100] = Pairing.G1Point(uint256(17249799750153971053356997293380265081163205379000759347308627353711859528438),uint256(11860582928346589952937516820758334143823517059789983241580798089780599031873)); - vk.IC[101] = Pairing.G1Point(uint256(2209125375494676829996593878418698944200062459109379104033878964709019186550),uint256(9044941556620400719209087348338656682667735114334848800591128202753917262364)); - vk.IC[102] = Pairing.G1Point(uint256(7905831048152572475855614559007206580981737455003199081628859335938538130184),uint256(3219362210026178835574532431902129534204421524894508591333411433674437426662)); - vk.IC[103] = Pairing.G1Point(uint256(10034645824488683370676189228201474691737684065016222057492787707541855843562),uint256(10962875262870711754286714288576688333775621455833092480063924261333137338082)); - vk.IC[104] = Pairing.G1Point(uint256(16681217492767809220626946625462893148742282263278770454356009745085326859036),uint256(8609765386746653380889813599059419164123726125803365736957612935297948115084)); - vk.IC[105] = Pairing.G1Point(uint256(10409861984682249634638249483107543711654774759190644297788218352203797832971),uint256(10963947759662935212884888830847146879486435953717902604694788526569408050896)); - vk.IC[106] = Pairing.G1Point(uint256(19610116640561738573121735873270623412842636275783845690930764829525483185517),uint256(19999697268734757669286329323254853862322933620601846163862344221876819142639)); - vk.IC[107] = Pairing.G1Point(uint256(20796538276246959844610503898053705465834091935725306697900595861453314277534),uint256(8463040972818515190474433150965544533570162872588257416128796378472361625254)); - vk.IC[108] = Pairing.G1Point(uint256(16242734927529699680977092850391685525876857116431871118405705879284460279923),uint256(233800030226637912442083358100093812963916941762884764432747765761205593722)); - vk.IC[109] = Pairing.G1Point(uint256(575299231355200429649645736454601450683561619418476466277518167882449241582),uint256(16441392148980496339439815763952122005106502317757024622981193995288053243753)); - vk.IC[110] = Pairing.G1Point(uint256(1603299324276303191667584100848645563589905602358091967172803717926108919833),uint256(2923207606433658024984614511442599369631740064463368057365647551116862475865)); - vk.IC[111] = Pairing.G1Point(uint256(15612397606496480900845188862617925195166889100242281072974188587056786460685),uint256(6067268371068187386960150210701543773298636595460683602669641801140055222693)); - vk.IC[112] = Pairing.G1Point(uint256(11716278844761725707707926991887023640732693999845301976833122906763630000470),uint256(4785089586353316211662706302146360930361614633336109347707536468281339428146)); - vk.IC[113] = Pairing.G1Point(uint256(13583970090332558444106411973400436007441644550158519399118705791407995280322),uint256(19644166569147988073283886636967542007943692023233562457318835255034799889940)); - vk.IC[114] = Pairing.G1Point(uint256(1686045902562150190863786039249272152595323263993869676824656256416347524970),uint256(17748495582430458497854085558648682169890368554794356546738567734485590533503)); - vk.IC[115] = Pairing.G1Point(uint256(14018407513023200909083059584310902264885930292989350049846251819450636644515),uint256(15282365300853626656506664284946919761222329988945904085162429142333058688432)); - vk.IC[116] = Pairing.G1Point(uint256(16724562362615523120167011908918353532981098883153390523539421723425152477307),uint256(843622462409191805919999628441033590397683131077427864110140693629784330140)); - vk.IC[117] = Pairing.G1Point(uint256(9317229908502429358451115076979763649356526034355777152382574378803867793407),uint256(2617787134893809524818335754594505537496659392456978184732584754140270601161)); - vk.IC[118] = Pairing.G1Point(uint256(12643564839060300175073382088429811648928756114554035624702422497673075822811),uint256(15646981702412923801232315502751915516527154519138252804608886597168220251051)); - vk.IC[119] = Pairing.G1Point(uint256(16136179725000153445080279536165216574525067823359334408100828869622561025204),uint256(710304109108463984900640046876452138580862272055110902990476351162646910693)); - vk.IC[120] = Pairing.G1Point(uint256(692942860249784705898329710403028922082659734627553976311078555856071631087),uint256(11843201175511394674224882314719744090005823775711198123908970674468441340626)); - vk.IC[121] = Pairing.G1Point(uint256(11779866285886477058233262617181102875810432515236086165301634888647796468285),uint256(20304904017079364293528985902914652711056094838577523831107251186430000376103)); - vk.IC[122] = Pairing.G1Point(uint256(16741048327094051449850380442322997638089566456733427175028993526920079216552),uint256(469168782820627354614016869964037684089616570710843167108196420227532543358)); - vk.IC[123] = Pairing.G1Point(uint256(8192970453232272547440654687523742209402660277066973787541850715511374651622),uint256(15378234133052651769174717524827877745034818735188283718621316832075692924406)); - vk.IC[124] = Pairing.G1Point(uint256(10874114257144317851900054481205527956050976138359009857985393174723062892676),uint256(12717308684825512964345073222442623220963599686472628674634895201106020201890)); - vk.IC[125] = Pairing.G1Point(uint256(5267065588819698865144857558764204428263327949346016006240918993613635535317),uint256(9504308288810723489809880319665125296646318783448726885811570230750183852840)); - vk.IC[126] = Pairing.G1Point(uint256(19589750306950764739097899155765349671907282871881276201801496319992047650746),uint256(19355465427953889761240746637309186677085883165092990254569077723585487580684)); - vk.IC[127] = Pairing.G1Point(uint256(17157506086704891040661746569169794341719382632415432679454534292409879487085),uint256(19897635624356405012232528284119658467695828553967677022062327424627204803193)); - vk.IC[128] = Pairing.G1Point(uint256(20238858483410373364817397805629956894825450075652394120977179046203337104373),uint256(6874509773395989359964200584287462074246787158135629964693169157409514901534)); - vk.IC[129] = Pairing.G1Point(uint256(12042579617996728748165735987255778752470955736200812791100866788721737191632),uint256(11956625767696871244461941300661106065113240619864391737851713805635374157021)); - vk.IC[130] = Pairing.G1Point(uint256(16548366919176947814040435329595118023993324878565761882418197223671907573357),uint256(10620821967136310262692802689974809502198526374547943939269158284384653114350)); - vk.IC[131] = Pairing.G1Point(uint256(8175466437668934308709975762665321770552084750706095349920295311638284090340),uint256(17425364680901154207661740679315488758276320872402168607111940050845887976471)); - vk.IC[132] = Pairing.G1Point(uint256(9198147470468043329255739956904344209746369324919711050881466969196801966276),uint256(20298732777222909816627151550361882672333769232236128952325518941075042836010)); - vk.IC[133] = Pairing.G1Point(uint256(15904946907253788347044186320302300871858274132480685493537494288950980594193),uint256(15409483562413553293784442699758192278775213388937158234684578475424442082364)); - vk.IC[134] = Pairing.G1Point(uint256(14220065024533152210243662627649996829439850016253669280094507063796589016407),uint256(2782695826772336437168593281979032224437557674189704274938530289022757554551)); - vk.IC[135] = Pairing.G1Point(uint256(3439664554786124907619188183455389534759238310861135614302099160907607051269),uint256(20990451399839802618416331354962424116625631351552047454336086879944775872991)); - vk.IC[136] = Pairing.G1Point(uint256(17322663660000121892857220907135345561983364271033777284327298998169328112152),uint256(8518935329747198938862986634975284512581273824227035851902576752634386127933)); + vk.alpha1 = Pairing.G1Point(uint256(1101502127293241764678343823715029798252832440058397846708943819075704155129),uint256(21163752862666657120495783361950549836999415665657141817096082889759683759093)); + vk.beta2 = Pairing.G2Point([uint256(16946512844505672642738951459846028524162354513389570044756779343347581767877),uint256(5211834635271263857947980197675936228748570473059528881838729373806081683920)], [uint256(3310614070819044476259166754260298364314573533173860688992051185712738073509),uint256(758358659008779438710463420972802641127209513317901920731533971680126403341)]); + vk.gamma2 = Pairing.G2Point([uint256(20380274700946688542909662410787253879975193778005967340281925820286725285904),uint256(10740187925203349258127114133571912457579627970950950174842113925389810311890)], [uint256(6993149936139528408966430410100163379349490999133339317243975655299747581272),uint256(13174291435556320398093005575591311489820012646437455895468840400648567941188)]); + vk.delta2 = Pairing.G2Point([uint256(1746847623558564530356668541863902270799462423614901741539624798312109821825),uint256(11929530094455143296526254416388786253335307375452262814106905172210847836478)], [uint256(19732038432576805199737862939893527740793076217907275760002652423392983805518),uint256(20288232057072787608032069478106422982588366082689103243531159355476418088860)]); + vk.IC[0] = Pairing.G1Point(uint256(691412491036270270014833801056530393505016406836910561261709313121415766234),uint256(20900770172296227703178469123671258329866586997619655276422165296256687703239)); + vk.IC[1] = Pairing.G1Point(uint256(14348420725394610499107531778771186941901620717851559262697065269129821118213),uint256(15265636666924975162630165961701518049176981607474650103303468377828789693893)); + vk.IC[2] = Pairing.G1Point(uint256(5769615309060604197545735611103922687669459064879917099445031270084840010290),uint256(4289532267948567180945964817028762501231849084504380861711373968920024832960)); + vk.IC[3] = Pairing.G1Point(uint256(4783861794629371927187284221119222310661055276815733274937021217868930880397),uint256(6629028134935991551880887746215270261252228362621297798456990194782578133371)); + vk.IC[4] = Pairing.G1Point(uint256(13917106401076406195246077279134795167138276258502220242779164564396848163732),uint256(19730400814999464276419427824459386209288690411102959764502559287248529194403)); + vk.IC[5] = Pairing.G1Point(uint256(6499256746692191769736794351610437117041761631186519138297835039836285690533),uint256(4239860559981722709699026769152947876865389010804663970252518416398034558764)); + vk.IC[6] = Pairing.G1Point(uint256(3384079317153141696766568120807626127239490199623532995761910256209766001538),uint256(14124609965199500097294881008874947787834465917416551232251026718135631848993)); + vk.IC[7] = Pairing.G1Point(uint256(1492208290326203430219631595356468086194083781635098237232342337346929491500),uint256(21614060396318053619647349861328229747071912382745962998999251973661775329011)); + vk.IC[8] = Pairing.G1Point(uint256(2256844347933625743659898698424832603500777827973151332595085741860701060649),uint256(10515850117396493341814634334053312856725956647166898850930998685542092161693)); + vk.IC[9] = Pairing.G1Point(uint256(20662067683423695671422163860637571293104572195639818130248184250731992082322),uint256(7694267211371936663083334558489990935042072946251990786771381856971623221596)); + vk.IC[10] = Pairing.G1Point(uint256(20392954568313361236397254110725462528915842047100611628263368985316983429070),uint256(9115778685128440327331100901386297990547349489581567601391134059760072296806)); + vk.IC[11] = Pairing.G1Point(uint256(4410388686927050352925556053732807130759006837569629036963707934977008002305),uint256(18316074139791295666205223489754910069880576156268918904696910020485491647996)); + vk.IC[12] = Pairing.G1Point(uint256(20205779988438239297187708172477606141080209009131869425941143476762254168241),uint256(4310006069130308429569769569367234736584417369453806595944881231005658249415)); + vk.IC[13] = Pairing.G1Point(uint256(4547640726916072865544237588752333229284725778804863640929448236873394360526),uint256(4002288918854961972528776802466333882380345942968788140800464335165859689273)); + vk.IC[14] = Pairing.G1Point(uint256(6353486668315047886925799462300658674309201777552241937971529592058115292708),uint256(19969940490109405672604252737306710783749978645440225237471901799830192010259)); + vk.IC[15] = Pairing.G1Point(uint256(8443732682512876939989397347995068680247524697902119238792640793763435079828),uint256(17121776951277377376718864094180011300947389732302435148514537580112733149908)); + vk.IC[16] = Pairing.G1Point(uint256(245894775687047682427508716719129095851160662835160615411037070899182405309),uint256(19984905751890948814169187127827358614178919331688329737567869204409571040886)); + vk.IC[17] = Pairing.G1Point(uint256(11465339909213185021464096487981793969228356054346676173418915351426321341800),uint256(9803250225033409983110469306435699989550258351405968227100567709284514792189)); + vk.IC[18] = Pairing.G1Point(uint256(21431967975055820389287830990314679050059941673989470025429702035366868970255),uint256(18422106791306180639793600065622792429927854660885127382743459906912061062310)); + vk.IC[19] = Pairing.G1Point(uint256(18472595690475301997411166987585964598948461325469910624039026692823493819422),uint256(2220220173352947151292952496400087130740520683543999119760946855577180863591)); + vk.IC[20] = Pairing.G1Point(uint256(12537815250165708507942878391480993324252624457254068560636838656067474029704),uint256(12183214461437337484579987205875029634757569640260627997760981988586740578037)); + vk.IC[21] = Pairing.G1Point(uint256(863304626416861132138148088638742424732285288631776854603574858459387331829),uint256(7720417458339436502297707656904228889331556624895640625752231961948946409295)); + vk.IC[22] = Pairing.G1Point(uint256(14912647588217228214277356855672987185314958735033581094038882793971177409215),uint256(16892078528934975303654749315901081175285386061790725618209733090171596743)); + vk.IC[23] = Pairing.G1Point(uint256(2390604592402831535138166312300138212828285031818774015198284583117328497532),uint256(9345819174219222427456317229518943791515565436981733713407405990108408110512)); + vk.IC[24] = Pairing.G1Point(uint256(2689769884593077009319066242932126046692128181196417657911654762878664062686),uint256(12265774967252524373893291984365837167041237211140669597071744178059905684129)); + vk.IC[25] = Pairing.G1Point(uint256(14233485071992325718796699719066164156856252185719430113239859043627027844946),uint256(19462057980793353220334386448185060243763585767820693859720736128019339837496)); + vk.IC[26] = Pairing.G1Point(uint256(10579075010201549416765271672032324385293673110201994472170272681701032541515),uint256(8865043274194578757683470858608697210362231183911299781204739882568529038448)); + vk.IC[27] = Pairing.G1Point(uint256(8543268602636520846042574062225244798848261369259999719556889855113195150162),uint256(18571793260991667234300842919943279088445860347767874218285573355484752457812)); + vk.IC[28] = Pairing.G1Point(uint256(5119693595250708227118243595295472155594559527286451001036706626245233903224),uint256(12551051085499568878937012720011708418129907121960600386831774272610680163629)); + vk.IC[29] = Pairing.G1Point(uint256(21109798068067188651217569090761910787337282342186704121716405732436238769560),uint256(4312028099538770395775766856913271615266659982919162038782603205939442802207)); + vk.IC[30] = Pairing.G1Point(uint256(16392190747543393669899734158456061689397175672600121905306201382666851587895),uint256(18664420480501014591933825828161701940603519446582774621810373591687340108775)); + vk.IC[31] = Pairing.G1Point(uint256(1021882846802139440015373329313602789461936602610784691336659923700315470660),uint256(3734209998541097833358826311913357268527345511018092440899044812366904467260)); + vk.IC[32] = Pairing.G1Point(uint256(17561503740046584829246855355228534947401917262955690417643143095168128026801),uint256(5732039633932261793114415381793651824155312747750153429486651361519020244004)); + vk.IC[33] = Pairing.G1Point(uint256(19788236457236116229089736477615970857588448038500613368127397309426097064660),uint256(1038042356059070780339070545402136840075223184871847123556899773895393549125)); + vk.IC[34] = Pairing.G1Point(uint256(15390387160408612973292744246938407478129304291181858240531122038464278703606),uint256(5666456193645376602979953287040924538058945737300151604144846026505731370934)); + vk.IC[35] = Pairing.G1Point(uint256(123473839138337421954552218773063493784901301513385525970012501969898136255),uint256(6721770939203369967803360289483898643893040945772611734287879172548062587949)); + vk.IC[36] = Pairing.G1Point(uint256(1221073936009368656535467175009064757473803985971420890744535447535171984567),uint256(18757014473749037593158126350988847702523693326061549128952575876301934393449)); + vk.IC[37] = Pairing.G1Point(uint256(18021922740155644516017501245825038238769802456869814871388906718022360788733),uint256(16255061767525785185723698723678705855067674265524284275802236614835996823776)); + vk.IC[38] = Pairing.G1Point(uint256(9530354475242879625895561219119652926853672534400112223655006208113846562914),uint256(17441475388022079744165229862938728660430447047972613688390233617102946366024)); + vk.IC[39] = Pairing.G1Point(uint256(862683093201565678606705570880946913954476234737507311049558441974995495128),uint256(10750425061389260161854936173141262010222544400564474319852546509522789267356)); + vk.IC[40] = Pairing.G1Point(uint256(8320896322611633623288471015271850259458766876777645129344934027852588882682),uint256(8103946613226419340618341451065796384437704100941179478735382775002589247915)); + vk.IC[41] = Pairing.G1Point(uint256(4390300104349157638170744849089410785951793094930415262456604280722249966958),uint256(11909388360236033754838215176195590549560324086937140538786718017696627806947)); + vk.IC[42] = Pairing.G1Point(uint256(531005201831419395490108867058912993429685059594558417201612830907442108535),uint256(13115569304580557797559796121178879351774730662179765952412726666799895389959)); + vk.IC[43] = Pairing.G1Point(uint256(15237658340312918164123969069752920804117182573012705256668660354565978672584),uint256(6470174097217506208449538068491064256217362888815659594357310511211018991394)); + vk.IC[44] = Pairing.G1Point(uint256(12632476350238470856453123458752567640443065551902331889378296319647629855069),uint256(9566162854142791990079559836480208518405810531024600867445413737866204224097)); + vk.IC[45] = Pairing.G1Point(uint256(6329054074607517969639075656921402275017625622861914581544952079047271131790),uint256(6825753600966159164210242016755603227140811783243412225545903403785816913427)); + vk.IC[46] = Pairing.G1Point(uint256(15126740265746550998674289453827071123165793089100887982998834921381169669255),uint256(3307500101741006041546585607307443072664536196976558450182926255397403563009)); + vk.IC[47] = Pairing.G1Point(uint256(7158482709734170262325792296056088693154860175468660272414645699036889764870),uint256(18145002715885274932377027937713132638358279373607387378134112838684979495300)); + vk.IC[48] = Pairing.G1Point(uint256(9501433074319441216298713109315163084937751537260058324320971938065010052874),uint256(4308309517118433318045177055071354454181024143144591352185594794456815040131)); + vk.IC[49] = Pairing.G1Point(uint256(10118379928287947854578170124334063355666365075163813709647817727149838170250),uint256(6850002959208858548260200153713217794391833743564397650613825488276543670870)); + vk.IC[50] = Pairing.G1Point(uint256(9186752865968709928643208913074263024744164158033210218212599529685778526817),uint256(8659787279735433955506442307994590305525724900859805777745717174701321247310)); + vk.IC[51] = Pairing.G1Point(uint256(10968090892053369347125994718502963326140453771842365710212087297292415928921),uint256(13768390538662410675819305172122341650165557216907444103797430732893226453226)); + vk.IC[52] = Pairing.G1Point(uint256(15097138893052576123883192567241021670048176691863889586335211140809900286012),uint256(16582406041702129155070834269432334921838649130308127328449190439346068045340)); + vk.IC[53] = Pairing.G1Point(uint256(5169792933070179204709577141235814186666941431189403370958400134232071172299),uint256(18612657314809768753693170575412843557736561918102295342040214512288406069741)); + vk.IC[54] = Pairing.G1Point(uint256(12600803639957847199690168080374133973512393656149794239641228841952234331450),uint256(18983075133186272100246307524742790335124237720340828664892253432152864935679)); + vk.IC[55] = Pairing.G1Point(uint256(10677165985431894632252231128864647816305479824777178720699427742209171571876),uint256(15549184742472373908303384703682460667012896535403402845948523939221884210408)); + vk.IC[56] = Pairing.G1Point(uint256(13872815305777213564865908261650219782364648807510576865968644285670504633499),uint256(13083789854761839649304859749590131372866250315129685470426275803554677431015)); + vk.IC[57] = Pairing.G1Point(uint256(19201840191502786474979212299600492467058291072498124289815772700039916714963),uint256(1288419815618817709624169304646260260575419086530122065927517405109452333099)); + vk.IC[58] = Pairing.G1Point(uint256(13568592465712069293129355117024591896629547376920411876027851195360977186504),uint256(15328092586134397667314449000717755193075754060432667112697110980635764020845)); + vk.IC[59] = Pairing.G1Point(uint256(8890335266443105102318527780311356525843869637920733305394583743853072342781),uint256(8964512839270474378124159121710031436069164185620337381570623285093051813569)); + vk.IC[60] = Pairing.G1Point(uint256(11904414464402965436525525506743924768610454469500246091448296236872503787456),uint256(7901345981841348133798570837556327318751918791552720920858252919678527419218)); + vk.IC[61] = Pairing.G1Point(uint256(9097454549353841694224598345524104394639733239004084168936932786857867884976),uint256(19278847169473133199498662193964640844713810223592641964361144678232884660534)); + vk.IC[62] = Pairing.G1Point(uint256(21620438943314729853841411512892424051641854391341641910568021160630392362018),uint256(16107732833056601465938831948720185314874536546471735172386621044324434130553)); + vk.IC[63] = Pairing.G1Point(uint256(15724800387114551089120422832464618970369866285166747347903663533535657641592),uint256(1354201642544280578723884262812817967963022042903468469993112910721615556692)); + vk.IC[64] = Pairing.G1Point(uint256(12491174371794280144238259298682527818184324314305435654776395888611246031895),uint256(12518634522580347859292542064580203312794522489079644598649329234996860644602)); + vk.IC[65] = Pairing.G1Point(uint256(5097593139625711322611299913637915091605761598042781917950356640556854877579),uint256(5969909846768147541145187081741052225948722538952067945429476185589185271981)); + vk.IC[66] = Pairing.G1Point(uint256(7713466081801094570752018368519604379063968783987579040670364711191845265431),uint256(14850824611145006547694899295979735752351322954186634943221967241125227423000)); + vk.IC[67] = Pairing.G1Point(uint256(3802020057911030969279348819200902044660578139794436976307172348662416730048),uint256(19868739368359868511617342937023988066099425341864327787324605622243701161392)); + vk.IC[68] = Pairing.G1Point(uint256(42409007399539486649213718507544571801962714638575514050839649504939547739),uint256(1393989866912609973709610764081820788401729949125446556006662096643340872738)); + vk.IC[69] = Pairing.G1Point(uint256(6943659370873281331771694955491071052422310052736786493914298539862803191106),uint256(7791760305866494699975570625624163543301247656678414764433803107872934444232)); + vk.IC[70] = Pairing.G1Point(uint256(17045065204703630509143512686189159272601344814280197733448484525122717945816),uint256(9264249374880771243080176557675703060779605035711798774454953841855922457204)); + vk.IC[71] = Pairing.G1Point(uint256(14226583336993936434778675510165415013525515994205334882286031560076626869488),uint256(3206111024811302204558140002957219168233256363710384445706683988463560830566)); + vk.IC[72] = Pairing.G1Point(uint256(6184636137842346624874395682286566830648196888277481672210406416637812156380),uint256(1550156847137093427595125374319070831566458059646702429848424002287278042270)); + vk.IC[73] = Pairing.G1Point(uint256(11022925420760215613397927189254004826253108399610500111904624079585805076111),uint256(17010808542466557218139143087352947514215903773881858579632057197180557214593)); + vk.IC[74] = Pairing.G1Point(uint256(2545892200988305187882779161359939770927202736044817551982654611371988445003),uint256(17938155373491817583846693639082496004487665110014810636629850262805275231632)); + vk.IC[75] = Pairing.G1Point(uint256(19816867989071059653009509989337337004127540253797784838760313530765034067182),uint256(10770188413886612215155375675814800604890144490208305626743862663602261872523)); + vk.IC[76] = Pairing.G1Point(uint256(18768177457987728231599712500526371794196825878169129658959855220120291162498),uint256(18575285344886615109914113458209186455163812675478609023354176210097653310369)); + vk.IC[77] = Pairing.G1Point(uint256(9233039542560241568130817103882994181954229517296273441930184483760010585428),uint256(6734878119685189441050849568538187010569134472431705281624019487984660265771)); + vk.IC[78] = Pairing.G1Point(uint256(15970245610735116359623269623475886352802003713234712193520834010975610079020),uint256(2472409150428075213322208486036230760525132289867431267065168126680247463280)); + vk.IC[79] = Pairing.G1Point(uint256(9955685777257915009881018931146265019846954131163332562031283869859469033354),uint256(13292466493533287482826986774688643506702287058906045902146683701451496698020)); + vk.IC[80] = Pairing.G1Point(uint256(3251359562687246090884151008853631108154963936073687279144714247120069461127),uint256(19975891370433358807144031281198408008279315959279964002720358744087945250376)); + vk.IC[81] = Pairing.G1Point(uint256(14386640859761046358600118496445036960076895457276161432471421499210336997165),uint256(3328462477488307047266896786604539343107182852648302149536295995190812409168)); + vk.IC[82] = Pairing.G1Point(uint256(5024914288092435181225537078302099384430588845495337948997892334645381414336),uint256(20542452729819820591019693973353544533244557478378943841262968807490723753032)); + vk.IC[83] = Pairing.G1Point(uint256(7436319395161097352299261864558124720706721444510196459808260446160074240252),uint256(15362425267569057162654748410643841726793279161854121692209400349677179609817)); + vk.IC[84] = Pairing.G1Point(uint256(14198132671005150931433833917691059615826125042062050975729605504668463283554),uint256(3739145029731857770461075778079685864703701544576404640762244220793193862025)); + vk.IC[85] = Pairing.G1Point(uint256(15520575636064573946841602866625229153635053214677216323404909674396611534438),uint256(12035806277263757009279845179844294683523404689404995470389788811095333415598)); + vk.IC[86] = Pairing.G1Point(uint256(13384950835814865107863562867994038261484489193286485640585704459807648958471),uint256(331972459485666615986882418718020846718880324888185470363364569950269255458)); + vk.IC[87] = Pairing.G1Point(uint256(13730890944165147069291379606306605053404545311091616238699535741338319892019),uint256(21380511694477290740345712672966394767699167895469326365880032959756004386089)); + vk.IC[88] = Pairing.G1Point(uint256(6464972058904645503685103623191326891343031738932767412030442741816884182975),uint256(15548690462979616868071734805871659553960754584407025783571243224270817996598)); + vk.IC[89] = Pairing.G1Point(uint256(13866954761475590727615325137935240717961331770498421033947857900092239704693),uint256(20847490937573002379684618563609040220287480685484782873490314733180282732613)); + vk.IC[90] = Pairing.G1Point(uint256(20477464968677422315676615007820296832125858332809222910868020280987040172782),uint256(16577988584176651177699053277714553789868075930214049625917826255329278592258)); + vk.IC[91] = Pairing.G1Point(uint256(13451446277782821474141043315292855526408778272761170499834700292908972934212),uint256(11225863785384503534328906808831945055271811230960999417755178806907308707529)); + vk.IC[92] = Pairing.G1Point(uint256(10347218323934150770716252855466857673852605877667320604210766147098370169310),uint256(11926329683562712205016841663343895449421030458088786512791852480530978948586)); + vk.IC[93] = Pairing.G1Point(uint256(5098399775342995968286584591616907139533326695490799987035807516833550423501),uint256(16869420969644088089125425830049917614022235659856130039368231841189983563842)); + vk.IC[94] = Pairing.G1Point(uint256(3075302748406280777934275554786133430782298688384502994325140002721827998913),uint256(7494882008019457399603503235819103130813170437066031873138002713587507681767)); + vk.IC[95] = Pairing.G1Point(uint256(11772313620486667558403875497614369515584631760938768726660705884327429058179),uint256(9004519108850825370774904100724126731503930174708636067843967141486380426956)); + vk.IC[96] = Pairing.G1Point(uint256(486858176812455721314922418333705817964291655291703177641804110782963705031),uint256(11468316974649841383976791631985414192181450876761395692986448637345691910779)); + vk.IC[97] = Pairing.G1Point(uint256(2494570774947230379639050682099145509673962861602347522730372882756647142410),uint256(689235563853307094505174772866491451722839244068129877267091696996964314336)); + vk.IC[98] = Pairing.G1Point(uint256(7363962348457962851914525320569066297990271528614711734903717455157309278948),uint256(19548136194050414541572553722832163540454759334379988857089960616715056078809)); + vk.IC[99] = Pairing.G1Point(uint256(18177216368774952642047339482222506251378056348515957415306159033449753360076),uint256(8596449058042646707839897847711608074215243740938262758702369760276609861248)); + vk.IC[100] = Pairing.G1Point(uint256(16208711365791472957442163295763698521135107362977784568127354072292053573560),uint256(7633375089788492803272727806400956378917892540815653150600077668113858838633)); + vk.IC[101] = Pairing.G1Point(uint256(12602660768937907228633154314395157342816692227173397437510586223512057702455),uint256(8333448810261051354863765242571048702965154149705163067479834062083259478011)); + vk.IC[102] = Pairing.G1Point(uint256(16944866867950507742048323564370635199260558388605250805024441017601629397183),uint256(12518442532972460946466396435376811444642469688322982704596545064589432050953)); + vk.IC[103] = Pairing.G1Point(uint256(1018518043923002662330867722198185442215054664250856396953626046325737284220),uint256(16708567219622077340024258299267682260637917550511804033482575063359236615291)); + vk.IC[104] = Pairing.G1Point(uint256(21296152208707465453914193971836137797662701470911010373618372497909211690749),uint256(306154218907772166722431999474932197920544965677072716970946527923389350664)); + vk.IC[105] = Pairing.G1Point(uint256(12469151806182232320902038833703451077000991384919103289892897477053470097785),uint256(5735308211555609757976606017815194659587026648236601939418110093327730692113)); + vk.IC[106] = Pairing.G1Point(uint256(2972992384426852806321417470437233530149738452735067035239260409655860207158),uint256(17253049072343544496577524271433370756867347652386221344892620714809315492648)); + vk.IC[107] = Pairing.G1Point(uint256(13318957738718489673900370106655248188029724792638828686120127505813436213181),uint256(4803724908092959631788483810237774303795790838738954770729462506347272744995)); + vk.IC[108] = Pairing.G1Point(uint256(4621463378215447194738337316582041714060575277324795420885027477341416180833),uint256(21611890106497258411398484709857023267101764709398847503734640281949159232293)); + vk.IC[109] = Pairing.G1Point(uint256(14432549540980570492941719583683357949220514526461669271851411701320887192903),uint256(4560982049252067530581161838391182675091181029078067109315032565367015093472)); + vk.IC[110] = Pairing.G1Point(uint256(21571851148499730534621215362776332486354126048025541542021892600986420587541),uint256(906028392350691407851471543828776706405603375335299246239314033748267298254)); + vk.IC[111] = Pairing.G1Point(uint256(11685119057232328325059178298547750071834845291514197256773881189244317700849),uint256(10980369941325588895035367371320759288614358083179109669435076616068865354416)); + vk.IC[112] = Pairing.G1Point(uint256(3632811882903162744768255771258362298405892838837670787408966044632023046663),uint256(3136072250289096394300125652235821536630881220893779587913489001732505761114)); + vk.IC[113] = Pairing.G1Point(uint256(11360066035065960110866006370396863317680360234618219065711925041038131557768),uint256(10987317789562289666674958138975074872573229325177304131463755004622139872159)); + vk.IC[114] = Pairing.G1Point(uint256(10399674591993011260856123548680409630338706793251650238770105147196102174260),uint256(11987791332055857031999252595284691917108653105088006146628670738658318117471)); + vk.IC[115] = Pairing.G1Point(uint256(7727531619658670830077213159605206042782436318651232124194299962609026185610),uint256(20181186550255965044477719926628170529733022239991754099405653723956601928245)); + vk.IC[116] = Pairing.G1Point(uint256(15845660751458078546046198870060638841576015208066455291631108451507968515018),uint256(12636253700476606365843639625068541977400878034471989196149046726748974936383)); + vk.IC[117] = Pairing.G1Point(uint256(17794946183199312382313977477462243949455232190924744105008976534793807334725),uint256(8226179430668574398270811853420444517863450229415811646721497772103549863169)); + vk.IC[118] = Pairing.G1Point(uint256(3767469696515029676222334915542583591551827175070810157383686367621363332207),uint256(16195569442012434862114265179995476779463754076640669742744628707811231813140)); + vk.IC[119] = Pairing.G1Point(uint256(1561905485933747915980237958093281065239355860396653597542008340953189958906),uint256(11543616484235504662983619845281206579805959857792393397984442548387855558432)); + vk.IC[120] = Pairing.G1Point(uint256(3322272619846102437130829680780472644742874110846794107057423148813862919349),uint256(14962772209493366743495053975474718982330260247677873427477267296056193833069)); + vk.IC[121] = Pairing.G1Point(uint256(2929199633984294285127339111983609657428653003338454237290432481587401100308),uint256(6857256209287819546477311772604272490887870685495095429503135038962912998860)); + vk.IC[122] = Pairing.G1Point(uint256(15540134411238790155565330743699880331802932173612266741866670540822878317878),uint256(11654970318966129942274963978863594223599103598286093849820228734915723376812)); + vk.IC[123] = Pairing.G1Point(uint256(10173923160988647148615516443475034945794801272454355071290035862784786064322),uint256(5150714483832903458358345428030735467447168282088332456079016128552735345882)); + vk.IC[124] = Pairing.G1Point(uint256(20932931927205375361763575559942452442648839435775205320515564893785401348349),uint256(13593030547410102640958114059649429209249390993312145763750869269802964841911)); + vk.IC[125] = Pairing.G1Point(uint256(2072828657987989801552750276195949192635243281072463629218524911538695313799),uint256(5271213955381432792101073901248579919001230283913352297186102080762159275180)); + vk.IC[126] = Pairing.G1Point(uint256(17065039467056889476455948009319652086253088030386263637481471210580686485109),uint256(12719108516268115531390159918115170995217517408934962252207827734372904104398)); + vk.IC[127] = Pairing.G1Point(uint256(9446340266853100304424508235111161859861298403800915643582262489672832961282),uint256(10362454785491415089741075699874630976157537933762078116073705444640384199767)); + vk.IC[128] = Pairing.G1Point(uint256(10762894553091540879747129520376297183491222007622808862737869938489108518071),uint256(20866853932517473823430965252341386283499241588806994529638948772902902249427)); + vk.IC[129] = Pairing.G1Point(uint256(13041821822160518661967917246075393463378781796934337521787543552522941594065),uint256(3571450512388323842821680001070087019707088796325168524025747308919368099236)); + vk.IC[130] = Pairing.G1Point(uint256(10880468622204107224788442959383590820860480318494494054974825153150834482376),uint256(15408583252483245864164284113541501667007881144623178122110345736272378742799)); + vk.IC[131] = Pairing.G1Point(uint256(16713930689018932377893911116432709132515780201185096360626332955705563208739),uint256(10369420822701522983382235271509641258157205137706442467563460076700239113520)); + vk.IC[132] = Pairing.G1Point(uint256(13192021659804494005549670934668094055573372538927697516544835165990273128689),uint256(5985373826265200277137099297198248250142571696201072261126659556009249898170)); + vk.IC[133] = Pairing.G1Point(uint256(12327680676077262816845385263482328667837726516973693614387120964791375311271),uint256(5986185171480669192662286273604689398267183098533236167745014478255228209774)); + vk.IC[134] = Pairing.G1Point(uint256(496272914969155482091466801481222166942638093319014371757545964287397500514),uint256(4300345708295599177933695532269369474122592898867188229231876226482215036603)); + vk.IC[135] = Pairing.G1Point(uint256(6727396966330071370928899468216220011538802719682107657207361644518987950473),uint256(11229085000665969850025749305624675874996004743174965704511119757319421689696)); + vk.IC[136] = Pairing.G1Point(uint256(2989826890567067584931386698859915928396765254567206031507556645079108522548),uint256(20730904567313160818542610871980037023294272480990018615000223815116478102853)); + vk.IC[137] = Pairing.G1Point(uint256(18776243482873152164084264429745773139666631056746483487050802365574287774308),uint256(1122248991032185079990612825916727258282034399716197484138972666216036617727)); + vk.IC[138] = Pairing.G1Point(uint256(6504087159720829619897817335844974950232673280875724313227909647503420397840),uint256(14034214999312552751459115517714127444907482173742936286579552004932390783916)); + vk.IC[139] = Pairing.G1Point(uint256(11694013034799736513020481828867236922932697780756331061007285357824328252848),uint256(3715610194206103244804175945837930301818720806086258786831914954554281397324)); + vk.IC[140] = Pairing.G1Point(uint256(1301989592386001641534393247159155834541461620445536044153729775390726409741),uint256(1577462462105281110138072913059420692280360156674074195902490045047496598635)); + vk.IC[141] = Pairing.G1Point(uint256(12054613944351039487851192971986558845023996663679338151278211907079781998002),uint256(8509455051206459164348813305622899906015379439802738754319646243985019024621)); + vk.IC[142] = Pairing.G1Point(uint256(10837689494891892767560003634384017301421278255402172876840239320296139684740),uint256(14556890339199313455971460177417092380094853080864352075702111160796960863256)); + vk.IC[143] = Pairing.G1Point(uint256(2103544264228938673736598669271117357617892093517713452492925112254792559664),uint256(3548846948471286192653573587362339993797584759342086280321436941408490659549)); + vk.IC[144] = Pairing.G1Point(uint256(12153767686330241990195718753039199243301932181519070574327451631390661815814),uint256(1810366736679472272204044908413209313355115133880322502850409855860120544984)); + vk.IC[145] = Pairing.G1Point(uint256(20476007283564528853805277661932969356727068655976473263874472765247897555339),uint256(3972634068781499543489137214757823702653670439900660451049910694395809737814)); + vk.IC[146] = Pairing.G1Point(uint256(7638832571966915443462500957986909605721166035745345369476790578096411526692),uint256(4611666376088470677448976665251338672553682933420097759970144839187993533256)); + vk.IC[147] = Pairing.G1Point(uint256(11919381444259741418845817193153113668063057613192395411709660786224285733078),uint256(4136465752586047345512422256535903351362410772775911669925003294525019224693)); + vk.IC[148] = Pairing.G1Point(uint256(13344300120956693323713568474981371558626363771233631562040264707783640783243),uint256(13722493228944470606129116380769325992678523041725296157147697352023901795637)); + vk.IC[149] = Pairing.G1Point(uint256(7075091914697174758191846059375246423292798135482374591980067212765483373983),uint256(4625021358744545391141373231410064506079133969511203801540683541035101270588)); + vk.IC[150] = Pairing.G1Point(uint256(2013114400875882354048249441991735347857293908725840352766960592320904221328),uint256(12686166200577656159661808588810829760101306367713899886038875472143813815967)); + vk.IC[151] = Pairing.G1Point(uint256(3186144318236447446451368594621408486861533346792260617994716879468747618033),uint256(46013984074641173975533321713624792042002358505991802749041865240812678587)); + vk.IC[152] = Pairing.G1Point(uint256(6375005751059068434545301534016924341805111171974042993632053017122437153332),uint256(11396428496186696481693461966143649239090070695206127172132673681746686931571)); + vk.IC[153] = Pairing.G1Point(uint256(12083097931529627964733480727663522461511955213809294998040613431413714240705),uint256(19284188952478669462913094699189514848252249966962676705163301298332363600838)); + vk.IC[154] = Pairing.G1Point(uint256(6854129798561606683358863984276705169403239367535982838242875612916987721489),uint256(4962844393070122917106668723512793641136679629608908575385777878444172197607)); + vk.IC[155] = Pairing.G1Point(uint256(6955883172577116063912910002916393509664274309254194086448461408939177327896),uint256(14889206080477052734373184885712382041316550253392237410505613142634079441001)); + vk.IC[156] = Pairing.G1Point(uint256(14929735100172550579405854568474856370797644278881757651381954982509689123226),uint256(7798028783139986250764440647733993922887099373739807640734435716513159406445)); + vk.IC[157] = Pairing.G1Point(uint256(1162352730149800747716949751969274947840014199045980291867550383315917468926),uint256(14949238121758196890030149443912778290837742051657335402883899925858295728733)); + vk.IC[158] = Pairing.G1Point(uint256(4390127419179041437500142546624365590081587465183899946381678306109735266560),uint256(17039130708943069046717115046358023806187958330259128009701736814729861994955)); + vk.IC[159] = Pairing.G1Point(uint256(4820096243155177923407393764789560818538658881660646189760053315052860873239),uint256(12488684652475076827771461142021295916678069183172506461071699110350697106834)); + vk.IC[160] = Pairing.G1Point(uint256(12635742826343369200427801503263964353184374845591664342747163434395177951033),uint256(8064078825776199159160068417900204204861509787930547617681462297411178066481)); + vk.IC[161] = Pairing.G1Point(uint256(1403375949256776001228730710321911683548187671590039942221137170663487878878),uint256(8180128618954270955368731566525008701225357970731742462251699614119553066631)); + vk.IC[162] = Pairing.G1Point(uint256(2845749987366046421406433775803990388863496683409572282322779255750037587843),uint256(4826436134104274406504134489231941006949501701884540159351426181276941503056)); + vk.IC[163] = Pairing.G1Point(uint256(19796499582309695624350693090555599172328679769939151526652124812551838589721),uint256(17135387104562784923554910758304394317361623450163066650158627144643557372247)); + vk.IC[164] = Pairing.G1Point(uint256(1759828044975301930574128441162854668189185064118388751454965010355961609526),uint256(2528224112658747995215166581464883880304989006893013908036096558010355905395)); + vk.IC[165] = Pairing.G1Point(uint256(3128751156530824490731316243096920712196568530137152206418588455844534050547),uint256(563285979961488584041490229070242368137956286825976534550154163304288827047)); + vk.IC[166] = Pairing.G1Point(uint256(2817162394069714239991990094817546018531599124713412963970099244722443973393),uint256(12498868337166742746273341632309282513106726295723950263054335569540658115058)); + vk.IC[167] = Pairing.G1Point(uint256(14314985598146647866370543454070407316765579145765094853932783754996430406951),uint256(19451732990793369413970606468632190424851380684508459971231552179244971048303)); + vk.IC[168] = Pairing.G1Point(uint256(5944835655946833920189579263893844235615873692318382780071431584250871853010),uint256(1813025908476335806921216325063659404883420219234454394726338608236085759467)); + vk.IC[169] = Pairing.G1Point(uint256(6572720004640038588810854655542321379545061022089054412418965629318331021427),uint256(21780045986939785806756802102400015181057205764101623111663480383338631515271)); + vk.IC[170] = Pairing.G1Point(uint256(18811549524927649575742954683240761877322668465689046110902489317371040921146),uint256(2338910291431993352394644705063155721860963600144411100524587129312407633562)); + vk.IC[171] = Pairing.G1Point(uint256(5686647400283853983073668031009802872413176420607816984329916666139994391726),uint256(13981870569381477526070442403658385100264167043263095133727875180637887126439)); + vk.IC[172] = Pairing.G1Point(uint256(21799503390531267894104853052547160395149993054717859709960427433259054766707),uint256(1196480720721558663826285847459903012495197422276426859642421282840160084220)); + vk.IC[173] = Pairing.G1Point(uint256(2343008589434051435859643533356230143365941525249704083995944725303113680950),uint256(9774981664687912019628573636947015434571308632203146538446605985608464792852)); + vk.IC[174] = Pairing.G1Point(uint256(15953926877619163316324466981034385018996009152961362653565544416159487201879),uint256(15530870918450411291176543950750447337660248384037272607100129401828918910552)); + vk.IC[175] = Pairing.G1Point(uint256(15553371789856478803163521837399051890562724429134519621068427188885460552328),uint256(13118773464517671874647685274233542721943833257125327818392744051904493961935)); + vk.IC[176] = Pairing.G1Point(uint256(20475247493594491667362114032531791414393836001476306279463155883316807918800),uint256(12735799443771183795202575361472406655824323638728263243023512804362073751285)); + vk.IC[177] = Pairing.G1Point(uint256(9673240817418637914956463464123919037779722047604171226335998683242154875119),uint256(20887507690014932850617751080534400566679779045517783574674396686979609171384)); + vk.IC[178] = Pairing.G1Point(uint256(14716533504669787327361148865981014104149887855030989112399225162589244541928),uint256(2092900692459258607069428436524481857712750752847700573176701141651764803990)); + vk.IC[179] = Pairing.G1Point(uint256(15893291189460917283935124117554804021867684513289158215071068414408595129578),uint256(12927416139142437837166853542890055611252534309395124760898924188042152318589)); + vk.IC[180] = Pairing.G1Point(uint256(13335724650857263799073789400272107613339354145171844036082871140551645388191),uint256(17475194376240765355962801293688942701474406382082403375315053821478361711088)); + vk.IC[181] = Pairing.G1Point(uint256(19119184006987828172267483241081642989526644476654832853163173011263500203864),uint256(17007846556315438963058738331400826979323961698546433877201691044814782135161)); + vk.IC[182] = Pairing.G1Point(uint256(2315442929512608365650173819533341701435765668177503081322540761162181035108),uint256(10907270497751162594569797570356753706913580291926789684418674157382299498436)); + vk.IC[183] = Pairing.G1Point(uint256(13946086585495653085278043198265538454196551848537176196540053826400515384651),uint256(16662867292210783322237597688556136844742811532499340655530235078699710619590)); + vk.IC[184] = Pairing.G1Point(uint256(2192137124762364931325507587425273821566416897098286782314473040320519914264),uint256(9057095742630474187817444833212793401213552696661398945827451973184718676255)); + vk.IC[185] = Pairing.G1Point(uint256(16857750644839186537936337279770335079705359672142430139282421523065694191013),uint256(10606059893073594433244712654082621838204446873368886286055185655645313990069)); + vk.IC[186] = Pairing.G1Point(uint256(19228093496961601099133739099565663174206822769352850031062271156274760292376),uint256(3432693256300221792977128798178741518272609183893429606734276923106105176812)); + vk.IC[187] = Pairing.G1Point(uint256(6379933197582956024105064467223394660584601552151307156084119680940174364250),uint256(7846168653516973761069719270993567903628547728889301812731383292184184430655)); + vk.IC[188] = Pairing.G1Point(uint256(7948103073827077442614642923973758205207539493063186374782676018804219853228),uint256(3606245631717760200785636079523661416075324333053945627408641487337970381328)); + vk.IC[189] = Pairing.G1Point(uint256(3180095239283798867791614115233328321629943363410147878726413171819646772546),uint256(6498063021355732283386281895501128109836809994554380760312267372933794126949)); + vk.IC[190] = Pairing.G1Point(uint256(16345276079498571908235114479465676784722951331695645380377466795426035407569),uint256(8224838411551901366715569785020615143389952231580529980616986487991328336800)); + vk.IC[191] = Pairing.G1Point(uint256(488470780937649849448270247748544834255730484351797335321312903456300604363),uint256(4857174041662047941551449938654918640021083536980492947357939966484824753301)); + vk.IC[192] = Pairing.G1Point(uint256(3438326327072843558102083315857434529183394300151276838602790526895212833360),uint256(2135535358818525561211227285453774184503622555476055994424969541603476171592)); + vk.IC[193] = Pairing.G1Point(uint256(9187000841960615208286182505899231195959333597773188185702557789977042054318),uint256(15721683326021084864017034110238334711987579335993516331801627487547740831659)); + vk.IC[194] = Pairing.G1Point(uint256(14641085528288521372206104285283027474983457862673256446442967281005105037297),uint256(13735271756369061032267441931591619240805468205987566408596334856166697361687)); + vk.IC[195] = Pairing.G1Point(uint256(13109074509995648100707673009963907226753995524126480186996681307436999379541),uint256(3139491013196964090473345880854791935910057889560981992202732215662203853020)); + vk.IC[196] = Pairing.G1Point(uint256(4529992927453241049943131784676329422537609283581552693376719402018927949272),uint256(4639391410486234759034844757666491951772052498676533109481192673253766731999)); + vk.IC[197] = Pairing.G1Point(uint256(3768926248793117732157462102333314116867054149611443673975069942236858572025),uint256(13918452427744004270120358135350194338058387339455450663822924813180985301124)); + vk.IC[198] = Pairing.G1Point(uint256(785450479131777964951448790155086919987168731769718994769392360471325812403),uint256(2094542317510943741882931072000935751625003800260474436095346472740422851272)); + vk.IC[199] = Pairing.G1Point(uint256(8950807431851181483448861593589808599013181445301443473262879496477843920865),uint256(17963457607554478351819084339386762721955791812438950479868322539866306454485)); + vk.IC[200] = Pairing.G1Point(uint256(18627956961819133076286352908823170378803499410315515140431699225577976369616),uint256(19079819579657561438295202328338595409212832771315070197535379440196616717809)); + vk.IC[201] = Pairing.G1Point(uint256(11366080210461220653260250869390582317856669454144176321198700908962512893325),uint256(15451702211389690713595198054687237539207204247047425626907082346755731209126)); + vk.IC[202] = Pairing.G1Point(uint256(19184875919723031678137218455820354329866815832158273434162629033128519604427),uint256(9778291862263515333647995791196676394223063661826395895489246807763591968544)); + vk.IC[203] = Pairing.G1Point(uint256(12312858575265511789032812446048108689549112294836537239104171110387988145336),uint256(3818398286438627951118759246495958580443171031861653025316261620519046414496)); + vk.IC[204] = Pairing.G1Point(uint256(18528746337134377303272440426327979207542172609052812981018034550438262482979),uint256(15232833604305499504904971935141865933239765874196216811410186092381599622573)); + vk.IC[205] = Pairing.G1Point(uint256(10945243473254834086635613050980310796525620347815308752454894940376470174181),uint256(10843584668860633533336888334835497782770545803864102726904977028681990638062)); + vk.IC[206] = Pairing.G1Point(uint256(14131949728674118778070119457161301430497233436888000632579055160012213489842),uint256(18810962707870215991574785010877147915235888062071733095380170711718086139269)); + vk.IC[207] = Pairing.G1Point(uint256(20021759469482091154994232319750256181880977744857245377698495054050102981792),uint256(12203226038746187535788868323503674562225935911395199910913988527182112795315)); + vk.IC[208] = Pairing.G1Point(uint256(19621222167764438224881240075880539672740883457122990835916582210568540953035),uint256(3901741486528440883430697041321135978906992846791868531950610365975831661755)); + vk.IC[209] = Pairing.G1Point(uint256(5376192494372849892314477294877757794884166414337155312738924530302632899301),uint256(3327090451532365831995825642853055205086234005715665470081672892853661199006)); + vk.IC[210] = Pairing.G1Point(uint256(12311115811361087034593004924945114766295632073628170355085043013608749451294),uint256(2272987882300572236268216861949223865524961742145699612959069918636014468301)); + vk.IC[211] = Pairing.G1Point(uint256(9281676861476832351445166677681231945032298278584205402876606055795748858731),uint256(3315915873984349753008202788591541002028991193531761567193638284854618755217)); + vk.IC[212] = Pairing.G1Point(uint256(3433266307776900179978511392389176746630852837372137654966662566801849091794),uint256(16942261114297397994977097959120277581050548883368633031638484015164747360638)); + vk.IC[213] = Pairing.G1Point(uint256(17970616029538386460066413806537229867522283969762415078461042270352075493198),uint256(13744187432417512241717658518031504892826404520030209903087580747375321889878)); + vk.IC[214] = Pairing.G1Point(uint256(3887172415253873558448606604742183287716738788923661540113691799540716746370),uint256(7264815036252340476794901542542909988252839344530932029960368520212287336251)); + vk.IC[215] = Pairing.G1Point(uint256(4144923345526761322555029143995001446796723966137273073640978419969032482351),uint256(12700031842575181838069062061704770062745052583624384802489345451196488315560)); + vk.IC[216] = Pairing.G1Point(uint256(8346818519518732668777067002138573960471464567987852142222406678321361452286),uint256(13753617720447421717523581607894362341625683231114151675018379660677681728680)); + vk.IC[217] = Pairing.G1Point(uint256(18955081519121544641766981070326694441318466736793626085487761744974106893505),uint256(4466358037585503255418192751767673552203648262848429642410804557930383369432)); + vk.IC[218] = Pairing.G1Point(uint256(13314852116879232390970229044224403646258571745786051958560884497537807426155),uint256(13938162924156082253344546027479917687572857908104577068004433294858865407670)); + vk.IC[219] = Pairing.G1Point(uint256(11366624233753601983348048983958412867409917864861243167903797271458253841075),uint256(1847850224065382168263365318206154476383643208807578309687472506036301981451)); + vk.IC[220] = Pairing.G1Point(uint256(11144375068441663979485356003605432903199544843593219255544337581148657883827),uint256(3491313509445506181063479318152309817412480290734953706542213400630378641378)); + vk.IC[221] = Pairing.G1Point(uint256(4975478990152535215491549984155709592910841858498390468098677063292453274865),uint256(18477235307031861605607108052934258666164673169435640037429434984726447614731)); + vk.IC[222] = Pairing.G1Point(uint256(9552598110633671111831690787756421743172057706603940718125165123710788757637),uint256(16185606852334718570508936777109672405996855223610572759889875930143042201601)); + vk.IC[223] = Pairing.G1Point(uint256(21666091873986262043989809295426032441867998581822254475907391945618792234646),uint256(3915208063012785011928727703057756833369180599144614018986240439146395485961)); + vk.IC[224] = Pairing.G1Point(uint256(11727870925898231463949912435779042065691944517879781188554916703190541492104),uint256(12238678868306499864953746385546143431925006243925944968822744189441557054611)); + vk.IC[225] = Pairing.G1Point(uint256(1348224968579476875927140005931795987954966012646688591202795096280583577278),uint256(21863545877822362608933627425145684997599806064208939913759132230730300344370)); + vk.IC[226] = Pairing.G1Point(uint256(17679654067888793835459956517769641640223521363254020302422770045960500427142),uint256(17351963700966826741160907781119403749215309085684761644477440761659929263438)); + vk.IC[227] = Pairing.G1Point(uint256(11284514086558563691589910769515507351240176044575991165592485221283794316604),uint256(15736977077207641675153475215252702355859690095111110402645287149637475883806)); + vk.IC[228] = Pairing.G1Point(uint256(6902086962422300939513192402816451785171193580021157517611458547489091054808),uint256(4069619280562646832645619877626022731403556677484946016164892719328543591319)); + vk.IC[229] = Pairing.G1Point(uint256(2861306383959243119277529658301137192615225381777361041294890054920820322069),uint256(4334252700137703138083776444014919703780270303193838401528150114597525089004)); + vk.IC[230] = Pairing.G1Point(uint256(9565969369836916421375428702456155442613738328810307157580655063930004210560),uint256(302694661659584867205036128243284651687430657386359683870610605776961944441)); + vk.IC[231] = Pairing.G1Point(uint256(11072440840567057793561594831484896121221137706706625025080350953082042823960),uint256(19536715109462877441775868712003456499241596391529437382856176215663111291433)); + vk.IC[232] = Pairing.G1Point(uint256(3667984451148280097165956920817608194821959474030104232475411110728085163175),uint256(873752449564020474137334049646382150003810110401942064232938210701504568166)); + vk.IC[233] = Pairing.G1Point(uint256(21514878874122893527475727202686435451026146800370020867454079717887869212235),uint256(12001981196883979245691999771668255414316570387756017235310978209409220495371)); + vk.IC[234] = Pairing.G1Point(uint256(19815389746274277564525535256941443972532880352014479940589519523575154888714),uint256(2112228027355283171095241303058046113606127561338608528868283489497512072114)); + vk.IC[235] = Pairing.G1Point(uint256(13687598690209155374187872976081876963710176662296650488771137406639898291195),uint256(4896775152399733609376578698295534785799175462913513058349513099228318323930)); + vk.IC[236] = Pairing.G1Point(uint256(3836511526401915111186035442028022178124992178588936903226651722474678178722),uint256(15904467097894351552308861548671485536885394551452699014471593698014883861723)); + vk.IC[237] = Pairing.G1Point(uint256(211380234718899182559806745526498234097372053446662722755022492675763668660),uint256(17899061887027478730454980559391245848386952365594981485898597825025890258098)); + vk.IC[238] = Pairing.G1Point(uint256(6811790692194193126082560448684086886994929334100403617611401241044852369214),uint256(13603602486969024316607990148104747060522747036712419054436358293996067240375)); + vk.IC[239] = Pairing.G1Point(uint256(18280762859930247126240580732308223441122678686097945333963979372349041565341),uint256(7900386554759948066225238563105047767275925411742408974383198110303058046648)); + vk.IC[240] = Pairing.G1Point(uint256(1961411393435977167717677682932418547804755279341186629899310007627928499446),uint256(4375782706557222769872990333489973167733797197529621656216750058145122453956)); + vk.IC[241] = Pairing.G1Point(uint256(18668353401419519023641506400908011427450096827213225102587439923811941949515),uint256(7812963513353347316670582708830192461981356536481329944467165913278820239621)); + vk.IC[242] = Pairing.G1Point(uint256(2551610691695619209084768242295965497964876191055064880845631497857001237834),uint256(3975205162440609550819237636380728823336546998263922191513874709203671773638)); + vk.IC[243] = Pairing.G1Point(uint256(21442286693689985293083229128814722214287964218264395373564203875904442360686),uint256(7713868935808567877251428569250255027494275549596103841962770719829644998170)); + vk.IC[244] = Pairing.G1Point(uint256(12728906587485015419345580853289356279075618884260805975059538488070848171367),uint256(19373654671157960339813620486150023565206859990130218736311119536445990433166)); + vk.IC[245] = Pairing.G1Point(uint256(11484050304851080029509372778769656526197450309772974613735795442304419029094),uint256(20902816811029180096596551072997758562410799093789009083549152549130794081501)); + vk.IC[246] = Pairing.G1Point(uint256(18748292671201023925149470662186517381423710959770872742058810123368727830144),uint256(14446310319266519851372302452925910288787578773180971702811494499137022190716)); + vk.IC[247] = Pairing.G1Point(uint256(18239018437208795169134391886482733607754556968746293800187531744668849812272),uint256(10340026770658467230031579160734564389088778594491662946534821675496758702931)); + vk.IC[248] = Pairing.G1Point(uint256(21857390898090024031528170748752480538858008808779720472779770654556885234256),uint256(17112002652056229478161292758706753554056161145049102542615660937960347797045)); + vk.IC[249] = Pairing.G1Point(uint256(732493134980293429602656197994348722870145465808633465073719888398377496048),uint256(1595285048197087490273644684409509763185874167731055878484204800504978725418)); + vk.IC[250] = Pairing.G1Point(uint256(14233762545446781735848333469952550581079870070492500982839855412233451834557),uint256(683964039797614783035449809625992759632220496724655818782393506073604572767)); + vk.IC[251] = Pairing.G1Point(uint256(10954968189715023594980544788175991970310348373879639974709693728334209794748),uint256(16747559741779699698762381511958467225278364379480880939879900697261647117787)); + vk.IC[252] = Pairing.G1Point(uint256(18007988945921793673852280856638462439730406138528276470425969095541714437998),uint256(11571545040368193622553019009107683733053323375976067492789935918232407041612)); + vk.IC[253] = Pairing.G1Point(uint256(12904018925430632051705014850150317233620469256355967575955091495449700616257),uint256(16974218715967035922172097619637218555831012179817404874568043947550187575097)); + vk.IC[254] = Pairing.G1Point(uint256(6573144554200682327200051573711478167271201544065088826639189346420684837502),uint256(10921322099480444487157109007034331821629422048905933341099361583679225877899)); + vk.IC[255] = Pairing.G1Point(uint256(947658932072660836457045300590887816658420662971075177031173650695246510609),uint256(19258749290873660810234408112933201457174062160616954014497443276974964538856)); + vk.IC[256] = Pairing.G1Point(uint256(13748966843279725432560864406612460040330564188053911510090454012964761728236),uint256(4632074389729079934483021017987972139202257442951790802735799017890931789144)); + vk.IC[257] = Pairing.G1Point(uint256(8659952086320569696674494294101497075907537771097268466168489720443218737949),uint256(7798830915950871416664554140606137340728195059599996706608866066968715487076)); + vk.IC[258] = Pairing.G1Point(uint256(4781385993933186934450984403213792395613986476483468975271165546020138488967),uint256(18481436745985107405481313620148511749793404168856141113278803905405566795277)); + vk.IC[259] = Pairing.G1Point(uint256(18652293201812053154803933695239922726105704432098942762267804579005915739681),uint256(11802641518679500546185004928527793368050412051176230997787978554946012399585)); + vk.IC[260] = Pairing.G1Point(uint256(20254673851195539548990758449128099743651771530014214529209128563947505783905),uint256(16248193046986394244397644380769412614991582753006010241511652735492017704011)); + vk.IC[261] = Pairing.G1Point(uint256(19945009349010556555893227149815767671642759267238311105718406308365765257699),uint256(21807574832682757329905336092197643883522418806375837762737512672237109540816)); + vk.IC[262] = Pairing.G1Point(uint256(9261420544326917743705862962594751810049679690145120947001479228828993653674),uint256(14463792602880387429958295850571340890613032884693389068911035441047848291226)); + vk.IC[263] = Pairing.G1Point(uint256(4852237942823018541656557009753486205135901488729254530151685162543647032144),uint256(17265020024681515410498786258328698049641848320609270233914381741542105308336)); + vk.IC[264] = Pairing.G1Point(uint256(18308939115109097179799688644404538786323594699390246525025622937820769571364),uint256(1523127653403670183754704266765059674155740222840016695934350960716602893346)); } @@ -345,7 +473,7 @@ contract BatchUpdateStateTreeVerifierCustom { // Make sure that every input is less than the snark scalar field //for (uint256 i = 0; i < input.length; i++) { - for (uint256 i = 0; i < 136; i++) { + for (uint256 i = 0; i < 264; i++) { require(input[i] < SNARK_SCALAR_FIELD,"verifier-gte-snark-scalar-field"); vk_x = Pairing.plus(vk_x, Pairing.scalar_mul(vk.IC[i + 1], input[i])); } diff --git a/contracts/contracts/snarkVerifiers/QuadVoteTallyVerifierCustom.sol b/contracts/contracts/snarkVerifiers/QuadVoteTallyVerifierCustom.sol index a6a396654..898b65c9d 100644 --- a/contracts/contracts/snarkVerifiers/QuadVoteTallyVerifierCustom.sol +++ b/contracts/contracts/snarkVerifiers/QuadVoteTallyVerifierCustom.sol @@ -165,21 +165,21 @@ contract QuadVoteTallyVerifierCustom { } function verifyingKey() internal pure returns (VerifyingKey memory vk) { - vk.alpha1 = Pairing.G1Point(uint256(16943336223702478034729513866374796851228809856161008919800913520856468181573),uint256(2995090004627639065569871279932395584911899798711981190091501417285102191177)); - vk.beta2 = Pairing.G2Point([uint256(16224714118819881643530609308327988952043965596591357129331660443749437880225),uint256(18713080770238836914085757668180363883442449561648958290173009680301883643312)], [uint256(22349732573235212308155999603848231077445494488349558443704557051018923559),uint256(10320633006958853808156951459730803259989331403375988741484169048853496829865)]); - vk.gamma2 = Pairing.G2Point([uint256(13754685977183525838201298718645487522999887715054765691404125733830578085397),uint256(6942074706854035824685190568710272703891322307475144729076362801105779834805)], [uint256(5140158617774088963306972183201877929593031398407933973109566549607124831751),uint256(13035987335313190818598467074385857301795834547346013393313010045759712554988)]); - vk.delta2 = Pairing.G2Point([uint256(8060558336832861646731122586124893496721636529597338211955002623228447877246),uint256(11266091873376325088415037049219024114103234301565804309675027383590258801637)], [uint256(14778268722321702691286210615443377029665021234872720602744008230960335632554),uint256(159950337696748857596651038995043496935979997396302102605500326482927324500)]); - vk.IC[0] = Pairing.G1Point(uint256(16066585270605647433163972725844364442561475974556889399601021622371369271144),uint256(12676191990324881131751023451007364920714885702228311161299501530006872841519)); - vk.IC[1] = Pairing.G1Point(uint256(8741724346703266580019385312120367474943720529314996811441101272835876516470),uint256(17031176066038457326863997348851727124563803542303563511325983859631762911934)); - vk.IC[2] = Pairing.G1Point(uint256(18066750137770170845946733820200480964706781331673770545419839050076884756612),uint256(9347679342275024796450198445411694201271359973979853238013376665002795681996)); - vk.IC[3] = Pairing.G1Point(uint256(12615311434592602984490157419406590901170885801626249228431749604898753676825),uint256(14923844847934190225877627597124089862553879390935260800034269416514426560258)); - vk.IC[4] = Pairing.G1Point(uint256(20169822918031976507682131782892646776809554001149512021190639599804349326690),uint256(16500262714506045360275229153359308289644927300370679736657829361303433615345)); - vk.IC[5] = Pairing.G1Point(uint256(17087302943942300743176792228086268327696285793900716344408973607382655072319),uint256(18235408216267296600740961289869198243767504308584360263468406970385003239783)); - vk.IC[6] = Pairing.G1Point(uint256(19545026119096666217656647361860838923223293971001406747125714826757828149809),uint256(6559080491999014353344865620771583944769725829299641810721028046777843584264)); - vk.IC[7] = Pairing.G1Point(uint256(19060100374012958103958897290158267767597513329256041185857758273030309802587),uint256(9555898096763236508022594162106408962958705890577795983031819651275877959038)); - vk.IC[8] = Pairing.G1Point(uint256(11259424594567992022915148822616114808210551795687973599385042152935186891352),uint256(8847372443318686693647511285032355230775674903720747383283857986227997292264)); - vk.IC[9] = Pairing.G1Point(uint256(20034938052071061170101345512267783478448487278351248710639589348238685776221),uint256(20456838147183647185441901749475039833247081714013147449136222686509036222717)); - vk.IC[10] = Pairing.G1Point(uint256(14726963331140212908790922462256415603139476517884646197732123280907881194129),uint256(19499071686152952417621806302814788689759796377680900572072370183655072718752)); + vk.alpha1 = Pairing.G1Point(uint256(293089235867224699536482180938394230067962199851011216067376566083334277172),uint256(13086134622934158593450033649616058486061020062189779629632805853293713425336)); + vk.beta2 = Pairing.G2Point([uint256(6114741828566539306031727483813639944357413571881975320008024491209084841656),uint256(20770326479742698604639008021797738470591426184324417755400165404614184616472)], [uint256(12897160845824549494749400152225761728356531432016848542412131330045849637866),uint256(19445655216993897563908055359581807222809758373277675683773253725841573068535)]); + vk.gamma2 = Pairing.G2Point([uint256(7691758787506249422762032096315387929217677235193788182999431741143109956998),uint256(20339600474477910992590236432201291588389495803965469223888493644110904262604)], [uint256(8452122516294944815603379954539367684468813587597578788685334018141390638342),uint256(21733314419883256795784171116131036710283056784755135965233974509851301461448)]); + vk.delta2 = Pairing.G2Point([uint256(19331426541686400479497372876521631209920596968143329835238258273460966054300),uint256(16956429691965767383686056263196400205390273213864746066359358450999333339703)], [uint256(20364297373933603184466590797261651908615097075077602506363717982877453629025),uint256(14401403016841240783158044611179494310507572317502168222677110216540759094595)]); + vk.IC[0] = Pairing.G1Point(uint256(16847187102052526334551268369286504731626812906261149680308409672948178707258),uint256(12217128308619171556238679196644902746624342249833336240174443790189407023663)); + vk.IC[1] = Pairing.G1Point(uint256(14345815754559251738502100703437993838196057023369130571176365850134036755594),uint256(272771157805588047097572130554011041230273660526450536789825971339470643037)); + vk.IC[2] = Pairing.G1Point(uint256(6111115547273346475969307987520928952136245508156133078151859071606655099194),uint256(14927169718953544698729033887570351748855745139121747328696310981230836214833)); + vk.IC[3] = Pairing.G1Point(uint256(20478803628032006749281550746598304717130642263072307832868894350348206456362),uint256(13038696267478649475000250279497204957096439817515594699596588545373104953734)); + vk.IC[4] = Pairing.G1Point(uint256(4324839803867906919094905107422644644653719235148094844111550224227600513633),uint256(18373309156045387753722245799372295263970748592253723847308991964526052747839)); + vk.IC[5] = Pairing.G1Point(uint256(18753577623910438691175528873337623348490877900779622682253075529765723762591),uint256(9843716481722697430150421148241197623056010859861557078063370632061378570789)); + vk.IC[6] = Pairing.G1Point(uint256(13991047778588019497888130171362792200084117102294225558827098236573751159075),uint256(4755524455138330648750690070168368148884997823666907243579834645510716955447)); + vk.IC[7] = Pairing.G1Point(uint256(13781091497514442071177093453213977566490570316772268651984379227936193430455),uint256(18161923363791002871879524121057520573663455022082235441106147251640688811165)); + vk.IC[8] = Pairing.G1Point(uint256(496264935626465625447401185532381476212580297348027413711874523068270350340),uint256(13911895118675906316113224836198986878937675534110051381398720815549460576134)); + vk.IC[9] = Pairing.G1Point(uint256(19713515534509233461360927338842733004255245090850974287386932201997119417782),uint256(3012766173531612086065790577641797776402189820192282970783489363867037133230)); + vk.IC[10] = Pairing.G1Point(uint256(10269743509645585154331358679989746559906852247996875425498176293161505988865),uint256(7063997932013617513526721175245448532375345634711511010626792775099463645172)); } diff --git a/contracts/utils/maci.ts b/contracts/utils/maci.ts index f7fc97b00..ce8e9b688 100644 --- a/contracts/utils/maci.ts +++ b/contracts/utils/maci.ts @@ -64,8 +64,8 @@ export class ProdMaciParameters { stateTreeDepth = 32 messageTreeDepth = 32 voteOptionTreeDepth = 3 - tallyBatchSize = 64 - messageBatchSize = 64 + tallyBatchSize = 128 + messageBatchSize = 128 batchUstVerifier!: string qvtVerifier!: string signUpDuration = 7 * 86400