You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2340 lines
60 KiB

  1. {
  2. "mainCode": "// File: ../../circuits/sha256/bitify.circom\nfunction Num2Bits(ctx)\n{\n ctx.setVar(\"lc1\", [], \"0\");\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setSignal(\"out\", [ctx.getVar(\"i\",[])], bigInt(bigInt(ctx.getVar(\"i\",[])).greater(bigInt(256)) ? 0 : bigInt(ctx.getSignal(\"in\", [])).shr(bigInt(ctx.getVar(\"i\",[]))).and(__MASK__)).and(bigInt(\"1\")).and(__MASK__));\n ctx.assert(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).add(__P__).sub(bigInt(\"1\")).mod(__P__))).mod(__P__), \"0\");\n ctx.setVar(\"lc1\", [], bigInt(ctx.getVar(\"lc1\",[])).add(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"i\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.assert(ctx.getVar(\"lc1\",[]), ctx.getSignal(\"in\", []));\n}\n\nfunction Bits2Num(ctx)\n{\n ctx.setVar(\"lc1\", [], \"0\");\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setVar(\"lc1\", [], bigInt(ctx.getVar(\"lc1\",[])).add(bigInt(bigInt(ctx.getSignal(\"in\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"i\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.setSignal(\"out\", [], ctx.getVar(\"lc1\",[]));\n ctx.assert(ctx.getSignal(\"out\", []), ctx.getVar(\"lc1\",[]));\n}\n\n\n// File: ../../circuits/sha256/binsum.circom\nfunction nbits(ctx) {\n ctx.setVar(\"n\", [], \"1\");\n ctx.setVar(\"r\", [], \"0\");\n while (bigInt(bigInt(ctx.getVar(\"n\",[])).add(__P__).sub(bigInt(\"1\")).mod(__P__)).lt(bigInt(ctx.getVar(\"a\",[]))) ? 1 : 0) {\n (ctx.setVar(\"r\", [], bigInt(ctx.getVar(\"r\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__);\n ctx.setVar(\"n\", [], bigInt(ctx.getVar(\"n\",[])).mul(bigInt(\"2\")).mod(__P__));\n }\n\n return ctx.getVar(\"r\",[]);;\n}\nfunction BinSum(ctx)\n{\n ctx.setVar(\"nout\", [], ctx.callFunction(\"nbits\", [bigInt(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"n\",[])), __P__)).add(__P__).sub(bigInt(\"1\")).mod(__P__)).mul(bigInt(ctx.getVar(\"ops\",[]))).mod(__P__)]));\n ctx.setVar(\"lin\", [], \"0\");\n ctx.setVar(\"lout\", [], \"0\");\n for (ctx.setVar(\"k\", [], \"0\");bigInt(ctx.getVar(\"k\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"k\", [], bigInt(ctx.getVar(\"k\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n for (ctx.setVar(\"j\", [], \"0\");bigInt(ctx.getVar(\"j\",[])).lt(bigInt(ctx.getVar(\"ops\",[]))) ? 1 : 0;(ctx.setVar(\"j\", [], bigInt(ctx.getVar(\"j\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setVar(\"lin\", [], bigInt(ctx.getVar(\"lin\",[])).add(bigInt(bigInt(ctx.getSignal(\"in\", [ctx.getVar(\"j\",[]),ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"k\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n }\n\n for (ctx.setVar(\"k\", [], \"0\");bigInt(ctx.getVar(\"k\",[])).lt(bigInt(ctx.getVar(\"nout\",[]))) ? 1 : 0;(ctx.setVar(\"k\", [], bigInt(ctx.getVar(\"k\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setSignal(\"out\", [ctx.getVar(\"k\",[])], bigInt(bigInt(ctx.getVar(\"k\",[])).greater(bigInt(256)) ? 0 : bigInt(ctx.getVar(\"lin\",[])).shr(bigInt(ctx.getVar(\"k\",[]))).and(__MASK__)).and(bigInt(\"1\")).and(__MASK__));\n ctx.assert(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).add(__P__).sub(bigInt(\"1\")).mod(__P__))).mod(__P__), \"0\");\n ctx.setVar(\"lout\", [], bigInt(ctx.getVar(\"lout\",[])).add(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"k\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.assert(ctx.getVar(\"lin\",[]), ctx.getVar(\"lout\",[]));\n}\n\n\nfunction A(ctx)\n{\n ctx.setPin(\"n2ba\", [], \"in\", [], ctx.getSignal(\"a\", []));\n ctx.assert(ctx.getPin(\"n2ba\", [], \"in\", []), ctx.getSignal(\"a\", []));\n ctx.setPin(\"n2bb\", [], \"in\", [], ctx.getSignal(\"b\", []));\n ctx.assert(ctx.getPin(\"n2bb\", [], \"in\", []), ctx.getSignal(\"b\", []));\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(\"32\")) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setPin(\"sum\", [], \"in\", [\"0\",ctx.getVar(\"i\",[])], ctx.getPin(\"n2ba\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"sum\", [], \"in\", [\"0\",ctx.getVar(\"i\",[])]), ctx.getPin(\"n2ba\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.setPin(\"sum\", [], \"in\", [\"1\",ctx.getVar(\"i\",[])], ctx.getPin(\"n2bb\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"sum\", [], \"in\", [\"1\",ctx.getVar(\"i\",[])]), ctx.getPin(\"n2bb\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.setPin(\"b2n\", [], \"in\", [ctx.getVar(\"i\",[])], ctx.getPin(\"sum\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"b2n\", [], \"in\", [ctx.getVar(\"i\",[])]), ctx.getPin(\"sum\", [], \"out\", [ctx.getVar(\"i\",[])]));\n }\n\n ctx.setSignal(\"out\", [], ctx.getPin(\"b2n\", [], \"out\", []));\n ctx.assert(ctx.getSignal(\"out\", []), ctx.getPin(\"b2n\", [], \"out\", []));\n}\n\n",
  3. "signalName2Idx": {
  4. "one": 0,
  5. "main.a": 3,
  6. "main.b": 2,
  7. "main.out": 1,
  8. "main.n2ba.in": 3,
  9. "main.n2ba.out[0]": 4,
  10. "main.n2ba.out[1]": 5,
  11. "main.n2ba.out[2]": 6,
  12. "main.n2ba.out[3]": 7,
  13. "main.n2ba.out[4]": 8,
  14. "main.n2ba.out[5]": 9,
  15. "main.n2ba.out[6]": 10,
  16. "main.n2ba.out[7]": 11,
  17. "main.n2ba.out[8]": 12,
  18. "main.n2ba.out[9]": 13,
  19. "main.n2ba.out[10]": 14,
  20. "main.n2ba.out[11]": 15,
  21. "main.n2ba.out[12]": 16,
  22. "main.n2ba.out[13]": 17,
  23. "main.n2ba.out[14]": 18,
  24. "main.n2ba.out[15]": 19,
  25. "main.n2ba.out[16]": 20,
  26. "main.n2ba.out[17]": 21,
  27. "main.n2ba.out[18]": 22,
  28. "main.n2ba.out[19]": 23,
  29. "main.n2ba.out[20]": 24,
  30. "main.n2ba.out[21]": 25,
  31. "main.n2ba.out[22]": 26,
  32. "main.n2ba.out[23]": 27,
  33. "main.n2ba.out[24]": 28,
  34. "main.n2ba.out[25]": 29,
  35. "main.n2ba.out[26]": 30,
  36. "main.n2ba.out[27]": 31,
  37. "main.n2ba.out[28]": 32,
  38. "main.n2ba.out[29]": 33,
  39. "main.n2ba.out[30]": 34,
  40. "main.n2ba.out[31]": 35,
  41. "main.n2bb.in": 2,
  42. "main.n2bb.out[0]": 36,
  43. "main.n2bb.out[1]": 37,
  44. "main.n2bb.out[2]": 38,
  45. "main.n2bb.out[3]": 39,
  46. "main.n2bb.out[4]": 40,
  47. "main.n2bb.out[5]": 41,
  48. "main.n2bb.out[6]": 42,
  49. "main.n2bb.out[7]": 43,
  50. "main.n2bb.out[8]": 44,
  51. "main.n2bb.out[9]": 45,
  52. "main.n2bb.out[10]": 46,
  53. "main.n2bb.out[11]": 47,
  54. "main.n2bb.out[12]": 48,
  55. "main.n2bb.out[13]": 49,
  56. "main.n2bb.out[14]": 50,
  57. "main.n2bb.out[15]": 51,
  58. "main.n2bb.out[16]": 52,
  59. "main.n2bb.out[17]": 53,
  60. "main.n2bb.out[18]": 54,
  61. "main.n2bb.out[19]": 55,
  62. "main.n2bb.out[20]": 56,
  63. "main.n2bb.out[21]": 57,
  64. "main.n2bb.out[22]": 58,
  65. "main.n2bb.out[23]": 59,
  66. "main.n2bb.out[24]": 60,
  67. "main.n2bb.out[25]": 61,
  68. "main.n2bb.out[26]": 62,
  69. "main.n2bb.out[27]": 63,
  70. "main.n2bb.out[28]": 64,
  71. "main.n2bb.out[29]": 65,
  72. "main.n2bb.out[30]": 66,
  73. "main.n2bb.out[31]": 67,
  74. "main.sum.in[0][0]": 4,
  75. "main.sum.in[0][1]": 5,
  76. "main.sum.in[0][2]": 6,
  77. "main.sum.in[0][3]": 7,
  78. "main.sum.in[0][4]": 8,
  79. "main.sum.in[0][5]": 9,
  80. "main.sum.in[0][6]": 10,
  81. "main.sum.in[0][7]": 11,
  82. "main.sum.in[0][8]": 12,
  83. "main.sum.in[0][9]": 13,
  84. "main.sum.in[0][10]": 14,
  85. "main.sum.in[0][11]": 15,
  86. "main.sum.in[0][12]": 16,
  87. "main.sum.in[0][13]": 17,
  88. "main.sum.in[0][14]": 18,
  89. "main.sum.in[0][15]": 19,
  90. "main.sum.in[0][16]": 20,
  91. "main.sum.in[0][17]": 21,
  92. "main.sum.in[0][18]": 22,
  93. "main.sum.in[0][19]": 23,
  94. "main.sum.in[0][20]": 24,
  95. "main.sum.in[0][21]": 25,
  96. "main.sum.in[0][22]": 26,
  97. "main.sum.in[0][23]": 27,
  98. "main.sum.in[0][24]": 28,
  99. "main.sum.in[0][25]": 29,
  100. "main.sum.in[0][26]": 30,
  101. "main.sum.in[0][27]": 31,
  102. "main.sum.in[0][28]": 32,
  103. "main.sum.in[0][29]": 33,
  104. "main.sum.in[0][30]": 34,
  105. "main.sum.in[0][31]": 35,
  106. "main.sum.in[1][0]": 36,
  107. "main.sum.in[1][1]": 37,
  108. "main.sum.in[1][2]": 38,
  109. "main.sum.in[1][3]": 39,
  110. "main.sum.in[1][4]": 40,
  111. "main.sum.in[1][5]": 41,
  112. "main.sum.in[1][6]": 42,
  113. "main.sum.in[1][7]": 43,
  114. "main.sum.in[1][8]": 44,
  115. "main.sum.in[1][9]": 45,
  116. "main.sum.in[1][10]": 46,
  117. "main.sum.in[1][11]": 47,
  118. "main.sum.in[1][12]": 48,
  119. "main.sum.in[1][13]": 49,
  120. "main.sum.in[1][14]": 50,
  121. "main.sum.in[1][15]": 51,
  122. "main.sum.in[1][16]": 52,
  123. "main.sum.in[1][17]": 53,
  124. "main.sum.in[1][18]": 54,
  125. "main.sum.in[1][19]": 55,
  126. "main.sum.in[1][20]": 56,
  127. "main.sum.in[1][21]": 57,
  128. "main.sum.in[1][22]": 58,
  129. "main.sum.in[1][23]": 59,
  130. "main.sum.in[1][24]": 60,
  131. "main.sum.in[1][25]": 61,
  132. "main.sum.in[1][26]": 62,
  133. "main.sum.in[1][27]": 63,
  134. "main.sum.in[1][28]": 64,
  135. "main.sum.in[1][29]": 65,
  136. "main.sum.in[1][30]": 66,
  137. "main.sum.in[1][31]": 67,
  138. "main.sum.out[0]": 68,
  139. "main.sum.out[1]": 69,
  140. "main.sum.out[2]": 70,
  141. "main.sum.out[3]": 71,
  142. "main.sum.out[4]": 72,
  143. "main.sum.out[5]": 73,
  144. "main.sum.out[6]": 74,
  145. "main.sum.out[7]": 75,
  146. "main.sum.out[8]": 76,
  147. "main.sum.out[9]": 77,
  148. "main.sum.out[10]": 78,
  149. "main.sum.out[11]": 79,
  150. "main.sum.out[12]": 80,
  151. "main.sum.out[13]": 81,
  152. "main.sum.out[14]": 82,
  153. "main.sum.out[15]": 83,
  154. "main.sum.out[16]": 84,
  155. "main.sum.out[17]": 85,
  156. "main.sum.out[18]": 86,
  157. "main.sum.out[19]": 87,
  158. "main.sum.out[20]": 88,
  159. "main.sum.out[21]": 89,
  160. "main.sum.out[22]": 90,
  161. "main.sum.out[23]": 91,
  162. "main.sum.out[24]": 92,
  163. "main.sum.out[25]": 93,
  164. "main.sum.out[26]": 94,
  165. "main.sum.out[27]": 95,
  166. "main.sum.out[28]": 96,
  167. "main.sum.out[29]": 97,
  168. "main.sum.out[30]": 98,
  169. "main.sum.out[31]": 99,
  170. "main.sum.out[32]": 100,
  171. "main.b2n.in[0]": 68,
  172. "main.b2n.in[1]": 69,
  173. "main.b2n.in[2]": 70,
  174. "main.b2n.in[3]": 71,
  175. "main.b2n.in[4]": 72,
  176. "main.b2n.in[5]": 73,
  177. "main.b2n.in[6]": 74,
  178. "main.b2n.in[7]": 75,
  179. "main.b2n.in[8]": 76,
  180. "main.b2n.in[9]": 77,
  181. "main.b2n.in[10]": 78,
  182. "main.b2n.in[11]": 79,
  183. "main.b2n.in[12]": 80,
  184. "main.b2n.in[13]": 81,
  185. "main.b2n.in[14]": 82,
  186. "main.b2n.in[15]": 83,
  187. "main.b2n.in[16]": 84,
  188. "main.b2n.in[17]": 85,
  189. "main.b2n.in[18]": 86,
  190. "main.b2n.in[19]": 87,
  191. "main.b2n.in[20]": 88,
  192. "main.b2n.in[21]": 89,
  193. "main.b2n.in[22]": 90,
  194. "main.b2n.in[23]": 91,
  195. "main.b2n.in[24]": 92,
  196. "main.b2n.in[25]": 93,
  197. "main.b2n.in[26]": 94,
  198. "main.b2n.in[27]": 95,
  199. "main.b2n.in[28]": 96,
  200. "main.b2n.in[29]": 97,
  201. "main.b2n.in[30]": 98,
  202. "main.b2n.in[31]": 99,
  203. "main.b2n.out": 1
  204. },
  205. "components": [
  206. {
  207. "name": "main",
  208. "params": {},
  209. "template": "A",
  210. "inputSignals": 2
  211. },
  212. {
  213. "name": "main.n2ba",
  214. "params": {
  215. "n": "32"
  216. },
  217. "template": "Num2Bits",
  218. "inputSignals": 1
  219. },
  220. {
  221. "name": "main.n2bb",
  222. "params": {
  223. "n": "32"
  224. },
  225. "template": "Num2Bits",
  226. "inputSignals": 1
  227. },
  228. {
  229. "name": "main.sum",
  230. "params": {
  231. "n": "32",
  232. "ops": "2"
  233. },
  234. "template": "BinSum",
  235. "inputSignals": 64
  236. },
  237. {
  238. "name": "main.b2n",
  239. "params": {
  240. "n": "32"
  241. },
  242. "template": "Bits2Num",
  243. "inputSignals": 32
  244. }
  245. ],
  246. "componentName2Idx": {
  247. "main": 0,
  248. "main.n2ba": 1,
  249. "main.n2bb": 2,
  250. "main.sum": 3,
  251. "main.b2n": 4
  252. },
  253. "signals": [
  254. {
  255. "names": [
  256. "one"
  257. ],
  258. "triggerComponents": []
  259. },
  260. {
  261. "names": [
  262. "main.out",
  263. "main.b2n.out"
  264. ],
  265. "triggerComponents": []
  266. },
  267. {
  268. "names": [
  269. "main.b",
  270. "main.n2bb.in"
  271. ],
  272. "triggerComponents": [
  273. 0,
  274. 2
  275. ]
  276. },
  277. {
  278. "names": [
  279. "main.a",
  280. "main.n2ba.in"
  281. ],
  282. "triggerComponents": [
  283. 0,
  284. 1
  285. ]
  286. },
  287. {
  288. "names": [
  289. "main.n2ba.out[0]",
  290. "main.sum.in[0][0]"
  291. ],
  292. "triggerComponents": [
  293. 3
  294. ]
  295. },
  296. {
  297. "names": [
  298. "main.n2ba.out[1]",
  299. "main.sum.in[0][1]"
  300. ],
  301. "triggerComponents": [
  302. 3
  303. ]
  304. },
  305. {
  306. "names": [
  307. "main.n2ba.out[2]",
  308. "main.sum.in[0][2]"
  309. ],
  310. "triggerComponents": [
  311. 3
  312. ]
  313. },
  314. {
  315. "names": [
  316. "main.n2ba.out[3]",
  317. "main.sum.in[0][3]"
  318. ],
  319. "triggerComponents": [
  320. 3
  321. ]
  322. },
  323. {
  324. "names": [
  325. "main.n2ba.out[4]",
  326. "main.sum.in[0][4]"
  327. ],
  328. "triggerComponents": [
  329. 3
  330. ]
  331. },
  332. {
  333. "names": [
  334. "main.n2ba.out[5]",
  335. "main.sum.in[0][5]"
  336. ],
  337. "triggerComponents": [
  338. 3
  339. ]
  340. },
  341. {
  342. "names": [
  343. "main.n2ba.out[6]",
  344. "main.sum.in[0][6]"
  345. ],
  346. "triggerComponents": [
  347. 3
  348. ]
  349. },
  350. {
  351. "names": [
  352. "main.n2ba.out[7]",
  353. "main.sum.in[0][7]"
  354. ],
  355. "triggerComponents": [
  356. 3
  357. ]
  358. },
  359. {
  360. "names": [
  361. "main.n2ba.out[8]",
  362. "main.sum.in[0][8]"
  363. ],
  364. "triggerComponents": [
  365. 3
  366. ]
  367. },
  368. {
  369. "names": [
  370. "main.n2ba.out[9]",
  371. "main.sum.in[0][9]"
  372. ],
  373. "triggerComponents": [
  374. 3
  375. ]
  376. },
  377. {
  378. "names": [
  379. "main.n2ba.out[10]",
  380. "main.sum.in[0][10]"
  381. ],
  382. "triggerComponents": [
  383. 3
  384. ]
  385. },
  386. {
  387. "names": [
  388. "main.n2ba.out[11]",
  389. "main.sum.in[0][11]"
  390. ],
  391. "triggerComponents": [
  392. 3
  393. ]
  394. },
  395. {
  396. "names": [
  397. "main.n2ba.out[12]",
  398. "main.sum.in[0][12]"
  399. ],
  400. "triggerComponents": [
  401. 3
  402. ]
  403. },
  404. {
  405. "names": [
  406. "main.n2ba.out[13]",
  407. "main.sum.in[0][13]"
  408. ],
  409. "triggerComponents": [
  410. 3
  411. ]
  412. },
  413. {
  414. "names": [
  415. "main.n2ba.out[14]",
  416. "main.sum.in[0][14]"
  417. ],
  418. "triggerComponents": [
  419. 3
  420. ]
  421. },
  422. {
  423. "names": [
  424. "main.n2ba.out[15]",
  425. "main.sum.in[0][15]"
  426. ],
  427. "triggerComponents": [
  428. 3
  429. ]
  430. },
  431. {
  432. "names": [
  433. "main.n2ba.out[16]",
  434. "main.sum.in[0][16]"
  435. ],
  436. "triggerComponents": [
  437. 3
  438. ]
  439. },
  440. {
  441. "names": [
  442. "main.n2ba.out[17]",
  443. "main.sum.in[0][17]"
  444. ],
  445. "triggerComponents": [
  446. 3
  447. ]
  448. },
  449. {
  450. "names": [
  451. "main.n2ba.out[18]",
  452. "main.sum.in[0][18]"
  453. ],
  454. "triggerComponents": [
  455. 3
  456. ]
  457. },
  458. {
  459. "names": [
  460. "main.n2ba.out[19]",
  461. "main.sum.in[0][19]"
  462. ],
  463. "triggerComponents": [
  464. 3
  465. ]
  466. },
  467. {
  468. "names": [
  469. "main.n2ba.out[20]",
  470. "main.sum.in[0][20]"
  471. ],
  472. "triggerComponents": [
  473. 3
  474. ]
  475. },
  476. {
  477. "names": [
  478. "main.n2ba.out[21]",
  479. "main.sum.in[0][21]"
  480. ],
  481. "triggerComponents": [
  482. 3
  483. ]
  484. },
  485. {
  486. "names": [
  487. "main.n2ba.out[22]",
  488. "main.sum.in[0][22]"
  489. ],
  490. "triggerComponents": [
  491. 3
  492. ]
  493. },
  494. {
  495. "names": [
  496. "main.n2ba.out[23]",
  497. "main.sum.in[0][23]"
  498. ],
  499. "triggerComponents": [
  500. 3
  501. ]
  502. },
  503. {
  504. "names": [
  505. "main.n2ba.out[24]",
  506. "main.sum.in[0][24]"
  507. ],
  508. "triggerComponents": [
  509. 3
  510. ]
  511. },
  512. {
  513. "names": [
  514. "main.n2ba.out[25]",
  515. "main.sum.in[0][25]"
  516. ],
  517. "triggerComponents": [
  518. 3
  519. ]
  520. },
  521. {
  522. "names": [
  523. "main.n2ba.out[26]",
  524. "main.sum.in[0][26]"
  525. ],
  526. "triggerComponents": [
  527. 3
  528. ]
  529. },
  530. {
  531. "names": [
  532. "main.n2ba.out[27]",
  533. "main.sum.in[0][27]"
  534. ],
  535. "triggerComponents": [
  536. 3
  537. ]
  538. },
  539. {
  540. "names": [
  541. "main.n2ba.out[28]",
  542. "main.sum.in[0][28]"
  543. ],
  544. "triggerComponents": [
  545. 3
  546. ]
  547. },
  548. {
  549. "names": [
  550. "main.n2ba.out[29]",
  551. "main.sum.in[0][29]"
  552. ],
  553. "triggerComponents": [
  554. 3
  555. ]
  556. },
  557. {
  558. "names": [
  559. "main.n2ba.out[30]",
  560. "main.sum.in[0][30]"
  561. ],
  562. "triggerComponents": [
  563. 3
  564. ]
  565. },
  566. {
  567. "names": [
  568. "main.n2ba.out[31]",
  569. "main.sum.in[0][31]"
  570. ],
  571. "triggerComponents": [
  572. 3
  573. ]
  574. },
  575. {
  576. "names": [
  577. "main.n2bb.out[0]",
  578. "main.sum.in[1][0]"
  579. ],
  580. "triggerComponents": [
  581. 3
  582. ]
  583. },
  584. {
  585. "names": [
  586. "main.n2bb.out[1]",
  587. "main.sum.in[1][1]"
  588. ],
  589. "triggerComponents": [
  590. 3
  591. ]
  592. },
  593. {
  594. "names": [
  595. "main.n2bb.out[2]",
  596. "main.sum.in[1][2]"
  597. ],
  598. "triggerComponents": [
  599. 3
  600. ]
  601. },
  602. {
  603. "names": [
  604. "main.n2bb.out[3]",
  605. "main.sum.in[1][3]"
  606. ],
  607. "triggerComponents": [
  608. 3
  609. ]
  610. },
  611. {
  612. "names": [
  613. "main.n2bb.out[4]",
  614. "main.sum.in[1][4]"
  615. ],
  616. "triggerComponents": [
  617. 3
  618. ]
  619. },
  620. {
  621. "names": [
  622. "main.n2bb.out[5]",
  623. "main.sum.in[1][5]"
  624. ],
  625. "triggerComponents": [
  626. 3
  627. ]
  628. },
  629. {
  630. "names": [
  631. "main.n2bb.out[6]",
  632. "main.sum.in[1][6]"
  633. ],
  634. "triggerComponents": [
  635. 3
  636. ]
  637. },
  638. {
  639. "names": [
  640. "main.n2bb.out[7]",
  641. "main.sum.in[1][7]"
  642. ],
  643. "triggerComponents": [
  644. 3
  645. ]
  646. },
  647. {
  648. "names": [
  649. "main.n2bb.out[8]",
  650. "main.sum.in[1][8]"
  651. ],
  652. "triggerComponents": [
  653. 3
  654. ]
  655. },
  656. {
  657. "names": [
  658. "main.n2bb.out[9]",
  659. "main.sum.in[1][9]"
  660. ],
  661. "triggerComponents": [
  662. 3
  663. ]
  664. },
  665. {
  666. "names": [
  667. "main.n2bb.out[10]",
  668. "main.sum.in[1][10]"
  669. ],
  670. "triggerComponents": [
  671. 3
  672. ]
  673. },
  674. {
  675. "names": [
  676. "main.n2bb.out[11]",
  677. "main.sum.in[1][11]"
  678. ],
  679. "triggerComponents": [
  680. 3
  681. ]
  682. },
  683. {
  684. "names": [
  685. "main.n2bb.out[12]",
  686. "main.sum.in[1][12]"
  687. ],
  688. "triggerComponents": [
  689. 3
  690. ]
  691. },
  692. {
  693. "names": [
  694. "main.n2bb.out[13]",
  695. "main.sum.in[1][13]"
  696. ],
  697. "triggerComponents": [
  698. 3
  699. ]
  700. },
  701. {
  702. "names": [
  703. "main.n2bb.out[14]",
  704. "main.sum.in[1][14]"
  705. ],
  706. "triggerComponents": [
  707. 3
  708. ]
  709. },
  710. {
  711. "names": [
  712. "main.n2bb.out[15]",
  713. "main.sum.in[1][15]"
  714. ],
  715. "triggerComponents": [
  716. 3
  717. ]
  718. },
  719. {
  720. "names": [
  721. "main.n2bb.out[16]",
  722. "main.sum.in[1][16]"
  723. ],
  724. "triggerComponents": [
  725. 3
  726. ]
  727. },
  728. {
  729. "names": [
  730. "main.n2bb.out[17]",
  731. "main.sum.in[1][17]"
  732. ],
  733. "triggerComponents": [
  734. 3
  735. ]
  736. },
  737. {
  738. "names": [
  739. "main.n2bb.out[18]",
  740. "main.sum.in[1][18]"
  741. ],
  742. "triggerComponents": [
  743. 3
  744. ]
  745. },
  746. {
  747. "names": [
  748. "main.n2bb.out[19]",
  749. "main.sum.in[1][19]"
  750. ],
  751. "triggerComponents": [
  752. 3
  753. ]
  754. },
  755. {
  756. "names": [
  757. "main.n2bb.out[20]",
  758. "main.sum.in[1][20]"
  759. ],
  760. "triggerComponents": [
  761. 3
  762. ]
  763. },
  764. {
  765. "names": [
  766. "main.n2bb.out[21]",
  767. "main.sum.in[1][21]"
  768. ],
  769. "triggerComponents": [
  770. 3
  771. ]
  772. },
  773. {
  774. "names": [
  775. "main.n2bb.out[22]",
  776. "main.sum.in[1][22]"
  777. ],
  778. "triggerComponents": [
  779. 3
  780. ]
  781. },
  782. {
  783. "names": [
  784. "main.n2bb.out[23]",
  785. "main.sum.in[1][23]"
  786. ],
  787. "triggerComponents": [
  788. 3
  789. ]
  790. },
  791. {
  792. "names": [
  793. "main.n2bb.out[24]",
  794. "main.sum.in[1][24]"
  795. ],
  796. "triggerComponents": [
  797. 3
  798. ]
  799. },
  800. {
  801. "names": [
  802. "main.n2bb.out[25]",
  803. "main.sum.in[1][25]"
  804. ],
  805. "triggerComponents": [
  806. 3
  807. ]
  808. },
  809. {
  810. "names": [
  811. "main.n2bb.out[26]",
  812. "main.sum.in[1][26]"
  813. ],
  814. "triggerComponents": [
  815. 3
  816. ]
  817. },
  818. {
  819. "names": [
  820. "main.n2bb.out[27]",
  821. "main.sum.in[1][27]"
  822. ],
  823. "triggerComponents": [
  824. 3
  825. ]
  826. },
  827. {
  828. "names": [
  829. "main.n2bb.out[28]",
  830. "main.sum.in[1][28]"
  831. ],
  832. "triggerComponents": [
  833. 3
  834. ]
  835. },
  836. {
  837. "names": [
  838. "main.n2bb.out[29]",
  839. "main.sum.in[1][29]"
  840. ],
  841. "triggerComponents": [
  842. 3
  843. ]
  844. },
  845. {
  846. "names": [
  847. "main.n2bb.out[30]",
  848. "main.sum.in[1][30]"
  849. ],
  850. "triggerComponents": [
  851. 3
  852. ]
  853. },
  854. {
  855. "names": [
  856. "main.n2bb.out[31]",
  857. "main.sum.in[1][31]"
  858. ],
  859. "triggerComponents": [
  860. 3
  861. ]
  862. },
  863. {
  864. "names": [
  865. "main.sum.out[0]",
  866. "main.b2n.in[0]"
  867. ],
  868. "triggerComponents": [
  869. 4
  870. ]
  871. },
  872. {
  873. "names": [
  874. "main.sum.out[1]",
  875. "main.b2n.in[1]"
  876. ],
  877. "triggerComponents": [
  878. 4
  879. ]
  880. },
  881. {
  882. "names": [
  883. "main.sum.out[2]",
  884. "main.b2n.in[2]"
  885. ],
  886. "triggerComponents": [
  887. 4
  888. ]
  889. },
  890. {
  891. "names": [
  892. "main.sum.out[3]",
  893. "main.b2n.in[3]"
  894. ],
  895. "triggerComponents": [
  896. 4
  897. ]
  898. },
  899. {
  900. "names": [
  901. "main.sum.out[4]",
  902. "main.b2n.in[4]"
  903. ],
  904. "triggerComponents": [
  905. 4
  906. ]
  907. },
  908. {
  909. "names": [
  910. "main.sum.out[5]",
  911. "main.b2n.in[5]"
  912. ],
  913. "triggerComponents": [
  914. 4
  915. ]
  916. },
  917. {
  918. "names": [
  919. "main.sum.out[6]",
  920. "main.b2n.in[6]"
  921. ],
  922. "triggerComponents": [
  923. 4
  924. ]
  925. },
  926. {
  927. "names": [
  928. "main.sum.out[7]",
  929. "main.b2n.in[7]"
  930. ],
  931. "triggerComponents": [
  932. 4
  933. ]
  934. },
  935. {
  936. "names": [
  937. "main.sum.out[8]",
  938. "main.b2n.in[8]"
  939. ],
  940. "triggerComponents": [
  941. 4
  942. ]
  943. },
  944. {
  945. "names": [
  946. "main.sum.out[9]",
  947. "main.b2n.in[9]"
  948. ],
  949. "triggerComponents": [
  950. 4
  951. ]
  952. },
  953. {
  954. "names": [
  955. "main.sum.out[10]",
  956. "main.b2n.in[10]"
  957. ],
  958. "triggerComponents": [
  959. 4
  960. ]
  961. },
  962. {
  963. "names": [
  964. "main.sum.out[11]",
  965. "main.b2n.in[11]"
  966. ],
  967. "triggerComponents": [
  968. 4
  969. ]
  970. },
  971. {
  972. "names": [
  973. "main.sum.out[12]",
  974. "main.b2n.in[12]"
  975. ],
  976. "triggerComponents": [
  977. 4
  978. ]
  979. },
  980. {
  981. "names": [
  982. "main.sum.out[13]",
  983. "main.b2n.in[13]"
  984. ],
  985. "triggerComponents": [
  986. 4
  987. ]
  988. },
  989. {
  990. "names": [
  991. "main.sum.out[14]",
  992. "main.b2n.in[14]"
  993. ],
  994. "triggerComponents": [
  995. 4
  996. ]
  997. },
  998. {
  999. "names": [
  1000. "main.sum.out[15]",
  1001. "main.b2n.in[15]"
  1002. ],
  1003. "triggerComponents": [
  1004. 4
  1005. ]
  1006. },
  1007. {
  1008. "names": [
  1009. "main.sum.out[16]",
  1010. "main.b2n.in[16]"
  1011. ],
  1012. "triggerComponents": [
  1013. 4
  1014. ]
  1015. },
  1016. {
  1017. "names": [
  1018. "main.sum.out[17]",
  1019. "main.b2n.in[17]"
  1020. ],
  1021. "triggerComponents": [
  1022. 4
  1023. ]
  1024. },
  1025. {
  1026. "names": [
  1027. "main.sum.out[18]",
  1028. "main.b2n.in[18]"
  1029. ],
  1030. "triggerComponents": [
  1031. 4
  1032. ]
  1033. },
  1034. {
  1035. "names": [
  1036. "main.sum.out[19]",
  1037. "main.b2n.in[19]"
  1038. ],
  1039. "triggerComponents": [
  1040. 4
  1041. ]
  1042. },
  1043. {
  1044. "names": [
  1045. "main.sum.out[20]",
  1046. "main.b2n.in[20]"
  1047. ],
  1048. "triggerComponents": [
  1049. 4
  1050. ]
  1051. },
  1052. {
  1053. "names": [
  1054. "main.sum.out[21]",
  1055. "main.b2n.in[21]"
  1056. ],
  1057. "triggerComponents": [
  1058. 4
  1059. ]
  1060. },
  1061. {
  1062. "names": [
  1063. "main.sum.out[22]",
  1064. "main.b2n.in[22]"
  1065. ],
  1066. "triggerComponents": [
  1067. 4
  1068. ]
  1069. },
  1070. {
  1071. "names": [
  1072. "main.sum.out[23]",
  1073. "main.b2n.in[23]"
  1074. ],
  1075. "triggerComponents": [
  1076. 4
  1077. ]
  1078. },
  1079. {
  1080. "names": [
  1081. "main.sum.out[24]",
  1082. "main.b2n.in[24]"
  1083. ],
  1084. "triggerComponents": [
  1085. 4
  1086. ]
  1087. },
  1088. {
  1089. "names": [
  1090. "main.sum.out[25]",
  1091. "main.b2n.in[25]"
  1092. ],
  1093. "triggerComponents": [
  1094. 4
  1095. ]
  1096. },
  1097. {
  1098. "names": [
  1099. "main.sum.out[26]",
  1100. "main.b2n.in[26]"
  1101. ],
  1102. "triggerComponents": [
  1103. 4
  1104. ]
  1105. },
  1106. {
  1107. "names": [
  1108. "main.sum.out[27]",
  1109. "main.b2n.in[27]"
  1110. ],
  1111. "triggerComponents": [
  1112. 4
  1113. ]
  1114. },
  1115. {
  1116. "names": [
  1117. "main.sum.out[28]",
  1118. "main.b2n.in[28]"
  1119. ],
  1120. "triggerComponents": [
  1121. 4
  1122. ]
  1123. },
  1124. {
  1125. "names": [
  1126. "main.sum.out[29]",
  1127. "main.b2n.in[29]"
  1128. ],
  1129. "triggerComponents": [
  1130. 4
  1131. ]
  1132. },
  1133. {
  1134. "names": [
  1135. "main.sum.out[30]",
  1136. "main.b2n.in[30]"
  1137. ],
  1138. "triggerComponents": [
  1139. 4
  1140. ]
  1141. },
  1142. {
  1143. "names": [
  1144. "main.sum.out[31]",
  1145. "main.b2n.in[31]"
  1146. ],
  1147. "triggerComponents": [
  1148. 4
  1149. ]
  1150. },
  1151. {
  1152. "names": [
  1153. "main.sum.out[32]"
  1154. ],
  1155. "triggerComponents": []
  1156. }
  1157. ],
  1158. "constraints": [
  1159. [
  1160. {
  1161. "3": "1",
  1162. "5": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
  1163. "6": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
  1164. "7": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
  1165. "8": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
  1166. "9": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
  1167. "10": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
  1168. "11": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
  1169. "12": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
  1170. "13": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
  1171. "14": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
  1172. "15": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
  1173. "16": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
  1174. "17": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
  1175. "18": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
  1176. "19": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
  1177. "20": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
  1178. "21": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
  1179. "22": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
  1180. "23": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
  1181. "24": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
  1182. "25": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
  1183. "26": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
  1184. "27": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
  1185. "28": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
  1186. "29": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
  1187. "30": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
  1188. "31": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
  1189. "32": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
  1190. "33": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
  1191. "34": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
  1192. "35": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
  1193. },
  1194. {
  1195. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1196. "3": "1",
  1197. "5": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
  1198. "6": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
  1199. "7": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
  1200. "8": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
  1201. "9": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
  1202. "10": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
  1203. "11": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
  1204. "12": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
  1205. "13": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
  1206. "14": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
  1207. "15": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
  1208. "16": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
  1209. "17": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
  1210. "18": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
  1211. "19": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
  1212. "20": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
  1213. "21": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
  1214. "22": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
  1215. "23": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
  1216. "24": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
  1217. "25": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
  1218. "26": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
  1219. "27": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
  1220. "28": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
  1221. "29": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
  1222. "30": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
  1223. "31": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
  1224. "32": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
  1225. "33": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
  1226. "34": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
  1227. "35": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
  1228. },
  1229. {}
  1230. ],
  1231. [
  1232. {
  1233. "5": "1"
  1234. },
  1235. {
  1236. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1237. "5": "1"
  1238. },
  1239. {}
  1240. ],
  1241. [
  1242. {
  1243. "6": "1"
  1244. },
  1245. {
  1246. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1247. "6": "1"
  1248. },
  1249. {}
  1250. ],
  1251. [
  1252. {
  1253. "7": "1"
  1254. },
  1255. {
  1256. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1257. "7": "1"
  1258. },
  1259. {}
  1260. ],
  1261. [
  1262. {
  1263. "8": "1"
  1264. },
  1265. {
  1266. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1267. "8": "1"
  1268. },
  1269. {}
  1270. ],
  1271. [
  1272. {
  1273. "9": "1"
  1274. },
  1275. {
  1276. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1277. "9": "1"
  1278. },
  1279. {}
  1280. ],
  1281. [
  1282. {
  1283. "10": "1"
  1284. },
  1285. {
  1286. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1287. "10": "1"
  1288. },
  1289. {}
  1290. ],
  1291. [
  1292. {
  1293. "11": "1"
  1294. },
  1295. {
  1296. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1297. "11": "1"
  1298. },
  1299. {}
  1300. ],
  1301. [
  1302. {
  1303. "12": "1"
  1304. },
  1305. {
  1306. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1307. "12": "1"
  1308. },
  1309. {}
  1310. ],
  1311. [
  1312. {
  1313. "13": "1"
  1314. },
  1315. {
  1316. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1317. "13": "1"
  1318. },
  1319. {}
  1320. ],
  1321. [
  1322. {
  1323. "14": "1"
  1324. },
  1325. {
  1326. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1327. "14": "1"
  1328. },
  1329. {}
  1330. ],
  1331. [
  1332. {
  1333. "15": "1"
  1334. },
  1335. {
  1336. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1337. "15": "1"
  1338. },
  1339. {}
  1340. ],
  1341. [
  1342. {
  1343. "16": "1"
  1344. },
  1345. {
  1346. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1347. "16": "1"
  1348. },
  1349. {}
  1350. ],
  1351. [
  1352. {
  1353. "17": "1"
  1354. },
  1355. {
  1356. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1357. "17": "1"
  1358. },
  1359. {}
  1360. ],
  1361. [
  1362. {
  1363. "18": "1"
  1364. },
  1365. {
  1366. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1367. "18": "1"
  1368. },
  1369. {}
  1370. ],
  1371. [
  1372. {
  1373. "19": "1"
  1374. },
  1375. {
  1376. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1377. "19": "1"
  1378. },
  1379. {}
  1380. ],
  1381. [
  1382. {
  1383. "20": "1"
  1384. },
  1385. {
  1386. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1387. "20": "1"
  1388. },
  1389. {}
  1390. ],
  1391. [
  1392. {
  1393. "21": "1"
  1394. },
  1395. {
  1396. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1397. "21": "1"
  1398. },
  1399. {}
  1400. ],
  1401. [
  1402. {
  1403. "22": "1"
  1404. },
  1405. {
  1406. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1407. "22": "1"
  1408. },
  1409. {}
  1410. ],
  1411. [
  1412. {
  1413. "23": "1"
  1414. },
  1415. {
  1416. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1417. "23": "1"
  1418. },
  1419. {}
  1420. ],
  1421. [
  1422. {
  1423. "24": "1"
  1424. },
  1425. {
  1426. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1427. "24": "1"
  1428. },
  1429. {}
  1430. ],
  1431. [
  1432. {
  1433. "25": "1"
  1434. },
  1435. {
  1436. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1437. "25": "1"
  1438. },
  1439. {}
  1440. ],
  1441. [
  1442. {
  1443. "26": "1"
  1444. },
  1445. {
  1446. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1447. "26": "1"
  1448. },
  1449. {}
  1450. ],
  1451. [
  1452. {
  1453. "27": "1"
  1454. },
  1455. {
  1456. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1457. "27": "1"
  1458. },
  1459. {}
  1460. ],
  1461. [
  1462. {
  1463. "28": "1"
  1464. },
  1465. {
  1466. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1467. "28": "1"
  1468. },
  1469. {}
  1470. ],
  1471. [
  1472. {
  1473. "29": "1"
  1474. },
  1475. {
  1476. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1477. "29": "1"
  1478. },
  1479. {}
  1480. ],
  1481. [
  1482. {
  1483. "30": "1"
  1484. },
  1485. {
  1486. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1487. "30": "1"
  1488. },
  1489. {}
  1490. ],
  1491. [
  1492. {
  1493. "31": "1"
  1494. },
  1495. {
  1496. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1497. "31": "1"
  1498. },
  1499. {}
  1500. ],
  1501. [
  1502. {
  1503. "32": "1"
  1504. },
  1505. {
  1506. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1507. "32": "1"
  1508. },
  1509. {}
  1510. ],
  1511. [
  1512. {
  1513. "33": "1"
  1514. },
  1515. {
  1516. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1517. "33": "1"
  1518. },
  1519. {}
  1520. ],
  1521. [
  1522. {
  1523. "34": "1"
  1524. },
  1525. {
  1526. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1527. "34": "1"
  1528. },
  1529. {}
  1530. ],
  1531. [
  1532. {
  1533. "35": "1"
  1534. },
  1535. {
  1536. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1537. "35": "1"
  1538. },
  1539. {}
  1540. ],
  1541. [
  1542. {
  1543. "2": "1",
  1544. "37": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
  1545. "38": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
  1546. "39": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
  1547. "40": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
  1548. "41": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
  1549. "42": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
  1550. "43": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
  1551. "44": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
  1552. "45": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
  1553. "46": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
  1554. "47": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
  1555. "48": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
  1556. "49": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
  1557. "50": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
  1558. "51": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
  1559. "52": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
  1560. "53": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
  1561. "54": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
  1562. "55": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
  1563. "56": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
  1564. "57": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
  1565. "58": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
  1566. "59": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
  1567. "60": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
  1568. "61": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
  1569. "62": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
  1570. "63": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
  1571. "64": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
  1572. "65": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
  1573. "66": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
  1574. "67": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
  1575. },
  1576. {
  1577. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1578. "2": "1",
  1579. "37": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
  1580. "38": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
  1581. "39": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
  1582. "40": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
  1583. "41": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
  1584. "42": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
  1585. "43": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
  1586. "44": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
  1587. "45": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
  1588. "46": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
  1589. "47": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
  1590. "48": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
  1591. "49": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
  1592. "50": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
  1593. "51": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
  1594. "52": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
  1595. "53": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
  1596. "54": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
  1597. "55": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
  1598. "56": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
  1599. "57": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
  1600. "58": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
  1601. "59": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
  1602. "60": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
  1603. "61": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
  1604. "62": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
  1605. "63": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
  1606. "64": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
  1607. "65": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
  1608. "66": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
  1609. "67": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
  1610. },
  1611. {}
  1612. ],
  1613. [
  1614. {
  1615. "37": "1"
  1616. },
  1617. {
  1618. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1619. "37": "1"
  1620. },
  1621. {}
  1622. ],
  1623. [
  1624. {
  1625. "38": "1"
  1626. },
  1627. {
  1628. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1629. "38": "1"
  1630. },
  1631. {}
  1632. ],
  1633. [
  1634. {
  1635. "39": "1"
  1636. },
  1637. {
  1638. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1639. "39": "1"
  1640. },
  1641. {}
  1642. ],
  1643. [
  1644. {
  1645. "40": "1"
  1646. },
  1647. {
  1648. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1649. "40": "1"
  1650. },
  1651. {}
  1652. ],
  1653. [
  1654. {
  1655. "41": "1"
  1656. },
  1657. {
  1658. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1659. "41": "1"
  1660. },
  1661. {}
  1662. ],
  1663. [
  1664. {
  1665. "42": "1"
  1666. },
  1667. {
  1668. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1669. "42": "1"
  1670. },
  1671. {}
  1672. ],
  1673. [
  1674. {
  1675. "43": "1"
  1676. },
  1677. {
  1678. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1679. "43": "1"
  1680. },
  1681. {}
  1682. ],
  1683. [
  1684. {
  1685. "44": "1"
  1686. },
  1687. {
  1688. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1689. "44": "1"
  1690. },
  1691. {}
  1692. ],
  1693. [
  1694. {
  1695. "45": "1"
  1696. },
  1697. {
  1698. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1699. "45": "1"
  1700. },
  1701. {}
  1702. ],
  1703. [
  1704. {
  1705. "46": "1"
  1706. },
  1707. {
  1708. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1709. "46": "1"
  1710. },
  1711. {}
  1712. ],
  1713. [
  1714. {
  1715. "47": "1"
  1716. },
  1717. {
  1718. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1719. "47": "1"
  1720. },
  1721. {}
  1722. ],
  1723. [
  1724. {
  1725. "48": "1"
  1726. },
  1727. {
  1728. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1729. "48": "1"
  1730. },
  1731. {}
  1732. ],
  1733. [
  1734. {
  1735. "49": "1"
  1736. },
  1737. {
  1738. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1739. "49": "1"
  1740. },
  1741. {}
  1742. ],
  1743. [
  1744. {
  1745. "50": "1"
  1746. },
  1747. {
  1748. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1749. "50": "1"
  1750. },
  1751. {}
  1752. ],
  1753. [
  1754. {
  1755. "51": "1"
  1756. },
  1757. {
  1758. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1759. "51": "1"
  1760. },
  1761. {}
  1762. ],
  1763. [
  1764. {
  1765. "52": "1"
  1766. },
  1767. {
  1768. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1769. "52": "1"
  1770. },
  1771. {}
  1772. ],
  1773. [
  1774. {
  1775. "53": "1"
  1776. },
  1777. {
  1778. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1779. "53": "1"
  1780. },
  1781. {}
  1782. ],
  1783. [
  1784. {
  1785. "54": "1"
  1786. },
  1787. {
  1788. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1789. "54": "1"
  1790. },
  1791. {}
  1792. ],
  1793. [
  1794. {
  1795. "55": "1"
  1796. },
  1797. {
  1798. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1799. "55": "1"
  1800. },
  1801. {}
  1802. ],
  1803. [
  1804. {
  1805. "56": "1"
  1806. },
  1807. {
  1808. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1809. "56": "1"
  1810. },
  1811. {}
  1812. ],
  1813. [
  1814. {
  1815. "57": "1"
  1816. },
  1817. {
  1818. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1819. "57": "1"
  1820. },
  1821. {}
  1822. ],
  1823. [
  1824. {
  1825. "58": "1"
  1826. },
  1827. {
  1828. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1829. "58": "1"
  1830. },
  1831. {}
  1832. ],
  1833. [
  1834. {
  1835. "59": "1"
  1836. },
  1837. {
  1838. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1839. "59": "1"
  1840. },
  1841. {}
  1842. ],
  1843. [
  1844. {
  1845. "60": "1"
  1846. },
  1847. {
  1848. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1849. "60": "1"
  1850. },
  1851. {}
  1852. ],
  1853. [
  1854. {
  1855. "61": "1"
  1856. },
  1857. {
  1858. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1859. "61": "1"
  1860. },
  1861. {}
  1862. ],
  1863. [
  1864. {
  1865. "62": "1"
  1866. },
  1867. {
  1868. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1869. "62": "1"
  1870. },
  1871. {}
  1872. ],
  1873. [
  1874. {
  1875. "63": "1"
  1876. },
  1877. {
  1878. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1879. "63": "1"
  1880. },
  1881. {}
  1882. ],
  1883. [
  1884. {
  1885. "64": "1"
  1886. },
  1887. {
  1888. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1889. "64": "1"
  1890. },
  1891. {}
  1892. ],
  1893. [
  1894. {
  1895. "65": "1"
  1896. },
  1897. {
  1898. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1899. "65": "1"
  1900. },
  1901. {}
  1902. ],
  1903. [
  1904. {
  1905. "66": "1"
  1906. },
  1907. {
  1908. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1909. "66": "1"
  1910. },
  1911. {}
  1912. ],
  1913. [
  1914. {
  1915. "67": "1"
  1916. },
  1917. {
  1918. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1919. "67": "1"
  1920. },
  1921. {}
  1922. ],
  1923. [
  1924. {
  1925. "1": "1",
  1926. "69": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
  1927. "70": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
  1928. "71": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
  1929. "72": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
  1930. "73": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
  1931. "74": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
  1932. "75": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
  1933. "76": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
  1934. "77": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
  1935. "78": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
  1936. "79": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
  1937. "80": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
  1938. "81": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
  1939. "82": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
  1940. "83": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
  1941. "84": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
  1942. "85": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
  1943. "86": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
  1944. "87": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
  1945. "88": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
  1946. "89": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
  1947. "90": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
  1948. "91": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
  1949. "92": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
  1950. "93": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
  1951. "94": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
  1952. "95": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
  1953. "96": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
  1954. "97": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
  1955. "98": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
  1956. "99": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
  1957. },
  1958. {
  1959. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  1960. "1": "1",
  1961. "69": "21888242871839275222246405745257275088548364400416034343698204186575808495615",
  1962. "70": "21888242871839275222246405745257275088548364400416034343698204186575808495613",
  1963. "71": "21888242871839275222246405745257275088548364400416034343698204186575808495609",
  1964. "72": "21888242871839275222246405745257275088548364400416034343698204186575808495601",
  1965. "73": "21888242871839275222246405745257275088548364400416034343698204186575808495585",
  1966. "74": "21888242871839275222246405745257275088548364400416034343698204186575808495553",
  1967. "75": "21888242871839275222246405745257275088548364400416034343698204186575808495489",
  1968. "76": "21888242871839275222246405745257275088548364400416034343698204186575808495361",
  1969. "77": "21888242871839275222246405745257275088548364400416034343698204186575808495105",
  1970. "78": "21888242871839275222246405745257275088548364400416034343698204186575808494593",
  1971. "79": "21888242871839275222246405745257275088548364400416034343698204186575808493569",
  1972. "80": "21888242871839275222246405745257275088548364400416034343698204186575808491521",
  1973. "81": "21888242871839275222246405745257275088548364400416034343698204186575808487425",
  1974. "82": "21888242871839275222246405745257275088548364400416034343698204186575808479233",
  1975. "83": "21888242871839275222246405745257275088548364400416034343698204186575808462849",
  1976. "84": "21888242871839275222246405745257275088548364400416034343698204186575808430081",
  1977. "85": "21888242871839275222246405745257275088548364400416034343698204186575808364545",
  1978. "86": "21888242871839275222246405745257275088548364400416034343698204186575808233473",
  1979. "87": "21888242871839275222246405745257275088548364400416034343698204186575807971329",
  1980. "88": "21888242871839275222246405745257275088548364400416034343698204186575807447041",
  1981. "89": "21888242871839275222246405745257275088548364400416034343698204186575806398465",
  1982. "90": "21888242871839275222246405745257275088548364400416034343698204186575804301313",
  1983. "91": "21888242871839275222246405745257275088548364400416034343698204186575800107009",
  1984. "92": "21888242871839275222246405745257275088548364400416034343698204186575791718401",
  1985. "93": "21888242871839275222246405745257275088548364400416034343698204186575774941185",
  1986. "94": "21888242871839275222246405745257275088548364400416034343698204186575741386753",
  1987. "95": "21888242871839275222246405745257275088548364400416034343698204186575674277889",
  1988. "96": "21888242871839275222246405745257275088548364400416034343698204186575540060161",
  1989. "97": "21888242871839275222246405745257275088548364400416034343698204186575271624705",
  1990. "98": "21888242871839275222246405745257275088548364400416034343698204186574734753793",
  1991. "99": "21888242871839275222246405745257275088548364400416034343698204186573661011969"
  1992. },
  1993. {}
  1994. ],
  1995. [
  1996. {
  1997. "69": "1"
  1998. },
  1999. {
  2000. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2001. "69": "1"
  2002. },
  2003. {}
  2004. ],
  2005. [
  2006. {
  2007. "70": "1"
  2008. },
  2009. {
  2010. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2011. "70": "1"
  2012. },
  2013. {}
  2014. ],
  2015. [
  2016. {
  2017. "71": "1"
  2018. },
  2019. {
  2020. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2021. "71": "1"
  2022. },
  2023. {}
  2024. ],
  2025. [
  2026. {
  2027. "72": "1"
  2028. },
  2029. {
  2030. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2031. "72": "1"
  2032. },
  2033. {}
  2034. ],
  2035. [
  2036. {
  2037. "73": "1"
  2038. },
  2039. {
  2040. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2041. "73": "1"
  2042. },
  2043. {}
  2044. ],
  2045. [
  2046. {
  2047. "74": "1"
  2048. },
  2049. {
  2050. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2051. "74": "1"
  2052. },
  2053. {}
  2054. ],
  2055. [
  2056. {
  2057. "75": "1"
  2058. },
  2059. {
  2060. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2061. "75": "1"
  2062. },
  2063. {}
  2064. ],
  2065. [
  2066. {
  2067. "76": "1"
  2068. },
  2069. {
  2070. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2071. "76": "1"
  2072. },
  2073. {}
  2074. ],
  2075. [
  2076. {
  2077. "77": "1"
  2078. },
  2079. {
  2080. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2081. "77": "1"
  2082. },
  2083. {}
  2084. ],
  2085. [
  2086. {
  2087. "78": "1"
  2088. },
  2089. {
  2090. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2091. "78": "1"
  2092. },
  2093. {}
  2094. ],
  2095. [
  2096. {
  2097. "79": "1"
  2098. },
  2099. {
  2100. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2101. "79": "1"
  2102. },
  2103. {}
  2104. ],
  2105. [
  2106. {
  2107. "80": "1"
  2108. },
  2109. {
  2110. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2111. "80": "1"
  2112. },
  2113. {}
  2114. ],
  2115. [
  2116. {
  2117. "81": "1"
  2118. },
  2119. {
  2120. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2121. "81": "1"
  2122. },
  2123. {}
  2124. ],
  2125. [
  2126. {
  2127. "82": "1"
  2128. },
  2129. {
  2130. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2131. "82": "1"
  2132. },
  2133. {}
  2134. ],
  2135. [
  2136. {
  2137. "83": "1"
  2138. },
  2139. {
  2140. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2141. "83": "1"
  2142. },
  2143. {}
  2144. ],
  2145. [
  2146. {
  2147. "84": "1"
  2148. },
  2149. {
  2150. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2151. "84": "1"
  2152. },
  2153. {}
  2154. ],
  2155. [
  2156. {
  2157. "85": "1"
  2158. },
  2159. {
  2160. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2161. "85": "1"
  2162. },
  2163. {}
  2164. ],
  2165. [
  2166. {
  2167. "86": "1"
  2168. },
  2169. {
  2170. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2171. "86": "1"
  2172. },
  2173. {}
  2174. ],
  2175. [
  2176. {
  2177. "87": "1"
  2178. },
  2179. {
  2180. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2181. "87": "1"
  2182. },
  2183. {}
  2184. ],
  2185. [
  2186. {
  2187. "88": "1"
  2188. },
  2189. {
  2190. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2191. "88": "1"
  2192. },
  2193. {}
  2194. ],
  2195. [
  2196. {
  2197. "89": "1"
  2198. },
  2199. {
  2200. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2201. "89": "1"
  2202. },
  2203. {}
  2204. ],
  2205. [
  2206. {
  2207. "90": "1"
  2208. },
  2209. {
  2210. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2211. "90": "1"
  2212. },
  2213. {}
  2214. ],
  2215. [
  2216. {
  2217. "91": "1"
  2218. },
  2219. {
  2220. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2221. "91": "1"
  2222. },
  2223. {}
  2224. ],
  2225. [
  2226. {
  2227. "92": "1"
  2228. },
  2229. {
  2230. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2231. "92": "1"
  2232. },
  2233. {}
  2234. ],
  2235. [
  2236. {
  2237. "93": "1"
  2238. },
  2239. {
  2240. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2241. "93": "1"
  2242. },
  2243. {}
  2244. ],
  2245. [
  2246. {
  2247. "94": "1"
  2248. },
  2249. {
  2250. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2251. "94": "1"
  2252. },
  2253. {}
  2254. ],
  2255. [
  2256. {
  2257. "95": "1"
  2258. },
  2259. {
  2260. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2261. "95": "1"
  2262. },
  2263. {}
  2264. ],
  2265. [
  2266. {
  2267. "96": "1"
  2268. },
  2269. {
  2270. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2271. "96": "1"
  2272. },
  2273. {}
  2274. ],
  2275. [
  2276. {
  2277. "97": "1"
  2278. },
  2279. {
  2280. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2281. "97": "1"
  2282. },
  2283. {}
  2284. ],
  2285. [
  2286. {
  2287. "98": "1"
  2288. },
  2289. {
  2290. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2291. "98": "1"
  2292. },
  2293. {}
  2294. ],
  2295. [
  2296. {
  2297. "99": "1"
  2298. },
  2299. {
  2300. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2301. "99": "1"
  2302. },
  2303. {}
  2304. ],
  2305. [
  2306. {
  2307. "1": "1368015184586208377692962645747596915105636153469842199510504144919754569108",
  2308. "2": "20520227687253066844553443099509678173442728246946192144187700041656053926509",
  2309. "3": "20520227687253066844553443099509678173442728246946192144187700041656053926509"
  2310. },
  2311. {
  2312. "0": "21888242871839275222246405745257275088548364400416034343698204186575808495616",
  2313. "1": "1368015184586208377692962645747596915105636153469842199510504144919754569108",
  2314. "2": "20520227687253066844553443099509678173442728246946192144187700041656053926509",
  2315. "3": "20520227687253066844553443099509678173442728246946192144187700041656053926509"
  2316. },
  2317. {}
  2318. ]
  2319. ],
  2320. "templates": {
  2321. "Num2Bits": "function Num2Bits(ctx)\n{\n ctx.setVar(\"lc1\", [], \"0\");\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setSignal(\"out\", [ctx.getVar(\"i\",[])], bigInt(bigInt(ctx.getVar(\"i\",[])).greater(bigInt(256)) ? 0 : bigInt(ctx.getSignal(\"in\", [])).shr(bigInt(ctx.getVar(\"i\",[]))).and(__MASK__)).and(bigInt(\"1\")).and(__MASK__));\n ctx.assert(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).add(__P__).sub(bigInt(\"1\")).mod(__P__))).mod(__P__), \"0\");\n ctx.setVar(\"lc1\", [], bigInt(ctx.getVar(\"lc1\",[])).add(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"i\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.assert(ctx.getVar(\"lc1\",[]), ctx.getSignal(\"in\", []));\n}\n\n",
  2322. "Bits2Num": "function Bits2Num(ctx)\n{\n ctx.setVar(\"lc1\", [], \"0\");\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setVar(\"lc1\", [], bigInt(ctx.getVar(\"lc1\",[])).add(bigInt(bigInt(ctx.getSignal(\"in\", [ctx.getVar(\"i\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"i\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.setSignal(\"out\", [], ctx.getVar(\"lc1\",[]));\n ctx.assert(ctx.getSignal(\"out\", []), ctx.getVar(\"lc1\",[]));\n}\n\n",
  2323. "BinSum": "function BinSum(ctx)\n{\n ctx.setVar(\"nout\", [], ctx.callFunction(\"nbits\", [bigInt(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"n\",[])), __P__)).add(__P__).sub(bigInt(\"1\")).mod(__P__)).mul(bigInt(ctx.getVar(\"ops\",[]))).mod(__P__)]));\n ctx.setVar(\"lin\", [], \"0\");\n ctx.setVar(\"lout\", [], \"0\");\n for (ctx.setVar(\"k\", [], \"0\");bigInt(ctx.getVar(\"k\",[])).lt(bigInt(ctx.getVar(\"n\",[]))) ? 1 : 0;(ctx.setVar(\"k\", [], bigInt(ctx.getVar(\"k\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n for (ctx.setVar(\"j\", [], \"0\");bigInt(ctx.getVar(\"j\",[])).lt(bigInt(ctx.getVar(\"ops\",[]))) ? 1 : 0;(ctx.setVar(\"j\", [], bigInt(ctx.getVar(\"j\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setVar(\"lin\", [], bigInt(ctx.getVar(\"lin\",[])).add(bigInt(bigInt(ctx.getSignal(\"in\", [ctx.getVar(\"j\",[]),ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"k\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n }\n\n for (ctx.setVar(\"k\", [], \"0\");bigInt(ctx.getVar(\"k\",[])).lt(bigInt(ctx.getVar(\"nout\",[]))) ? 1 : 0;(ctx.setVar(\"k\", [], bigInt(ctx.getVar(\"k\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setSignal(\"out\", [ctx.getVar(\"k\",[])], bigInt(bigInt(ctx.getVar(\"k\",[])).greater(bigInt(256)) ? 0 : bigInt(ctx.getVar(\"lin\",[])).shr(bigInt(ctx.getVar(\"k\",[]))).and(__MASK__)).and(bigInt(\"1\")).and(__MASK__));\n ctx.assert(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).add(__P__).sub(bigInt(\"1\")).mod(__P__))).mod(__P__), \"0\");\n ctx.setVar(\"lout\", [], bigInt(ctx.getVar(\"lout\",[])).add(bigInt(bigInt(ctx.getSignal(\"out\", [ctx.getVar(\"k\",[])])).mul(bigInt(bigInt(\"2\").modPow(bigInt(ctx.getVar(\"k\",[])), __P__))).mod(__P__))).mod(__P__));\n }\n\n ctx.assert(ctx.getVar(\"lin\",[]), ctx.getVar(\"lout\",[]));\n}\n\n",
  2324. "A": "function A(ctx)\n{\n ctx.setPin(\"n2ba\", [], \"in\", [], ctx.getSignal(\"a\", []));\n ctx.assert(ctx.getPin(\"n2ba\", [], \"in\", []), ctx.getSignal(\"a\", []));\n ctx.setPin(\"n2bb\", [], \"in\", [], ctx.getSignal(\"b\", []));\n ctx.assert(ctx.getPin(\"n2bb\", [], \"in\", []), ctx.getSignal(\"b\", []));\n for (ctx.setVar(\"i\", [], \"0\");bigInt(ctx.getVar(\"i\",[])).lt(bigInt(\"32\")) ? 1 : 0;(ctx.setVar(\"i\", [], bigInt(ctx.getVar(\"i\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__))\n {\n ctx.setPin(\"sum\", [], \"in\", [\"0\",ctx.getVar(\"i\",[])], ctx.getPin(\"n2ba\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"sum\", [], \"in\", [\"0\",ctx.getVar(\"i\",[])]), ctx.getPin(\"n2ba\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.setPin(\"sum\", [], \"in\", [\"1\",ctx.getVar(\"i\",[])], ctx.getPin(\"n2bb\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"sum\", [], \"in\", [\"1\",ctx.getVar(\"i\",[])]), ctx.getPin(\"n2bb\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.setPin(\"b2n\", [], \"in\", [ctx.getVar(\"i\",[])], ctx.getPin(\"sum\", [], \"out\", [ctx.getVar(\"i\",[])]));\n ctx.assert(ctx.getPin(\"b2n\", [], \"in\", [ctx.getVar(\"i\",[])]), ctx.getPin(\"sum\", [], \"out\", [ctx.getVar(\"i\",[])]));\n }\n\n ctx.setSignal(\"out\", [], ctx.getPin(\"b2n\", [], \"out\", []));\n ctx.assert(ctx.getSignal(\"out\", []), ctx.getPin(\"b2n\", [], \"out\", []));\n}\n\n"
  2325. },
  2326. "functions": {
  2327. "nbits": {
  2328. "params": [
  2329. "a"
  2330. ],
  2331. "func": "function nbits(ctx) {\n ctx.setVar(\"n\", [], \"1\");\n ctx.setVar(\"r\", [], \"0\");\n while (bigInt(bigInt(ctx.getVar(\"n\",[])).add(__P__).sub(bigInt(\"1\")).mod(__P__)).lt(bigInt(ctx.getVar(\"a\",[]))) ? 1 : 0) {\n (ctx.setVar(\"r\", [], bigInt(ctx.getVar(\"r\",[])).add(bigInt(\"1\")).mod(__P__))).add(__P__).sub(bigInt(1)).mod(__P__);\n ctx.setVar(\"n\", [], bigInt(ctx.getVar(\"n\",[])).mul(bigInt(\"2\")).mod(__P__));\n }\n\n return ctx.getVar(\"r\",[]);;\n}\n"
  2332. }
  2333. },
  2334. "nPrvInputs": 1,
  2335. "nPubInputs": 1,
  2336. "nInputs": 2,
  2337. "nOutputs": 1,
  2338. "nVars": 101,
  2339. "nConstants": 0,
  2340. "nSignals": 101
  2341. }