arnaucube
arnaucube/circomPublic Self-hosted repository
circom/out.cir
out.cirRaw
   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}