From 0a5bc23bd6f5d59ade560edee65da0a05934f6bc Mon Sep 17 00:00:00 2001 From: M Alghazwi Date: Thu, 14 Nov 2024 12:46:18 +0100 Subject: [PATCH] add non-circuit ceiling_log2 --- proof-input/input.json | 3096 +++++++++++++++++----------------- proof-input/src/gen_input.rs | 7 +- proof-input/src/utils.rs | 25 + 3 files changed, 1575 insertions(+), 1553 deletions(-) diff --git a/proof-input/input.json b/proof-input/input.json index 14aab8e..fb5bdcc 100644 --- a/proof-input/input.json +++ b/proof-input/input.json @@ -1,9 +1,9 @@ { "dataSetRoot": [ - "5518639885900796025", - "11651434580150692677", - "2919112622339430816", - "12056737348926017577" + "3613794662362217393", + "12132776282825703651", + "8253653101310428527", + "10915122772396906599" ], "entropy": [ "1234567", @@ -15,10 +15,10 @@ "nSlotsPerDataSet": 11, "slotIndex": 3, "slotRoot": [ - "11315349618484427142", - "12341710897639693187", - "5600711137951312864", - "15420562637583941854" + "429662213503648492", + "10890585133787901820", + "13187952969400876308", + "16575496996187626198" ], "slotProof": [ "827439652992611846", @@ -56,1414 +56,1414 @@ ], "cellData": [ [ - "1321957732032767503", - "10500621100797814346", - "8531690215172565682", - "8459447812746649108", - "9788667813814183406", - "9474361235712406118", - "7361129800751223466", - "8881658581699219086", - "365488377551015798", - "16305140783085414962", - "2681277102828873415", - "7344344000100747105", - "4766050409648086984", - "6586424234846232203", - "17707338379982931215", - "10059416138115331274", - "680439795278289576", - "15622637166388429026", - "6945035192101195267", - "9242535509532573103", - "11520748470341646395", - "9409387408416325028", - "2857130005175123308", - "16232665935388642411", - "10636520091085850850", - "7797108412180991980", - "12980040556947007729", - "9960727375908433580", - "2303143715938839049", - "12976556020319480417", - "18272559938527115498", - "6223441211499472231", - "12967534592990399513", - "3191694138287921554", - "4696206528413590904", - "102882325161933124", - "12383078293007643478", - "14696777138534280055", - "4814656270340439604", - "9492761601466774396", - "3964878678586747367", - "1478975909110543348", - "16589992140292484216", - "6246116775237220960", - "12610129786127296174", - "2272830133219817428", - "3890384937010596785", - "14313920696655074475", - "11357841953712607745", - "2914090390576690249", - "9467634942008814407", - "12341578641655909839", - "14818941223180832095", - "16222690115599510525", - "15741678007566749794", - "1535904453929081138", - "16604421689130108773", - "1217124242225026018", - "2399301653121298291", - "11778433103224034478", - "8280929921048586777", - "1090435070870820230", - "459984272166288982", - "9631676589448026630", - "4734450181112523741", - "3285917579582468366", - "2289014433122322251", - "9596565658257020041", - "3461143835809092105", - "6239516746903198813", - "3330986343115224086", - "1800835821790039427", - "13584470217981207023", - "10504460184737921656", - "1657011848911774127", - "12662931838561650190", - "3219645777739100624", - "1783726019183667479", - "6376333399791340386", - "14725375767330547198", - "6447509349723982199", - "14398159985293320018", - "2829356812697297464", - "15755379669594543146", - "17060445005716016579", - "17856365217052917833", - "5678038275533231853", - "16021524811467208657", - "10812854270044008521", - "14729505266964236086", - "4217970204585751580", - "7504394123030656222", - "14395099981013033211", - "6442647546949072983", - "237107898723995901", - "15276314867362900457", - "3187146444878016648", - "15556400800712997409", - "2888649869735127729", - "10521745248085189300", - "14657239803489308493", - "694425341799457525", - "3728825593117996372", - "7526183666935933976", - "14924760002961996169", - "10832003686858315462", - "14957183767461080246", - "4886685246027179898", - "2877907061684424380", - "11341990651293264323", - "6948911940417857954", - "15836991807374435511", - "998610698183547598", - "9791607390949942326", - "62637384772698315", - "13885912138387513640", - "13350302107731340890", - "1730434778866949762", - "18237056496264259162", - "15185604050058955239", - "17310985526825417205", - "16326269855554474493", - "12536883363343346082", - "2522619448238609802", - "10558606558842747269", - "12438641753400141413", - "11390432388197433262", - "18186564161298311869", - "12980669591652546861", - "17671050800889020854", - "1324516785338727520", - "7614987191874105497", - "2705410251482268133", - "17969686292881237105", - "4689699006745229919", - "6709332958462023060", - "15071762413290396721", - "1996688519600674082", - "3388766831869121306", - "10028069441058811013", - "5498081041897720880", - "1733608986742723722", - "3751196975802657586", - "2018831175857750468", - "7704987425546505892", - "10208255726720291786", - "6528263720513746869", - "1663392863724276159", - "17935199411150430217", - "3037009734134119797", - "15239832737836716063", - "5105990323692087011", - "17464917878205655394", - "4230049112034857250", - "657038520508180785", - "5212752940367186286", - "3293290327639321824", - "16810845051802093571", - "7129165384473069955", - "15355260984959564246", - "12146977003444469164", - "6570662425913153769", - "2034866294164545305", - "1066361319919207639", - "9715310354947132075", - "18158273814856662321", - "10795812943084242704", - "6494065211846098651", - "17328193797772466532", - "5451855527593549285", - "18421043786740674409", - "15119748423371087384", - "15344701384847628265", - "3434388198274971711", - "9400030205381479777", - "4924698595523803424", - "6319607723358952192", - "1976231541057707246", - "5830207753443937131", - "12100578434916150469", - "7187840945275701918", - "503820489596692661", - "10151880672797977289", - "9652279761126109676", - "16320577389018517354", - "15463021919259386712", - "6256661218966607284", - "731032357113008376", - "87170299657701497", - "2098464815361618678", - "1991630804266842826", - "18131787679808679243", - "9347427447282252478", - "2320873118431962707", - "5883761442003458968", - "10634032908200039268", - "12059341353274332808", - "16058236186418868437", - "8964402196933457120", - "1790223550010348988", - "7434926567046832496", - "5299318689250468243", - "11697924267563364359", - "4850036606362391118", - "9744259628680745009", - "17314578594471040653", - "9910438025536119768", - "3699342726041707387", - "2319831619763457142", - "12140634301356736032", - "9467442254712709930", - "6298244756896955816", - "1213591923250908364", - "3226718675554414795", - "4823342546402755199", - "2386650777942669152", - "9015489454164218174", - "11677813621585967597", - "18295281004016931208", - "3091643561197191771", - "14354117368992650753", - "13804430424840005115", - "15827948724002870171", - "3548699522831384668", - "3198348112214022390", - "11646891205726918685", - "14713543545640374693", - "5654789819153652221", - "6650242772453700638", - "12333982133479157904", - "623283748861372600", - "7093915665096827884", - "3784045436042539716", - "3511067586941905162", - "18333120548938407198", - "4436427294659897172", - "16767965835125054647", - "16110405133238584401", - "8285478621599108921", - "36769715057049911", - "8972533706141673560", - "5822972791581398585", - "4441308886577787816", - "8512544147271187973", - "6582174027054249513", - "4715853251921457376", - "360713355319895280", - "17960627937902838579", - "2968531725101135573", - "11393026208428548959", - "1856325915662815933", - "15090380748396583503", - "13789198951730015529", - "4325010529886295150", - "5089424930266839061", - "17510582375347487643", - "8471654788647306774", - "472890310079065182", - "7578717600596816905", - "5926561338910011182", - "8915040135771781296", - "16103146019075680055", - "18305933536845974043", - "5518822484699853987", - "56227794446124632", - "15980475324613086799", - "14395849954899317", - "10924199351176911518", - "16354466626858319690", - "2947628914659754850", - "7694225292243916417", - "5804346626674108349" + "132588551183555248", + "14035338510123443849", + "9385598632739334819", + "7907228924607296891", + "17148269250382463422", + "1961618131941292034", + "12332454545367707891", + "5927403812314342527", + "7025913973326392370", + "3173894095891265198", + "11242175941238076432", + "17332932735018124424", + "3110666094725980316", + "14381859642488262691", + "9991815589120219484", + "18303458253820310854", + "11917822731634422267", + "1242418442703677840", + "11387832556773606059", + "5118718497448786224", + "496060152896430425", + "14279266754662033494", + "8543881821724434533", + "11322097246013684759", + "10336111132747422153", + "5148730678443659926", + "14545138053820490991", + "13588262308972909396", + "12607434109725876847", + "15776756612156581253", + "1349957755865481871", + "16931217033535158106", + "17232121344009272571", + "13265241729485557294", + "1593632224902108504", + "7987847555161640181", + "2259933831646179225", + "17638133530041404094", + "17293004737044624041", + "5395056861094580678", + "12916194740733319133", + "7854013109881700290", + "9915004071342861614", + "838491408621567726", + "7345423828616363847", + "843414590294343028", + "17379193136139284923", + "351843766510333972", + "17878578988489233008", + "6333678750151704780", + "16441479223153343766", + "16790751014747161052", + "701731868243078861", + "18276989562324041059", + "15074753742924883269", + "2102489970380769163", + "9411352530326229744", + "3203362317018079602", + "2283198226844551414", + "9544879713968889312", + "12618455757301305658", + "862471053753077929", + "1497541185571625799", + "5051747576662105509", + "11642726712780162542", + "8989035661925030328", + "3356359932753662757", + "1776837869811191245", + "5616046352818866999", + "6931373635816605985", + "7104056804822839379", + "11436560402191240468", + "15331125775145718144", + "2550727131493617396", + "14420162595844027602", + "8605150223994577485", + "1955001164555932958", + "3284250146629748710", + "4398085464950545371", + "5644441913650505379", + "2232762554666808214", + "16268030323253744419", + "13410910935199902910", + "2024995886049060482", + "6527499220771738058", + "15270108473958120577", + "12236108004308316151", + "15520969405304042511", + "15727917967214192235", + "5108017441629431456", + "9019852458135520297", + "15712404499719005221", + "13952134734385466070", + "3130351746149733849", + "3693490388093070851", + "2463747208910150264", + "2096539574644575104", + "5362892813949797096", + "6967529565777833641", + "12125069790874695504", + "6868825225120410852", + "15206569242572838349", + "5813093915342033053", + "14388539021801228871", + "16789084995875289408", + "12275164155804024423", + "8367672667996066500", + "3274664478204651776", + "8977878885251470357", + "970602053029903483", + "11568518011058677277", + "215831248655756777", + "8251038898145762842", + "7777870269769441319", + "1345750831564165599", + "3072322824905964361", + "1689006883509515211", + "7702361340866377990", + "3850463885647730138", + "12839626823468307114", + "4248881309707447046", + "2941551936274606542", + "6167409786985939756", + "2753141322547778737", + "12906410225180905637", + "2324966629404973144", + "10406721938231957808", + "3660923936440318821", + "7489311752135456045", + "2222328126452018363", + "9203265111027833379", + "6778838453741444906", + "8758324985414500611", + "5836691028315947908", + "13069488308252313003", + "17179781547056510361", + "11593331483262635797", + "5964260163863685093", + "12614698575402298123", + "6117678943094553695", + "14396399623126755647", + "15744328882157656839", + "7429119479717987172", + "5879924642135011002", + "1054877754638163151", + "10012145635057014545", + "1908470339642425989", + "6515860711925359520", + "16373938651649407151", + "3150755596569282993", + "14939382450602697343", + "2096477500760351136", + "13510584108982430496", + "3267388629684582741", + "9459551159709299214", + "8856031743144571147", + "8998393449983447986", + "6316251763325755642", + "5296950231130677816", + "9673142184400834518", + "8739412631374559733", + "10933451490310554658", + "1000542662024715673", + "17802598817405876917", + "18102534287162674375", + "9748507058025063150", + "13422170042229028635", + "17217065505352856013", + "5583400321961043268", + "7796875905348770779", + "4158416013196978062", + "7493651607437148409", + "12386606916856352991", + "17323688808839770929", + "2470912101713215418", + "14135217546441345823", + "11325761618288289895", + "11685910330334339631", + "6420574517221124120", + "5005924461306512281", + "11626969595453740138", + "10903934862420847952", + "3000209066313108402", + "9138518552862707238", + "13104951722825663615", + "891650756396271184", + "18012073913125902618", + "14328931759643535072", + "4299280060354476387", + "11503357449648812119", + "6784555791160019290", + "18184933731120320992", + "12491413629931417889", + "3927971272094911804", + "3538297781331990229", + "12191416732692483626", + "6485208800034206652", + "7431053310063486937", + "8817756206410936084", + "7326352882373652809", + "7130007380591694684", + "14358971882049864124", + "15796637941158175018", + "6119280982443281703", + "17775749431046117854", + "15980436222607995658", + "7653120529927890634", + "6173744134352838153", + "1521537554111805502", + "7171573281548376271", + "9800563026401505740", + "17515978068171768227", + "505475530459225629", + "9871766308374136968", + "5579363222446067439", + "16763393321450124382", + "10952707592142061477", + "15339455126896406861", + "10095669280086436398", + "9377600774182323180", + "17261703275566466583", + "9339100839954540136", + "13686913895258532280", + "11048655238703722020", + "7350642958406535360", + "1901111773362873877", + "2446057662939281235", + "4037270370218663532", + "14693954042062690739", + "2445742448889273264", + "5629464926699924822", + "7064338158641583461", + "11784249443180358630", + "5251050566185324733", + "18086373191613366900", + "996293155106976544", + "9983770411109826790", + "5321828398186769423", + "2801227450780398493", + "2547992631906654160", + "9836079640370171630", + "1346691294385032125", + "3923247834386599063", + "10138195965367017114", + "13326247499104269506", + "4192550363943594675", + "15669421159463199269", + "13983315300948181383", + "6747652125584970272", + "8150713492095621038", + "16001349341552125639", + "495366569621618647", + "10261674696106832218", + "4118488834604982976", + "11164325056500602238", + "15378295246000349587", + "10019107578102206794", + "27671577022760910", + "5976199910496901641", + "13405394988325206902", + "13023610410251397546", + "7852301621205612213", + "2093957361069778425", + "7066195967147139684", + "530064797758614478", + "4747276204792588337", + "5543227722891454958", + "10647018920743195157", + "14253121222526413455", + "14346656179027599478", + "5365396699028756568", + "16981243337622445008" ], [ - "13838775621435480602", - "8622452602652999519", - "17849228992474488924", - "7561005340066346752", - "7228897092387228363", - "17155824125642247152", - "6703967190968719508", - "16638652947468552788", - "8205651434728790828", - "1237310497541486846", - "2786681180373237513", - "15436767681381713156", - "12327579083760317749", - "12495881476491800626", - "5757445430203580071", - "11645496942535654333", - "553316241417201536", - "13752553651625655092", - "581316695227004350", - "8206944932337873210", - "6505591014278859645", - "1132979180765391826", - "15346894108522791719", - "15013280531016780253", - "6287147491648020287", - "10622370768800869699", - "15674898547514490848", - "11882964752476158504", - "11793486246448175557", - "16893261865984403230", - "13836407358234353956", - "6912042569013694651", - "146729886391272762", - "8704519528167726566", - "8048183351210446242", - "2970371581913780604", - "8722263761283735513", - "16030601780643174643", - "13383202269545521616", - "5263825068007214575", - "8951895167362593092", - "4405839388693939071", - "11663922205351776212", - "1929196107351290245", - "11761649151405803016", - "15593054458551605089", - "9014275741752115561", - "2610752438837880143", - "6691873372028779033", - "12369235598114027744", - "6680705590054177033", - "5598973548307296205", - "9027783081186002356", - "7240291226761189149", - "6410788118789965152", - "1312641011695176545", - "10677754390440958938", - "11798917888663116472", - "12019487674387984185", - "8136608062865716772", - "16353710981095579985", - "13567659206806610509", - "2049880214503544208", - "7749246894908120650", - "594184752109201023", - "1332611154364740526", - "7768864218409398417", - "9542431493544768130", - "11121196967326289805", - "847812506032127795", - "8227529026579097359", - "14497444246438683920", - "1195444420479547571", - "14625755734645833949", - "17964176720263161159", - "1689095822636803589", - "12878308187782372851", - "14976780218678827081", - "2633089215511023124", - "12855068600219289505", - "14086046951786076683", - "7498658847491441428", - "7773600238539379120", - "17230815284399188015", - "2681712130770753775", - "4618918121251572829", - "7341526834347159246", - "17031221373903674709", - "12488076438636956921", - "17865145125531313470", - "543003390768411839", - "12916035453018723169", - "15662026405344487335", - "16923484310233001786", - "9700266273855180333", - "15397334829093407753", - "3037940736442589380", - "5652686216433386581", - "14011028622592724881", - "17523379709215758497", - "595037881073970851", - "7310417371188074661", - "5650719812005387271", - "17459158516941493760", - "10723520100836602546", - "17111889427014472045", - "9709593736689063146", - "5173847515869933336", - "2948616774482221063", - "8253959679887651717", - "16909907443863241049", - "3274412787167477700", - "2131668969294086178", - "6491229515005015268", - "376123993483196749", - "2148250154886783305", - "2704005398962123495", - "6671355393948885836", - "4902058352528510085", - "1165227345709193825", - "4892879897508932007", - "12443534486331999514", - "2717348871466271283", - "17803611028449176608", - "687617522038587829", - "15782779940592085950", - "13603799990727125658", - "568896064488082893", - "9222450923480968956", - "1664685129912600681", - "16927723547285456369", - "7985162001965476266", - "17286029418468258126", - "4399611760236419602", - "3705327341100927100", - "7199934361944188643", - "11989284663055331083", - "5322772019091666356", - "1417771644257238028", - "8332128101225046184", - "12438622775632945690", - "15893336460679317181", - "8983248959157151726", - "12756976521857562222", - "8002320204893999695", - "5469632081981189549", - "3078272508334107230", - "1373323711630055563", - "13863170638347880591", - "1303788206848859967", - "12777797830245998630", - "16671416852743847043", - "11207360217461024199", - "5601933115661008434", - "7154246464791281489", - "5339882662973838210", - "1159837143860261548", - "17511457165776377578", - "8523603169935443051", - "4988045672208317433", - "14378410025580107482", - "145245286334901070", - "15115453512753359870", - "17563822793490120750", - "9616108089059028789", - "12501175846433882661", - "8642609506999429569", - "137788930118871739", - "4979371542171943795", - "6023435829156387413", - "2699089288344058557", - "7311265645531751146", - "1266084593440314207", - "17678871648550264312", - "6961629463950151247", - "7758902079554760537", - "12811458038189171422", - "12279880287929446870", - "2612523009623803475", - "11276121676592323898", - "14040885154374777562", - "12236834630622682237", - "8242475778967316913", - "624107505839474864", - "932525904797298080", - "13862576637837467175", - "11255074412688457156", - "11630573069583038870", - "3965069065731526699", - "9972907682704961979", - "7101987282176358259", - "8568192361271891671", - "11075207250959000750", - "8484414662195091518", - "12147650318917709600", - "12077032599511935891", - "3799944208144310314", - "13176707562049190574", - "4677115864137155721", - "263409026341799527", - "12286840502233472464", - "18207035109171540755", - "1113871373228047313", - "2996583456187333323", - "10491842437955898490", - "11322949563487146502", - "12807038835522504638", - "8002509702311453629", - "8286584038178159845", - "11199469382086739485", - "12011874229285104675", - "13340120761806069193", - "7312471313814930362", - "4730436326786391540", - "14541447408678601898", - "6992347794570956236", - "13958558980790071690", - "5326046650844410085", - "8218512268708231597", - "11982341811522561448", - "4788745045054311255", - "9169847537905870136", - "16275808100267195609", - "2065850986416686620", - "8820520656270174386", - "10851234220746436308", - "17598147149874408668", - "5108357618742691361", - "15707680293231786840", - "9464527687017896157", - "14629826845147138559", - "15884983763533064892", - "5193253493213600980", - "794516428123871156", - "17601873442324843409", - "375676082605319170", - "8102381094018893207", - "89286810794144388", - "66335892495772640", - "14854487172243288172", - "17680732842459941201", - "12791728154770914660", - "1380087527412986090", - "13455491563061171072", - "17483559216826306834", - "7709231170104167764", - "4930190074349546770", - "14209157442508653825", - "1133278365489916579", - "12858830816722410351", - "14111760454217044352", - "1233302912109249362", - "8550988740730883079", - "4914718280443474352", - "7802570622332268026", - "2565585447037144999", - "16500540303611974740", - "3496750188172089297", - "16156906161390637011", - "7919602892385949723", - "2537430878960749281", - "3681748511207551373", - "15346482328223015538", - "8696317218259458451", - "14970576521785409991", - "14182381621452466767", - "2079798940766335808", - "10423507778680402914", - "14514609421605493431", - "9913917150207404050", - "3737792804957316423", - "10768436372801369707" + "15725096500320511875", + "14108875189537428711", + "5658469200271699791", + "16228933239638990894", + "5703775612654107098", + "2208992634228836682", + "14591563465544022242", + "3792540473968165232", + "16334489793717869611", + "11558451878723555938", + "5644177905665577575", + "4829194178348558427", + "8391830177844612436", + "9917397657686037788", + "3329843840572734010", + "10479782502420843462", + "3239086472184020037", + "9559396147529341914", + "17182969158572224259", + "9663122048467263539", + "2653623204156861330", + "14234093800422412997", + "2630121219688353837", + "264047303267554029", + "13826738550413319863", + "11265859674500125098", + "10996104807070637521", + "13985116816365077719", + "4210534549660785703", + "15776296362738267555", + "8641404841977231514", + "7051999029534997160", + "7952382374584248312", + "16045709598819926929", + "5934263356612412987", + "2275034109163502791", + "837869030308906510", + "1445805451522104891", + "6796062687065224021", + "1071668612003017452", + "3914804918675289153", + "6492017184027326015", + "7729222864783362852", + "14870432959851037876", + "6210911259655211840", + "3487235899928763243", + "2528142103359039220", + "16568293418917582560", + "15995507810091966546", + "11586025104561424973", + "558600749909882663", + "14808739227243942736", + "255734213233512663", + "3248787061910342943", + "6836102832662120390", + "13953518005449114312", + "15215795676431371118", + "14304006365359291496", + "4299931688231966080", + "2175392307062827497", + "353441558793984110", + "7417751820036629372", + "7132257674063049", + "6251102515292481941", + "8949708723978942304", + "8836503581357796607", + "11932629636833879999", + "3403366891649609144", + "14321123436031006813", + "14227626524273695761", + "17434343562067181305", + "18060627637547228474", + "2526451012293787050", + "13410835857204495412", + "11521634411012455307", + "11685887571420044380", + "12072014656907826684", + "1932418400488236038", + "13543379840255185871", + "14843925621110555122", + "2116504119824574386", + "16718819263944807298", + "1511219931889294876", + "8902633242408479382", + "2305611130467784604", + "13205199088425929077", + "7824424464328109954", + "2377702042468527196", + "7526835693691896639", + "1392920924271672101", + "7267248175291408004", + "4031199373593508745", + "7363504959780833373", + "1785370032194563824", + "9502009314204432663", + "10203740494848220015", + "9898210340514689968", + "7868224795956205253", + "17379739242031086263", + "9204097315303065700", + "12597611732556321296", + "10692720739706171306", + "9311793887916276114", + "13528645941267872048", + "7717634318647617647", + "2740062469524762489", + "18430996003768995371", + "15062621597540549270", + "6412243706395987135", + "4358790663570301827", + "6799887447685653556", + "16828909547041535742", + "1777015345592485810", + "4140620995893621999", + "4068999322599237508", + "16398380273709678629", + "8634457469627483952", + "18170296383376907953", + "8028037114577529020", + "17185163890504153860", + "6632100451593563839", + "17203649494223709907", + "13290627872252267265", + "12280239394752352533", + "4824776424753956007", + "860475113311581441", + "12502081226165708044", + "5198499261256251828", + "9331655957797612820", + "5056116067390304570", + "9907355062172204178", + "2229123084162877482", + "17032048966428108386", + "14477191825707335444", + "4528450378755981473", + "3981058629167791086", + "12654976999291896503", + "15818461469143774988", + "910848451339508629", + "15384567119465485575", + "15606269558521248194", + "6837134960977440396", + "4401845999033417880", + "413532437146607827", + "3603556877157458438", + "16771881008311084689", + "16874545630236063226", + "14143117172656904805", + "665834400160534017", + "16714604120229120270", + "5947879257033442361", + "8511005465436542802", + "11493104014692742817", + "4539765784295444058", + "2776626644183855784", + "1265484482047503536", + "179282259813627607", + "7955813745380081598", + "11112129077153120800", + "1785027218569130625", + "14611170156390763525", + "17618632935062588019", + "2879730023216448308", + "16307886700075352187", + "13353777862111394914", + "8501186916059782687", + "13956861086559197683", + "7434202623590731035", + "10547648878100814456", + "5896220165981431225", + "2266723513651336083", + "12030673368454006424", + "8865571856513348793", + "5090290208901636651", + "3529755978181227087", + "12561560863202261060", + "18124924245912336410", + "17753525101734237954", + "9645425516640487488", + "3571694007344089997", + "5932571106346997612", + "10978020104629512322", + "18428737875718663273", + "17748538503058306245", + "4358570091591479770", + "17490520990426004259", + "14198280892392076657", + "10411420893529366779", + "10778716038052132365", + "17169687751571945444", + "7995674428794291059", + "5805084336923606930", + "2700219683431861", + "14253023290631769921", + "4646527974550400557", + "3116374475451066241", + "12182300741383273764", + "1367830047936327134", + "9993658095451837154", + "6548857288097884504", + "12102298916583929344", + "10976573049618023208", + "17997255107356373238", + "15276872873745498916", + "14614763210529567503", + "18370866119623062337", + "17097291553229204622", + "12374832585917738933", + "16153764457668184121", + "2450326728126771415", + "4478923450505942840", + "14459657022692356681", + "594695264300625547", + "17039400601007563161", + "13892211309256753448", + "6953444419749333302", + "6264201548371917805", + "17502030061153959188", + "11316862572210358956", + "6250436464836074199", + "12825366827079135974", + "646194547152649818", + "3882952523317363283", + "1051102895102363884", + "11694519006335090393", + "3677103042706264910", + "10141904401508486052", + "17590835682531138053", + "11371633871386072121", + "14178005428306128769", + "10144574335552932677", + "13478014034806511827", + "15505541674200492468", + "6001318478165362323", + "10130724152923636610", + "12392471584898058314", + "2671043088808610300", + "12337142270855548335", + "7031054394656115685", + "16893202918854074872", + "14403304196660660911", + "12414639483749347667", + "9535886029605564501", + "149641594284560845", + "14459212061884261988", + "10097896199181386007", + "11101387912654765066", + "670274394699418680", + "6657567785348290550", + "8090753137340206199", + "16242885738783761908", + "8996949812029711055", + "15468097329580599756", + "13834388491680775919", + "10287999517486417048", + "9938667140763871518", + "7832188017057966241", + "7159522964143200667", + "10294515916380812937", + "3090049919020298053", + "7254261730887347794", + "14908565089281884936", + "12313033935358833900", + "7528225091358436700", + "1675678086974906493", + "4349832009209361208", + "10748257437598706572", + "3824644635573463769", + "5048014509282048987", + "7919620201860809885", + "9997486473678175278", + "9068286139198624521" ], [ - "5574046383137096909", - "12594176243663775052", - "11264320973306382542", - "7373886875794134178", - "8420620408257337064", - "11535994202858483485", - "11013751025588272818", - "7764555327008215695", - "10925472232532999015", - "12601372122940708109", - "5243323746984830891", - "17327489644273488921", - "14154092754134289192", - "5071335441612074818", - "1577541888188832590", - "7813338443023806107", - "8943250404741275361", - "1680432160114163865", - "10422204537359026825", - "13656006870477494053", - "8232190715151988054", - "12958288904556588433", - "17647855192407984304", - "15138767399820867179", - "13963878469206155116", - "12626972265217109350", - "7783312493376596510", - "8086650163048381512", - "4350354181714990013", - "5495934271598982354", - "18349804108593466589", - "10479798872985594544", - "11699652510733370000", - "2643646666604025522", - "3157015771463289587", - "1221007384104477043", - "6548423985639655169", - "17476360957234089653", - "14162094392953334810", - "13473114712438398496", - "14775854171790198864", - "9331496286778622129", - "1840944405887599999", - "3063527898892648549", - "278490807583103049", - "8903904383342921520", - "17319975515691972839", - "13089709658112737501", - "10114406266824152520", - "15961414588637643681", - "8799038022642731300", - "14118338065161981224", - "3633849016422348804", - "7952763107243526711", - "8240162088433843871", - "13351532606926938705", - "9764089990120755010", - "12394386147655634145", - "11482944563841746913", - "15303615546744416087", - "11848586885966170551", - "9350239651902235093", - "728086486675064164", - "12959327946436631702", - "14371336246247184418", - "3163347377273401294", - "178131551078577431", - "6739503169971173552", - "15034832818325090687", - "10990917959448712227", - "6047457075511093291", - "2344774181153940778", - "3282661763905010941", - "1576206113127274179", - "16438823233010302723", - "17066327430057201429", - "4761616387240135083", - "4266013600360012370", - "1806077789837588663", - "3456846685672989981", - "13952770305993869853", - "10586381433712058670", - "3730106053217047562", - "9049568691932263961", - "13165516203934684802", - "6104283633252592000", - "1886655466140767151", - "7157905408261305709", - "17130585687689744995", - "10352866932111099499", - "6651738171931694893", - "7152788066716600116", - "4470613965421530159", - "8056086418689320251", - "829988346253384003", - "2375456517766326361", - "3081203766972797850", - "12016059923715457936", - "17342053006062612111", - "1348286874789783979", - "15935299863154247279", - "9286771107028131317", - "7601406066547968042", - "18193919775396347800", - "9462544771320056538", - "8523168586995153589", - "1518217201264171306", - "9818589716173406502", - "12139827358293317314", - "332954977261765973", - "12003438101322513590", - "11371033448255627736", - "1571235058260722520", - "17447010947706003064", - "15299070012779111896", - "15430644320213917120", - "16943881247703913628", - "4957104621755352746", - "4401985593764388343", - "14779737224303986812", - "9580409124049472051", - "12550790343903403016", - "11127400152687119333", - "12378066854866438303", - "10170369645381003884", - "12591263706714081582", - "3424410075039994728", - "2150847931630724990", - "12002480383791737021", - "3121318957764689730", - "13362771838555187073", - "10805315240407664500", - "7119382697059623560", - "15650817227778235192", - "17111981663933421888", - "16565756986989728315", - "14394463201367840546", - "16379080033268805470", - "16551004368560132946", - "4958739922543372695", - "12209388508128662131", - "14008180223682408459", - "17222919610817029580", - "3233888860406238538", - "12636837836235779474", - "9400410953935383235", - "8720608361462033443", - "15895445364896716952", - "238266953937351401", - "3782581512740303202", - "14200661329108931237", - "8120390697361361504", - "3003581278618355350", - "5170359993667257985", - "14265855928335087719", - "3620142632167919966", - "277942057850068543", - "14652423436305579867", - "7223750955034738342", - "11489655442406818134", - "3831374684105441123", - "1752618678230720435", - "17080522987480168364", - "1251438322743691402", - "10145396450688348581", - "5062893281898015236", - "15716528759225567495", - "14561284998044551453", - "9369087096175628379", - "16372657437441843220", - "12070571781572412054", - "8620819575544439182", - "9714505436279013910", - "9508688610563210680", - "13216374231737637311", - "3495890601702312760", - "8362426958622137867", - "12636178385465335233", - "3587893316726562608", - "6514805981421906655", - "1707844536745754592", - "1759618114527651877", - "11986316512329473435", - "711927815448237423", - "17703122225053728755", - "10048032640546233628", - "13003524111425814175", - "6277020112433126229", - "6216543814074779486", - "15967741150330933901", - "12700971855681101439", - "7559478057683091578", - "8363809756263018110", - "9152079777842315868", - "13114630842731856498", - "4458029134188817443", - "12447603344359205582", - "5046966115638920467", - "8859391106800105766", - "14628417691226784135", - "6776355381600609342", - "2488362278485066317", - "9290498266392245296", - "3287668470904256429", - "8837131684158429095", - "16872882348506533457", - "5199902885400913924", - "249013569055049681", - "617727972547563785", - "15622799043309250193", - "3496277640846490456", - "2980343827069530207", - "16539919235770881677", - "1734921815021495170", - "5398557170847062725", - "17982145535531836663", - "11972812305652255346", - "8417067994499931024", - "5609081308180235066", - "17749362775208835912", - "18019497139663635305", - "15635122717727942126", - "15131284094535382084", - "3612729231632020483", - "18126419721212087255", - "16391110630978927625", - "11575235139826428548", - "10400054082030569218", - "12234485106313679683", - "15505006044394906862", - "2052438542070005914", - "16310848039468822512", - "11733218812880922822", - "3260412718488861476", - "10322310335803882660", - "5410491022658947446", - "15214939611486897132", - "17551044493427851576", - "6687930471954909501", - "7580984922898671245", - "11786044113754918681", - "18295027407929755826", - "9282461054242038528", - "11607139899570471424", - "5719919289033109057", - "8019542607482016288", - "10925342209926686651", - "13496660593482287", - "10443322532639479554", - "8760402874931871249", - "5548755522219151867", - "3039303454550279863", - "8113269456764174740", - "563947789860266350", - "4225097298986224732", - "3182578936254922612", - "7488045260423103211", - "6525717649284722987", - "154674014711647878", - "17899008265551282999", - "2014813125627679938", - "6561269846711168608", - "5646695690118091478", - "9668342973105800665", - "4787020445374572117", - "5448653229020344072", - "4021099998737776979", - "4764478935774095343", - "356837469739548646", - "5268168479698073057", - "2400614043681511351", - "3532404897602353586" + "132588551183555248", + "14035338510123443849", + "9385598632739334819", + "7907228924607296891", + "17148269250382463422", + "1961618131941292034", + "12332454545367707891", + "5927403812314342527", + "7025913973326392370", + "3173894095891265198", + "11242175941238076432", + "17332932735018124424", + "3110666094725980316", + "14381859642488262691", + "9991815589120219484", + "18303458253820310854", + "11917822731634422267", + "1242418442703677840", + "11387832556773606059", + "5118718497448786224", + "496060152896430425", + "14279266754662033494", + "8543881821724434533", + "11322097246013684759", + "10336111132747422153", + "5148730678443659926", + "14545138053820490991", + "13588262308972909396", + "12607434109725876847", + "15776756612156581253", + "1349957755865481871", + "16931217033535158106", + "17232121344009272571", + "13265241729485557294", + "1593632224902108504", + "7987847555161640181", + "2259933831646179225", + "17638133530041404094", + "17293004737044624041", + "5395056861094580678", + "12916194740733319133", + "7854013109881700290", + "9915004071342861614", + "838491408621567726", + "7345423828616363847", + "843414590294343028", + "17379193136139284923", + "351843766510333972", + "17878578988489233008", + "6333678750151704780", + "16441479223153343766", + "16790751014747161052", + "701731868243078861", + "18276989562324041059", + "15074753742924883269", + "2102489970380769163", + "9411352530326229744", + "3203362317018079602", + "2283198226844551414", + "9544879713968889312", + "12618455757301305658", + "862471053753077929", + "1497541185571625799", + "5051747576662105509", + "11642726712780162542", + "8989035661925030328", + "3356359932753662757", + "1776837869811191245", + "5616046352818866999", + "6931373635816605985", + "7104056804822839379", + "11436560402191240468", + "15331125775145718144", + "2550727131493617396", + "14420162595844027602", + "8605150223994577485", + "1955001164555932958", + "3284250146629748710", + "4398085464950545371", + "5644441913650505379", + "2232762554666808214", + "16268030323253744419", + "13410910935199902910", + "2024995886049060482", + "6527499220771738058", + "15270108473958120577", + "12236108004308316151", + "15520969405304042511", + "15727917967214192235", + "5108017441629431456", + "9019852458135520297", + "15712404499719005221", + "13952134734385466070", + "3130351746149733849", + "3693490388093070851", + "2463747208910150264", + "2096539574644575104", + "5362892813949797096", + "6967529565777833641", + "12125069790874695504", + "6868825225120410852", + "15206569242572838349", + "5813093915342033053", + "14388539021801228871", + "16789084995875289408", + "12275164155804024423", + "8367672667996066500", + "3274664478204651776", + "8977878885251470357", + "970602053029903483", + "11568518011058677277", + "215831248655756777", + "8251038898145762842", + "7777870269769441319", + "1345750831564165599", + "3072322824905964361", + "1689006883509515211", + "7702361340866377990", + "3850463885647730138", + "12839626823468307114", + "4248881309707447046", + "2941551936274606542", + "6167409786985939756", + "2753141322547778737", + "12906410225180905637", + "2324966629404973144", + "10406721938231957808", + "3660923936440318821", + "7489311752135456045", + "2222328126452018363", + "9203265111027833379", + "6778838453741444906", + "8758324985414500611", + "5836691028315947908", + "13069488308252313003", + "17179781547056510361", + "11593331483262635797", + "5964260163863685093", + "12614698575402298123", + "6117678943094553695", + "14396399623126755647", + "15744328882157656839", + "7429119479717987172", + "5879924642135011002", + "1054877754638163151", + "10012145635057014545", + "1908470339642425989", + "6515860711925359520", + "16373938651649407151", + "3150755596569282993", + "14939382450602697343", + "2096477500760351136", + "13510584108982430496", + "3267388629684582741", + "9459551159709299214", + "8856031743144571147", + "8998393449983447986", + "6316251763325755642", + "5296950231130677816", + "9673142184400834518", + "8739412631374559733", + "10933451490310554658", + "1000542662024715673", + "17802598817405876917", + "18102534287162674375", + "9748507058025063150", + "13422170042229028635", + "17217065505352856013", + "5583400321961043268", + "7796875905348770779", + "4158416013196978062", + "7493651607437148409", + "12386606916856352991", + "17323688808839770929", + "2470912101713215418", + "14135217546441345823", + "11325761618288289895", + "11685910330334339631", + "6420574517221124120", + "5005924461306512281", + "11626969595453740138", + "10903934862420847952", + "3000209066313108402", + "9138518552862707238", + "13104951722825663615", + "891650756396271184", + "18012073913125902618", + "14328931759643535072", + "4299280060354476387", + "11503357449648812119", + "6784555791160019290", + "18184933731120320992", + "12491413629931417889", + "3927971272094911804", + "3538297781331990229", + "12191416732692483626", + "6485208800034206652", + "7431053310063486937", + "8817756206410936084", + "7326352882373652809", + "7130007380591694684", + "14358971882049864124", + "15796637941158175018", + "6119280982443281703", + "17775749431046117854", + "15980436222607995658", + "7653120529927890634", + "6173744134352838153", + "1521537554111805502", + "7171573281548376271", + "9800563026401505740", + "17515978068171768227", + "505475530459225629", + "9871766308374136968", + "5579363222446067439", + "16763393321450124382", + "10952707592142061477", + "15339455126896406861", + "10095669280086436398", + "9377600774182323180", + "17261703275566466583", + "9339100839954540136", + "13686913895258532280", + "11048655238703722020", + "7350642958406535360", + "1901111773362873877", + "2446057662939281235", + "4037270370218663532", + "14693954042062690739", + "2445742448889273264", + "5629464926699924822", + "7064338158641583461", + "11784249443180358630", + "5251050566185324733", + "18086373191613366900", + "996293155106976544", + "9983770411109826790", + "5321828398186769423", + "2801227450780398493", + "2547992631906654160", + "9836079640370171630", + "1346691294385032125", + "3923247834386599063", + "10138195965367017114", + "13326247499104269506", + "4192550363943594675", + "15669421159463199269", + "13983315300948181383", + "6747652125584970272", + "8150713492095621038", + "16001349341552125639", + "495366569621618647", + "10261674696106832218", + "4118488834604982976", + "11164325056500602238", + "15378295246000349587", + "10019107578102206794", + "27671577022760910", + "5976199910496901641", + "13405394988325206902", + "13023610410251397546", + "7852301621205612213", + "2093957361069778425", + "7066195967147139684", + "530064797758614478", + "4747276204792588337", + "5543227722891454958", + "10647018920743195157", + "14253121222526413455", + "14346656179027599478", + "5365396699028756568", + "16981243337622445008" ], [ - "10649271511153867533", - "10788862157884985509", - "10137756077416446527", - "14390987917978200379", - "12635918042734942892", - "14534893505473574435", - "320364810869094019", - "1360572352371506753", - "7851239709514165741", - "5565768528467534059", - "4828525389086259897", - "788595101660953824", - "1715769886898676207", - "8372532378778236526", - "18160020900977239486", - "12203105910516427355", - "14694544305141452387", - "10676492866191525192", - "11903407781671164977", - "510270691211612855", - "14448313776429097464", - "3631170197139360195", - "13091051913785139747", - "2600353537112508903", - "12475172801329453070", - "17651462477145535734", - "14940417279306026749", - "724612097106112976", - "714358838809248935", - "4626077745271339030", - "19510515613168735", - "16168028691867079541", - "6793990686636600866", - "1362302680505997181", - "6054692394885623236", - "7205886661617134054", - "1083394054420048736", - "11189505297751906701", - "17571961848550027913", - "7339470193962257232", - "5559522068240842963", - "1841197033509205840", - "12729973957430441873", - "851149086693363912", - "12361718973481993125", - "17798715779008121293", - "5451503984575108377", - "6456139907057115509", - "473314180200743744", - "9339379957078878725", - "13815734755173212697", - "10450981402195851356", - "1065884436524265079", - "10062343003966432797", - "13799180535014183785", - "3669696234335216362", - "13131605566900910931", - "12960961831470203810", - "11328139943522120602", - "1820500261565036156", - "6987696572468905447", - "15190784721266532836", - "9683552835480006989", - "8515890631373571984", - "1503355494911086654", - "9252158760631412929", - "7312424180004913263", - "12395036695742250235", - "18005125795917669145", - "15196975284642381171", - "2235271972135985872", - "10664033018495214683", - "3120960590416624331", - "17436765558331140164", - "18270518624493020348", - "6794783198488915749", - "14968294407982555808", - "6239919398657394253", - "4423601855075873533", - "18197488692919149182", - "5129095873259039171", - "17878056131411670298", - "2211996059084958072", - "9969889634101689520", - "12863903555478688210", - "16628753862695107940", - "13772303005625825935", - "866503797359950452", - "6624815803842176171", - "12891719091677209834", - "4464235611992870035", - "14389046311536218488", - "6811774483893448452", - "8082862725658769451", - "3949926231230302702", - "5159033964938800946", - "10479298395246350622", - "1001074624940385276", - "17873308355701001485", - "13463479950748425987", - "4282721493740801022", - "17315746949651727946", - "15894743228002378405", - "15880105857331223011", - "3629418443272167100", - "6101008831612990398", - "1428647343305539110", - "6822433651942445156", - "13228612772055653156", - "3444163359201457949", - "8274784940221045438", - "6580231411975104611", - "16374765162343717380", - "10212631214319152332", - "6389117833923887366", - "5753641828885535331", - "11136357730245398258", - "17732672285259351512", - "16307440662617327639", - "17405570008561381430", - "3658350923920411597", - "15171746049048568848", - "17329879857066305287", - "5048112786159943549", - "9686483229718540177", - "5165223959359342236", - "5194805798465440405", - "13720605709220156269", - "2690105107631454775", - "6735370021092479208", - "3002461971942438083", - "4456920846590733924", - "17629081678618750428", - "18227619118662246435", - "11224616024162947015", - "14893432138231153234", - "3109667467293364879", - "16277729970723386453", - "5521546563639762681", - "1138733280975148489", - "10656478678691801913", - "14736166323358544400", - "3702623362934743701", - "10343275803885340537", - "15827801296669516451", - "13588382077498216201", - "10515999954243332204", - "15208673867722156668", - "4152754694221529348", - "6056616423714094547", - "9566575511582317922", - "7059116548899342670", - "15581700028421809264", - "2805310965672140724", - "18217070429311575859", - "7883587974547837430", - "3805634045117343986", - "8209521732898334082", - "10931545471543027971", - "2082699937812052576", - "7105560855403681699", - "16156221745766680744", - "17074515628709415009", - "15791951969647264544", - "604596628146570126", - "5259310168063316310", - "7021575435159330721", - "14108430965761838442", - "14553929627531367480", - "14658755913028208471", - "17143041866220370229", - "16275347515631129872", - "9776603760283729591", - "10634485548222411769", - "15547400306063315285", - "2341783062756471694", - "10922376046258584030", - "6867178129196806030", - "12236115918583405601", - "10974898071016393038", - "12603435448748998544", - "1832787035228539861", - "1965281849537775879", - "1218609377873591133", - "18052303714771512139", - "8892760518632460233", - "1806978995794735870", - "16785525404899382467", - "8219063216059028226", - "13435805335838922529", - "4792280652762701795", - "16105414830677565358", - "5364227543746355421", - "13244402995199219900", - "17318490385250796996", - "63313219882807984", - "2924371820537214333", - "5268817556441676580", - "3250455271642042637", - "4807978697425654456", - "5396570144368350075", - "4263584938231078415", - "15646463492285105319", - "7154932800702363331", - "10708958573740174616", - "1892754763003537786", - "16718861444891020880", - "4922912432507464156", - "11110983507324613107", - "14113346784785196909", - "12122285115701952701", - "16512805841524157337", - "1610172776300872983", - "882927013035989105", - "17892690315917838103", - "13539120733144525015", - "15742347246068317854", - "3879822345379777841", - "15451420398628187831", - "3842299739326614234", - "2834573337633445041", - "17500559400445316415", - "12528491380326892055", - "17544696883223051642", - "8653409843432527267", - "8723126451819596743", - "7002450980697150101", - "16518103443400679794", - "9181492601884408250", - "4240260053461237197", - "12276963175033642994", - "8282610389240208238", - "8966803221833797457", - "3477978860017983812", - "10648940961526990278", - "13146959228531138722", - "8324340466958004716", - "18146973163233279889", - "540633068394570200", - "18403046775816854691", - "18037194356141928837", - "8943026189160628685", - "1758617289606752433", - "888418155609099974", - "1601657233197469970", - "11023565340549566139", - "5999499358854857750", - "14335460647931145291", - "9363895425558047734", - "10923594474002362252", - "6561593164309507912", - "17027622241611379413", - "13547070645166304210", - "2076802091008735609", - "6027518054123214818", - "7264778150385833980", - "11000186974886024437", - "5759772710397606386", - "8693251642797975190", - "6563053190947305049", - "14351414717418291422", - "12771365068964279744", - "14770171920652327577", - "10860625094951176953", - "12665300309736370315", - "5287379895299702017", - "17547431994585931028", - "2530685420807667337", - "17960627465896282383", - "4366739477903665328", - "15900948325654321808", - "17602162693049830715" + "11090747564914397812", + "17075015272420996804", + "5854398584050953183", + "3233362085751940101", + "6251569029908946027", + "1292932322215343712", + "5535182651841022420", + "4928355416197470698", + "2422043528283690366", + "3821828811121784248", + "17683534101812375813", + "10625436014404178078", + "11041692623023354773", + "1275903310242692548", + "899065024151851400", + "15920853982734341892", + "18161113246874572736", + "323789007797833030", + "11808944361580076353", + "7658046137457863803", + "11817184096245934143", + "12544011109579878504", + "3408401597148942448", + "8211373130067135400", + "16877724502994023280", + "10144799502657540022", + "17324547552990918267", + "2502694574143855834", + "15176532823113543189", + "15798208914591261252", + "5687071910325072089", + "6365305185080579204", + "18321500385498074358", + "4933327592239458349", + "269056447394413114", + "4014697921463655958", + "14962501564281615590", + "16443954629470381545", + "2106627891824702387", + "14811340567590227388", + "4602834342780818260", + "2061090748466797792", + "8113209907649085636", + "12579945351381459750", + "9517972784257098571", + "7531003745324639842", + "3155337829057509928", + "1215677686303109515", + "12491660259651218412", + "17280315076224486252", + "1159054156464619855", + "3594953249036418265", + "653875921516988462", + "9772759858373972045", + "2508283357325186157", + "16340362102321391043", + "3345289504317359081", + "4378435224065426323", + "12090497954061457355", + "8586481951646752841", + "10746463541528328033", + "17299308558334516774", + "18093819459448685479", + "6836611342051351337", + "9290832618593346362", + "16117562148199556298", + "12950948951784223456", + "5830361442771296833", + "9150809571360523032", + "16642238672968846491", + "9724171779685992533", + "15291193570342853120", + "3007136560751655762", + "8969451790730850523", + "8333334526491998699", + "14464931015939503832", + "9991817603463185133", + "3361826090113427102", + "8788170033892490831", + "11748741864968936725", + "7101188026584147687", + "13426065994419441886", + "6103529896565845762", + "5512719274250295161", + "12211711814533295596", + "7676958100950334829", + "14617563296882211810", + "15583179711543519793", + "8159005161806220120", + "3153216123985210770", + "15883944423618812918", + "1473131278356893455", + "3382446146373561780", + "7471059047626720113", + "2858322765708142391", + "6359678265051676617", + "12639266183589202582", + "4660257149826961744", + "10841396532854152394", + "13454586850068967460", + "4563114964746500521", + "7924678498931319811", + "2489250808466049875", + "17932161078434432577", + "2749450648384933537", + "10220536875379900340", + "276746291103532797", + "16151076910585128219", + "6288671332133545401", + "3651515811665721009", + "4303729682286077919", + "10422249685384040623", + "317926993833403923", + "15566980630585211280", + "3593868855135109284", + "9513237834036104306", + "14954559410759224557", + "6916322161598981941", + "2174195182908851415", + "7409064529869114223", + "12296456563389673456", + "4385992346574848909", + "7029667401275325758", + "16640884455571827746", + "2427239129114368775", + "16906508700040114642", + "7489736776437429602", + "4733821285259442673", + "5613294121583665116", + "5916154919699365082", + "4030492699164175547", + "18014485030548931685", + "18064023278651077103", + "13257061035569360616", + "14111415508794976577", + "13456585536367075277", + "3481755625011281389", + "2497914785977140637", + "5946729095277148852", + "15686799353942707754", + "6285688089403901004", + "6509243965348968112", + "15050799699766139957", + "17562721559404290301", + "12309674842305475825", + "15246615231348088905", + "14768228583142193248", + "17852791598951028866", + "7061555498121926517", + "7963614036616535077", + "1049223294226020109", + "7884170078294208293", + "3669266190943808594", + "13535423331252752386", + "443042703292035718", + "3507496089898896782", + "17297377296200504799", + "10766169141645440412", + "5381117189772319398", + "6894930453484212600", + "12155240669417261205", + "4914624140575567478", + "12434023900719484240", + "15475548012518221052", + "17346590537540933456", + "2658108104529258865", + "4816195181965594020", + "3475406849612414245", + "17189388586697122896", + "18210009580727810612", + "14056017114757929467", + "6078622552999959774", + "13312127492954047781", + "5596100989063410850", + "2077738197250649623", + "5771438060516513448", + "14470440976717773383", + "13399498463124612046", + "14537941404443966153", + "928032176093890065", + "7117324299034758250", + "14170332876935148339", + "4553341932346931208", + "15258938910877880113", + "7426567399821077868", + "11444122375692839102", + "9332403194936595418", + "8089587008307992106", + "6406391504872705844", + "2081560981109632953", + "14642797852361155182", + "11383885207538224101", + "15842186951719092949", + "18415064135256475361", + "6652847162219418949", + "190706462459147363", + "8056598225898389044", + "2198262024406696459", + "2083536112114978871", + "8250829109740328542", + "9169095238938449707", + "9463205770220176312", + "5264160040792056884", + "3723865288786152615", + "13606288713127496454", + "7958709756007120734", + "13411417797547436623", + "14430527555472641840", + "6389865582050018511", + "16209255640900295432", + "8549313696770009177", + "5709843328283564439", + "11047251140563554856", + "12257137830682264491", + "12207651708161778137", + "2252624760481280233", + "582068180739224684", + "13098810224180369940", + "8348791243744910344", + "3117644375818561002", + "8194161391296631696", + "526047807750225998", + "4604502174076166477", + "11963890356575735696", + "10507477994574157843", + "13276827378451140957", + "1373023912567679122", + "17404999957913593052", + "12819648118313196817", + "8769158373739965535", + "16083350508006346221", + "7096775765647076829", + "4911860691257522165", + "12370061441699013128", + "1701015977792794617", + "16148792153161103236", + "8334041838893898704", + "2437019347216576947", + "3570512938440080431", + "8514142859878498519", + "247744891212920420", + "1760796536445540171", + "2842530043791416750", + "16462207677280293765", + "340891036358275106", + "14429033829862324741", + "16877592400481531446", + "3955320938696701679", + "10249188405154243303", + "3301666628524386097", + "6676249454663921214", + "2825578837550714996", + "9201880465298269432", + "11759779967414628020", + "14937066890218335622", + "11465852252365769983", + "7425611895829615883", + "2319622542851096493", + "12583947519385885875", + "8486943831710233056", + "875739703836130377", + "11790161685552087617", + "298252483100734635", + "10992486546414851906", + "4986304545989664684", + "5455185305973047090", + "1921654514345828024", + "11077715973406134714", + "1204711433592917817", + "12696504207550928999", + "14839216494103458419", + "5998136482495017063" ], [ - "904207485077475296", - "1583920456490557062", - "1150581268766663102", - "10160313343671545214", - "10821856184849462395", - "9018207130491147051", - "1389214192257528436", - "6758506447481003257", - "7053120301646131899", - "5942932527373295652", - "7367022006636088911", - "1060793858513796449", - "1297418343821519196", - "1244818856269231912", - "3580794437922699684", - "12732225182137725245", - "9915833436240177659", - "2140594468786765918", - "8605979133437719367", - "3213074983639020881", - "1531412516826417243", - "5125261391792155228", - "249307496826355641", - "15247267981472652986", - "6665047390789544692", - "14722953543868976574", - "16851041846719819676", - "10989207424167528034", - "10743202545696256385", - "18394443129431156482", - "9277746132877951385", - "11324265278081877183", - "1105601309408185597", - "10496229156710011183", - "3045939177720810112", - "16240442202184022837", - "961626679901441577", - "9321953209443819002", - "7212788982855147975", - "6422402484960339924", - "3052909347992690926", - "12056617381879900117", - "8546628762807436166", - "4586702458444354582", - "4177574241628763895", - "5456191925735719812", - "15061754137071891848", - "5918950901290871542", - "8130615244334374967", - "7810726482552389051", - "17958489699746507950", - "10217906067622226255", - "3152704554419057969", - "15252454723121442232", - "8337852962250824193", - "15629137136178011364", - "13233386328753148535", - "6910554744738445275", - "14909992898682766391", - "7492736601572916782", - "5732176703148597453", - "8012160914431488650", - "10750952443393102535", - "7242814158248824015", - "11529581008767818563", - "2949415743556564462", - "11315418149320240967", - "8647048897598810568", - "17685120700407097022", - "15894081997391653315", - "16048579680897710622", - "7082540167124743614", - "7007508524749996017", - "14057009132882421666", - "7222134978347732045", - "5418845430272176040", - "8190832328389716423", - "13804830446672172697", - "16653112171422467877", - "16930381816861644053", - "6433602494001495072", - "6008386712306084702", - "17119447297646122067", - "6292995184571424680", - "18009031790398756656", - "3533855570945326118", - "13925401360636020434", - "5822885843265171062", - "2178170661975596998", - "1890368419649863687", - "4319937846487086218", - "7207875668311269318", - "11791337454640217204", - "17597473174239686357", - "4892935248931343354", - "4076401315364785827", - "14066369866191586591", - "4038766149360549530", - "14450767993652047977", - "2644561601379446529", - "12999064188482912115", - "8393334541523651943", - "5630321696605593187", - "15318652757792352629", - "8422692181496799703", - "4596222562242621808", - "16657774689242944767", - "5027388707581685316", - "6119231734876699910", - "4837833263904054889", - "8540854952163476003", - "519882793309894272", - "6829230766808543972", - "14991557776088579964", - "5705590451927330131", - "13277296153376711501", - "622801892020419275", - "6570132207370186979", - "15528337550680904557", - "17767146993924071531", - "15234269988875332866", - "10158903517508476737", - "3278445321164171411", - "1149900953623464309", - "14644346088084996555", - "1458048012978831881", - "12123640154409654197", - "3846440383385499693", - "1132159947214481745", - "8801430900915021497", - "15703187039688958396", - "11914021957774940465", - "12404327774457720168", - "7665005780191104007", - "4461263301515223411", - "13018393058790143051", - "18116237151362067720", - "5342895121352590487", - "2405457582340958049", - "8002444455855859809", - "8335935765456773721", - "3842806183519100760", - "4076909649609482059", - "14467414370314912014", - "14484665413803436658", - "13309371690632720438", - "3474641644115565279", - "1764483246278609808", - "14941323140115116242", - "17249597483010368367", - "16768350824654493582", - "10562528610722415343", - "8541221236159641588", - "16810342623875493912", - "16691347578457161757", - "7847759968885768464", - "6251705123886750479", - "9027312903158957712", - "1523946009590262797", - "13417040898648202006", - "5996637360697411031", - "3865002006382316408", - "11494913694474819761", - "7851327475489329645", - "1375135461505443190", - "14548439585236499788", - "5362122519923168676", - "18042513292000762821", - "7874120714983395443", - "4603431847633325031", - "11467881237709864468", - "5883970456513508226", - "18022989145134324574", - "8415436183885722865", - "14082190184508190596", - "2611747526383278773", - "7235232063518114351", - "11349744403277490686", - "3076429998180477275", - "1824419687807799592", - "14605325638698136309", - "10370028644950881628", - "158686977840086452", - "10648529985197089440", - "17264501510895158826", - "10963772655196767460", - "11904539515847779417", - "1278173432727850547", - "15473889225945858933", - "8551745411007589018", - "3968221890296689459", - "15801974890821846768", - "17711397323395857261", - "12128899685664837583", - "2771474750808012680", - "5541642480500123531", - "7920575391226747512", - "1604928216461749851", - "16625541978404477585", - "3058479442522640534", - "12900700485081782456", - "12161447996447092526", - "60154919458606523", - "9091903465965457382", - "299245924577187016", - "14779637379988511254", - "13910330543636330366", - "15936006820710490598", - "10815552062332678043", - "11553298151003582038", - "86456658492960426", - "11494000460714418235", - "8303296629276097052", - "12470041829792790375", - "14277526374776841275", - "14388666977538811189", - "6566653201437941086", - "9620924366662034869", - "11803805851611522208", - "14358997333273061176", - "8845851089487850232", - "5374756148816364660", - "9593262145396735390", - "10206839795119357498", - "10052289535783055205", - "9392528752540085321", - "6011886963919469042", - "15971051504509176393", - "4809943263225566676", - "3485517398510898208", - "11781865789949997810", - "15664834620623742652", - "7907615229181845019", - "4932596529367234443", - "3194474671376527632", - "4658737794663307731", - "7377785817531709640", - "5167545431249757586", - "1606053787831262175", - "1882687817289971187", - "12243769603466236255", - "15203908805253445052", - "1892950449313271009", - "18412670811916385920", - "5265929505099216522", - "13060154331361398826", - "6033929693797748627", - "16555567818028310557", - "5554384314328148212", - "10437831352906946283", - "14416747115395601276", - "3768507033038541805", - "18361965083582891963", - "15014049316801078048", - "10983313977909635208", - "15728256940274194410", - "18359091945337566625", - "2920897967448846650", - "10382920880886325005", - "16560395430519998245", - "7646220438919593225", - "4896374807190147215", - "7679811934735453615", - "13478930500400850874", - "15990701461564738536", - "8986342237954561007", - "10147202576022669049", - "16778935240383141653", - "16169014452196079520", - "5479709608285917946", - "14615143938700100313", - "11683365770317392420" + "16387281547063619070", + "4636586672559474273", + "17509907949558926425", + "9916812663731004267", + "2794113346341441814", + "17353898573893964308", + "1674617612408350743", + "2900776994543732510", + "16434273391784210747", + "8334094107754060520", + "18079961064849955344", + "11511912227649231143", + "4723423277987863246", + "17798003542998120400", + "5353936554158956642", + "14540944103079203163", + "3143371727506322266", + "9586727674435638199", + "6063066477961366146", + "8481140338104913622", + "7357702953736356132", + "9166078404945207999", + "9012531970971342699", + "7819399436204314265", + "2532509595890233238", + "7191714741828028755", + "3218477221591972358", + "14499379343298317629", + "12739613981689816087", + "1758350226276252640", + "2606274948571421746", + "7493618470542829793", + "17475936222860101204", + "244739855328597013", + "1046144154260947332", + "3369576615832605696", + "6494463771278365661", + "15482451089440744738", + "15846663929419371601", + "11918800315349257327", + "5858428287950046032", + "5349592736086768790", + "3165452766893609039", + "50032857625168599", + "17529525060072286568", + "9937289820876908016", + "6611779641457964179", + "1745547297820372846", + "12398367171885318596", + "7553063447223681423", + "5571665255115659894", + "6689294167701265243", + "18026247559358710417", + "6814616527139224201", + "5527628293345125753", + "8897432665133375533", + "9682710853663897856", + "15052895495834844146", + "12568190812999694247", + "16056943253844796573", + "4312739532010139504", + "8690837145755507055", + "2023029968614433671", + "15267696037025909493", + "5634722812203152605", + "13271721889806664995", + "12140810382719017192", + "11794386562031378233", + "8365871829001351689", + "7479203278318109950", + "16674052924055813479", + "5846680140898603798", + "372596229689825400", + "8839349723568859177", + "6323728119624429139", + "6809362846975670530", + "17239241203320900113", + "11317467950785716738", + "10667147978062502740", + "12483289655594613073", + "6384145680953516093", + "887557945124073867", + "5278207558759377888", + "11884904460503687141", + "8151943428251745836", + "16074752402702899941", + "4501031556865467452", + "13807840998480744267", + "17415789020650240137", + "10145226334951326648", + "6021189522431504048", + "8879330373135297427", + "5283628845417725087", + "9753737412263628775", + "4845562802975813186", + "5646844569868977776", + "6879268389019965602", + "2818797740285297822", + "1387985168759253275", + "11046510271901204737", + "13999724235108667780", + "1346294347207335625", + "8249404507343944301", + "12781515268959870214", + "8213870915767459864", + "5355194277911305255", + "13007643911428714405", + "15034452900065433919", + "15013752915752209681", + "45013833825871343", + "13751813339591148498", + "9532000205171409452", + "11053227088022849140", + "5101603956433285041", + "3029065853394360149", + "13164783257504200322", + "9150269387963602525", + "17243367380047925456", + "6036804853120760660", + "6705050561454182007", + "3992453273216682103", + "14879377651787749138", + "11054792085594164128", + "16458276444049549618", + "13072545249604328058", + "8092976362390268792", + "13418769696772014321", + "11451022971677423067", + "9796522882781845497", + "17532839730770452962", + "1697567121827782611", + "6419233756481988529", + "1187913008593393892", + "6877030030027807497", + "11935537688925768116", + "8329920084699139039", + "16467929977684026748", + "1191050195125808392", + "15041631766466502948", + "12727067672365430602", + "15428419600085734925", + "13687678831810996758", + "12959294358496518294", + "4601554029723681880", + "2956293664381236249", + "13378479756143109358", + "10974816568266382584", + "18046059575913944073", + "7993828980620220565", + "1551047601990813230", + "6810212889237034648", + "8292487043972396958", + "8004884724770270618", + "2681815766048612038", + "5307184383484528030", + "5607992017670291051", + "10963499370421277557", + "443605235821819144", + "5320897513599401503", + "1542107654412879545", + "18362046413777859364", + "13483687056042660994", + "12700279449010615712", + "6241027109115566333", + "3648748526991700354", + "4070610255657376845", + "8226712995874188235", + "6371162910243362186", + "5797326195235987558", + "5471782293869179170", + "7003871154957155337", + "15476109319040264799", + "68028506060966027", + "17803966024201983205", + "3315168527585022650", + "7493332628413429637", + "9808508319121194019", + "12326005026803236346", + "6614481716670999339", + "6433594372142790994", + "17552969695073942087", + "4487279051872473692", + "7372399654013244793", + "8712946684522643047", + "8277163179129065014", + "990354133979273478", + "3329162038322584720", + "17618736396029440820", + "2716524420241930792", + "14029968820194728733", + "10222274743285664578", + "9870690976437907147", + "17672369309596983433", + "15610401278480251279", + "9820904110597121697", + "3369445350048724369", + "383484029195324800", + "16954994328068867387", + "10474116368138599897", + "6407114942857237831", + "9618156236908115756", + "5771157146968642635", + "5614656995400444902", + "15241591920717084834", + "6923456073934374133", + "7699028652434885280", + "7450731788622605718", + "6688937588850443491", + "9907349576256160491", + "1002746348106071353", + "4087378639087323849", + "17657549212916071996", + "14720156901548369224", + "17834901560064286042", + "17630692009598215017", + "8193195221742901393", + "518067242603990034", + "3092401224205520002", + "12815788241163589380", + "5979551941078419835", + "10308634433238194262", + "7748159006498095333", + "966386385119234726", + "13944873858931576682", + "856111264409019931", + "3291360487082635291", + "2879840843038873110", + "10400355960267130474", + "12912080709786007135", + "6846439243181296816", + "17575641985766296816", + "7252893095613684159", + "4072804884966180819", + "10734804361307723019", + "10220024942306967170", + "11863741811675655075", + "12177939808252525883", + "4939508272106065456", + "16983754161948641074", + "7273938997216408697", + "3676343512584402822", + "1189030661065957835", + "10735172883358371973", + "5301463817209532115", + "17959002637073731377", + "13945690497415657018", + "16941558633470632693", + "15144741016938777501", + "4086665438735815268", + "14304266782252782960", + "15901413609808222397", + "7275180320133773890", + "2155624945638952821", + "15495248969239287617", + "16197050714601582679", + "15075007578271588435", + "8961454684966706856", + "1679488276856382833", + "11806211631148927225", + "8869830212624952378", + "11919600591923732963", + "13349002225566683193", + "7590277660458802859", + "3699645231772018177", + "3945325370957287011", + "13714230401662903043", + "4376904280696909854", + "12662191960039260042", + "15184156594597286904", + "10884473983100604979", + "14448606945396890103", + "3323508039094440106" ] ], "merklePaths": [ [ - "10448275262522810265", - "10841630719644310795", - "17304431336591813769", - "16840636975878436052", - "11897841511919568716", - "9752330548452470736", - "17188273636088749548", - "990282636228810685", - "3062519446672617683", - "12473899498614429908", - "9858886373878041223", - "2054422637937037163", - "7009174323309222716", - "2670600433093217806", - "2548688469157815763", - "5672988022701336612", - "1474372584358615624", - "8361844997020951308", - "14213788410110519553", - "11423840486863504659", - "10146179594142962960", - "15028143555662703740", - "15411175473389139231", - "2578264701517641072", - "8932281154121227412", - "5524103726583848571", - "16566847293685373878", - "17042708936102801165", - "1805765449207507961", - "10502574394652409435", - "2032271746061725588", - "14348871333037483836", - "91009594033774023", - "9343745328504739465", - "8968596728757256739", - "6472603758149437965", + "5346309896732614331", + "17489235383595959608", + "14868743040989703863", + "8932817859166586357", + "4695946179875772736", + "1296058233453284452", + "11455858165883829108", + "14694963746488281244", + "16023710397237526903", + "1279098425705190758", + "16209833654047659197", + "6510161028364080774", + "6183833746793140790", + "3619431383675802090", + "12164720305595178964", + "1904086640261088958", + "17652159755104434868", + "304640590901342600", + "607512566085062463", + "13399881719994730275", + "13645530503071783525", + "13839178620918756753", + "6350648700418684375", + "10321134260793885154", + "6042174509947281598", + "7013858239032951223", + "16863847449548875876", + "9759993143529964496", + "2912641347814342812", + "3101640291690703637", + "18428456118965352852", + "15231172237121622724", + "15163475393972414472", + "13113070108673032187", + "11398819442364609336", + "9491002300258855745", "0", "0", "0", @@ -1558,42 +1558,42 @@ "0" ], [ - "5655633931696033282", - "7021117295955930398", - "7968975292782771264", - "4374962474521932419", - "9548542190870293506", - "9101608973169974310", - "1693964492050520674", - "11197078670977841744", - "16559295969566244036", - "14797307254412256734", - "17420382541500952305", - "317128563867418931", - "4000953869342983573", - "17775996128202812901", - "6655397604307731154", - "11378989531203829648", - "16546447061373168548", - "15949438000657863000", - "7455192016469406622", - "16370193094761380736", - "459233693475879586", - "4879430768791384940", - "8040090128948376940", - "4834842549641379344", - "13565947107498098252", - "5787278307328643059", - "15448298010188789753", - "12980282983655437591", - "10167698252122647674", - "15728861119521577815", - "16216941305753884620", - "13088233271280470274", - "91009594033774023", - "9343745328504739465", - "8968596728757256739", - "6472603758149437965", + "2757292155431613297", + "3236410726941427862", + "14918486656113682620", + "6188979370320938978", + "7392262164113740717", + "4194508245491865215", + "6012535509211120228", + "14211052416111897036", + "7877735037852633730", + "10178793301901246110", + "11929622256765892611", + "13308705962948431209", + "15177652176109857437", + "6570471598530299494", + "8515763202816536314", + "10028745812193901378", + "2933947940183430569", + "2798480716925448155", + "4886369750621892089", + "15289923657032139740", + "14213177977805097227", + "4082751964486642574", + "10748966083217530530", + "8592662997120932294", + "17909477209525710688", + "362258729509344850", + "14211340915477093604", + "967648731814867500", + "5669812404134872758", + "13544640499315270317", + "5577464707385357809", + "15545227237172269672", + "15163475393972414472", + "13113070108673032187", + "11398819442364609336", + "9491002300258855745", "0", "0", "0", @@ -1688,42 +1688,42 @@ "0" ], [ - "195750093098090966", - "8448571921090255557", - "16913781423735675967", - "10651595577214685614", - "16126308766762411899", - "8428448651381695859", - "16144005943528324614", - "3793126818034117916", - "377105260706743633", - "17231058733488635506", - "18048431597071991815", - "9094520011413248015", - "7308719282632992789", - "9102781806275161575", - "14935199816305355150", - "14977886445803501829", - "4915253945045723276", - "4685916457337819397", - "9427162464406290722", - "3875115830472810647", - "120109681124788684", - "5901041952927369526", - "13225042227769798074", - "7949844496374771936", - "6977413498511592312", - "1004579493061112263", - "9729241372668379239", - "18031307972090260630", - "7533613616925138200", - "8737023005954833219", - "8699404476115027727", - "7114503031457313855", - "10467277522958498837", - "5806338657949390512", - "9980885570318868392", - "8427940607181717468", + "5346309896732614331", + "17489235383595959608", + "14868743040989703863", + "8932817859166586357", + "4695946179875772736", + "1296058233453284452", + "11455858165883829108", + "14694963746488281244", + "16023710397237526903", + "1279098425705190758", + "16209833654047659197", + "6510161028364080774", + "6183833746793140790", + "3619431383675802090", + "12164720305595178964", + "1904086640261088958", + "17652159755104434868", + "304640590901342600", + "607512566085062463", + "13399881719994730275", + "13645530503071783525", + "13839178620918756753", + "6350648700418684375", + "10321134260793885154", + "6042174509947281598", + "7013858239032951223", + "16863847449548875876", + "9759993143529964496", + "2912641347814342812", + "3101640291690703637", + "18428456118965352852", + "15231172237121622724", + "15163475393972414472", + "13113070108673032187", + "11398819442364609336", + "9491002300258855745", "0", "0", "0", @@ -1818,42 +1818,42 @@ "0" ], [ - "15768402495013816719", - "4813404314734839237", - "14823540469116967983", - "15574115749951027386", - "18414987582926869753", - "8970090286291140917", - "9975612646995514911", - "9674503582159203274", - "7757886477042955784", - "4622226261824685983", - "10245352040364329116", - "10462402258106316172", - "17342747768970019606", - "655328746749976049", - "8303433996335016098", - "16827691236663986774", - "16003240529873190947", - "2844984126198650845", - "185259511589630851", - "4318922195519899594", - "7770148349449877866", - "6789729343435835372", - "101683630019951447", - "16977940480254708201", - "13565947107498098252", - "5787278307328643059", - "15448298010188789753", - "12980282983655437591", - "10167698252122647674", - "15728861119521577815", - "16216941305753884620", - "13088233271280470274", - "91009594033774023", - "9343745328504739465", - "8968596728757256739", - "6472603758149437965", + "12389775166406120266", + "6613320365439758393", + "10660048213103152084", + "13253125881338405461", + "12950323420671280159", + "17419470654212632574", + "15882047109284259482", + "4497758382296823020", + "14157143640214466515", + "10087853558070696986", + "9308431711156523595", + "8597463331885550047", + "4348847935763513119", + "14929990388410598107", + "5686651221585293030", + "10528178180465191848", + "7735601410613924301", + "1213361542546734875", + "3513242277565906638", + "16493951690278092976", + "4792880732160804530", + "8710014641129582247", + "1042294712436114742", + "2721862945891858450", + "16691828072297109072", + "9549177159560235157", + "817655661875396095", + "2642728507733729886", + "4305466937357266411", + "16831779537215165438", + "1787675555472592218", + "1380748942055661424", + "12414411011155713113", + "11312749942415159663", + "5756370179151978394", + "1863489793158580608", "0", "0", "0", @@ -1948,42 +1948,42 @@ "0" ], [ - "5785729852283366699", - "1772800053807930332", - "2170786373325991894", - "16130041813660371410", - "5952669211462286602", - "6375607765960603988", - "9558080061582310621", - "7681468057136458884", - "15514907657946327960", - "16073220387221942650", - "2678038904195172696", - "15107550181701666619", - "6971466711967714323", - "12608510793641961312", - "7990903351125089877", - "14386543215427129580", - "1088912515044640939", - "4454220007742048399", - "13101963415098966295", - "7064955092377859807", - "459233693475879586", - "4879430768791384940", - "8040090128948376940", - "4834842549641379344", - "13565947107498098252", - "5787278307328643059", - "15448298010188789753", - "12980282983655437591", - "10167698252122647674", - "15728861119521577815", - "16216941305753884620", - "13088233271280470274", - "91009594033774023", - "9343745328504739465", - "8968596728757256739", - "6472603758149437965", + "4021678530024204734", + "8693637864875381517", + "15180012454023559806", + "7158214554230412745", + "13605469997192905423", + "7528977581637752721", + "11273690440995019746", + "14949335429017724320", + "6928512829646182421", + "15229801112762570300", + "10852263985215161769", + "12363610964887280956", + "2389880665833823441", + "10050332513514532602", + "4426973429454345204", + "4768973927260690693", + "15643281961805132410", + "8495476286498349002", + "10192800643656989572", + "3740681873640754786", + "3435841613533790196", + "4004761062423623819", + "218663253379018746", + "12272361582586154637", + "6042174509947281598", + "7013858239032951223", + "16863847449548875876", + "9759993143529964496", + "2912641347814342812", + "3101640291690703637", + "18428456118965352852", + "15231172237121622724", + "15163475393972414472", + "13113070108673032187", + "11398819442364609336", + "9491002300258855745", "0", "0", "0", diff --git a/proof-input/src/gen_input.rs b/proof-input/src/gen_input.rs index 26a04b9..4556470 100644 --- a/proof-input/src/gen_input.rs +++ b/proof-input/src/gen_input.rs @@ -5,7 +5,7 @@ use plonky2_field::types::Field; use plonky2_poseidon2::poseidon2_hash::poseidon2::Poseidon2; use codex_plonky2_circuits::circuits::params::{CircuitParams, HF}; use crate::params::TestParams; -use crate::utils::{bits_le_padded_to_usize, calculate_cell_index_bits, usize_to_bits_le}; +use crate::utils::{bits_le_padded_to_usize, calculate_cell_index_bits, ceiling_log2, usize_to_bits_le}; use codex_plonky2_circuits::merkle_tree::merkle_safe::{MerkleProof, MerkleTree}; use codex_plonky2_circuits::circuits::sample_cells::{Cell, MerklePath, SampleCircuit, SampleCircuitInput}; use plonky2::iop::witness::PartialWitness; @@ -60,9 +60,7 @@ pub fn verify_circuit_input< // check dataset level proof let slot_proof = circ_input.slot_proof.clone(); let dataset_path_bits = usize_to_bits_le(slot_index as usize, params.dataset_max_depth()); - let last_index = params.n_slots - 1; - let dataset_last_bits = usize_to_bits_le(last_index, params.dataset_max_depth()); - let dataset_mask_bits = usize_to_bits_le(last_index, params.dataset_max_depth()+1); + let (dataset_last_bits, dataset_mask_bits) = ceiling_log2(params.n_slots, params.dataset_max_depth()); let reconstructed_slot_root = MerkleProof::::reconstruct_root2( slot_root, dataset_path_bits, @@ -75,7 +73,6 @@ pub fn verify_circuit_input< assert_eq!(reconstructed_slot_root, circ_input.dataset_root.clone()); // check each sampled cell - // get the index for cell from H(slot_root|counter|entropy) let mask_bits = usize_to_bits_le(params.n_cells -1, params.max_depth); for i in 0..params.n_samples { diff --git a/proof-input/src/utils.rs b/proof-input/src/utils.rs index 7840b1c..58aca87 100644 --- a/proof-input/src/utils.rs +++ b/proof-input/src/utils.rs @@ -82,6 +82,31 @@ pub fn bits_le_padded_to_usize(bits: &[bool]) -> usize { }) } +/// computes the `last_index` (the binary decomposition of `inp-1`) and the `mask_bits` +pub fn ceiling_log2( + inp: usize, + n: usize, +) -> (Vec, Vec) { + // Handle the case when inp is 0 + let last_index = if inp == 0 { panic!("input to ceiling_log2 is 0") } else { inp - 1 }; + let last_bits = usize_to_bits_le(last_index, n); + + // Initialize aux, all false + let mut aux = vec![false; n+1]; + aux[n] = true; // aux[n] = 1 + + // Initialize mask vector + let mut mask = vec![false; n+1]; + + // Compute aux and mask bits + for i in (0..n).rev() { + aux[i] = aux[i + 1] && !last_bits[i]; + mask[i] = !aux[i]; + } + + (last_bits, mask) +} + /// prove given the circuit data and partial witness pub fn prove< F: RichField + Extendable + Poseidon2,