Skip to content

Instantly share code, notes, and snippets.

@jwasinger
Created December 11, 2018 12:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jwasinger/0e522eb7e1cce6b45c3ac103054e184c to your computer and use it in GitHub Desktop.
Save jwasinger/0e522eb7e1cce6b45c3ac103054e184c to your computer and use it in GitHub Desktop.
ed25519 benchmark test cases
7557f01a255ac98a325a1bfaae484ba11b01368e299c3b8d9370180750823bead94430b019f29bc78bdd2a9cbe796c9b633ad5cbe4ac804ac118563790e4c657a978c89e1b83c4a2f337a77b10351d0e184089fecf0ea8870614570306edd4a9ece7cdbc3378978bf4a4f85c0252ebb51cf00b2a4fc23833c6a1f6875503ae08
a955f8731e5c47a921b9b59d35163c3ce1c6dbcd595ce8dbc560211d93658e1f6dccbc119f1f5a3444694e47ff6f43ed7a8e436db31841d5268959a812b9dee5055b27f3ac35c40eb0dadb4359a6bb46ebcb1acb5fdd0a78c6dec07808ee3e188937e2f5657e5582a88a04888c89be98d3aa1b89ad31d2aca4f13a994ddb1f02
456bdd2b7919e38aacc168b55236a54014f0bcd8db201c1b479a6578b0d4b47d70d13909d88843a4d2c59f1a6a1f68dc1e749a2af97b55220c50e1341d62cd824e5d79b4439e7d7ba97f9226c2e765b663a95fdcab699f18b2fd8784ba316ef4103a9d08d49422df99a8262aa8a88a6efce399c0e124a75b863a32d375e84806
0f581b9406e0a989e3da01b634aac88a6b5560f86f0568ee024dbff83e2f6ed83543138df02e945c4d21e02f980542c4e75e0d405da07b15d4abf0207f908f2134ed60f2fae2c201bcc89a515d61317cf767be84f4e5d6066142c9cd3f1d3a841fe7298fae216667aad1e834c65bf23046b3a3d53986222c23c24a5e017adf0d
41905103fb048fb38febe78920de835761ecaeb8b5ba4a716ea73f00bcba2aacf87ca5d987786aa5292a136c0f6e75fabde6a186900266c3a16ac08a104976c59bad8550955d9f756cd6553da72f5192e493243894207b7c2cde978432b1a54ec7d288d71708a8709441c6987e5bfb6543a6488788dde75b31e89c89bdd85b0f
f443cf9b373305085de3b25e48fb55a78c0d124f575d7c3fbaeed9566d3ff657ff32a88a45b01e4837f05a2607cd0cdbdd735a9bbbeab0d9a2c6da926a47983871b5e66a97540e361b023404d0f81acad722898f3827fcff0dedea1a407f69f4dab1cd26919aa67a7e33fa3db2471a4f76a2509bf000a22e74a4296f949dfc04
9e58557d09b90fb3b4b11d3d315a00fd1fcc3754b71379d546414d3f1d03d14ec2bb0249d16d6fcfb9ce4ce95d87ebed61290198f0e2efd913e6f18af08bd5fb5bf0bc9d1cf96dce09b88da88e82f7d51fe28a0cca81d02db6970f0f43c5bc79f4aafd3de761530f15e7458986ed0e9c6eba758e28a9db8d47e089a5309a9d04
c575bce1bc9b60943db24d88a20c890fa25ce3c164c4f92f01c5442027ec9afecf2ed0cca775b95662be26f6d20592a04f7d0a00d20f855619b73f71e2b4ebac3ba976d099e662a2bd192e63de7abdd0d382efce57117e0a1f59ae17ab7968d6a6e53ac1309f2f3423e9f088a1f46d31e0ccc4589647d50f2708c001ad5b9806
9e9bdcaeb4c0c7004b12d73bf355626fe10326d0786f862b7bf28c84de94e452ae51cc7df87bb8d9edc4e3f2d9b2f3b7cb66961b41210b1760bafab77edabf1c8b39bbd061f4ee418ec8a5d2e12ac1f9cd0dbd5894aaf851db2f549f0a5d46b93853b8076ad08e1cdaf77f92d20dce1fc1e2d47fdfff92616e8b6fcd2295c10a
32399e7cda06013bb3b8149d7c1e3a9276a5c1fd9f57ebdb164c2cd277d2df5ab06f9d7416e686cf5a7ab166d73aeb41e91eee16745e6b2772884f465c3e363b5182bed13323e0a324f234f1710a5131f7bc41094c8fe4d08214aa38970c54d92d85eaaf19966aa898336669e1569db1431c7afe01b74fb3741064085a3d5408
1f96a2fed33455407663b263c8337e5d37188bcc6c7f45bfddafe1a4ebe1b12c939903797cc8d551e376d76dbacdc89dbd5bde99d21ac6140782eee01e59e82bd64f168ba6861531d2e219aff18652b866637d720d4532ce864d3bf085445838a0732ec05df240e0bfc6728ac8745671f6b68efca492991484772d8729ab9e00
71b9a7ff6ecc472514176e282bfdd839c30474db4001efe3d7c841fb8ee98349ae54a420777c66c78389cda0cd799308639e46ae4bfa4eb58817827dcf7dbe34ed27abea115b84cce0f7e6ec73d184309d3c091bee7d4a3276c79f9d6335f25bbd458a33c27603c92ece07ac1916de6da73d4bf56d4ade2451fabebd5907a505
496f3e11626386a2b471bd5b193b70dc83d410013360b6fbbe8d688113a78993ef86d8923d5f542c267c354cbd7a68e9d0d56e1bc5da02c737a12ff8451ce300300017e52c6e20cbae7246f8d47a0e6d5c413f9f70d62a4f1766c16f36a4e2f9a5cab37d6fdfa7ef8a28b4d95f545c1c2ec11323e8aee312885c7a4985d6f507
6b39849c480b29980c29fb4aa774c9ac33e096bf162b47a300dd40f28b25cc7f4ebd49f910d3e36a407f692fbaf88c698f3202251c2d90391b98ab1ab189f1bde6799076eab5330996a3dc53753fb45cbb00094f312756c17959b3f5d1ccb9871a009a3970ddc6777f7f377c63201375b9ed1c287001be9b898e86e9516e7000
a17c7a5de06c96069b288e88e107ba9ecd8f8f63e5ca67529c009d5c46d041dbe83a2903ea465f1b93c6073384862262e38a8916ba5a881949dafb618b40ee76fa20bfbdfd5b0637556c8d95e1b6fa5ec4a1d60f3dc5e07f8435b002dcc50a9ae7641760dde84dc036737c6874549c7862b58e3fa0d93af964142731d6ee890c
dd7b8faf4bdff2e488c4d3ce7001c6055167fdcf1bfe5d6a1c668752dd92bd486d4da0d9fde1717f53ad218ee0d59b3a4657441da3c71b4e46d4219e461f605993904e159f37ffffc4a2aa54cee54adb9d41bd7191b3f7a871d161aa264b12ea186fd4fbc902338d046220fa361a51a6825821ab9a91632ce460caef8b14ca0e
6366ae6ac5b04d15037aa839043654311c642397a252518fc570b577083171d1d6503d8ea7046e2e091420618272b1931e2e1d0e2ee1d385e7476142b75556583533f6fbca021249e0581f06408430753c12d48900305e014e80f40addf5140474f1bf6e7131638b1724f79855351c36d139d3a940af1d378031c05a738f7905
1917a32d4370cfc405f5d828455ac492c0c79cf2fd0d102dd0bef7ea12a2f25c7e14e7f2adf56e16286634a033bd36cedea3775e5159ada9505d1fb4a7f8e0eefe36a00d115dcfd8076af871bb6789081a41068b06c53930facf52785060f3c99405c214a5b31c81c687b8b5c07ae13a9073d1459f67789abc5bd030c4cb760f
b4c3b22bbc29bd189d0263a63034a6e5214010d580ac9e158e41fdb427c06ef7b5a28c9bdae88eb3db3be6f1477da93fedb98a14220ba86feb5a7e74287b03ba853347a21e0bfe8cc15a80ac6f349e9486782342efd43b72c563b960a18878601ce043ef19f3cb40576df6809df2bbf2c2ea2915923272ae63a7b1baa7bfd20a
09391c5a9efff7e0623ea4e52ae1a66336b93dc5fcee082f4751ba551d2dddb02de1d7f2294005cc2d68955e1b5aa189035c5856343f3d47524fafa8b6809e2dd1795303dd192e64e7cb78af981605ea00e64b59c4f700109c70a49c2eb8cd965cbb7fc7b768a1aa118d8abdc986ef71b7b55c5ebb278899d5cb444da06b7202
6e255987661bfcaa52f451e23f87411b754645964ae1274e6ce1a0614a4625f4e4e4ff16e630248d80a3fb460c108018036ad2fc42f2b15634f1ad4119640f45e809c9ce0b752cf7a11a496a1efee3f428589f9fef712a777bd9040ce2fea16b691c6e368fd136132f57cdedd0574855c81298fc060b9e6b10fe1ebc43ca8904
db71404df766d842111bf9aeb5cf0aa1eab0586a48e757d7aef99f826e4d32006fa7acfa708fbaf6815e70dfa5ac621916a8ecfea63ada8ede1eca29b0366d54c84df2828086f027ff041a7ad44aaf6c3ed4211801bc1aa6b96374e8b8eadb901bff775c18e0b8729415ca5f349386447a9bcac1033113afb67b2351ac223101
00c91fbd20c1070b115b8a4fe9acc56fa3e733cbbcd7252c926d495e97d9d981ea9fc07503cb872692d6be9daf386bd31916cae4ed67a40925f9bfa56eddc5218847c17bb392166771651131e4cd806ae4666961f74a27fb4d93578384f56e7ee98f51fd3870f6f72bbea5d7f35a5103aa670a12a5bebf4c544ec105f6882a0d
c5e49951e72eb75e1732e05d3b02a356d470eeac7e1de34f31e4b2c2f56ab31102112a188ab886f9d05f200eab4ea2c095faf3e81916b963bb3b4a8b361d7973692ce2f8c19c26fa4b50030b778a98a5b5873b02b2ec19ce0f6a440f48d40912283de68f8acdec04aa0af0d965af50cee51bc98018e249d03dbabeb133e7c403
33c142e2ac0cb730c2edea71542cb37addc3a0c0f812e91fd092c82c8cc242ddd284a4ba5adeb3e4cb982a83e942b6986e5c474aa882600abd8a5164128ccb949936f10942eb79c98ff2dc47460f2e89cc1b192aa04972b20afd1c452ab5af0d4e61df148e815ae6f5bf73de6c02a04e998a7333afc138f53cd8ddd24f96820a
ef644fd117d62f072b84b127a1876f50c8256a62f123ac6480be521f60177d09d9eaaf4d6a33897258b85f07a70eb581a0145d085cfbb3247f806ac3ccdeaaef21321254bcefce1180569796b8822826ec9c980c14e303a2d8f5bc15cbbbd5ab6e208b6386abd0ffb72e2f38ae6bf5847f6ca587b30b8bd49eefa3ca24fa2003
68024e026ad7eb2f93b942e06b596a357e574ad6914d34e2425ce273e4bd186eec1c3a9947b694b97fcea67ffe1bc701d08850b1bf730f3b8f266c6301fe428217b251cce0d24b3d4206e3f3e8393a71244b25eee7ac6a4bc65c1414d8f4b13e8b2d8fcad2863ef66d30474c8a679727ba79d96c4d800d58b37b60c90fd9e909
f88f64750508ce589d815a92ed5df1b61b3f10ab1eab63b54ceaf837d50e38c69512ce3b2609c83c97fb4cb27fd54cd43c7380f2bf30a0f2faad9624cb63c029f0dde05574861a2218ef5ae18725dcc4e5625131b1b215839cb23d5321fbc268bf7bf3cf85055e43601b2454ec3bdc506a8132ba3bb0bd68bc0eff01a56d1105
ee0f592351d0ba96d9cbd48215d5e8445525904d437e4d01e7a705d73f3f3453e8f53ffa5e447b46a41b5e6e2a5ac7e6e099a5b0b4fd26b9491c89addd77d96902a5372db6454d589d020ec71544b005ba816f87f492b9a0f450a56550222e115aef3de0bc35eb18c3036cb1dfe9e7a10c8d3056abdbaa36b26663f1924ba00b
0e399cb442937837fa573f88326e94dcfcf5c38829b5bef968d4ea01ce128b33f263cf9223e6c313300ffc458e8968833c72671cf41639e9509e575959f4975dc23396202510e48a31a782ce7fcc6dfcab3ad981882a6b54a9d5ea5ff085bb845f3b4249028a9165d04f2b15ca5d5e1df20e009aa75726f64af7f4ab9d851301
ab6f6e4790c2f8d74323e6ee2e68bcec50d0fa9b0c737f2a9c8fb55115e63e929a2161363b4b0165b2c234f7b2af4a7294442204fbbdb93350a74ff647763c24837b2a2f39fec3f4bcef89f1101908b0b3b857fbb3b444b06c4cd7cb1771cbcb2f1542b7b422f8650c3716fee5f63cdd52e168c3d49777176fab21e3b990ba00
c1f7b5b24676f9c69debddc269c81a8fe89754516a7dbb0cb96561f623c75ba1f27e82c8c8336734139489e2040c11aa9221dd3a024041cd046ae1fd15e8cbe3cf9d127d75248018fc1aaad869b80168e633cebaabaa415d2dd45879d34a109780242dca2e5e3158e86f16b05da1acffccd6855bf21a79eb406d7ab291ec800b
77bd4db5cbec2dd84659cc48e176f3655577050bfae59166c9263a76be8af9ea3881e0d2c6548fab77285ccd90785ac9a972b777577b21c412d640f786a57bf9aa89c1d77aeb89ef62cda2a80b007aca78e413a443922b950a6225ef7251335d885665200bc233991eb57e9aea097fc64e12cb7b70fc8c6dbad87e6c7f1aaa04
f5d85a35fd59f106db66b586c670fbb2add65ea596dddaba0866865c664bac7a8677716f389c91e2c3ae737cac7a1d3232aaf074ec77a30ca2011e14035d4482ff9262b42f16585a72d6b1ebfb3a1136258b1481a45e4386df036548f8a39b2931287591c26bca28e5e6c9a0a3b92066cf36e0bbe0121cdf0a6a83a75e8ce90e
64a957e417cb10a57273c9b0aef1eb9e3f88e3f31d007cee0a9adecc64903a913bf4f41337fc7c633ba4c55b3b214776e42947af3aca6dc274a2acf8288194cfec2c0ca01d60a8d55010f7d05a3055fa2e15e546789012a1dde86dbee2fdeb0f8d0abfb52fc0d37307037c49fd14594e06930adbf374f9cb64f507429c11c504
a83a7ea8b1ebc1f6212954dff705254e28cc01b33205a61374cf2d57c742eee73bb5e2c5483b4dd58b0d4a09abbdbb4b4dce3f973fba87dd4c5727a705dd630d8b18866719deb5bd680ce7d47e409d78c99bc366f91396829e31567118bb970185a02dd366f73d71184c495bd6d1a8ac4eee674bd4b608abfa59a46d55b7100a
874ccf2f99891af761711c502b91907693e320d89e8763425f6f9a4b978ff874df1585582f8cf07ce3ade563596a53a70d46bc4d4c1341fb8cd6353bbeafc3df5d8317a93b6c89911630ade2a77f813e783106b633a175978d380ebfe12a68887ca309c7e72818a50c1f2c0716c1328e23abcbaa911b642cc50b37369993f202
03a249caf1333ef68a4442abbf7f1db0355592afacb1d921b18e544eed720366e4e214a40a60d23cc6f35a27f5553b629af51c501770450781796aeb1fc7c3afe5a4920ba22b77f78ac379f1f31fdd9d06a89b7f63d5ebfc97f7c2950e0c5cc58a7cea656732acde60a15eafa04f35c49c035511142aea898a86e2901f28bd02
bbf256d1f39025bdd5f3cfac948479c1097fc7f384d21c87ea37394f712f46c1c121699d547e2e447cba2825687f6b52fdedc745781f03b15146a3f565ccd4520c4d5ec20aee5cefcb365bd5ccf2564b820eefab73170db172884ab7cc3c77423968e8581dcd44b2c8324559f9d71843b99d89aa7e7d15a98f967bc9e754ba0f
0aa7ebc2f01b9e6b76db551b4d0b9382e1ddcf1e4a40dc1c090ec77265db705e446ee07b0d0261c89795a52c9bd45be743b336106e7885b2fce5a3f2554461a15dfa232a4db1abbc58cdb3ec6b0ac5243ab6d5913aab6a951dc96ec73c5becd4b997507e8286df5642a6db91000da8db548e965a381a299bc9c9eb32ad7ba806
75c6e9fc60f0ed3a072673f598a7b86c12a922ab857709854a3671fae9d0c94c98a07d7c29bf1b752cd11094b42772748ea78c533e135d0c6eab724b73a9af70d3f7030a8615f4bb8b61e52498640b2ab431070a3396a9866a77c08397436a53d47544957cc5fa53e83e8b46c0d96281ecc723e63844370582b71422b05d0600
dbeb67ec2a65c2f0e7315a1361035a9257699ab13bd4ac678dc8352c93259080cdbd586eb5ecdda31a4da524cf6e1fe16a169735101a45b2b3b28a23e2e745ecccdfafacff15d8f827c0441baeaac0c9f92c841b9a4ff0813b8e665040830b3c5f9897c240ed4fa31d3422249bfc10de015efc77a5014fd41d3eb090728d4d0f
0398230f41f201ce348052f146284cfb4d0fce6e4396267abedafc787f250e8a00317d667f2e02b9f19a8aad64a50f6937f5e4fe0a4559391a2266f1a1d66e3cbc8a74f94addfad7392ea6b84d65406f929bce071dffeb5f4b95b3ecd3546df2d1034bd381a19c1010aaade2ba7913a2622a74b87471316e7cdc0e7177a86801
f70947e1bf76d65314fc565e4ad3ec1d7c0a2565d4be447a4dcafaa1b7fbde2738a30785364f0959719a6c8942e91e98cb6612d29583c15be9220c77a0f2197f39f7639fbab4cf18cce79a4bb18ce62371bbb7995cc7b6887c0ffc75bb1b49a1442aec1de3d5859f63ba992fed473ff5844f9bea77147201a49f1dd2ae1b150f
29dfd31cf61ff420087a1ed73b68b04d7cd700099f84d4f7665f07eb5f05fd2dca7af071bdd316cf8bfb4844c351649c41890426cf0015788ec4416d3c7b922642ce802cd28a9b611a0a56639557116c97beea15c621e9b485accfae6cfb3a90ff1dc72357b5f0f4497728e2c40a7cb15de2cb9511a0c68828292ca4b951eb09
0e587bb41cdac7ddfca334d8b78407976bf6738a11ed8cfb8ef1d2e62cfa83dd44275f12950607aaea960032155c17d943862420dbbc50ac4c4768f502ae97d5143d4a59159884a15545153d047acc15934b54bb2c25732dc28da50107acb901057d1212bbd07245ec279b24059a2fc570d889b758694d433fa8ba8fb3c3430a
119076ac6dd4fe55b2ade58fc38c9e0be5058af05857bc457905986a1eb4591690a5a6872dc8da0e7d46f75accabe063e6c395940a9e5518bc8e7c0e43f7438711a7c3243483e8c313c72a84ff3dfec4c93abb1ea11dd69876ef8124caa59bc5808d3e44c826a0f70e4a9fdeee1a207db4d942c1bf963a0835c40ae1935e3f06
df3a047cad89212650c5c09c2319ec4fbeb7a50df2346907b32afe30e72c9ce2d68dd305eca0e5773ce4ea70aece567c03b996d68f6fa0d64a0ff564e4d2d5b6c3ecb47cbe0997efb76499fc905c00d598d412cdba2d8db4443035f329bf5dcda27ce7820272adee8eff3b22083a774bd81e8956ec34dec3001c8d97e6e4530d
dcadbd3b062b377c6c3a1ec3745827eef7e3ec29e64cd45f72003c8e0839d0350016a42d4cb587fd3e02543475ca5debd4b47b9770de99b22da5b44150b44caa12371527f34ef2a5ea76052afec43b082c67e75eab9b0bf66815d00985879fdec39a9c34d2fca633841ff6670fe34057227080c4aa92d0fe568803d206015908
529d79acabf2430397b67ea1b054053f983683bae67b5d6a309f907fc818c4a4dbe2897e78fbce40d5c508918c84249caf376674b56bb5ce1a2b9632e8201a19225117487c2daa36576f96e3272a26a7eb35c24c4d7285d1861390efd90f4f1842408770bf9b72958e1e7f34c46472b9e3a39a6b62e4acb7fd80c6eaf582750e
bb83e14d663cef3d6a50f77805d85eafa6d93ba3fa8bd9e357fc48ebe1e77bcf38e10781b7146c9cabc4c85ebdb80fc52dba8792c8f6b346fe10c859a78537d57efe00c0ac702bb099fb8b0921b1ac8f4075f7e1758f50aabb2eb02e7b88db312166a0e989d11d37f47cad95a6f2010417c80c5c1a91cbb36a59bb3f18186a03
bc84906a42ab5b3c91a598e8a73b2c931866b3d5375aca3e774ea14c6a9f9e27cf518fa876b6d4ccffa49a1a5aba66854463e2ab4a1df81e3d8c98ebdc5e5a8f5636af4a14950f465e70bc1a3cf6c4a179a0ec26cf401c96d6687f3c0f44f6587a444db47bdb99add5cc5f07d691dc753c41d93644f744311a7297a1b951b106
24382cf0c8c7f6ed077fbdc69a00e58eea26c9f2cc535f468a1764a5db59a1ef0e3dbcab09ec69430f6e34dd09b110a7d6186bff64b6dc0a99a0859b8cd9b333996b6a60e0653eb321da805e72982c1e2bb446c5d4a579f77de05f23a51d5282429b3ed4e438ba42e3f54913f2847a3cf9703dc3f53b7d898f12db5770cacf01
d47ba5d59d652c720a0e6ea515008110b92d91160d2ebff7ab17c206c1e9aabc360257714bce1aaebee3b9e2b5b79b3462282dc9c6205c9d8df9c2e11c1c5a2e0f9da3aba4a3e0b33487f53f12f3a32cf089aa21c90f9ee57c2ab58aff454e673fca4c5786db5bca7a2e91a9d18b7f6c69f7f2c60e5343c5218ba22ca2ed6f0e
50e1ed153aa825dbf60dba95148eaa8169c27ea52c692221d42e99571b2c59a9f0484a408f11ed4f5d2dd833ee9fb1e1f7161f35118cbc8ecf2c8a3cbedac65de06d53f84a861285a95faefe5aca6e94d6d589b344d7907b8e45d528c857ea5480c1e9df9d63bb995bab317eb7f18c3f92723a58d891ef4194b7e4d3d893a00b
84cc9a375c9703d41d56d19b02e48f81a83cd20b1be034a0560644288d9d6beff239115d8be7c8c6983718fb81985c69b0efc004ed1195a26aff3ba86ae09c3110b913db572e92adb47e1ab72ab45b8fb5e8e1a9435cc19a03ab2c0389e669ad42f5e2cc1189c3cca0c1e7028611059cafd6794a33751cdc4d5b8abb4d3ffb01
2d356d2116b038762d7e2b3f7cf2a707c777cc8a359fe2308879072b130a51563ef82d3b9e96b7d5cff38dfc96898581ce4943272a49832b626dbe1fa7526c4fb7a994d0f50fce18ecca025847572f3306829677521947da5b27971daa0a9c2e9768d19ebd6e89c01ae5d086ae31d96895a0b10dbad1ae0e9d60bcaae067120d
1640bfce664a56c7c29a77cccd56f731b3da7f0f806626ea4ec95bd356584ff5a339d1b74040f62e6570e26f62049f994fe29eeddb8e1cdc3dfa9df21dcc1cfcd0fd7f82247cf4dadef34bd8b1d54122ae4ac292cf5b763522876da31b848f5e5068b960a1216da2a7234674c38962aaa32f1c73ac331cc76d1ae48818c66f0a
92219c50ea1410faa833da52bbe96575d2598ffecc23865c3d8e1514e1707ca686a261d5a5871e96e653b43ae89d6308aa3a1d7ef17ca1f4b639ca05b934d5517ebe367daf1374c58a5be637aac50eab228ece85e89db7d5279c121ccf80249a98dcb2c9a01de58d2b9b5c80aa6e2a143a12c2f7ce846f3d5d61984e397b2003
692d8fd8c5c35d32693a46f26119c58c13eca35bd4fddd9ae37dc66fe92110b625741e12f0ab662118fb5ff08961012628a5cf6e92760db59eb2709b2b025ab028649e9f4b8ba7a2ca399a8df3383b24dce9450b3ebbfc2ac885db78b86ee3ae72b6a6b10a7449a68b5d34d7f5173d357328e52d9fab202657f1188bcfc8fd0a
713e0fa9f7766d5a6c5109fcd1046b4e22187c0f8135773348517be681c0eb420f365f52c6a314d36e94ea715c7365235cbba4726b3285c18964af48004f72a06e03863e8bc82b6df8b4d072c3f1e294d2541fe3561990034a716f67f8923dbc36a560b439b43fb1b395a9095352e15daf160ee5fee45489fab6bf74b4128502
d82dd1417709edfbc6fc6c7b5cb373b2fcb2e719d22bff3f9e68cb2bf3f26511157869a72a4cb924862c8c2b8ce68f6523be9d1405c532913b5e450779fd63fdc932961f9263c5713436d055e96734a212b26c2940709374bdc03d44628d045493ee017af55a8cb16c8b316f849dfddc4d021aa16445e9cf792beba173c70906
98c4891fc47e66bd6d930ad4dab0e5327ddc3ceeee6a46a37a42a91faa2f6b2c49dc718026f3c602c5f3b479a637b2023b39341404a94cb776fca9a327fe022a30136d147e4d6c794e2e077cefb9e30d4961ff31b7856c53b2a9a0a6c6cbcee06a0e2ed9e9235ccc1dc0a5eab6528580e183edef745636a578e9382abd0d5706
21b38299327b2583fc2b36739d0ef8d637f4a0c81b2a91932a2041a6ed5501bc60ad1140c26f33cb0cd867276040b7455ccd7f9638c3ebe36bc1ebe7e74245213797cdad101022044b27bec3e38d01a21c7d0f9f1b0a0f41ca9819e3de67bbd0c45b3704cc7ad2289d13f61e06c23010b957953419e859483208fcede5b4ad06
2c43d6a0dcc036150339187fec34fef1ec7cfa027d9c9929c5ff9a2d12221c6d8de6bdf4711e3cac6a8f610de9fb360397e138ad60853112c54156856c1344c68a85b5bc669fbcb1e54a8c2a725ef16ddae46cba8f7f37b45d177db072296293c15743f60c404e8f087591c34d5f94e50d729d67db9d552ca737daffb9fd2f05
20780e0e5f340d5ea9d323569a5fdb2502829916b0c200606096d0610c17e4771480a8323273d5237c76a2e46ec9584858d5c5ec83b8d173d7f83fd7054af5e1f11d31944a5d22d9c09d3777b3ecd3a8f31750309b803b322ccfa0c7b20d1a4152965adf3d9ca6244d1aa3e6cc976b8f4d32e7421088ab7c794f9ba8839aea08
a4f327c86599f6e7d6ac8c91cdc30699ef9277d7ce8e627d7a77e582fe8537c55f7ac973f647b88b29bbe49ed475692544063ec6bf95b75f8b0e89dd2edf60a0f32a9a3c3020b4dfc67e5c10f8ea6ee5d495de69368f3f6b305b6b937fb361a6ea5ada8f80b060740aaa25248fc68b1bce1a8a2dadd4b7ffa53f0a603b844d03
3f8de4e72514e08b4726483c2ca268b69f289dcb62934ddc37ad828e9d64e9cdd2ccb732c2301d255183f6ac33b9a768dc1630cb4027ce9284180327b6e0c2cf59da4049a9024151140ac79ac594ba6ee8935733e2decbb6d4d9937845804a64ada30aba05a74cfebac48eb509967282e8a3d8154ae284b52aef1852c9c01608
332c4b05a15a013277bc39bc1ab67c7b88a96099feb3cde8585d8cdd0b65814ebb6d29f9ecd69dee69c2f70a8a8a4520fe0dd3792a6cd9e2f63ed30e14d79f8d3aed4f0a9db364e32621608e1bf848d8cd8058630c73c690aff987ed99862b72988efcdeb160438732fbc09482c9b4a448bb12f59bc7d9184ccba63f73c57a01
130193c2eff795d0671f4af3834c067190a0de13ffa236ba9a18b7f3e843b349b968aeb5ffbe5f2ccd11dbdcb2fe0a738bd76a94e8b03dd9cc2f90a18e77e04fded46c59eb3864710b030098a77b0028f58afa01da5a7a0e882810223426d5ce21d2cd12ea26d72da4bf6ca80a410f9cac37be8a193596f4c4f09c8aa1962f0f
b0979aceb8037af642b5cc2cffdcc45daf0afe1b56a4ec6b9f40cdb19a6586ba226271e545e61af9968854f5bc549a9973de8cdaf0d85ef0aad561d801c5e682706d4ce7a19cda248172abc89472b4859ab37fddb885a56d2c8c628503aeefcb744af64356619350db5eef9be4d6d86018b2140e12c5c15b08c37a919e49e00b
f0193676b17717f073b6156a9c480e4da706249afa57e240f2848ef872777908f3c29afe2575e77ab2fec52b56462467752e7d423e47efa74467d36292bfaf8f5f283cbcf4b7646b1015d9233233e73a6e37a3d396f523cd193a30e7ee68b5611eaa969b12c6e260932aee615b2eb3352fc477d4a2f552070b0c8232f3a54e07
791002d4b80ef4d16933d7bd04000cb3bbcc24d267536ab0a1f4b5151f3ab62cbb9b993a27b1aba6d6c8f8fe75902ba8c9bcab561c1484b6a577905d9e8483ec53b78c197cfa3901b7254aef41f7065758b8ecbd126eb9e2ddbff2a6aab43ac8ddbb6328a53d5e1e46a00b3a0f3ee3eefe2d7ecd01440eac9abb173249fb4e00
101f68b1fb0a422b811a36155d71efc4d639a6a7f645fb5a9171de512cdd702f8e2c3f5d9c7172762d86c6bc948ff5fe962322c121024a51d59032fc5484f8269dc908a9eafe7677ac429aa6072e6735e2fec59cf79e6a0164e9bfebd1b52f523d5148e631d38d20e86e86c249110a27ebb6d0d7009671e6095ff5d57a4f170d
ec0c0e6382bede58a1a5871771046018c1c04d76348c43558d83dbddd1605dea387ccde932128fa4f05dc4993c49c222a49ea85e3e7056d7b94b22fb06340d4e88ac34e98333c0766e2c2980c6da60a3aabbf46414a250d444d1f353f606997a624df5d7a4c74d1178c60fdd13d47dde17408131b9379000f88bdf31039ab60f
36591b4016b6409a1e6129fc5127ad82fa17f986c542541c0ac259b383964a32ee05199144d49a5680b6d534b1621a5b68504ab0fca168a2647dc8c5f4672b130bc78c37483eb9bb53f78e87984301d6718f9a2e45b30b55504b6c06ed7e992f9f4b510af7c2a3b8bbcc23d9dfd5f96c6ddc33fb4229063e005b380c92742409
01fdf763850d1587f42fce664291f6c0d8cc74f3ca9f5a99cffaafdf4f88bf3586453af0d86573c6ca4cf1c3af32f74615843efe6ee2dda84906d1f3f4a1a240a939da360d92409209c2d56a76a6a1e7c64082227e4334eeb7cfba5d1f6bc3c99aa346bcdb53fbf52c4f56eff0d466860ac61bcdba8db6df2f405f20039d5e00
7d6a65555029ab21a411bc005e8b87e66653c85fe31a4b354d265b75986ce6aaf224f2f6ca9f527adc63ef8eb01d346b71ab339edd00c246f880c06c3024033bd21669dc18038e9f642c1061915c3a2df0c02f4a5f46f90af13538dde3107e016247b0fa656569cfad3a66a0a0975e1d3a4d79eb014940ec2d95cc14e6491601
d955f5078338040a1998aef2c479b145c20d275021a435df9ca3b0ea18df0871a9ff1f660293975e6b94eabefec6598fe3b4f6b99386fa35a9396744f4a21cb01880321062fe4a7f48871066d39f367bc9b78cd5a7f4cf9f3fefdf115ad1ccb606e487aeb0bb62650ca6568832fb1dc0340150429eb535f097310f1beee1aa02
157dc65a3b3a061c2eba574aef4a962c9950af7fe779450e2de5ac8a2dc61eea566106de47e96806cba4a385863a1f819265ba951ecb462752d056b005923d38d91faf875a06f508f18ef74f27e5b97bb4c773546d24d55115e0f9c6685e53068116a922e5390bc8f16a74f4e173c06d4c49b534ba0957ee10dfd63d0086fc02
496ecc1bee905c3e0045a6cea6973929d48465ead0ef1db4abc8cca487e7807823eb77b1360df642a5f7f2f93cfb7c0b19a4a8daf283d90ebde9e497d2ae4e84312a0b558f34f2839c75cb841d7f2aadc7e3452bafe99be67c8b5da8a1d51efe3d8d10a8533c857005a5e16bdef6b5a2d11dd657fc4a7bf6c40fb296c9ddcd05
aedfdb6a6d7b1ad87b79aa158f7a2c24e3b1067ca95f155b91953ffd485fea726472643048bf45469a12fc5bf7fa89ba97d02c6f95154572a7f5b7b65f7c7de74cfceb4f3b1bec10beb2a88e094169f62fb9619d08140888b1e0eefb869565b6c148dc34349f26633e071f42250bcc5c437145be470572add9537fcd51dc5a02
26f8fd5cfb84d3d626a38e6a775bf542bdfb9d2b7c7f2da02fad3f464bfdb338b05b7d93de521368edb5c8a51cfddb3886172d2aa2582da12285cbbee6315b1bbc0cfa6a7b9ed7efcab3ad9889ba2197418ce166d9deb10f2d38e03d0686615a60e212b47bc8caf93b949c0e54dc92cb21183d752d0b9c45ace94df5c176fc06
f52535cdbcf09f2bfa1ac72cf2b7e240ba03dbe4489ac981319c3a750463ef2d42c89f8725699eafddfa0386e609ef13a91dcaca3fcceb7b19021f3b76cdcb69f3f90f2bf9bc43171bc19a5d2c42098d8a4ca702ef11040cd4fb23b8a089e4719885ffad9a6b8b1d59a66937d3a540f685997576bcda2fb180df52ab314a9b0d
702de82acaf5935d33bdf13e9ae3cf17f47a52d2bbd90c1d267da8bf6ce2e80239959037aec772c22598b8163c9cfcec4713cabb583d17ba2b6956dc58454cc57124bf2819ae39aa3ae32768e8618a8a3d3b6f3a0cd42015b5396a7143da71f2052ad7dd321c0e20f37f9bf3708c2e419ade2f3591c2e76361c8eeccb4ce3f0b
ee92a00a2bf87dded9492181b5be6ac653fa6a591294c3f8bcd6e824120fd5bb8dfaacdb0ebadbd9231f86da5827c156a2bfc2fc0b4a5814692edf0bc887ccb868d009415ab7aa5a1ae5f9f9cc39d7a685e5cd08a277c9c77b07ae15838cf60d7c94d6c74339d2ed899f91034513ed81da90f8d866b021b8392815d677d3280b
925895412a2ab5059dfae209e35525b9a1710b73a1412470a450281427f8c4fbc78a893a594310b84f33ade90bfb48ae34adc1c45940ea93eb1f717a60e7496e3f5c72ce800f970b83b0d8f7a92fa17486b5d73ac034c7a79d9fcbab34be24e09df1232911f0ea48245841d2788584209cf6bd4d1c260dd30be96b66d3ab690b
411338ba8480b87e07eebb0bdef51891c1dfcac57aa1368014a508d64b63a1496616a73bd854f18c279d1151e7d77c4e3d8c73604188660ca65c5c2496dae27ac4b375812a4d0119a4fd3bd0607df97536a017b92df55c1b1ab46e48d23f5c6c3928b2af7a34c5357cd1b7d06e754ba44b24ce5270d6b9456600a22cbb2dfd06
4aa8662b088b724b8f3bc903f2ec6631dd308554023957683c7dabc193d85264eb654dd0532e43cdc45fbd3b94b9149c2f812fc7e9ee79e204e18596447711b2880df11093bdca2e0fe04332dbcca69d709bf26563e3fdd48fff76e654fed6eaaf88d0408eca630ba9580b7320e5205c2cc61a899b04334896a5808475ecf60b
d9f51c96c818f770cfbbeefc1751a47ffac867e033768b414e42498e36cfc3a9481c6753c9aaf112b5709d2a992071609a5749171709bc55ae6156f646eec17c17e87c9fc1ba39959a1c2e9017007000155a46033b39fa3976acb33ee953150486ba84ee78289236e34ab7d7bd9158f592465e5019d7dbdb0a94c81da11cbc00
9583c304d3104970c338d76e1138ba09fb2dafd8b94ca9c444963ed0e587470ba103b55bd06b39b7d68f6f18d05c3856157edabb0cd49b2743967f10ebd061af4af3f3da7b6bdc1fba756e99d78598dcca9fc3c1ea5639196d3f36e689a4d6bcd746de92cd26565c5f3739c59c08048a960f19625ad4ffd0123dacd1c4243f0d
7d58fb17cc9503e79d662aa51f7faf11cb97975a6e2c760768dfe66da42d8c140e1be61d3aa331f618d72ca407ce09d8be1078bfc027d3d6271522017a16e2c1786741a15911b682acfdba52f63cd6966bab7c18e2feac1401de5b598be3cdda0b17324569cb75f3d4cde0c56d2f816ac4a35c74d41ba44d1f9fb6249e0cd406
3e7a793b309f4e76b0ab84051e01d71f22ae75c42946024718e10eb6acff4d251cfa6594b4e4d56599bc34e491f8837292ad3b106da42dc74c45d3302200d632b732aee800315e6d23f6781978accf1f162ed998b0fb4deaf5cbc3630145ecb5962f2be86a900de563fab5fde05482252c2c588bcfde828f0569c1c8dc5d3603
8bc97c372b579cef86d14f2d8c5f63635f7641d936aac5c9218192317bf9ed8ac2922ebcad20afe71a00a09b2787c09af78adb02778c53191c44f04b58ad97871a4f50ccd95964d5652cb9f7688099ce058ec778a3b53ad741ceba9131ad581436168492c5156f9b9f61afc025ea03b3fa0265d9ae513f14a3c2ae81245ca601
92ad5e7d85f309f24611d05f322f558daadaf4131e798aa84ff5ecbcb7582c452f0de7b7b2324e88574f13be634fb2a8a27f0fb15c3e7f40b01d94e93c7b2340632ab6e735dad30dde7a4815e74b6ef07fbc5fc6548f3a7d3a02ee0ce87481282b6337ade8f7c1ed6adda19fa30ba3ec06fa764a0065bd3906e5e694d51ce70f
fa34a497c086299b6764ea3f01cc965ccd7de664005d4f3e1878c9b0d1fc41dc67e045bacc7d7690d9aaa30ef7cae7fdcae958b64674ae90a041b2d1fc931022c5c0e4cdd83228bb3c2631b14805d3add9fa1976341b05079ed3099ab597e5ce90b730fb2ff72cc44267dc9eecc2abcc3e1deb5c0b12f5fc3ea4fa7f0a49d304
b47dec1b4a3a7d9ca7bd33b2ad9105d321b2cc77c47a0d39c39ad2cb76992a2827e48674455afa48a733b7dd32479f091861131d31af4b33a278c95bfbc467c6e91d74fe4f605d0468eea86ec32704c15f906b5603ef3b06ca266db61fe2907f84b7b09d95a7f7c724510be2fd192a2fcd5dd29b2227292f038c6c7e906a1e03
af5bf68a7242f76599c56975d773072ffd44033ed8047c7905d7d1e5a5710d2113c0185e4eaa2b7c28064f8a103b21991cc146564acb4005b3dcfc6865a522a30302096f71542a15ea9d138bde39f90c96267593fb3b5dc5b2cd92baa64e5280c7466dd837ee3d962d1c94d7e27619a35a1f51d7bab43041fcfc10aa14f99004
be6aa6955bdf0238ce93f5d7b81fe095736406ab4bbeb4e02ad4e801af67c24b9257452c82831a2c480c9abd3e2623030679987f9a8a66c14729a7b09f5c460d2893683d39929986f7a7fcfa1503ae0fcd62c50c7ca536eaba972bc67d05fb000a738003bec652a15bdb098aa8ff9a8478ddf423b113bb8aaee07b7b461a5805
0121aa8c8bd4c55bc07caf1a7220bf7f693a451f09b8baa6c4fc749a68af3fe3d0f4b0ab57fa166a8be6870f76773c8fc541b56dfb3e464e76d194c2eeefbe42078f97acfaa1fcdab0119aa02f71188d1e877970ec74ac3712f8a83f22236cd07ced074ab2d3a0199d17a4f4ce16783fca9b2b0043173c2aec298a92a50b830c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment