import randomfrom Ecc import Eccfrom Ecc import PointA = -95051B = 11279326p = 233970423115425145524320034830162017933q = 233970423115425145498902418297807005944ecc = Ecc(A, B, p)def f(Y): (x, y) = Y.coords() return pow(2, (y % k))priv = random.randint(0, q)print 'You will never guess my private key of %s' % privbasePoint = Point(4, 85518893674295321206118380980485522083)pub = ecc.scale(basePoint, priv)a = priv - pow(2, 20)b = priv + pow(2, 20)print 'a',aprint 'b',bglobal k k = 15print 'k is set to %d' % k"""Tame Kangaroo xT := 0 yT := g^b for i in 1..N: xT := xT + f(yT) yT := yT * g^f(yT)"""xT = 0yT = ecc.scale(basePoint, b)y = pubN = ( f(basePoint) + f(ecc.scale(basePoint, b))) / 2 * 2for i in range(1, N): xT += f(yT) yT = ecc.add(yT, ecc.scale(basePoint, f(yT)));print xT, yT"""Wild Kangaroo xW := 0 yW := y while xW < b - a + xT: xW := xW + f(yW) yW := yW * g^f(yW) if yW = yT: return b + xT - xW"""print "Setting wild kangaroo off"def wildKangaroo(ecc, y, yT, xT, basePoint, b, a): xW = 0 yW = y while xW < (b - a + xT): xW = xW + f(yW) yW = ecc.add(yW, ecc.scale(basePoint, f(yW))); if yW == yT: print 'catch' print yW, yT return b + xT - xWA = wildKangaroo(ecc, y, yT, xT, basePoint, b, a)print A
Traceback (most recent call last): File "polard3.py", line 2, in <module> from Ecc import EccImportError: cannot import name Ecc
def f(Y): (x, y) = Y.coords() return pow(2, (y % k))where k = 15
N = ( f(basePoint) + f(ecc.scale(basePoint, b))) / 2 * 2
pip install ecc
def f(Z): (x, y) = Z.coords() return pow(2, (y % k))where k is varied to create new kangaroos
def f(Z): (x, y) = Z.coords() return (y & M)where M is a bit mask and is varied to create new kangaroos
struct xorshift256_state { uint64_t a, b, c, d;};/* The state array should be initialized to X coordinate */uint64_t xorshift256(struct xorshift256_state *state){ uint64_t t = state->d; uint64_t const s = state->a; state->d = state->c; state->c = state->b; state->b = s; t ^= t << 11; t ^= t >> 8; return state->a = t ^ s ^ (s >> 19);}
0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179802f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc022f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a0102352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d503f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f5300296516a8f65774275278d0d7420a88df0ac44bd64c7bae07c3fe397c5b3300b230308bc89c2f919ed158885c35600844d49890905c79b357322609c45706ce6b5140243601d61c836387485e9514ab5c8924dd2cfd466af34ac95002727e1659d60f703a7a4c30291ac1db24b4ab00c442aa832f7794b5a0959bec6e8d7fee802289dcd038b05b0603abd75b0c57489e451f811e1afe54a8715045cdf4888333f3ebc6e8b038b00fcbfc1a203f44bf123fc7f4c91c10a85c8eae9187f9d22242b4600ce781c03aadaaab1db8d5d450b511789c37e7cfeb0eb8b3e61a57a34166c5edc9a4b869d03b4f1de58b8b41afe9fd4e5ffbdafaeab86c5db4769c15d6e6011ae7351e5475902fea58ffcf49566f6e9e9350cf5bca2861312f422966e8db16094beb14dc3df2c029d8c5d35231d75eb87fd2c5f05f65281ed9573dc41853288c62ee94eb2590b7a033f688bae8321b8e02b7e6c0a55c2515fb25ab97d85fda842449f7bfa04e128c3020ce4a3291b19d2e1a7bf73ee87d30a6bdbc72b20771e7dfff40d0db755cd4af10385663c8b2f90659e1ccab201694f4f8ec24b3749cfe5030c7c3646a709408e19033c4a45cbd643ff97d77f41ea37e843648d50fd894b864b0d52febc62f6454f7c031a746c78f72754e0be046186df8a20cdce5c79b2eda76013c647af08d306e49e023ed96b524db5ff4fe007ce730366052b7c511dc566227d929070b9ce917abb4303f82710361b8b81bdedb16994f30c80db522450a93e8e87eeb07f7903cf28d04b036ea839d22847ee1dce3bfc5b11f6cf785b0682db58c35b63d1342eb221c3490c03057fbea3a2623382628dde556b2a0698e32428d3cd225f3bd034dca82dd7455a024e4f50a2a3eccdb368988ae37cd4b611697b26b29696e42e06d71368b4f3840f031a864bae3922f351f1b57cfdd827c25b7e093cb9c88a72c1cd893d9f90f44ece03e9e661838a96a65331637e2a3e948dc0756e5009e7cb5c36664d9b72dd18c0a7026caad634382d34691e3bef43ed4a124d8909a8a3362f91f1d20abaaf7e917b36030d282cf2ff536d2c42f105d0b8588821a915dc3f9a05bd98bb23af67a2e92a5b0387dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd280209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de6903a355aa5e2e09dd44bb46a4722e9336e9e3ee4ee4e7b7a0cf5785b283bf2ab579033cdd9d6d97cbfe7c26f902faf6a435780fe652e159ec953650ec7b100408279002f6a8148a62320e149cb15c544fe8a25ab483a0095d2280d03b8a00a7feada13d02b3e772216695845fa9dda419fb5daca28154d8aa59ea302f05e916635e47b9f6027d2c03c3ef0aec70f2c7e1e75454a5dfdd0e1adea670c1b3a4643c48ad0f125503c060e1e3771cbeccb38e119c2414702f3f5181a89652538851d2e3886bdd70c6022d77cd1467019a6bf28f7375d0949ce30e6b5815c2758b98a74c2700bc00654303a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d403b357e68437da273dcf995a474a524439faad86fc9effc300183f714b0903468b03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb602a631f9ba0f28511614904df80d7f97a4f43f02249c8909dac92276ccf0bcdaed025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336026ecabd2d22fdb737be21975ce9a694e108eb94f3649c586cc7461c8abf5da71a03fd5487722d2576cb6d7081426b66a3e2986c1ce8358d479063fb5f2bb6dd5849023a12bd3caf0b0f77bf4eea8e7a40dbe27932bf80b19ac72f5f5a64925a5941960291bee5cf4b14c291c650732faa166040e4c18a14731f9a930c1e87d3ec12debb02591d682c3da4a2a698633bf5751738b67c343285ebdc3492645cb4465891148403f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6028c6c67bef9e9eebe6a513272e50c230f0f91ed560c37bc9b033241ff6c3be78f0374c33bd548ef02667d61341892134fcf216640bc2201ae61928cd0874f6314a7020faaf5f3afe58300a335874c80681cf66933e2a7aeb28387c0d28bb048bc6349034af4b81f8c450c2c870ce1df184aff1297e5fcd54944d98d81e1a545ffb225960385a30d8413af4f8f9e6312400f2d194fe14f02e719b24c3f83bf1fd233a8f963033f2db2074e3217b3e5ee305301eeebb1160c4fa1e993ee280112f6348637999a02a521a07e98f78b03fc1e039bc3a51408cd73119b5eb116e583fe57dc8db07aea0311569442e870326ceec0de24eb5478c19e146ecd9d15e4666440f2f638875f420241267d2d7ee1a8e76f8d1546d0d30aefb2892d231cee0dde7776daf9f80214850348e843dc5b1bd246e6309b4924b81543d02b16c8083df973a89ce2c7eb89a10d0249a43860d115143c35c09454863d6f82a95e47c1162fb9b2ebe0186eb26f453f0365ec2994b8cc0a20d40dd69edfe55ca32a54bcbbaa6b0ddcff36049301a545790230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b0290e6900a58d33393bc1097b5aed31f2e4e7cbd3e5466af958665bc012124848303726b574f193e374686d8e12bc6e4142adeb06770e0a2856f5e4ad89f66044755037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc0329c4574a4fd8c810b7e42a4b398882b381bcd85e40c6883712912d167c83e73a035c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d502967a5905d6f3b420959a02789f96ab4c3223a2c4d2762f817b7895c5bc88a04503d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617
# - Address - Compressed PubKey - Uncompressed PubKey1 - 1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH - 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 - 0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b82 - 1CUNEBjYrCn2y1SdiUMohaKUi4wpP326Lb - 02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9 - 04f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e6723 - 19ZewH8Kk1PDbSNdJ97FP4EiCjTRaZMZQA - 025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc - 045cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da4 - 1EhqbyUMvvs7BfL8goY6qcPbD6YKfPqb7e - 022f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01 - 042f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a015c4da8a741539949293d082a132d13b4c2e213d6ba5b7617b5da2cb76cbde9045 - 1E6NuFjCi27W5zoXg8TRdcSRq84zJeBW3k - 02352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5 - 04352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c6 - 1PitScNLyp2HCygzadCh7FveTnfmpPbfp8 - 03f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530 - 04f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c377 - 1McVt1vMtCC7yn5b9wgX1833yCcLXzueeC - 0296516a8f65774275278d0d7420a88df0ac44bd64c7bae07c3fe397c5b3300b23 - 0496516a8f65774275278d0d7420a88df0ac44bd64c7bae07c3fe397c5b3300b23bdacd9a05fb9fb73108c0a99d567fba9b2f75ab36207e1557f6bf255f1337ff08 - 1M92tSqNmQLYw33fuBvjmeadirh1ysMBxK - 0308bc89c2f919ed158885c35600844d49890905c79b357322609c45706ce6b514 - 0408bc89c2f919ed158885c35600844d49890905c79b357322609c45706ce6b514d313f3cdd7cdcc16de776fec3b5892c1172d3056112776f06f63f4cea8c951579 - 1CQFwcjw1dwhtkVWBttNLDtqL7ivBonGPV - 0243601d61c836387485e9514ab5c8924dd2cfd466af34ac95002727e1659d60f7 - 0443601d61c836387485e9514ab5c8924dd2cfd466af34ac95002727e1659d60f78791c0007c09c94db328034b88c5bbbc113335366679eb099a5e75b583bc2c2a10 - 1LeBZP5QCwwgXRtmVUvTVrraqPUokyLHqe - 03a7a4c30291ac1db24b4ab00c442aa832f7794b5a0959bec6e8d7fee802289dcd - 04a7a4c30291ac1db24b4ab00c442aa832f7794b5a0959bec6e8d7fee802289dcdd580b4242cf68189ac1309e79c5a2132d2cbf0e18be6d0b37d05a32256ca0c8b11 - 1PgQVLmst3Z314JrQn5TNiys8Hc38TcXJu - 038b05b0603abd75b0c57489e451f811e1afe54a8715045cdf4888333f3ebc6e8b - 048b05b0603abd75b0c57489e451f811e1afe54a8715045cdf4888333f3ebc6e8b1d10f88145db40fb889e2ddce81bda7c27f5b615acd6179dbb30f4fe7f40fb3912 - 1DBaumZxUkM4qMQRt2LVWyFJq5kDtSZQot - 038b00fcbfc1a203f44bf123fc7f4c91c10a85c8eae9187f9d22242b4600ce781c - 048b00fcbfc1a203f44bf123fc7f4c91c10a85c8eae9187f9d22242b4600ce781c61e9e58a3e81e690ec0264280ee5442a0a8de699dadfbcac478985cc89d35bc913 - 1Pie8JkxBT6MGPz9Nvi3fsPkr2D8q3GBc1 - 03aadaaab1db8d5d450b511789c37e7cfeb0eb8b3e61a57a34166c5edc9a4b869d - 04aadaaab1db8d5d450b511789c37e7cfeb0eb8b3e61a57a34166c5edc9a4b869d2ed7caaf2a261616f564190b4bc9f496f3df86353ff76d7f704e48e654bacdf114 - 1ErZWg5cFCe4Vw5BzgfzB74VNLaXEiEkhk - 03b4f1de58b8b41afe9fd4e5ffbdafaeab86c5db4769c15d6e6011ae7351e54759 - 04b4f1de58b8b41afe9fd4e5ffbdafaeab86c5db4769c15d6e6011ae7351e547597875ee3c7e4d1b5c753d3747c7d5774b583da4d075fb8caf8cab311b0f35048315 - 1QCbW9HWnwQWiQqVo5exhAnmfqKRrCRsvW - 02fea58ffcf49566f6e9e9350cf5bca2861312f422966e8db16094beb14dc3df2c - 04fea58ffcf49566f6e9e9350cf5bca2861312f422966e8db16094beb14dc3df2cc71136e9f21ec86870c3a999f045d712f848c6fd6ed9582521c3f7444c8f182e16 - 1BDyrQ6WoF8VN3g9SAS1iKZcPzFfnDVieY - 029d8c5d35231d75eb87fd2c5f05f65281ed9573dc41853288c62ee94eb2590b7a - 049d8c5d35231d75eb87fd2c5f05f65281ed9573dc41853288c62ee94eb2590b7a83c227263dece3d7e8afe4005eff667bb90dd33ce17c663b1e83b303b12c034817 - 1HduPEXZRdG26SUT5Yk83mLkPyjnZuJ7Bm - 033f688bae8321b8e02b7e6c0a55c2515fb25ab97d85fda842449f7bfa04e128c3 - 043f688bae8321b8e02b7e6c0a55c2515fb25ab97d85fda842449f7bfa04e128c3393e3b1c529624e56840acbb10243ec9e0cfe99c3cffe1c87537b735bbba2d2f18 - 1GnNTmTVLZiqQfLbAdp9DVdicEnB5GoERE - 020ce4a3291b19d2e1a7bf73ee87d30a6bdbc72b20771e7dfff40d0db755cd4af1 - 040ce4a3291b19d2e1a7bf73ee87d30a6bdbc72b20771e7dfff40d0db755cd4af1889098969cd1f2642a070ace8aacd681b6c97281ed46d6354f8094614865fba819 - 1NWmZRpHH4XSPwsW6dsS3nrNWfL1yrJj4w - 0385663c8b2f90659e1ccab201694f4f8ec24b3749cfe5030c7c3646a709408e19 - 0485663c8b2f90659e1ccab201694f4f8ec24b3749cfe5030c7c3646a709408e19457e3dd2f2a02ea1dd219233e317782fcc39a3594ca5ef4228f9af3b49bdc67120 - 1HsMJxNiV7TLxmoF6uJNkydxPFDog4NQum - 033c4a45cbd643ff97d77f41ea37e843648d50fd894b864b0d52febc62f6454f7c - 043c4a45cbd643ff97d77f41ea37e843648d50fd894b864b0d52febc62f6454f7c88020b66e0e1970a0009fa411e77166bca00b1ada6163854362ca33d1ee35ab121 - 14oFNXucftsHiUMY8uctg6N487riuyXs4h - 031a746c78f72754e0be046186df8a20cdce5c79b2eda76013c647af08d306e49e - 041a746c78f72754e0be046186df8a20cdce5c79b2eda76013c647af08d306e49e2d5736900aa6d87c26325ccc3d707065de2fb7dd6602f71ffadb33dcdf26c23922 - 1CfZWK1QTQE3eS9qn61dQjV89KDjZzfNcv - 023ed96b524db5ff4fe007ce730366052b7c511dc566227d929070b9ce917abb43 - 043ed96b524db5ff4fe007ce730366052b7c511dc566227d929070b9ce917abb43700d7526050cc27c80c39aac7e5a930a79914bc74c8808177d58335f69ab72f423 - 1L2GM8eE7mJWLdo3HZS6su1832NX2txaac - 03f82710361b8b81bdedb16994f30c80db522450a93e8e87eeb07f7903cf28d04b - 04f82710361b8b81bdedb16994f30c80db522450a93e8e87eeb07f7903cf28d04b97336f10faad1355ee425ca4f3a989bbd929704bfb9ae2371178ae3adef7ab3f24 - 1rSnXMr63jdCuegJFuidJqWxUPV7AtUf7 - 036ea839d22847ee1dce3bfc5b11f6cf785b0682db58c35b63d1342eb221c3490c - 046ea839d22847ee1dce3bfc5b11f6cf785b0682db58c35b63d1342eb221c3490cd4313e400ac025a18f72b7e4487a3a47676c1e97ba6f8119e9736d4b8c4ce2a925 - 15JhYXn6Mx3oF4Y7PcTAv2wVVAuCFFQNiP - 03057fbea3a2623382628dde556b2a0698e32428d3cd225f3bd034dca82dd7455a - 04057fbea3a2623382628dde556b2a0698e32428d3cd225f3bd034dca82dd7455ab7deb4729bedde33c9edc651ecb0c034adc49678ad67414e3e90b01f2d08565526 - 1JVnST957hGztonaWK6FougdtjxzHzRMMg - 024e4f50a2a3eccdb368988ae37cd4b611697b26b29696e42e06d71368b4f3840f - 044e4f50a2a3eccdb368988ae37cd4b611697b26b29696e42e06d71368b4f3840f076d012b98c9e265dda1a9028ae37f1a4548505fac40524d507b5675c74714ca27 - 128z5d7nN7PkCuX5qoA4Ys6pmxUYnEy86k - 031a864bae3922f351f1b57cfdd827c25b7e093cb9c88a72c1cd893d9f90f44ece - 041a864bae3922f351f1b57cfdd827c25b7e093cb9c88a72c1cd893d9f90f44ece0340864e1e4a939cf2eb8511e833c1c2bdd51a55bd204368332ae70d68a65c6128 - 12jbtzBb54r97TCwW3G1gCFoumpckRAPdY - 03e9e661838a96a65331637e2a3e948dc0756e5009e7cb5c36664d9b72dd18c0a7 - 04e9e661838a96a65331637e2a3e948dc0756e5009e7cb5c36664d9b72dd18c0a709f531540a4ca59f50f93b8bf7b0c060045754aaae7ce1bea5a136c0d5874b9729 - 19EEC52krRUK1RkUAEZmQdjTyHT7Gp1TYT - 026caad634382d34691e3bef43ed4a124d8909a8a3362f91f1d20abaaf7e917b36 - 046caad634382d34691e3bef43ed4a124d8909a8a3362f91f1d20abaaf7e917b36f5c907aad14e4457181ce6be0f0206a1a22d2730d14edf5d50630ad30d63baf430 - 1LHtnpd8nU5VHEMkG2TMYYNUjjLc992bps - 030d282cf2ff536d2c42f105d0b8588821a915dc3f9a05bd98bb23af67a2e92a5b - 040d282cf2ff536d2c42f105d0b8588821a915dc3f9a05bd98bb23af67a2e92a5bb0ca8ab2bfb595a48a19d4faecd863697762a74e1e889de825accfee9895790d31 - 1LhE6sCTuGae42Axu1L1ZB7L96yi9irEBE - 0387dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd28 - 0487dc70db1806cd9a9a76637412ec11dd998be666584849b3185f7f9313c8fd28446b6eef4da5141b139a7d9a8f684d20536cd9383a747885791a11af1aef6c9132 - 1FRoHA9xewq7DjrZ1psWJVeTer8gHRqEvR - 0209c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de69 - 0409c58240e50e3ba3f833c82655e8725c037a2294e14cf5d73a5df8d56159de694fd08050375c910eecb46adeb9ffde4614adbf875f0493ad8d0a117d23b219e033 - 187swFMjz1G54ycVU56B7jZFHFTNVQFDiu - 03a355aa5e2e09dd44bb46a4722e9336e9e3ee4ee4e7b7a0cf5785b283bf2ab579 - 04a355aa5e2e09dd44bb46a4722e9336e9e3ee4ee4e7b7a0cf5785b283bf2ab57904162d6719ade112c0440936eaa0666052fd1fffb8562ad3629b0718c298495f34 - 1PWABE7oUahG2AFFQhhvViQovnCr4rEv7Q - 033cdd9d6d97cbfe7c26f902faf6a435780fe652e159ec953650ec7b1004082790 - 043cdd9d6d97cbfe7c26f902faf6a435780fe652e159ec953650ec7b1004082790c7fd4dd8b1c621129b2277c44a3fd706e17783cafc47894cfe5fbc912e7b67bb35 - 1PWCx5fovoEaoBowAvF5k91m2Xat9bMgwb - 02f6a8148a62320e149cb15c544fe8a25ab483a0095d2280d03b8a00a7feada13d - 04f6a8148a62320e149cb15c544fe8a25ab483a0095d2280d03b8a00a7feada13d8fde318a70a6dbed63953f4bb93087820e5ccb071faa514204ad19650e5a86ee36 - 1Be2UF9NLfyLFbtm3TCbmuocc9N1Kduci1 - 02b3e772216695845fa9dda419fb5daca28154d8aa59ea302f05e916635e47b9f6 - 04b3e772216695845fa9dda419fb5daca28154d8aa59ea302f05e916635e47b9f66e1ad5a30b9c99a0ce54247314bd60f6a8c4af66c2672b1a9d7bfebbd8f9340c37 - 14iXhn8bGajVWegZHJ18vJLHhntcpL4dex - 027d2c03c3ef0aec70f2c7e1e75454a5dfdd0e1adea670c1b3a4643c48ad0f1255 - 047d2c03c3ef0aec70f2c7e1e75454a5dfdd0e1adea670c1b3a4643c48ad0f12556144da0f5d8070b5cbfc25541705394c22b83d0c90f3f6fb1fe5b20dac02a94038 - 1HBtApAFA9B2YZw3G2YKSMCtb3dVnjuNe2 - 03c060e1e3771cbeccb38e119c2414702f3f5181a89652538851d2e3886bdd70c6 - 04c060e1e3771cbeccb38e119c2414702f3f5181a89652538851d2e3886bdd70c637bbfdac1b7ca715972daa71db7e26d673a9793c6b499406676154c12d566d3f39 - 122AJhKLEfkFBaGAd84pLp1kfE7xK3GdT8 - 022d77cd1467019a6bf28f7375d0949ce30e6b5815c2758b98a74c2700bc006543 - 042d77cd1467019a6bf28f7375d0949ce30e6b5815c2758b98a74c2700bc00654335c003eaea2e33c7ced258f506f57f8dbd90636cbf24e91c9729e5833050d06e40 - 1EeAxcprB2PpCnr34VfZdFrkUWuxyiNEFv - 03a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d4 - 04a2efa402fd5268400c77c20e574ba86409ededee7c4020e4b9f0edbee53de0d47ba1a987013e78aef5295bf842749bdf97e25336a82458bbaba8c00d16a79ea741 - 1L5sU9qvJeuwQUdt4y1eiLmquFxKjtHr3E - 03b357e68437da273dcf995a474a524439faad86fc9effc300183f714b0903468b - 04b357e68437da273dcf995a474a524439faad86fc9effc300183f714b0903468b9a6435e99428f3ef51a405550940fc39ce67823cb8b35f7f4d829902974d0c6542 - 1E32GPWgDyeyQac4aJxm9HVoLrrEYPnM4N - 03eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb6 - 04eec88385be9da803a0d6579798d977a5d0c7f80917dab49cb73c9e3927142cb628afea598588ea50a6b11e552f8574e0b93abd5595f5aa17ea3be5304103d25543 - 1PiFuqGpG8yGM5v6rNHWS3TjsG6awgEGA1 - 02a631f9ba0f28511614904df80d7f97a4f43f02249c8909dac92276ccf0bcdaed - 04a631f9ba0f28511614904df80d7f97a4f43f02249c8909dac92276ccf0bcdaedc69d75bbc4ec87b7d7616b7a197fa0ab25814fb551d292aa70b54979e21cbc6444 - 1CkR2uS7LmFwc3T2jV8C1BhWb5mQaoxedF - 025e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de357336 - 045e466e97ed0e7910d3d90ceb0332df48ddf67d456b9e7303b50a3d89de3573367715eb01dc2b29c9400694be91f9dda229d7f7eac9da41441f112daeb4dbf54c45 - 1NtiLNGegHWE3Mp9g2JPkgx6wUg4TW7bbk - 026ecabd2d22fdb737be21975ce9a694e108eb94f3649c586cc7461c8abf5da71a - 046ecabd2d22fdb737be21975ce9a694e108eb94f3649c586cc7461c8abf5da71aaa9a8c19d3626939f8f87d0c00c130d76a332fa99fda533bdf449a67407d11b646 - 1F3JRMWudBaj48EhwcHDdpeuy2jwACNxjP - 03fd5487722d2576cb6d7081426b66a3e2986c1ce8358d479063fb5f2bb6dd5849 - 04fd5487722d2576cb6d7081426b66a3e2986c1ce8358d479063fb5f2bb6dd5849a004626dffa0fb7b934118ea84bacc3b030332eee083010efa60025e4fde729747 - 1Pd8VvT49sHKsmqrQiP61RsVwmXCZ6ay7Z - 023a12bd3caf0b0f77bf4eea8e7a40dbe27932bf80b19ac72f5f5a64925a594196 - 043a12bd3caf0b0f77bf4eea8e7a40dbe27932bf80b19ac72f5f5a64925a594196c058e0f0f399f3c35b24b1de2374abe4355f932126eeb97919e73d5d2e56ce3a48 - 1DFYhaB2J9q1LLZJWKTnscPWos9VBqDHzv - 0291bee5cf4b14c291c650732faa166040e4c18a14731f9a930c1e87d3ec12debb - 0491bee5cf4b14c291c650732faa166040e4c18a14731f9a930c1e87d3ec12debb5c9103bbf879a6d6544a5df287116caf287ac27c934508ea1a2f422fbc7b515649 - 12CiUhYVTTH33w3SPUBqcpMoqnApAV4WCF - 02591d682c3da4a2a698633bf5751738b67c343285ebdc3492645cb44658911484 - 04591d682c3da4a2a698633bf5751738b67c343285ebdc3492645cb44658911484baca0af074d601c29f5acd658d0cb8568a38f48f3d3c2de066805f3247cecbb450 - 1MEzite4ReNuWaL5Ds17ePKt2dCxWEofwk - 03f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6 - 04f46f41027bbf44fafd6b059091b900dad41e6845b2241dc3254c7cdd3c5a16c6eb3dfcc04c320b55c529291478550be6072977c0c86603fb2e4f5283631064fb51 - 1NpnQyZ7x24ud82b7WiRNvPm6N8bqGQnaS - 028c6c67bef9e9eebe6a513272e50c230f0f91ed560c37bc9b033241ff6c3be78f - 048c6c67bef9e9eebe6a513272e50c230f0f91ed560c37bc9b033241ff6c3be78f810ddadcaeae69d8aae00ec0760b089bc312134b87d14bbb69ffcdefa5b38bfc52 - 15z9c9sVpu6fwNiK7dMAFgMYSK4GqsGZim - 0374c33bd548ef02667d61341892134fcf216640bc2201ae61928cd0874f6314a7 - 0474c33bd548ef02667d61341892134fcf216640bc2201ae61928cd0874f6314a7d8b0b0699fb814528ef174a644b4fae2cc77dd91f167b19577b2c0d24b1e15ed53 - 15K1YKJMiJ4fpesTVUcByoz334rHmknxmT - 020faaf5f3afe58300a335874c80681cf66933e2a7aeb28387c0d28bb048bc6349 - 040faaf5f3afe58300a335874c80681cf66933e2a7aeb28387c0d28bb048bc634965455ef6afc625e4aeef1229f052dfd9ab299b02aaa7e659c0e010a795e49e3854 - 1KYUv7nSvXx4642TKeuC2SNdTk326uUpFy - 034af4b81f8c450c2c870ce1df184aff1297e5fcd54944d98d81e1a545ffb22596 - 044af4b81f8c450c2c870ce1df184aff1297e5fcd54944d98d81e1a545ffb22596005f8151d32bd6771ea637e2c8328097d49d2498c3ddd4c76a81f2bad58944cd55 - 1LzhS3k3e9Ub8i2W1V8xQFdB8n2MYCHPCa - 0385a30d8413af4f8f9e6312400f2d194fe14f02e719b24c3f83bf1fd233a8f963 - 0485a30d8413af4f8f9e6312400f2d194fe14f02e719b24c3f83bf1fd233a8f9630eb400323654cec63999b56f4ba44e8b21ab92d9d697fabe4666df367858566956 - 17aPYR1m6pVAacXg1PTDDU7XafvK1dxvhi - 033f2db2074e3217b3e5ee305301eeebb1160c4fa1e993ee280112f6348637999a - 043f2db2074e3217b3e5ee305301eeebb1160c4fa1e993ee280112f6348637999ae00baccca7595a1af869923463f7f5928452d888fbeb495f827bc28f829ab38f57 - 15c9mPGLku1HuW9LRtBf4jcHVpBUt8txKz - 02a521a07e98f78b03fc1e039bc3a51408cd73119b5eb116e583fe57dc8db07aea - 04a521a07e98f78b03fc1e039bc3a51408cd73119b5eb116e583fe57dc8db07aea6fb15c871dd7cf7d287390acd4e09d41f705081a98d5fe3a930ca032525dbcdc58 - 1Dn8NF8qDyyfHMktmuoQLGyjWmZXgvosXf - 0311569442e870326ceec0de24eb5478c19e146ecd9d15e4666440f2f638875f42 - 0411569442e870326ceec0de24eb5478c19e146ecd9d15e4666440f2f638875f42524c08d882f868347f8b69d3330dc1913a159d8fb2b27864f197693a0eb39a2359 - 1HAX2n9Uruu9YDt4cqRgYcvtGvZj1rbUyt - 0241267d2d7ee1a8e76f8d1546d0d30aefb2892d231cee0dde7776daf9f8021485 - 0441267d2d7ee1a8e76f8d1546d0d30aefb2892d231cee0dde7776daf9f80214850cf8b796676a624addecf7aaa9151eb7aafee708d2b1762adfc0bf2974836ebc60 - 1Kn5h2qpgw9mWE5jKpk8PP4qvvJ1QVy8su - 0348e843dc5b1bd246e6309b4924b81543d02b16c8083df973a89ce2c7eb89a10d - 0448e843dc5b1bd246e6309b4924b81543d02b16c8083df973a89ce2c7eb89a10dd094fcabf8995e2a25c73298a9f7419720db622daff89c67fd5535f6ac29720f61 - 1AVJKwzs9AskraJLGHAZPiaZcrpDr1U6AB - 0249a43860d115143c35c09454863d6f82a95e47c1162fb9b2ebe0186eb26f453f - 0449a43860d115143c35c09454863d6f82a95e47c1162fb9b2ebe0186eb26f453fd3a2cb3be02da3fe0286ef4a5fe755045bcc2067424e33243e0506c1ce631e5c63 - 1NpYjtLira16LfGbGwZJ5JbDPh3ai9bjf4 - 0365ec2994b8cc0a20d40dd69edfe55ca32a54bcbbaa6b0ddcff36049301a54579 - 0465ec2994b8cc0a20d40dd69edfe55ca32a54bcbbaa6b0ddcff36049301a545795a1b76ab01e9edd0de24157ceff77bcb0f615560b250b365a5d435873eaa462565 - 18ZMbwUFLMHoZBbfpCjUJQTCMCbktshgpe - 0230210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1b - 0430210c23b1a047bc9bdbb13448e67deddc108946de6de639bcc75d47c0216b1be383c4a8ed4fac77c0d2ad737d8499a362f483f8fe39d1e86aaed578a9455dfc70 - 19YZECXj3SxEZMoUeJ1yiPsw8xANe7M7QR - 0290e6900a58d33393bc1097b5aed31f2e4e7cbd3e5466af958665bc0121248483 - 0490e6900a58d33393bc1097b5aed31f2e4e7cbd3e5466af958665bc0121248483d7319f127105f492fd15e009b103b4a83295722f28f07c95f9a5443ef8e77ce075 - 1J36UjUByGroXcCvmj13U6uwaVv9caEeAt - 03726b574f193e374686d8e12bc6e4142adeb06770e0a2856f5e4ad89f66044755 - 04726b574f193e374686d8e12bc6e4142adeb06770e0a2856f5e4ad89f660447559b15322e6707090a4db3f09c7e6632a26db57f03eb07b40979fc01c827e1b0a380 - 1BCf6rHUW6m3iH2ptsvnjgLruAiPQQepLe - 037e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc - 047e1238f7b1ce757df94faa9a2eb261bf0aeb9f84dbf81212104e78931c2a19dc625c7118f1c29cb92d28ce0dfd0dc58144fe5572effebc7fee54c4fce3333a6b85 - 1Kh22PvXERd2xpTQk3ur6pPEqFeckCJfAr - 0329c4574a4fd8c810b7e42a4b398882b381bcd85e40c6883712912d167c83e73a - 0429c4574a4fd8c810b7e42a4b398882b381bcd85e40c6883712912d167c83e73a0e02c3afd79913ab0961c95f12498f36a72ffa35c93af27cee30010fa6b51c5390 - 1L12FHH2FHjvTviyanuiFVfmzCy46RRATU - 035c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d5 - 045c38bd9ae4b10e8a250857006f3cfd98ab15a6196d9f4dfd25bc7ecc77d788d5a84963ebff4abefe121a0d3c6bf9203faaef25898cda62686efbf64d1c6fb43395 - 19eVSDuizydXxhohGh8Ki9WY9KsHdSwoQC - 02967a5905d6f3b420959a02789f96ab4c3223a2c4d2762f817b7895c5bc88a045 - 04967a5905d6f3b420959a02789f96ab4c3223a2c4d2762f817b7895c5bc88a0459da9709f8e830ba5cea1d0426a261f0b9b5dda057478d8e6009ad7c4a8af6916100 - 1KCgMv8fo2TPBpddVi9jqmMmcne9uSNJ5F - 03d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617 - 04d2063d40402f030d4cc71331468827aa41a8a09bd6fd801ba77fb64f8e67e617875561c0bd6298fbf187053d33ffde9672edf2830e2cb961582431369fd53765
bits = 30a = 0x20000000b = 0x40000000P = 0x30D282CF2FF536D2C42F105D0B8588821A915DC3F9A05BD98BB23AF67A2E92A5Bs = 0x3D94CD64bits = 31a = 0x40000000b = 0x80000000P = 0x387DC70DB1806CD9A9A76637412EC11DD998BE666584849B3185F7F9313C8FD28s = 0x7D4FE747bits = 32a = 0x80000000b = 0x100000000P = 0x209C58240E50E3BA3F833C82655E8725C037A2294E14CF5D73A5DF8D56159DE69s = 0xB862A62E