aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_utils.py
diff options
context:
space:
mode:
authorMohammed Attia <skeuomorf@gmail.com>2014-03-12 16:07:21 +0200
committerMohammed Attia <skeuomorf@gmail.com>2014-03-12 16:07:21 +0200
commit987cc708e25df42a95e6a1eae189b190e58643e0 (patch)
treee042f4ef62cb4b0912a8419de32aea71d07f8c04 /tests/test_utils.py
parent9b0705bc789610f598218d11da1da9711c820ed8 (diff)
downloadcryptography-987cc708e25df42a95e6a1eae189b190e58643e0.tar.gz
cryptography-987cc708e25df42a95e6a1eae189b190e58643e0.tar.bz2
cryptography-987cc708e25df42a95e6a1eae189b190e58643e0.zip
Add loader and loader test for FIPS DSA KeyPair vectors
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r--tests/test_utils.py1371
1 files changed, 1370 insertions, 1 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py
index cc57665b..7d988c26 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -23,7 +23,8 @@ import pytest
from .utils import (
load_nist_vectors, load_vectors_from_file, load_cryptrec_vectors,
load_hash_vectors, check_for_iface, check_backend_support,
- select_backends, load_pkcs1_vectors, load_rsa_nist_vectors
+ select_backends, load_pkcs1_vectors, load_rsa_nist_vectors,
+ load_fips_dsa_key_pair_vectors
)
@@ -1101,3 +1102,1371 @@ def test_load_rsa_nist_vectors():
"s": b"deadbeef0000"
},
]
+
+
+def test_load_fips_dsa_key_pair_vectors():
+ vector_data = textwrap.dedent("""
+ # CAVS 11.1
+ # "KeyPair" information
+ # Mod sizes selected: L=1024, N=160:: L=2048, N=224 :: L=2048, N=256 :: L
+=3072, N=256
+ # Generated on Wed May 04 08:50:52 2011
+
+
+ [mod = L=1024, N=160]
+
+ P = d38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b725ef341eabb47cf8a7a\
+8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b502e59050b5b21ce263dddb2044b65223\
+6f4d42ab4b5d6aa73189cef1ace778d7845a5c1c1c7147123188f8dc551054ee162b634d60f097\
+f719076640e20980a0093113a8bd73
+ Q = 96c5390a8b612c0e422bb2b0ea194a3ec935a281
+ G = 06b7861abbd35cc89e79c52f68d20875389b127361ca66822138ce4991d2b862259d6b\
+4548a6495b195aa0e0b6137ca37eb23b94074d3c3d300042bdf15762812b6333ef7b07ceba7860\
+7610fcc9ee68491dbc1e34cd12615474e52b18bc934fb00c61d39e7da8902291c4434a4e2224c3\
+f4fd9f93cd6f4f17fc076341a7e7d9
+
+ X = 8185fee9cc7c0e91fd85503274f1cd5a3fd15a49
+ Y = 6f26d98d41de7d871b6381851c9d91fa03942092ab6097e76422070edb71db44ff5682\
+80fdb1709f8fc3feab39f1f824adaeb2a298088156ac31af1aa04bf54f475bdcfdcf2f8a2dd973\
+e922d83e76f016558617603129b21c70bf7d0e5dc9e68fe332e295b65876eb9a12fe6fca9f1a1c\
+e80204646bf99b5771d249a6fea627
+
+ X = 85322d6ea73083064376099ca2f65f56e8522d9b
+ Y = 21f8690f717c9f4dcb8f4b6971de2f15b9231fcf41b7eeb997d781f240bfdddfd2090d\
+22083c26cca39bf37c9caf1ec89518ea64845a50d747b49131ffff6a2fd11ea7bacbb93c7d0513\
+7383a06365af82225dd3713ca5a45006316f53bd12b0e260d5f79795e5a4c9f353f12867a1d320\
+2394673ada8563b71555e53f415254
+
+ X = 8007aace9226517add3b31fb72fe57cf0b71de87
+ Y = 0869599e9c233f98719353f50431b8cf9219443b245ccca95fcf81d757288b27b4ee08\
+037f0a8ee5d997eecf7ddf1cae641fa0b24bb0e0fb97765166d92a79b1519cb9549431947ff58e\
+de390c8fe2c44ff1fe9f8b15839d93cfd727dd0c2698ccf04f85f491d59a4e7fbf873122228af5\
+c27095eea09d7d13b0d585c79c4849
+
+ X = 2f08cf0627c8ffbde07420c324e594170da5879e
+ Y = 1f9098ddb4ec6f7a14841ae87792450292f210fb5a7a908117731b3c5f3d1694331a85\
+a129b0b6b5363e61544c351799ef1fd9fdae6f7707b1ef55933192b03cc41a773d1e2c119fe592\
+05ce8f8c47f27ef0620c6892c61bb04907e00e6b82c81e1b77bb4e3f87562327555a226217aaaa\
+4e1d29bac7cc8cbebceee3895d8917
+
+ X = 423616c18872f9a3ae1db1f70302ae8decff0be9
+ Y = b62df8a3635c8f5acdc92d710d920a643eb93010d003e6e61eee57d6a80ca5512bc1a0\
+b689dd256a2ff1dcac4adb099ef66317de9c6b5188627c1f0aec54049d0bf1c8214c492d09ce82\
+43af9508c49493ea8d6f85d141850ebdabf6cbfeced92c1cc0b844227eedfc03e8650f89c2b6d1\
+1462d8cc5b78254574bbe558f2e724
+
+ X = 4c4489ee5a17f30eec191644ae28105aafb82307
+ Y = 37fe0fdb5adec7bd56cdd68b1fc5669c292ae0c0c7c339aab844b7b83bc0118056274a\
+1f2b2bd4d4c8973458e86bddff94a6adb9b28d9a1f3ff0bc82972e3c8e452756ab7f921750f773\
+d75c58346096ce2b804c57f2dee415471013d9a31d347960c42e5748d0feda02bdf0b22902103d\
+e1591d9b5dcdfb18575d8c164031d1
+
+ X = 4ea539bf524cacbbf850ea20e18659db13c14cc1
+ Y = 7d4b1d55c3cba4f1d7073afda9faed928d7653eac594ef2c84a7c83a77817e186a4706\
+b4dae53f67fe7fc97e5915babda7398aec5a8afa302de1af67e709d6cc5cab6d19af8350273468\
+75758cedb5552494a85e8b2292f69cd2d665fc3375180f30110f5f9f03472ce431a64db795bce0\
+7b0d42bb0d22dc94182dd43c2dabe3
+
+ X = 272b5be463d69c564fb82e54b8824fd5622fd819
+ Y = d133f99a7d8c5168f58a1f8be91e40d98446336533517289d40f0f6c974bbc3abd32de\
+81b92ab4c0d164b44271a884992d93104cca9e85acdec20717492e7cddd24f99146e59c16877cf\
+4a2f4fca669528b0e4a42b2154c09b4a15ac74d1aed9ca141b7fd6b8eeb5f315a88dfade013539\
+f3ca61628411e89f0e6553ed18c03e
+
+ X = 49df2e11a4cab60b3d8f53a02bc8d982a52035e6
+ Y = 555b359dd7998b8020f04f84f7e4ee3e7d7d2352d95b6d5bc51b96a2132bc1ac779652\
+ccfbfb5b102edb3861aa98d4feba59f65bd0501755c5d0d894b031841365f2f4e9749b5850542d\
+be82a3b5d614d93f34692087507d2972acdab700892bb847cb4e881998342b7230aef923a07b07\
+563efbc053a300c0ea284d7f381da2
+
+ X = 06f5fe27b77fbdb24beb34f4fe13203e46ad8460
+ Y = 881344b829c31389b4882c2fde977d73adb72e5001f41b57c7726b9ac99ef413d0fb5d\
+f9ed587994c45580efa11d4445cea85b149e74f746308ee223c82263b14f4a2ec5ae971083dca7\
+25c5fb0ae233b67a4be60be8aca3f40c5bfaf9d9c4dc40d49dec1c4e539c88cddfce40106cb6f8\
+8fd094037fae75de54317ad4842cc1
+
+ [mod = L=2048, N=224]
+
+ P = 904ef8e31e14721910fa0969e77c99b79f190071a86026e37a887a6053960dbfb74390\
+a6641319fe0af32c4e982934b0f1f4c5bc57534e8e56d77c36f0a99080c0d5bc9022fa34f58922\
+81d7b1009571cb5b35699303f912b276d86b1b0722fc0b1500f0ffb2e4d90867a3bdca181a9734\
+617a8a9f991aa7c14dec1cf45ceba00600f8425440ed0c3b52c82e3aa831932a98b477da220867\
+eb2d5e0ca34580b33b1b65e558411ed09c369f4717bf03b551787e13d9e47c267c91c697225265\
+da157945cd8b32e84fc45b80533265239aa00a2dd3d05f5cb231b7daf724b7ecdce170360a8397\
+2e5be94626273d449f441be300a7345db387bebadad67d8060a7
+ Q = d7d0a83e84d13032b830ed74a6a88592ec9a4cf42bf37080c6600aad
+ G = 2050b18d3c9f39fac396c009310d6616f9309b67b59aef9aee813d6b4f12ee29ba8a6b\
+350b11d4336d44b4641230002d870f1e6b1d8728bdd40262df0d2440999185ae077f7034c61679\
+f4360fbb5d181569e7cb8acb04371c11ba55f1bbd777b74304b99b66d4405303e7120dc8bc4785\
+f56e9533e65b63a0c77cce7bba0d5d6069df5edffa927c5a255a09405a008258ed93506a843366\
+2154f6f67e922d7c9788f04d4ec09581063950d9cde8e373ea59a58b2a6df6ba8663345574fabb\
+a9ca981696d83aeac1f34f14f1a813ba900b3f0341dea23f7d3297f919a97e1ae00ac0728c93fe\
+0a88b66591baf4eb0bc6900f39ba5feb41cbbeea7eb7919aa4d3
+
+ X = 3f19424da3b4f0cafca3fc5019fcd225dd7e496ffdf6b77e364f45be
+ Y = 7681ed0ac257ab7ff17c52de4638c0614749792707a0c0d23883697e34963df15c806f\
+a6206f7fafb3269018e7703bd1e6f518d13544331a017713dbbe0cee8da6c095271fbf24edb74a\
+44e18b1d3b835622f68d31921c67c83e8479d1972ed0cb106c68188fe22c044254251ebf880b90\
+49dc3b7958ef61e1e67d2f677d2a7d2ab6b7c42b70cc5dedc3e5de7459a2dbc70c69008553d7ff\
+b6bf81c012c8bd67bdddeaab9a4a4373027912a7c7d9cd9cfc6c81dffe0cc7a6d40c3b2065aee7\
+be80e3c35497d64c8045bc511edaf7314c84c56bd9f0fecf62262ea5b45b49a0cffb223713bdbd\
+3ad03a25a0bb2211eba41ffcd08ab0e1ad485c29a3fc25ee8359
+
+ X = 241396352dd26efe0e2e184da52fe2b61d9d51b91b5009674c447854
+ Y = 2f07a3aa9884c65288e5fef56c7b7f4445632273290bae6fcaab87c90058b2bef81ad3\
+34958657cf649ffb976d618b34ce69ef6d68c0d8bfe275cf097a301e8dd5595958e0c668c15f67\
+b5c0b0d01983057ce61593635aab5e0564ed720b0336f055a86755c76be22df3b8487f16e2ba0b\
+5136fd30d7e3b1d30c3bd298d3acc0a1988a11756c94e9a53184d0d3edfbb649caf03eace3083d\
+e9933921e627f4b2e011d1c79e45d8ea1eb7e4e59a1cbd8382b3238474eb949749c985200fbb25\
+41e2dce080aa881945d4d935076e48a0846dc5513bb4da8563b946af54f546455931e79c065ce7\
+ca223a98f8fde40091d38eb2c3eb8e3b81d88374f3146b0afc42
+
+ X = 6597601e43fd515925142b0a74933737e59c3cd2aa80a794e10a389e
+ Y = 04d040606f0f62d332a4fff2800200ae6c18baf01d3f6d1e9474fffb267e0388532420\
+21e3e2747345da8bb87c723cc1c9c446152b47b76044de0521a253d9f50b38f310bd3f5503d92e\
+f78ba34c09988982ab8b8eabde78210cbaa68d18cf06b8fee156ffef4f85ce06af4e0515c77eba\
+d16b7651273551d82732196cd7b180f747b2f9fa33ff198981ad095145207a726cac95117b2d02\
+800e4d0bba1618dd2615393ecdd35c4ac45ac522ea3a6178691a51c3d83c352dfc762c22967560\
+5851ecfc14af915f220632f74b2f3f285c8ec3ef5df1df2e330f24a4e45e121455813ed7671c63\
+c7efa5eb67a4387386e2d62b4c0006643526333185b341bdaf74
+
+ X = 0864c128bd440c2ae2c75818c3dd8638864c8986805229a8888b1fdd
+ Y = 092501d654b604f0b8a1d979c43412ca43328b5bd5894b1f9c473b17892b02d01ef8ac\
+61fd4c677e132417e57a0425042097037041a0cc76969bf3fc793cb58148bbbd2e46cd53a617cf\
+57d514310d78c1aac2d45f70cf99185edee78416ef9f7e871c0454a78904a43eab19a62042038d\
+a01d3e20cc564900ee917d2ba0aaf1797fcad1dff72d5b0dfd7a6a4818b352152c97d93a819237\
+d8176b178aaa043be6809a92a7a529fc76e76df9083db8322b2140f84e507975bd7c11bc9d8f84\
+d09e4756b60bdbd1d00d7761e45ce20c790fcc89ce9c611173750ccafc65e71c6be7bf04f8dcfc\
+1023aa6595df397906b968045abcf8d04ac7a8892ac660ed864b
+
+ X = 7b77e817e3cefa4534e7c64c6100acee0141af243a9da541727245ba
+ Y = 302449ac7f32830c5ba247ed84c7164d9e868cbd93bd00bbd51afa84717f9c10f0984d\
+c5a528ac2fe8d8db4852ddbd553dffb6edf424ae7fcf9c04480a1fbd4209d4cecc29f3f2ebfb8f\
+5afb64b8f3cb022a3e73065483e3ea40d323fa843ffb9f2ef1be94e1f027bc680491d510177ee1\
+7a217c67e60a0a4d731d03398d4c9c2b212ed5e71291369f19b1445f677d32f4c441a84f908ec9\
+1d0a1c53337349eb5a74f94e127b57fd4baed51f3db00a7c4bb30b76ef088613422be64cc9e289\
+8337e6cd58d06a17eaa99b7c3324badec0b559dbaf435a32f82ef9c5f2c4766870cc1b9275d3e9\
+6e6315c55cf4d13ded14d8172df84eba120da038f12b1bf92dc4
+
+ X = 12b57756670073de8bc9f25a5a9ac10cecb5a34945ece8c3cfeefbe5
+ Y = 7001d0f2b7c07e7589c0c28311419177388a79fb74f7b761c79b9c33d7f516f51b56ba\
+9c227cab80c5dc3a334b0ffb952ddee23a733dd4100a207cf03ff0b96a180118df0f8fdeee5621\
+10d837a535476dfac4de2b9a22dada75ad30e8a0b2c40f78db89f78b7558066dc46fb51adc8e0c\
+d5a43824a1bc80f46e1fcaf788e79631bfc0c93481c6f76b159043b846aee4ac94978baefe6398\
+ecb1ea5873c64d972087d80b6f5a285c9f349341393bff6fc53ddaacf8222e21b2ad5a8d0a030c\
+71da771110d35db80500fccb2a778f76886b2c3187a41cf349b908cef0ce4e909cf3925535bde4\
+3b4162307207e2e4de23bc10381a769c4616eb0591de1fbe64f8
+
+ X = a9f140ea5c160405bd7b0024036556de7452eaa4e44553c99d36ace9
+ Y = 51cf000e715c5710110448e73647e00d8760da9cc3eed625c08e8a049ef61f8c79e88e\
+0d28e3705c4031d95dcd05324007683cc65c981ea08c8698e84d291e20357899a44ae65ab98f7f\
+7e7047d43883266a56a69a445449c4c179156ed4a2f5495363bba0b6c88ec609fef584d77e3359\
+186c45ed89b6353839a06c9a258e3ab01d7d88a671c796787c40e539f32013de4b2cbefabc8bb2\
+0a0f3c18657d11dbfb67787b818a9f75b1761bc0dd5f49d8e5f92b338f5cea0567f1dc7840df41\
+ecfd1d49b2e1bb0f25ca8b90129076f57f1d137bcfca9be6dc4816b4413793c1e4deb97e545462\
+88ec5ebbfbad08e8ad30e1327437d709d54febcd4d403e0b5852
+
+ X = b865321afa5061d48c51fd3b5e2c0b3ab6bedcbe780ebc51ccceb3e0
+ Y = 8b1e3f87a4a5e4b2fc6f5ea6301f48d7f82cb9608e866952177638050172dc5c7a7248\
+4e526bd6593265bea0b37ac4b471f9ebe8d23b9457f680bfe3a13babfe0051a5ff38bde37cc1f0\
+48c3a5169237d41e2952e64e363576b70910c29c56571dfd4c4ff4651eb43ed060e082155bc90d\
+0baa2b67c6cd27d6badaecf921a276c3a98a2297b789f0e1f574eada6cae30706dfe96aef9fb43\
+07509c47364ed81e2e1ac16b2c2f8e040ca00bcd3ad04a33ae562cbc3779a9cbb6fe6c51669d11\
+23cfd4d5687d5c9e46c1e0e9205e638ae18f737804dfacc578c3a4aad529ceeb4695c10ed24c09\
+c88a2e723fc8bcc4a8cbd9c626245cfd1c6e2caef7abee1be824
+
+ X = 7aa8736a0b96f558c8998d65cc29dbf62f3172679b03f40ea60102d5
+ Y = 6f675b01fac4ac2caac80cad0eda8ccc038c06ae8aa95ae5832f4e90ff744e73422a9d\
+5d53c109b056e2205d026bc8220098de413d46c3815aeafd83c1c2a111c4bde690be1c24bb95b5\
+fec1917f5d2a86533bdb8d3beebde645fe0a849479ccc92145507b0e283c81056ca3cc97685fea\
+8040f1881975ca17d166494d08207bc9efd92c62f2bdc2cbd1be8bdc7cf479885e225466d09e73\
+666c8d57c5e1ce3025f8912560adf769e54eb2167ccb69afbf958e178e8c0bbba55415b0f90d04\
+0789ed42be470b7171556d63799618f7eaf1a5bacfb8e8f5be4bda95a57822d96cdb3b454db927\
+4aac690879b66bda0672fc7fa6031ed40ac5b5a8ae5d0e4dd630
+
+ X = 7979f52dc7a4958f5075982e1c0c359dd398cec0a75ced7897834c4b
+ Y = 0264508b83422b402936c841b21b14d328202c0138180b823d22291914b00d2c2f8e3b\
+033da92e4b1f76b35332362117118404a66b5c87dec38957c2a15aa5d109d763be6a02f4389a26\
+c300e70b626fc68fbd04e1b2de8b8090d1a5a8e0a08dd110965569852121dcf44f92275f033cde\
+840896257645d9390ff95c0afa7a5b1085e3c02a481d5b3b304bd07007654c4daabb1993480cf8\
+2755a30bf9e66cf9d06f4ad75b7c2385682cc0719867ccd3e732a36ccd3275ddda126bc08e5093\
+349dde5ef729a6f972648b8fc974107be92f57511dc903651d90a5f1939748769dba01f0b7afa1\
+3c18e6c38a255fbba0d7d1d0eb2fdd4d1f9e2b10a9b0f7cf095c
+
+ [mod = L=2048, N=256]
+
+ P = ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace5e9c41434c9cf0a8e9\
+498acb0f4663c08b4484eace845f6fb17dac62c98e706af0fc74e4da1c6c2b3fbf5a1d58ff82fc\
+1a66f3e8b12252c40278fff9dd7f102eed2cb5b7323ebf1908c234d935414dded7f8d244e54561\
+b0dca39b301de8c49da9fb23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cb\
+b9ac247baba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6ecabf2\
+1bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6db2df0a908c36e95e60\
+bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa66ef7
+ Q = 8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b18f507192c19d
+ G = e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6ccb6b1913413d344d1d\
+8d84a333839d88eee431521f6e357c16e6a93be111a98076739cd401bab3b9d565bf4fb99e9d18\
+5b1e14d61c93700133f908bae03e28764d107dcd2ea7674217622074bb19efff482f5f5c1a86d5\
+551b2fc68d1c6e9d8011958ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b\
+4f197c322b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd74f13\
+b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b629ddfa971f2ed273b14\
+6ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e558302
+
+ X = 405772da6e90d809e77d5de796562a2dd4dfd10ef00a83a3aba6bd818a0348a1
+ Y = 6b32e31ab9031dc4dd0b5039a78d07826687ab087ae6de4736f5b0434e1253092e8a0b\
+231f9c87f3fc8a4cb5634eb194bf1b638b7a7889620ce6711567e36aa36cda4604cfaa601a4591\
+8371d4ccf68d8b10a50a0460eb1dc0fff62ef5e6ee4d473e18ea4a66c196fb7e677a49b48241a0\
+b4a97128eff30fa437050501a584f8771e7280d26d5af30784039159c11ebfea10b692fd0a5821\
+5eeb18bff117e13f08db792ed4151a218e4bed8dddfb0793225bd1e9773505166f4bd8cedbb286\
+ea28232972da7bae836ba97329ba6b0a36508e50a52a7675e476d4d4137eae13f22a9d2fefde70\
+8ba8f34bf336c6e76331761e4b0617633fe7ec3f23672fb19d27
+
+ X = 0e0b95e31fda3f888059c46c3002ef8f2d6be112d0209aeb9e9545da67aeea80
+ Y = 778082b77ddba6f56597cc74c3a612abf2ddbd85cc81430c99ab843c1f630b9db01399\
+65f563978164f9bf3a8397256be714625cd41cd7fa0067d94ea66d7e073f7125af692ad01371d4\
+a17f4550590378f2b074030c20e36911598a1018772f61be3b24de4be5a388ccc09e15a92819c3\
+1dec50de9fde105b49eaa097b9d13d9219eeb33b628facfd1c78a7159c8430d0647c506e7e3de7\
+4763cb351eada72c00bef3c9641881e6254870c1e6599f8ca2f1bbb74f39a905e3a34e4544168e\
+6e50c9e3305fd09cab6ed4aff6fda6e0d5bf375c81ac9054406d9193b003c89272f1bd83d48250\
+134b65c77c2b6332d38d34d9016f0e8975536ad6c348a1faedb0
+
+ X = 835fd2d1b7b03d90c5ebc073ee69b386c9c07ca06bce80bc574634af8d534f7a
+ Y = cbc3feccf1ef62d31df626a4b2e234afdf1795443e46a471ec8b902b0ae9af36344120\
+ed3ca6009751b03e8963a6151e7b2fe572837c3e23815d472ce75cfbaaaaf36e89a939983bd494\
+f0421b0f35079e5a243672d708ca3492539733b2a847f638167f7d64c8dd7e3cc8b2f0e7a7fb4b\
+5d1eb4671378caab107c56cb19e4656c5dbb829a712aea8922d1086ffea567dadcf8b42a7d850c\
+b3fab1ae7bbd095a6b55c89e1477cbd3780d99474ec70151f0043240a62f730e498310e64b892a\
+07c6716b9cbead0e826e8c545aa0d358d1588fd65d83059f237b9bd732a5a83507c9ce89dc9a98\
+cbf9517a76cfc4c588d9d98c0520ba0a0b936e9f35821c31bb23
+
+ X = 30f59255791b2f1d8a28e612f9f838201abb68d2a1256830041e0e139088f585
+ Y = 0ed9564e1d901e13dfb367c71859af2ec4cc2ed1e0007e9d6262ae1c84562f81ddbfa8\
+0ba8dad6d7dc70d38579929ac69d0fbe04143750f91741ccd690ddc3c743cae9589bd32147a677\
+722ba1289a567ea724e20c5ec1e1621582932eada130b8a579d2ff3590bc70fe09721b0067965e\
+f2b16fbc7d4739dc780592e5868c8ccd298082ada393654e26e7748177fb55e84509427dd14dc3\
+f92e1c6a3e83eb705bf1537d08a0129f01e2c92234264efce0ec2164103999472631de238ddca8\
+4d25a6436caf75563085ba5843e2271bb9b12ee1cfa2dce94d681cda686d281c7ec10b6c4e44af\
+f0bf54452416d76267e09eb2a73264433ee9dc72fdf4417c6f7d
+
+ X = 4d921f8c9e8ceeb7e5244b843a9a238af96818d760bd872ea3e7d3a37d7e97b5
+ Y = 8b3907eccaaa1ff67705789dbf7e914af940353cda7d0da1d2564a030a5afd7a70d408\
+14b32b0092fe1a92ebf91f2a2c10e9fab9521d855fd8c18199018d5810c7ae7633829f85c739f2\
+43d51c3567449e8f500dd5aec8ff8e1bb3587bdcea9635e4e4b0215ab00d9ea6edd3c48579f257\
+f63a95b85271925334bf73900c4e0e4f644379afc9f765354051a57bf37c939d2055d78919ab1b\
+1e9348d585bc73836cfea8310209940cded440fa131e873243029339f57d3a2c4f57ebee294a42\
+a06f339dd9e635308755575801b418c5f83e23974b5b4c2f703a628b3fd83b398b5f271616492d\
+f14efb7436ed630b4e39d40ab504935bbdbf9b82f25bbd09014e
+
+ X = 1b46dd4a0b6c3693a1f1e685dd529d6f99dec061d631c7c797ed9908f14b39aa
+ Y = 27e21468657d4f6216e806b716ab87fd324a22d0df4d5e1c26bfc12676fc5db5cd1345\
+d3e078428e5fcc7e03c6a6fb6c4e181bb561cdbdfe565f38ec384be183fc5a0930eb3a92cda25f\
+2867b05a7bd7d4d1a7739be9a75569eac9e98e4115ba415db505ef93c0e2b1e58789acd474e414\
+3dfe584ce1f1df6da01f5d3f9a27bba10cdf78737e7aa818daf753eae647477ef20283f5f62b0d\
+9b53f073281131ef3c692407724c5f61abbabcb24ab056236a7062004b2739c803f663d9999934\
+66b5fca3452d954b0edbbf7fefda6d40df8df7ed21f83885e44ebc511a70cb03d525bbe21dce5f\
+fb28516441aea2f804301a6c2527265a3df0c411d48cd370fff4
+
+ X = 47eea9c0e8b43329262f3a0b617cd04db1cf159af2aba0ea06c2ee5b8a6c2d69
+ Y = 65dad9740de9422632c4401df77b68a37fbe3db48aceadab7d9002770b38dc8297886c\
+dde82fab71650944a692cf714f82841f4f5668ecbeb677744e398a558c5f72d087d26ee29b6324\
+c8def060ed5c5fe4f10b215f4b04dde218fe023ae8fcb99be89ad9a1bb737ae73ae7180944de3f\
+d6abc0d66b6832213a5db47469e6127394bc1fd5142e46438fa48f9774038a3ea312bf539c700f\
+7a486964abdde996cc0b7d84fec7ef4da121db184d2410d44e9ad9b1b95c3d71edf4a4ba1f29e9\
+b8733097fa0c7e8a43141fd0a560f1675323c6ca4504ddb1ed1c2e5887c68f4eecf426f64ce222\
+2bb7a83e771dc27464fef02da9c7c78b2cc36a8aa34b2ab5555a
+
+ X = 7e15dc5a1fbfa404a40be5f94334d22d50c29550008d29daf16ec682fa29e10a
+ Y = be5e833678b92b78dcbf83b9137329bd9a4fcf3094baf2bb3fd4518e663911cff2d799\
+5ad5903e0b3d6a71e0cf01426ae03332331867857ef8935a78f75a269268e108b1b03e5346eddd\
+f4af610ba2aaeb55e5132dccf989aaf5ea069574147c9925297847410ce9fbba9cc65e73e011f2\
+49f449dffc304a170f2e2a218197e91128ead770f03e7e8966887c870e6c405129e08f5c49b1cd\
+ef48be2c62007c629c35330e2a27f73acf334295dd7832cbe495b61204694b1eab831a05f40b7a\
+84c3cc726aa6fa408d2d91cb3e02dd7487d4fe1e50b0f7b4d6e468bb086e695fded8f9e8231bb9\
+a40b0ff33b61f7143e7df513e7219c2b9102c8ac4321b4036ffb
+
+ X = 8c77eb7870a4108f70251698f0a272a45a87346c8ef14d01e6e5effd914e65eb
+ Y = 7e3451f243886f90c62cff555ef70fb1b28e3040336d03e2924f8c093e9afddadc8a2e\
+769eb98b5187feb9e029bba4fe3c1fcd0e891abca0792ab9cea27250be580f68baa5e92d05e405\
+f8ceeec89b66020a4b08c5b0b4ffe123cf75da89f06a54e90c1f1a747f51e5208d7d718d8bf3f6\
+173442914bcfcd8f68568d7933471f438fe33efffb867b75a8bae0000795643d4170d49f56579f\
+4d5082d50bd0b21837fa4066821c3b4bf9e88a7e3064d76623e07174a3459cef41afa192b3fd4d\
+bc84b04e48facb96a66dd39864f8c90838890bdaac64211b0cc800a2a4523540fce1c90d48d44f\
+2160ba2cac83988b09faf27e371298d2feeb677e71ce37e35389
+
+ X = 12d4b73532b0a480f88fb82eb3cf89729539ba3b5bfb463c792dc223d1a526dd
+ Y = 1371ad94dc2db02476ac925aa0cbdd7e247f86a08a6f2492cd4b3f7b05aa881b2e83d0\
+c5d82246c17cae230a41dd04f05a8c3fed1e09cf8e0d8dc98a9887ff772e2f60434ebea076344f\
+4fbffcbbbd8dee4bc10e7626f26a92c3bf0ac08117bd539b477077d45e11fbe47818f3ce03d6da\
+f34c77595e72d1c8376d9772f51ce956f0e30e98f51155e9effb974f3d46fb48c76a004b0117db\
+c19d78044f248821f88fa87d55ba124842d159b5ac4ce916487ecf9d03321241a2bf1896747f15\
+5f281434435741b1f26a79d35270167ba3b505a6cec672339823c8fc6dc797d458d639e5ed015a\
+c710ebd31b86d736e9b2ab340e7f38f58788483484b81eb0b1ec
+
+ [mod = L=3072, N=256]
+
+ P = f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e7d5828c352f593a9a7\
+87760ce34b789879941f2f01f02319f6ae0b756f1a842ba54c85612ed632ee2d79ef17f06b77c6\
+41b7b080aff52a03fc2462e80abc64d223723c236deeb7d201078ec01ca1fbc1763139e25099a8\
+4ec389159c409792080736bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554d\
+b2561d706a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5df831d\
+36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284f5b71282045aba9844\
+d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb50c6bf1d54f90cce1a491a9c74fea88f\
+7e7230b047d16b5a6027881d6f154818f06e513faf40c8814630e4e254f17a47bfe9cb519b9828\
+9935bf17673ae4c8033504a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaab\
+b7338b854e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b692229957
+ Q = d3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210f6169041653b
+ G = ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978db2104d7394b493c183\
+32c64cec906a71c3778bd93341165dee8e6cd4ca6f13afff531191194ada55ecf01ff94d6cf7c4\
+768b82dd29cd131aaf202aefd40e564375285c01f3220af4d70b96f1395420d778228f1461f5d0\
+b8e47357e87b1fe3286223b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce7782\
+0d88cdf50a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9fb23c1\
+d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37daddade2d823a4d8e3\
+62721082e279d003b575ee59fd050d105dfd71cd63154efe431a0869178d9811f4f231dc5dcf3b\
+0ec0f2b0f9896c32ec6c7ee7d60aa97109e09224907328d4e6acd10117e45774406c4c947da802\
+0649c3168f690e0bd6e91ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb07\
+3cecfe83fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775ae
+
+ X = b2764c46113983777d3e7e97589f1303806d14ad9f2f1ef033097de954b17706
+ Y = 814824e435e1e6f38daa239aad6dad21033afce6a3ebd35c1359348a0f2418871968c2\
+babfc2baf47742148828f8612183178f126504da73566b6bab33ba1f124c15aa461555c2451d86\
+c94ee21c3e3fc24c55527e01b1f03adcdd8ec5cb08082803a7b6a829c3e99eeb332a2cf5c035b0\
+ce0078d3d414d31fa47e9726be2989b8d06da2e6cd363f5a7d1515e3f4925e0b32adeae3025cc5\
+a996f6fd27494ea408763de48f3bb39f6a06514b019899b312ec570851637b8865cff3a52bf5d5\
+4ad5a19e6e400a2d33251055d0a440b50d53f4791391dc754ad02b9eab74c46b4903f9d76f8243\
+39914db108057af7cde657d41766a99991ac8787694f4185d6f91d7627048f827b405ec67bf2fe\
+56141c4c581d8c317333624e073e5879a82437cb0c7b435c0ce434e15965db1315d64895991e6b\
+be7dac040c42052408bbc53423fd31098248a58f8a67da3a39895cd0cc927515d044c1e3cb6a32\
+59c3d0da354cce89ea3552c59609db10ee989986527436af21d9485ddf25f90f7dff6d2bae
+
+ X = 52e3e040efb30e1befd909a0bdbcfd140d005b1bff094af97186080262f1904d
+ Y = a5ae6e8f9b7a68ab0516dad4d7b7d002126f811d5a52e3d35c6d387fcb43fd19bf7792\
+362f9c98f8348aa058bb62376685f3d0c366c520d697fcd8416947151d4bbb6f32b53528a01647\
+9e99d2cd48d1fc679027c15f0042f207984efe05c1796bca8eba678dfdd00b80418e3ea840557e\
+73b09e003882f9a68edba3431d351d1ca07a8150b018fdbdf6c2f1ab475792a3ccaa6594472a45\
+f8dc777b60bf67de3e0f65c20d11b7d59faedf83fbce52617f500d9e514947c455274c6e900464\
+767fb56599b81344cf6d12c25cb2b7d038d7b166b6cf30534811c15d0e8ab880a2ac06786ae2dd\
+de61329a78d526f65245380ce877e979c5b50de66c9c30d66382c8f254653d25a1eb1d3a4897d7\
+623399b473ce712a2184cf2da1861706c41466806aefe41b497db82aca6c31c8f4aa68c17d1d9e\
+380b57998917655783ec96e5234a131f7299398d36f1f5f84297a55ff292f1f060958c358fed34\
+6db2de45127ca728a9417b2c54203e33e53b9a061d924395b09afab8daf3e8dd7eedcec3ac
+
+ X = 698f9d6431b02644cf2a5ab06c6d0e7cbc84d2b98c55bd3230744e5b9f353eeb
+ Y = 07d138d60a1a141a12ed92cba221f98f0ebe7067426991473549ae920ebbbbab173b00\
+0dc6d5836355d6e760fbc316a06102ff1b6c70806b7096a5b3f08393a8b0738f32bb110434990f\
+a1567ee6059e366a8402d433d8b4304d50d9ee2b4c066d7b9d72b32871e41f844878dc43d3321e\
+d1e9301cd8e56844403bc5b52d51679c26a23861924d05d32f0dde8c563e34db4ba595e9554439\
+cd2a1d5377a0a0d273033c622ce7bfb820a024f2994cbf0da8b89921cc2b6b6eae64b969118157\
+b0f104bc79bc848a7549a422e8e12569d2f19abe6aa161a4ba04b9b4581435516ba443e71d9780\
+fba2aade09c7146177fd91d86881dabf7478b6238b8e95cf046987624ed6e979878c9deed9148b\
+4741ec5642f777875deae7cdb29393aef8416b1d12f83257f1db323435259e091ecd38eaa82e42\
+8bcb887a98f0f11a7283ec14f901d1df1de3b7d486436a8f8aa1b40449d47681fbb323503ad32a\
+2a11ee214b77c0808bae203af3f6f07f22edefd40f66a62d0511b2419966625e111cb60a7d
+
+ X = 1b93d7bf1088760653061409145105940379f9b8b0a9dbbbe001a24ed78e1007
+ Y = 8846c32e6637b4eca3511c3a7f6c95bba4fe1767ce6a3e361e51c63f0f5beea3391688\
+0e970aa26357befd6081f4a1bbd42172e3ca27c2c109b4284f2a2c3910f1d9797bc7879b5e0da2\
+8af487f5b4af2a663ce3bf2c46ddf1549aaa1560bc9eb71bc668fcfa09e06d094685057fa72aab\
+91ed28c20b55fdcac00ee0a43db3c9f1cf03663ac08c43988d923a0dca541ecd82efd54c86076f\
+79035066c3b7dd39065045dc9fbb2e6c00073523c847ae0c5c05977ba7bf45f420fe9b2f219232\
+986c633c54a8fa565d64828e9dd80cb0d095009b9d3ef64758a12ce6b3f49db5dca3683120a920\
+c6081c96c74495992edbbb9871cf02fa4113340a128ac4d113113467f6470f994252ea70e56552\
+fcbce91c4299de0ab01c4f0d488a8e6076fd42cf7326b48c41dceeda5415cdc3237bfcdcb358dc\
+b7fc6ad926b475560a82f95e86e787207dc3874c6aff0bb63b83c1ba5f9aa9355893ab8659dcd1\
+ed4edcdbbd4eeb09f525e3091c576a200ff0219510e97086b40b7849684974eaa9e7f59a1d
+
+ X = b0c2d0426bc4d5bc98fe90c36acea70591f979dd891adef2363ebb23e09727ab
+ Y = c24dd31f155e64fe98e26451d93410038cd696f9e3a36539fc977550ef729b2129ab7e\
+b6bea156701778c6a7509e54e7d055f9c185dab63010b0b255419944188a707ab1c6a3a7dfd85a\
+a1c60e93a815e0954c1d114bc181f631a3c67713a2ff38686d9d37e2c0b83b6a7cba4c8302f806\
+94d9d102347e9209ba58c7ed4c3e66e25d6df79734e326507b8bf0b63fe78d70478ffe4a4abdac\
+d519b2480ea90f3fed6a3d6688681e9750f6a66849947389ef6514330af485d3b2b2ebbb07d261\
+55fa0d3dd035e49447119c0a66c5769a3a4315ce648233eecc7e151bcf42052d272a6b5bd6002c\
+5639097f862720c84a5e692ff522ed01bf40071cebf3d6fa8c750d60380a5ce4aa59ad8dfcb795\
+c21aad83b026da7651c2c3c57065bb5bff40c0bdded071af7c992d1ed0adaa92c91e031977dd44\
+9c9355490e513a22e7e17c4625b544f791728147537c90c6df02e07e7286df88ffac76d370f7c2\
+dc19b8b7c7292bfdc3d4cd211649e6c173679bfc71093669c8daabba120431fca20dc6bfc6
+
+ X = 567ed324dc525efac9efc2509345d30f26caac2e66897458762788b8f94f8a9c
+ Y = 29e2d6f62cdda129f6e004f37000e4661d0fe967249c37c0ebeea879419f26f4a64cd9\
+853c5667705cc39d4137e08d8af7b109c9e43276e413ea05bd0c3e9a84a28191890bbac002706a\
+5c7f385531bb882de5d8e57233ad1efd7e5f3fb090f626795af1b55dc8e98cc801a40b8fff5b09\
+c70a54085e431b5b0207858b1b3094eee076ba4b12845724ac5e4714b0af442d26c3cf585e2fb5\
+3c0f16faeefa16f171deb03e004a47fa5309ca5a74070bf2b775a8c5fb7611af85e17f077295f3\
+7565635842188348d28556f4768a110794da32b4634eaa9e9a4acb4bb6d2e8d52e66ca5ca7a8e6\
+4f46b141b0273704eb5767df2f23d90959e6ba41bd9b5686a1576bd53132377475718403367c45\
+643ba43eeeff6ca59882b463df111f4729a985eb880092117f0c60b16ee6c68eb3c123da388d58\
+979e0d73ff392fa542e1601fff532b9ff35924fdc9a08c3bc348e7a573de2d44ba46173c84b064\
+057c69107d9a03e0c546a4abbc43e095faa777851d03292c6dedfc8809454c7059250efbb5
+
+ X = bfe9402b3493230bec4992e411bc1af7189a66015c8244466c9d1ff9b1c2a7a9
+ Y = 5a314cbbbe66a88fb370763bbc26d4b3610cd397f58261e59a6ba3548d5f4561c5a548\
+048c4e349cfce45ea2d8843a80b377895beff75a149e1c69f4dc58992dff68ea4785d64574653f\
+1e18a515091c8ccb59e01bc053c8470682c43908da6a4c83ec86ea6157042bc48ee14b8b778cc6\
+8435d112c15f4200f1a15b06f2e3ac826b832ebbb5bbddc904ba9b321a23b98fa1f2a1d3824bd3\
+ff3dc2900f6897948e7ddfb37b604f214ceb87a662a95a9736f89d6ea420b9d2f5c365bb618286\
+2a85900af217d2822060d87c74bc2d55a945cf62436222bdbc3f4930566fedd060f2ee81db0f97\
+f87499a2bc011f76febc1eed40071c23c37ddd6da4a8e9aae4028e88ff409f041c7fe26c9aac8e\
+d487b0e197cc557a996a30fdf1504dc7b0de1a0120c646821a07784fd6f22f586baa067a3f7978\
+c898bcddbf2544ec0f8e59ba826e71d6ceec1c8d735f8ffda75f43cbd4a1efd2af42fa836b2c46\
+4811175845f72e7cef58514f4bfe86076a6f4d9e9b0eacee11c32e96bb63cd0c439a5668a4
+
+ X = 032b33c28d8645e4e83bb7577d9198677332a615478e78935419218033d01af8
+ Y = b91ea0d1884c225566a50816f7f8df5fe4b2f295ecb7af8352a52feaa15409205c7747\
+d269fc53ef73ae100ab8d4c1dd5fcceb2173942b2b025e9d6cd57d6d87dcb7691e95aeec58038e\
+d38012ef805b9bcfd1ce4b9ab26b9f476b215159608073e796b5bbf759a841a89a50426ad1e24c\
+82584107f55ccbe85022e14fb372e113052bab5c852213e0c2ef6c608cd4b70da884fc6423fb89\
+4fac291da6fa057a6b020c6605a92add57eda2e188ca3b18b14d2f7e60ce3f9076877c4ab319a7\
+60e2a5ac9ec591e9b57096d9e6d1db6648415b89ba9b42f4b6d5487c0566ddd514023db211a709\
+944df819636c6c3e50fa63490b153873d00da653446e56c674ddc32ab1ef2b3ba945fa4c18f496\
+d295d6379899e24cb58abc4b092cad55017f97837dfec549f1337b3e84658653823142f75d4533\
+d33c467733d971a8b118c94da090a5f1adb02847d9a08cacc663cb99cd67116f63b689a5660f9c\
+160c952802b23eb6361bdac590e9dca0c67bf626e84ad30684070b7149338d00db790625ba
+
+ X = 2c26fbb0469074e06e5f267d6e91171e0c1f3ba77197fc5513807b490920e5ba
+ Y = 5490d55c6a0b921e63837847c2787a710bf66e91fe5e8d5604bd0872851a37c4981f76\
+487f4e85f05b68f99af7bcb240844f6c1b4a0717d44ce9c425757666efe9d146b91cd556b37080\
+e6a2a73e68415bc85d6a52b4619d473d7a144bf3d56105efe21c99ffa806325a6c675f8ca6abcb\
+3219d9856f6bdced1d9612e8728594108b76b4a544cf1d5da42974b90cd59b08857ed5d442c596\
+bd45df9ffcf30d71192bcf04b19b9c44a5426a25fa03e97e46fc9155ad45e9261d0fb5d736852a\
+efb800d9827e39c9f308b035e135587fce4bc604198eb846fc2b290ea45808367f66b1a7c9493c\
+c82bbf99cb0c69ad51e7c49062c40b72325fde6fa93ed872d3989aab6add98d51dfba24b7a7b3a\
+19b2fbcb7e5d9816c07d385afb799d649e7fb3fbb3b4a84219083c65e4a54d52313b3e11cf4cd5\
+c864afe34f5a2ff883189955d401acf5aa8e51f9c7e3333ae9e3393ff77400df4059e56df5a4d3\
+74f12a8d7eddef9e8a7f8bd267a04dd9720ab0479ec780173d644eb52d7f5d4f3a589226d2
+
+ X = 8764250978f67f45cb30bf487da305413ee0bcc1ae483aae901e806d321e6baf
+ Y = 8f461958d60f81940da1735ccbeb9396503d96bb8d187361fabda001c67c713164b690\
+affb8959ca6a31c7bdd9ff21b23e6d94a63a61c7cc11b4b3b90500cdffdba160603972abf3fe91\
+704a190fe33a3f59a2c30cb5ad3bf9f85a710f3cdfe93949e6b18865e5d21ea8b42c7e57a7b400\
+ff2ce7543e89970dfcc7e814be38eeebb74fc28aee97ab0f4138ca3a67e478c6c38ef8f3422c67\
+fdf432c049a62836b967600ab3b11fff42f0414196d89af929282c0f1102dd51cac5d509644fa4\
+d43e0b0761ce7e7c0b531b8098656826d312bdbb439b06d45757260b0ff20d2aa02825044b6808\
+5916227cbc53a67cb640d6238034bb67f00c13d181c07082c238588a1df85530a2b14dbdb749a4\
+7f879700c9d86c1eeb8f618bdcbe2022027064a8eb8b6f57ca411b0e14d6684dc0d26df27d76e0\
+0bf6acc9132a98b9b2077a832995e7734c1cfc2dbc67fe8f85056cc52f8cb1aafd1e7fd74af30a\
+9297bed0c7b20422b10321e9a67566c0f1cbee858021d1686c87c4178e6a89be47c846c31c
+ """).splitlines()
+
+ expected_vectors = [
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66\
+822138ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3\
+d300042bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd1261\
+5474e52b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f1\
+7fc076341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc8800\
+5d4b725ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae791210\
+2b6b502e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace7\
+78d7845a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e2098\
+0a0093113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '8185fee9cc7c0e91fd85503274f1cd5a3fd15a49',
+ 'y': '6f26d98d41de7d871b6381851c9d91fa03942092ab6097\
+e76422070edb71db44ff568280fdb1709f8fc3feab39f1f824adaeb2a29808815\
+6ac31af1aa04bf54f475bdcfdcf2f8a2dd973e922d83e76f016558617603129b2\
+1c70bf7d0e5dc9e68fe332e295b65876eb9a12fe6fca9f1a1ce80204646bf99b5\
+771d249a6fea627'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '85322d6ea73083064376099ca2f65f56e8522d9b',
+ 'y': '21f8690f717c9f4dcb8f4b6971de2f15b9231fcf41b7eeb997d7\
+ 81f240bfdddfd2090d22083c26cca39bf37c9caf1ec89518ea64845a50d747b49\
+ 131ffff6a2fd11ea7bacbb93c7d05137383a06365af82225dd3713ca5a4500631\
+ 6f53bd12b0e260d5f79795e5a4c9f353f12867a1d3202394673ada8563b71555e\
+ 53f415254'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '8007aace9226517add3b31fb72fe57cf0b71de87',
+ 'y': '0869599e9c233f98719353f50431b8cf9219443b245ccca95fcf\
+ 81d757288b27b4ee08037f0a8ee5d997eecf7ddf1cae641fa0b24bb0e0fb97765\
+ 166d92a79b1519cb9549431947ff58ede390c8fe2c44ff1fe9f8b15839d93cfd7\
+ 27dd0c2698ccf04f85f491d59a4e7fbf873122228af5c27095eea09d7d13b0d58\
+ 5c79c4849'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '2f08cf0627c8ffbde07420c324e594170da5879e',
+ 'y': '1f9098ddb4ec6f7a14841ae87792450292f210fb5a7a90811773\
+ 1b3c5f3d1694331a85a129b0b6b5363e61544c351799ef1fd9fdae6f7707b1ef5\
+ 5933192b03cc41a773d1e2c119fe59205ce8f8c47f27ef0620c6892c61bb04907\
+ e00e6b82c81e1b77bb4e3f87562327555a226217aaaa4e1d29bac7cc8cbebceee\
+ 3895d8917'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '423616c18872f9a3ae1db1f70302ae8decff0be9',
+ 'y': 'b62df8a3635c8f5acdc92d710d920a643eb93010d003e6e61eee\
+ 57d6a80ca5512bc1a0b689dd256a2ff1dcac4adb099ef66317de9c6b5188627c1\
+ f0aec54049d0bf1c8214c492d09ce8243af9508c49493ea8d6f85d141850ebdab\
+ f6cbfeced92c1cc0b844227eedfc03e8650f89c2b6d11462d8cc5b78254574bbe\
+ 558f2e724'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '4c4489ee5a17f30eec191644ae28105aafb82307',
+ 'y': '37fe0fdb5adec7bd56cdd68b1fc5669c292ae0c0c7c339aab844\
+ b7b83bc0118056274a1f2b2bd4d4c8973458e86bddff94a6adb9b28d9a1f3ff0b\
+ c82972e3c8e452756ab7f921750f773d75c58346096ce2b804c57f2dee4154710\
+ 13d9a31d347960c42e5748d0feda02bdf0b22902103de1591d9b5dcdfb18575d8\
+ c164031d1'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '4ea539bf524cacbbf850ea20e18659db13c14cc1',
+ 'y': '7d4b1d55c3cba4f1d7073afda9faed928d7653eac594ef2c84a7\
+ c83a77817e186a4706b4dae53f67fe7fc97e5915babda7398aec5a8afa302de1a\
+ f67e709d6cc5cab6d19af835027346875758cedb5552494a85e8b2292f69cd2d6\
+ 65fc3375180f30110f5f9f03472ce431a64db795bce07b0d42bb0d22dc94182dd\
+ 43c2dabe3'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '272b5be463d69c564fb82e54b8824fd5622fd819',
+ 'y': 'd133f99a7d8c5168f58a1f8be91e40d98446336533517289d40f\
+ 0f6c974bbc3abd32de81b92ab4c0d164b44271a884992d93104cca9e85acdec20\
+ 717492e7cddd24f99146e59c16877cf4a2f4fca669528b0e4a42b2154c09b4a15\
+ ac74d1aed9ca141b7fd6b8eeb5f315a88dfade013539f3ca61628411e89f0e655\
+ 3ed18c03e'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '49df2e11a4cab60b3d8f53a02bc8d982a52035e6',
+ 'y': '555b359dd7998b8020f04f84f7e4ee3e7d7d2352d95b6d5bc51b\
+ 96a2132bc1ac779652ccfbfb5b102edb3861aa98d4feba59f65bd0501755c5d0d\
+ 894b031841365f2f4e9749b5850542dbe82a3b5d614d93f34692087507d2972ac\
+ dab700892bb847cb4e881998342b7230aef923a07b07563efbc053a300c0ea284\
+ d7f381da2'},
+ {'g': '06b7861abbd35cc89e79c52f68d20875389b127361ca66822138\
+ ce4991d2b862259d6b4548a6495b195aa0e0b6137ca37eb23b94074d3c3d30004\
+ 2bdf15762812b6333ef7b07ceba78607610fcc9ee68491dbc1e34cd12615474e5\
+ 2b18bc934fb00c61d39e7da8902291c4434a4e2224c3f4fd9f93cd6f4f17fc076\
+ 341a7e7d9',
+ 'p': 'd38311e2cd388c3ed698e82fdf88eb92b5a9a483dc88005d4b72\
+ 5ef341eabb47cf8a7a8a41e792a156b7ce97206c4f9c5ce6fc5ae7912102b6b50\
+ 2e59050b5b21ce263dddb2044b652236f4d42ab4b5d6aa73189cef1ace778d784\
+ 5a5c1c1c7147123188f8dc551054ee162b634d60f097f719076640e20980a0093\
+ 113a8bd73',
+ 'q': '96c5390a8b612c0e422bb2b0ea194a3ec935a281',
+ 'x': '06f5fe27b77fbdb24beb34f4fe13203e46ad8460',
+ 'y': '881344b829c31389b4882c2fde977d73adb72e5001f41b57c772\
+ 6b9ac99ef413d0fb5df9ed587994c45580efa11d4445cea85b149e74f746308ee\
+ 223c82263b14f4a2ec5ae971083dca725c5fb0ae233b67a4be60be8aca3f40c5b\
+ faf9d9c4dc40d49dec1c4e539c88cddfce40106cb6f88fd094037fae75de54317\
+ ad4842cc1'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '405772da6e90d809e77d5de796562a2dd4dfd10ef00a83a3aba6\
+ bd818a0348a1',
+ 'y': '6b32e31ab9031dc4dd0b5039a78d07826687ab087ae6de4736f5\
+ b0434e1253092e8a0b231f9c87f3fc8a4cb5634eb194bf1b638b7a7889620ce67\
+ 11567e36aa36cda4604cfaa601a45918371d4ccf68d8b10a50a0460eb1dc0fff6\
+ 2ef5e6ee4d473e18ea4a66c196fb7e677a49b48241a0b4a97128eff30fa437050\
+ 501a584f8771e7280d26d5af30784039159c11ebfea10b692fd0a58215eeb18bf\
+ f117e13f08db792ed4151a218e4bed8dddfb0793225bd1e9773505166f4bd8ced\
+ bb286ea28232972da7bae836ba97329ba6b0a36508e50a52a7675e476d4d4137e\
+ ae13f22a9d2fefde708ba8f34bf336c6e76331761e4b0617633fe7ec3f23672fb\
+ 19d27'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '0e0b95e31fda3f888059c46c3002ef8f2d6be112d0209aeb9e95\
+ 45da67aeea80',
+ 'y': '778082b77ddba6f56597cc74c3a612abf2ddbd85cc81430c99ab\
+ 843c1f630b9db0139965f563978164f9bf3a8397256be714625cd41cd7fa0067d\
+ 94ea66d7e073f7125af692ad01371d4a17f4550590378f2b074030c20e3691159\
+ 8a1018772f61be3b24de4be5a388ccc09e15a92819c31dec50de9fde105b49eaa\
+ 097b9d13d9219eeb33b628facfd1c78a7159c8430d0647c506e7e3de74763cb35\
+ 1eada72c00bef3c9641881e6254870c1e6599f8ca2f1bbb74f39a905e3a34e454\
+ 4168e6e50c9e3305fd09cab6ed4aff6fda6e0d5bf375c81ac9054406d9193b003\
+ c89272f1bd83d48250134b65c77c2b6332d38d34d9016f0e8975536ad6c348a1f\
+ aedb0'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '835fd2d1b7b03d90c5ebc073ee69b386c9c07ca06bce80bc5746\
+ 34af8d534f7a',
+ 'y': 'cbc3feccf1ef62d31df626a4b2e234afdf1795443e46a471ec8b\
+ 902b0ae9af36344120ed3ca6009751b03e8963a6151e7b2fe572837c3e23815d4\
+ 72ce75cfbaaaaf36e89a939983bd494f0421b0f35079e5a243672d708ca349253\
+ 9733b2a847f638167f7d64c8dd7e3cc8b2f0e7a7fb4b5d1eb4671378caab107c5\
+ 6cb19e4656c5dbb829a712aea8922d1086ffea567dadcf8b42a7d850cb3fab1ae\
+ 7bbd095a6b55c89e1477cbd3780d99474ec70151f0043240a62f730e498310e64\
+ b892a07c6716b9cbead0e826e8c545aa0d358d1588fd65d83059f237b9bd732a5\
+ a83507c9ce89dc9a98cbf9517a76cfc4c588d9d98c0520ba0a0b936e9f35821c3\
+ 1bb23'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '30f59255791b2f1d8a28e612f9f838201abb68d2a1256830041e\
+ 0e139088f585',
+ 'y': '0ed9564e1d901e13dfb367c71859af2ec4cc2ed1e0007e9d6262\
+ ae1c84562f81ddbfa80ba8dad6d7dc70d38579929ac69d0fbe04143750f91741c\
+ cd690ddc3c743cae9589bd32147a677722ba1289a567ea724e20c5ec1e1621582\
+ 932eada130b8a579d2ff3590bc70fe09721b0067965ef2b16fbc7d4739dc78059\
+ 2e5868c8ccd298082ada393654e26e7748177fb55e84509427dd14dc3f92e1c6a\
+ 3e83eb705bf1537d08a0129f01e2c92234264efce0ec2164103999472631de238\
+ ddca84d25a6436caf75563085ba5843e2271bb9b12ee1cfa2dce94d681cda686d\
+ 281c7ec10b6c4e44aff0bf54452416d76267e09eb2a73264433ee9dc72fdf4417\
+ c6f7d'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '4d921f8c9e8ceeb7e5244b843a9a238af96818d760bd872ea3e7\
+ d3a37d7e97b5',
+ 'y': '8b3907eccaaa1ff67705789dbf7e914af940353cda7d0da1d256\
+ 4a030a5afd7a70d40814b32b0092fe1a92ebf91f2a2c10e9fab9521d855fd8c18\
+ 199018d5810c7ae7633829f85c739f243d51c3567449e8f500dd5aec8ff8e1bb3\
+ 587bdcea9635e4e4b0215ab00d9ea6edd3c48579f257f63a95b85271925334bf7\
+ 3900c4e0e4f644379afc9f765354051a57bf37c939d2055d78919ab1b1e9348d5\
+ 85bc73836cfea8310209940cded440fa131e873243029339f57d3a2c4f57ebee2\
+ 94a42a06f339dd9e635308755575801b418c5f83e23974b5b4c2f703a628b3fd8\
+ 3b398b5f271616492df14efb7436ed630b4e39d40ab504935bbdbf9b82f25bbd0\
+ 9014e'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '1b46dd4a0b6c3693a1f1e685dd529d6f99dec061d631c7c797ed\
+ 9908f14b39aa',
+ 'y': '27e21468657d4f6216e806b716ab87fd324a22d0df4d5e1c26bf\
+ c12676fc5db5cd1345d3e078428e5fcc7e03c6a6fb6c4e181bb561cdbdfe565f3\
+ 8ec384be183fc5a0930eb3a92cda25f2867b05a7bd7d4d1a7739be9a75569eac9\
+ e98e4115ba415db505ef93c0e2b1e58789acd474e4143dfe584ce1f1df6da01f5\
+ d3f9a27bba10cdf78737e7aa818daf753eae647477ef20283f5f62b0d9b53f073\
+ 281131ef3c692407724c5f61abbabcb24ab056236a7062004b2739c803f663d99\
+ 9993466b5fca3452d954b0edbbf7fefda6d40df8df7ed21f83885e44ebc511a70\
+ cb03d525bbe21dce5ffb28516441aea2f804301a6c2527265a3df0c411d48cd37\
+ 0fff4'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '47eea9c0e8b43329262f3a0b617cd04db1cf159af2aba0ea06c2\
+ ee5b8a6c2d69',
+ 'y': '65dad9740de9422632c4401df77b68a37fbe3db48aceadab7d90\
+ 02770b38dc8297886cdde82fab71650944a692cf714f82841f4f5668ecbeb6777\
+ 44e398a558c5f72d087d26ee29b6324c8def060ed5c5fe4f10b215f4b04dde218\
+ fe023ae8fcb99be89ad9a1bb737ae73ae7180944de3fd6abc0d66b6832213a5db\
+ 47469e6127394bc1fd5142e46438fa48f9774038a3ea312bf539c700f7a486964\
+ abdde996cc0b7d84fec7ef4da121db184d2410d44e9ad9b1b95c3d71edf4a4ba1\
+ f29e9b8733097fa0c7e8a43141fd0a560f1675323c6ca4504ddb1ed1c2e5887c6\
+ 8f4eecf426f64ce2222bb7a83e771dc27464fef02da9c7c78b2cc36a8aa34b2ab\
+ 5555a'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '7e15dc5a1fbfa404a40be5f94334d22d50c29550008d29daf16e\
+ c682fa29e10a',
+ 'y': 'be5e833678b92b78dcbf83b9137329bd9a4fcf3094baf2bb3fd4\
+ 518e663911cff2d7995ad5903e0b3d6a71e0cf01426ae03332331867857ef8935\
+ a78f75a269268e108b1b03e5346edddf4af610ba2aaeb55e5132dccf989aaf5ea\
+ 069574147c9925297847410ce9fbba9cc65e73e011f249f449dffc304a170f2e2\
+ a218197e91128ead770f03e7e8966887c870e6c405129e08f5c49b1cdef48be2c\
+ 62007c629c35330e2a27f73acf334295dd7832cbe495b61204694b1eab831a05f\
+ 40b7a84c3cc726aa6fa408d2d91cb3e02dd7487d4fe1e50b0f7b4d6e468bb086e\
+ 695fded8f9e8231bb9a40b0ff33b61f7143e7df513e7219c2b9102c8ac4321b40\
+ 36ffb'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '8c77eb7870a4108f70251698f0a272a45a87346c8ef14d01e6e5\
+ effd914e65eb',
+ 'y': '7e3451f243886f90c62cff555ef70fb1b28e3040336d03e2924f\
+ 8c093e9afddadc8a2e769eb98b5187feb9e029bba4fe3c1fcd0e891abca0792ab\
+ 9cea27250be580f68baa5e92d05e405f8ceeec89b66020a4b08c5b0b4ffe123cf\
+ 75da89f06a54e90c1f1a747f51e5208d7d718d8bf3f6173442914bcfcd8f68568\
+ d7933471f438fe33efffb867b75a8bae0000795643d4170d49f56579f4d5082d5\
+ 0bd0b21837fa4066821c3b4bf9e88a7e3064d76623e07174a3459cef41afa192b\
+ 3fd4dbc84b04e48facb96a66dd39864f8c90838890bdaac64211b0cc800a2a452\
+ 3540fce1c90d48d44f2160ba2cac83988b09faf27e371298d2feeb677e71ce37e\
+ 35389'},
+ {'g': 'e4c4eca88415b23ecf811c96e48cd24200fe916631a68a684e6c\
+ cb6b1913413d344d1d8d84a333839d88eee431521f6e357c16e6a93be111a9807\
+ 6739cd401bab3b9d565bf4fb99e9d185b1e14d61c93700133f908bae03e28764d\
+ 107dcd2ea7674217622074bb19efff482f5f5c1a86d5551b2fc68d1c6e9d80119\
+ 58ef4b9c2a3a55d0d3c882e6ad7f9f0f3c61568f78d0706b10a26f23b4f197c32\
+ 2b825002284a0aca91807bba98ece912b80e10cdf180cf99a35f210c1655fbfdd\
+ 74f13b1b5046591f8403873d12239834dd6c4eceb42bf7482e1794a1601357b62\
+ 9ddfa971f2ed273b146ec1ca06d0adf55dd91d65c37297bda78c6d210c0bc26e5\
+ 58302',
+ 'p': 'ea1fb1af22881558ef93be8a5f8653c5a559434c49c8c2c12ace\
+ 5e9c41434c9cf0a8e9498acb0f4663c08b4484eace845f6fb17dac62c98e706af\
+ 0fc74e4da1c6c2b3fbf5a1d58ff82fc1a66f3e8b12252c40278fff9dd7f102eed\
+ 2cb5b7323ebf1908c234d935414dded7f8d244e54561b0dca39b301de8c49da9f\
+ b23df33c6182e3f983208c560fb5119fbf78ebe3e6564ee235c6a15cbb9ac247b\
+ aba5a423bc6582a1a9d8a2b4f0e9e3d9dbac122f750dd754325135257488b1f6e\
+ cabf21bff2947fe0d3b2cb7ffe67f4e7fcdf1214f6053e72a5bb0dd20a0e9fe6d\
+ b2df0a908c36e95e60bf49ca4368b8b892b9c79f61ef91c47567c40e1f80ac5aa\
+ 66ef7',
+ 'q': '8ec73f3761caf5fdfe6e4e82098bf10f898740dcb808204bf6b1\
+ 8f507192c19d',
+ 'x': '12d4b73532b0a480f88fb82eb3cf89729539ba3b5bfb463c792d\
+ c223d1a526dd',
+ 'y': '1371ad94dc2db02476ac925aa0cbdd7e247f86a08a6f2492cd4b\
+ 3f7b05aa881b2e83d0c5d82246c17cae230a41dd04f05a8c3fed1e09cf8e0d8dc\
+ 98a9887ff772e2f60434ebea076344f4fbffcbbbd8dee4bc10e7626f26a92c3bf\
+ 0ac08117bd539b477077d45e11fbe47818f3ce03d6daf34c77595e72d1c8376d9\
+ 772f51ce956f0e30e98f51155e9effb974f3d46fb48c76a004b0117dbc19d7804\
+ 4f248821f88fa87d55ba124842d159b5ac4ce916487ecf9d03321241a2bf18967\
+ 47f155f281434435741b1f26a79d35270167ba3b505a6cec672339823c8fc6dc7\
+ 97d458d639e5ed015ac710ebd31b86d736e9b2ab340e7f38f58788483484b81eb\
+ 0b1ec'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': 'b2764c46113983777d3e7e97589f1303806d14ad9f2f1ef03309\
+ 7de954b17706',
+ 'y': '814824e435e1e6f38daa239aad6dad21033afce6a3ebd35c1359\
+ 348a0f2418871968c2babfc2baf47742148828f8612183178f126504da73566b6\
+ bab33ba1f124c15aa461555c2451d86c94ee21c3e3fc24c55527e01b1f03adcdd\
+ 8ec5cb08082803a7b6a829c3e99eeb332a2cf5c035b0ce0078d3d414d31fa47e9\
+ 726be2989b8d06da2e6cd363f5a7d1515e3f4925e0b32adeae3025cc5a996f6fd\
+ 27494ea408763de48f3bb39f6a06514b019899b312ec570851637b8865cff3a52\
+ bf5d54ad5a19e6e400a2d33251055d0a440b50d53f4791391dc754ad02b9eab74\
+ c46b4903f9d76f824339914db108057af7cde657d41766a99991ac8787694f418\
+ 5d6f91d7627048f827b405ec67bf2fe56141c4c581d8c317333624e073e5879a8\
+ 2437cb0c7b435c0ce434e15965db1315d64895991e6bbe7dac040c42052408bbc\
+ 53423fd31098248a58f8a67da3a39895cd0cc927515d044c1e3cb6a3259c3d0da\
+ 354cce89ea3552c59609db10ee989986527436af21d9485ddf25f90f7dff6d2ba\
+ e'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': '52e3e040efb30e1befd909a0bdbcfd140d005b1bff094af97186\
+ 080262f1904d',
+ 'y': 'a5ae6e8f9b7a68ab0516dad4d7b7d002126f811d5a52e3d35c6d\
+ 387fcb43fd19bf7792362f9c98f8348aa058bb62376685f3d0c366c520d697fcd\
+ 8416947151d4bbb6f32b53528a016479e99d2cd48d1fc679027c15f0042f20798\
+ 4efe05c1796bca8eba678dfdd00b80418e3ea840557e73b09e003882f9a68edba\
+ 3431d351d1ca07a8150b018fdbdf6c2f1ab475792a3ccaa6594472a45f8dc777b\
+ 60bf67de3e0f65c20d11b7d59faedf83fbce52617f500d9e514947c455274c6e9\
+ 00464767fb56599b81344cf6d12c25cb2b7d038d7b166b6cf30534811c15d0e8a\
+ b880a2ac06786ae2ddde61329a78d526f65245380ce877e979c5b50de66c9c30d\
+ 66382c8f254653d25a1eb1d3a4897d7623399b473ce712a2184cf2da1861706c4\
+ 1466806aefe41b497db82aca6c31c8f4aa68c17d1d9e380b57998917655783ec9\
+ 6e5234a131f7299398d36f1f5f84297a55ff292f1f060958c358fed346db2de45\
+ 127ca728a9417b2c54203e33e53b9a061d924395b09afab8daf3e8dd7eedcec3a\
+ c'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': '698f9d6431b02644cf2a5ab06c6d0e7cbc84d2b98c55bd323074\
+ 4e5b9f353eeb',
+ 'y': '07d138d60a1a141a12ed92cba221f98f0ebe7067426991473549\
+ ae920ebbbbab173b000dc6d5836355d6e760fbc316a06102ff1b6c70806b7096a\
+ 5b3f08393a8b0738f32bb110434990fa1567ee6059e366a8402d433d8b4304d50\
+ d9ee2b4c066d7b9d72b32871e41f844878dc43d3321ed1e9301cd8e56844403bc\
+ 5b52d51679c26a23861924d05d32f0dde8c563e34db4ba595e9554439cd2a1d53\
+ 77a0a0d273033c622ce7bfb820a024f2994cbf0da8b89921cc2b6b6eae64b9691\
+ 18157b0f104bc79bc848a7549a422e8e12569d2f19abe6aa161a4ba04b9b45814\
+ 35516ba443e71d9780fba2aade09c7146177fd91d86881dabf7478b6238b8e95c\
+ f046987624ed6e979878c9deed9148b4741ec5642f777875deae7cdb29393aef8\
+ 416b1d12f83257f1db323435259e091ecd38eaa82e428bcb887a98f0f11a7283e\
+ c14f901d1df1de3b7d486436a8f8aa1b40449d47681fbb323503ad32a2a11ee21\
+ 4b77c0808bae203af3f6f07f22edefd40f66a62d0511b2419966625e111cb60a7\
+ d'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': '1b93d7bf1088760653061409145105940379f9b8b0a9dbbbe001\
+ a24ed78e1007',
+ 'y': '8846c32e6637b4eca3511c3a7f6c95bba4fe1767ce6a3e361e51\
+ c63f0f5beea33916880e970aa26357befd6081f4a1bbd42172e3ca27c2c109b42\
+ 84f2a2c3910f1d9797bc7879b5e0da28af487f5b4af2a663ce3bf2c46ddf1549a\
+ aa1560bc9eb71bc668fcfa09e06d094685057fa72aab91ed28c20b55fdcac00ee\
+ 0a43db3c9f1cf03663ac08c43988d923a0dca541ecd82efd54c86076f79035066\
+ c3b7dd39065045dc9fbb2e6c00073523c847ae0c5c05977ba7bf45f420fe9b2f2\
+ 19232986c633c54a8fa565d64828e9dd80cb0d095009b9d3ef64758a12ce6b3f4\
+ 9db5dca3683120a920c6081c96c74495992edbbb9871cf02fa4113340a128ac4d\
+ 113113467f6470f994252ea70e56552fcbce91c4299de0ab01c4f0d488a8e6076\
+ fd42cf7326b48c41dceeda5415cdc3237bfcdcb358dcb7fc6ad926b475560a82f\
+ 95e86e787207dc3874c6aff0bb63b83c1ba5f9aa9355893ab8659dcd1ed4edcdb\
+ bd4eeb09f525e3091c576a200ff0219510e97086b40b7849684974eaa9e7f59a1\
+ d'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': 'b0c2d0426bc4d5bc98fe90c36acea70591f979dd891adef2363e\
+ bb23e09727ab',
+ 'y': 'c24dd31f155e64fe98e26451d93410038cd696f9e3a36539fc97\
+ 7550ef729b2129ab7eb6bea156701778c6a7509e54e7d055f9c185dab63010b0b\
+ 255419944188a707ab1c6a3a7dfd85aa1c60e93a815e0954c1d114bc181f631a3\
+ c67713a2ff38686d9d37e2c0b83b6a7cba4c8302f80694d9d102347e9209ba58c\
+ 7ed4c3e66e25d6df79734e326507b8bf0b63fe78d70478ffe4a4abdacd519b248\
+ 0ea90f3fed6a3d6688681e9750f6a66849947389ef6514330af485d3b2b2ebbb0\
+ 7d26155fa0d3dd035e49447119c0a66c5769a3a4315ce648233eecc7e151bcf42\
+ 052d272a6b5bd6002c5639097f862720c84a5e692ff522ed01bf40071cebf3d6f\
+ a8c750d60380a5ce4aa59ad8dfcb795c21aad83b026da7651c2c3c57065bb5bff\
+ 40c0bdded071af7c992d1ed0adaa92c91e031977dd449c9355490e513a22e7e17\
+ c4625b544f791728147537c90c6df02e07e7286df88ffac76d370f7c2dc19b8b7\
+ c7292bfdc3d4cd211649e6c173679bfc71093669c8daabba120431fca20dc6bfc\
+ 6'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': '567ed324dc525efac9efc2509345d30f26caac2e668974587627\
+ 88b8f94f8a9c',
+ 'y': '29e2d6f62cdda129f6e004f37000e4661d0fe967249c37c0ebee\
+ a879419f26f4a64cd9853c5667705cc39d4137e08d8af7b109c9e43276e413ea0\
+ 5bd0c3e9a84a28191890bbac002706a5c7f385531bb882de5d8e57233ad1efd7e\
+ 5f3fb090f626795af1b55dc8e98cc801a40b8fff5b09c70a54085e431b5b02078\
+ 58b1b3094eee076ba4b12845724ac5e4714b0af442d26c3cf585e2fb53c0f16fa\
+ eefa16f171deb03e004a47fa5309ca5a74070bf2b775a8c5fb7611af85e17f077\
+ 295f37565635842188348d28556f4768a110794da32b4634eaa9e9a4acb4bb6d2\
+ e8d52e66ca5ca7a8e64f46b141b0273704eb5767df2f23d90959e6ba41bd9b568\
+ 6a1576bd53132377475718403367c45643ba43eeeff6ca59882b463df111f4729\
+ a985eb880092117f0c60b16ee6c68eb3c123da388d58979e0d73ff392fa542e16\
+ 01fff532b9ff35924fdc9a08c3bc348e7a573de2d44ba46173c84b064057c6910\
+ 7d9a03e0c546a4abbc43e095faa777851d03292c6dedfc8809454c7059250efbb\
+ 5'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': 'bfe9402b3493230bec4992e411bc1af7189a66015c8244466c9d\
+ 1ff9b1c2a7a9',
+ 'y': '5a314cbbbe66a88fb370763bbc26d4b3610cd397f58261e59a6b\
+ a3548d5f4561c5a548048c4e349cfce45ea2d8843a80b377895beff75a149e1c6\
+ 9f4dc58992dff68ea4785d64574653f1e18a515091c8ccb59e01bc053c8470682\
+ c43908da6a4c83ec86ea6157042bc48ee14b8b778cc68435d112c15f4200f1a15\
+ b06f2e3ac826b832ebbb5bbddc904ba9b321a23b98fa1f2a1d3824bd3ff3dc290\
+ 0f6897948e7ddfb37b604f214ceb87a662a95a9736f89d6ea420b9d2f5c365bb6\
+ 182862a85900af217d2822060d87c74bc2d55a945cf62436222bdbc3f4930566f\
+ edd060f2ee81db0f97f87499a2bc011f76febc1eed40071c23c37ddd6da4a8e9a\
+ ae4028e88ff409f041c7fe26c9aac8ed487b0e197cc557a996a30fdf1504dc7b0\
+ de1a0120c646821a07784fd6f22f586baa067a3f7978c898bcddbf2544ec0f8e5\
+ 9ba826e71d6ceec1c8d735f8ffda75f43cbd4a1efd2af42fa836b2c4648111758\
+ 45f72e7cef58514f4bfe86076a6f4d9e9b0eacee11c32e96bb63cd0c439a5668a\
+ 4'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': '032b33c28d8645e4e83bb7577d9198677332a615478e78935419\
+ 218033d01af8',
+ 'y': 'b91ea0d1884c225566a50816f7f8df5fe4b2f295ecb7af8352a5\
+ 2feaa15409205c7747d269fc53ef73ae100ab8d4c1dd5fcceb2173942b2b025e9\
+ d6cd57d6d87dcb7691e95aeec58038ed38012ef805b9bcfd1ce4b9ab26b9f476b\
+ 215159608073e796b5bbf759a841a89a50426ad1e24c82584107f55ccbe85022e\
+ 14fb372e113052bab5c852213e0c2ef6c608cd4b70da884fc6423fb894fac291d\
+ a6fa057a6b020c6605a92add57eda2e188ca3b18b14d2f7e60ce3f9076877c4ab\
+ 319a760e2a5ac9ec591e9b57096d9e6d1db6648415b89ba9b42f4b6d5487c0566\
+ ddd514023db211a709944df819636c6c3e50fa63490b153873d00da653446e56c\
+ 674ddc32ab1ef2b3ba945fa4c18f496d295d6379899e24cb58abc4b092cad5501\
+ 7f97837dfec549f1337b3e84658653823142f75d4533d33c467733d971a8b118c\
+ 94da090a5f1adb02847d9a08cacc663cb99cd67116f63b689a5660f9c160c9528\
+ 02b23eb6361bdac590e9dca0c67bf626e84ad30684070b7149338d00db790625b\
+ a'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': '2c26fbb0469074e06e5f267d6e91171e0c1f3ba77197fc551380\
+ 7b490920e5ba',
+ 'y': '5490d55c6a0b921e63837847c2787a710bf66e91fe5e8d5604bd\
+ 0872851a37c4981f76487f4e85f05b68f99af7bcb240844f6c1b4a0717d44ce9c\
+ 425757666efe9d146b91cd556b37080e6a2a73e68415bc85d6a52b4619d473d7a\
+ 144bf3d56105efe21c99ffa806325a6c675f8ca6abcb3219d9856f6bdced1d961\
+ 2e8728594108b76b4a544cf1d5da42974b90cd59b08857ed5d442c596bd45df9f\
+ fcf30d71192bcf04b19b9c44a5426a25fa03e97e46fc9155ad45e9261d0fb5d73\
+ 6852aefb800d9827e39c9f308b035e135587fce4bc604198eb846fc2b290ea458\
+ 08367f66b1a7c9493cc82bbf99cb0c69ad51e7c49062c40b72325fde6fa93ed87\
+ 2d3989aab6add98d51dfba24b7a7b3a19b2fbcb7e5d9816c07d385afb799d649e\
+ 7fb3fbb3b4a84219083c65e4a54d52313b3e11cf4cd5c864afe34f5a2ff883189\
+ 955d401acf5aa8e51f9c7e3333ae9e3393ff77400df4059e56df5a4d374f12a8d\
+ 7eddef9e8a7f8bd267a04dd9720ab0479ec780173d644eb52d7f5d4f3a589226d\
+ 2'},
+ {'g': 'ce84b30ddf290a9f787a7c2f1ce92c1cbf4ef400e3cd7ce4978d\
+ b2104d7394b493c18332c64cec906a71c3778bd93341165dee8e6cd4ca6f13aff\
+ f531191194ada55ecf01ff94d6cf7c4768b82dd29cd131aaf202aefd40e564375\
+ 285c01f3220af4d70b96f1395420d778228f1461f5d0b8e47357e87b1fe328622\
+ 3b553e3fc9928f16ae3067ded6721bedf1d1a01bfd22b9ae85fce77820d88cdf5\
+ 0a6bde20668ad77a707d1c60fcc5d51c9de488610d0285eb8ff721ff141f93a9f\
+ b23c1d1f7654c07c46e58836d1652828f71057b8aff0b0778ef2ca934ea9d0f37\
+ daddade2d823a4d8e362721082e279d003b575ee59fd050d105dfd71cd63154ef\
+ e431a0869178d9811f4f231dc5dcf3b0ec0f2b0f9896c32ec6c7ee7d60aa97109\
+ e09224907328d4e6acd10117e45774406c4c947da8020649c3168f690e0bd6e91\
+ ac67074d1d436b58ae374523deaf6c93c1e6920db4a080b744804bb073cecfe83\
+ fa9398cf150afa286dc7eb7949750cf5001ce104e9187f7e16859afa8fd0d775a\
+ e',
+ 'p': 'f335666dd1339165af8b9a5e3835adfe15c158e4c3c7bd53132e\
+ 7d5828c352f593a9a787760ce34b789879941f2f01f02319f6ae0b756f1a842ba\
+ 54c85612ed632ee2d79ef17f06b77c641b7b080aff52a03fc2462e80abc64d223\
+ 723c236deeb7d201078ec01ca1fbc1763139e25099a84ec389159c40979208073\
+ 6bd7caa816b92edf23f2c351f90074aa5ea2651b372f8b58a0a65554db2561d70\
+ 6a63685000ac576b7e4562e262a14285a9c6370b290e4eb7757527d80b6c0fd5d\
+ f831d36f3d1d35f12ab060548de1605fd15f7c7aafed688b146a02c945156e284\
+ f5b71282045aba9844d48b5df2e9e7a5887121eae7d7b01db7cdf6ff917cd8eb5\
+ 0c6bf1d54f90cce1a491a9c74fea88f7e7230b047d16b5a6027881d6f154818f0\
+ 6e513faf40c8814630e4e254f17a47bfe9cb519b98289935bf17673ae4c803350\
+ 4a20a898d0032ee402b72d5986322f3bdfb27400561f7476cd715eaabb7338b85\
+ 4e51fc2fa026a5a579b6dcea1b1c0559c13d3c1136f303f4b4d25ad5b69222995\
+ 7',
+ 'q': 'd3eba6521240694015ef94412e08bf3cf8d635a455a398d6f210\
+ f6169041653b',
+ 'x': '8764250978f67f45cb30bf487da305413ee0bcc1ae483aae901e\
+ 806d321e6baf',
+ 'y': '8f461958d60f81940da1735ccbeb9396503d96bb8d187361fabd\
+ a001c67c713164b690affb8959ca6a31c7bdd9ff21b23e6d94a63a61c7cc11b4b\
+ 3b90500cdffdba160603972abf3fe91704a190fe33a3f59a2c30cb5ad3bf9f85a\
+ 710f3cdfe93949e6b18865e5d21ea8b42c7e57a7b400ff2ce7543e89970dfcc7e\
+ 814be38eeebb74fc28aee97ab0f4138ca3a67e478c6c38ef8f3422c67fdf432c0\
+ 49a62836b967600ab3b11fff42f0414196d89af929282c0f1102dd51cac5d5096\
+ 44fa4d43e0b0761ce7e7c0b531b8098656826d312bdbb439b06d45757260b0ff2\
+ 0d2aa02825044b68085916227cbc53a67cb640d6238034bb67f00c13d181c0708\
+ 2c238588a1df85530a2b14dbdb749a47f879700c9d86c1eeb8f618bdcbe202202\
+ 7064a8eb8b6f57ca411b0e14d6684dc0d26df27d76e00bf6acc9132a98b9b2077\
+ a832995e7734c1cfc2dbc67fe8f85056cc52f8cb1aafd1e7fd74af30a9297bed0\
+ c7b20422b10321e9a67566c0f1cbee858021d1686c87c4178e6a89be47c846c31\
+ c'}
+ ]
+
+ expected = []
+ for dictionary in expected_vectors:
+ new_dict = {}
+ for k, v in dictionary.iteritems():
+ v = v.strip()
+ v = v.replace(" ", "")
+ v = int(v, 16)
+ new_dict[k] = v
+ expected.append(new_dict)
+
+ assert expected == load_fips_dsa_key_pair_vectors(vector_data)